@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");

:root {
  --bg: #0c1220;
  --bg-soft: #121826;
  --panel: #ffffff;
  --panel-muted: #f4f7fb;
  --text: #182033;
  --text-soft: #25324a;
  --muted: #61708a;
  --border: #cfd8e5;
  --border-strong: #b7c4d6;

  --primary: #8f1422;
  --primary-2: #c22739;
  --primary-soft: #fff2f4;

  --green: #1f8a57;
  --green-soft: #e9f7ef;

  --blue: #254592;
  --blue-soft: #eef3ff;

  --danger: #b31d2f;
  --warn: #d28a00;
  --warn-soft: #fff7df;

  --shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  --shadow-soft: 0 4px 14px rgba(15, 23, 42, 0.05);
  --shadow-panel: 0 1px 3px rgba(15, 23, 42, 0.04), 0 12px 28px rgba(15, 23, 42, 0.06);
  --shadow-panel-soft: 0 1px 2px rgba(15, 23, 42, 0.03), 0 8px 18px rgba(15, 23, 42, 0.05);
  --panel-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(247, 250, 253, 0.98) 100%);

  --radius: 18px;
  --radius-sm: 14px;
  --container: 1520px;
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  font-family: "Manrope", "Segoe UI", Tahoma, sans-serif;
  color: var(--text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  background: #0c1220;
}

body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 15% 10%, rgba(139, 20, 33, 0.14), transparent 30%),
    radial-gradient(circle at 85% 90%, rgba(255, 255, 255, 0.05), transparent 16%),
    linear-gradient(180deg, #0b1018 0%, #121826 48%, #0c1220 100%);
}

h1,
h2,
h3,
h4,
h5,
h6,
button,
.badge,
.tab-btn {
  font-family: "Manrope", "Segoe UI", Tahoma, sans-serif;
}

.hidden {
  display: none !important;
}

.container {
  width: min(var(--container), calc(100% - 32px));
  margin: 0 auto;
  padding: 0 16px;
  max-width: 100%;
}

/* =========================
   LOGIN
========================= */
.login-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px 20px;
  position: relative;
  overflow: hidden;
}

.login-screen::before {
  content: "";
  position: absolute;
  inset: -40%;
  background:
    radial-gradient(circle at 18% 20%, rgba(143, 20, 34, 0.52), transparent 44%),
    radial-gradient(circle at 82% 14%, rgba(255, 255, 255, 0.16), transparent 36%),
    radial-gradient(circle at 70% 78%, rgba(37, 69, 146, 0.22), transparent 42%),
    linear-gradient(180deg, #0a0d14 0%, #141a25 38%, #10141d 100%);
  filter: blur(18px) saturate(1.06);
  animation: auroraMove 16s ease-in-out infinite alternate;
  z-index: 0;
}

.login-screen::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 24% 28%, rgba(255, 255, 255, 0.06), transparent 34%),
    radial-gradient(circle at 72% 64%, rgba(255, 255, 255, 0.04), transparent 40%);
  opacity: 0.7;
  pointer-events: none;
  z-index: 0;
}

.login-screen > *:not(.login-video):not(.login-video-overlay) {
  position: relative;
  z-index: 2;
}

.login-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.login-video-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(7, 10, 18, 0.78) 0%, rgba(18, 24, 38, 0.66) 38%, rgba(143, 20, 34, 0.42) 100%),
    radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.08), transparent 28%);
  z-index: 1;
}

.login-card {
  width: min(860px, 100%);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 248, 252, 0.95) 100%);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 28px;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.22);
  padding: 28px;
  backdrop-filter: blur(10px);
}

.login-brand {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
}

.login-brand .logo {
  width: 58px;
  height: 58px;
}

.login-brand .eyebrow {
  color: var(--primary);
}

.login-brand h1 {
  margin: 0;
  font-size: clamp(1.84rem, 2vw, 2.3rem);
  line-height: 1;
  color: #111827;
}

.login-brand .sub {
  color: #4b5568;
  white-space: normal;
  max-width: none;
}

#loginForm {
  gap: 14px;
}

.login-project-badge {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(143, 20, 34, 0.12);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(143, 20, 34, 0.08), rgba(37, 69, 146, 0.05));
}

.login-project-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  flex-shrink: 0;
}

.login-project-texts {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

#loginProjectTitle {
  font-size: 0.96rem;
  line-height: 1.1;
}

#loginProjectSubtitle {
  font-size: 0.8rem;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.input-icon {
  display: block;
}

.input-icon input {
  width: 100%;
}

@keyframes auroraMove {
  0% { transform: translate3d(-2%, -2%, 0) rotate(-2deg) scale(1.05); }
  50% { transform: translate3d(2%, 1%, 0) rotate(2deg) scale(1.08); }
  100% { transform: translate3d(3%, 3%, 0) rotate(4deg) scale(1.1); }
}

/* =========================
   TOPO
========================= */
.top-fixed {
  position: static;
  background: transparent;
}

.hero {
  position: relative;
  padding: 10px 0 16px;
  background:
    radial-gradient(circle at 82% 12%, rgba(255, 255, 255, 0.14), transparent 18%),
    radial-gradient(circle at 12% -8%, rgba(194, 39, 57, 0.14), transparent 24%),
    linear-gradient(135deg, #08111d 0%, #122036 34%, #1b2f4f 58%, #8f1422 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 36px rgba(11, 18, 32, 0.2);
  overflow: visible;
}

.hero::before {
  content: "";
  position: absolute;
  right: -40px;
  top: -20px;
  width: 220px;
  height: 140px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.14), transparent 68%);
  pointer-events: none;
}

.hero-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  position: relative;
  z-index: 1;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
}

.logo {
  width: 40px;
  height: 40px;
  object-fit: contain;
  border-radius: 12px;
  background: transparent;
  flex-shrink: 0;
}

.brand-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.eyebrow {
  margin: 0 0 2px 0;
  font-size: 0.62rem;
  color: rgba(255, 255, 255, 0.88);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.brand-text h1,
.brand h1,
#welcomeTitle {
  margin: 0;
  font-size: clamp(1.08rem, 1.2vw, 1.38rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.02;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sub,
#projectSubtitle {
  margin: 3px 0 0 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.74rem;
  font-weight: 600;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 620px;
}

.hero .ghost,
#logoutBtn {
  min-height: 36px;
  padding: 0 14px;
  border-radius: 12px;
  font-size: 0.84rem;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.96);
  color: #162033;
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: none;
  flex-shrink: 0;
}

/* =========================
   ABAS
========================= */
.tabs-wrap {
  position: relative;
  z-index: 3;
  background: transparent;
  display: flex;
  align-items: center;
  margin-top: -8px;
}

.tabs-wrap .container,
.hero .container.hero-inner {
  width: 100%;
  max-width: none;
  padding-left: 14px;
  padding-right: 14px;
}

.tabs-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  min-height: 48px;
  margin: 0;
  padding: 6px 8px;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-top: none;
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  max-width: 100%;
}

.tabs-bar::-webkit-scrollbar {
  height: 6px;
}

.tabs-bar::-webkit-scrollbar-thumb {
  background: #d9dce8;
  border-radius: 999px;
}

.tab-btn {
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%);
  color: var(--text-soft);
  border-radius: 12px;
  padding: 6px 12px;
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
  white-space: nowrap;
  flex: 0 0 auto;
  box-shadow: none;
}

.tab-btn:hover {
  border-color: rgba(143, 20, 34, 0.18);
  background: #ffffff;
  transform: translateY(-1px);
}

.tab-btn.active {
  background: linear-gradient(135deg, #7c121f 0%, #b32032 58%, #c83e49 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 8px 18px rgba(143, 20, 34, 0.18);
}

/* =========================
   APP / CONTEÚDO
========================= */
main,
#appShell,
.app-shell,
.app-content,
.tab-page {
  background: transparent !important;
}

#appShell,
.app-shell {
  width: 100%;
  min-height: 100vh;
  position: relative;
}

.app-content {
  padding-top: 14px;
  padding-bottom: 40px;
}

/* =========================
   LAYOUT GERAL
========================= */
.tab-page {
  display: block;
}

.panel {
  position: relative;
  background: var(--panel-surface);
  border: 1px solid rgba(198, 209, 223, 0.88);
  border-radius: 20px;
  padding: 15px;
  margin-bottom: 16px;
  box-shadow: var(--shadow-panel);
  max-width: 100%;
}

.panel::before {
  content: none;
  display: none;
}

.panel-lite {
  background: var(--panel-muted);
  border: 1px dashed var(--border-strong);
  border-radius: 16px;
  padding: 14px;
  box-shadow: var(--shadow-panel-soft);
}

.panel-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}

.panel-title-row h2 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #162847;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, #ffffff 0%, #eff4fa 100%);
  padding: 5px 10px;
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--text-soft);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.badge.danger {
  border-color: #f0c6cc;
  background: #fff3f5;
  color: var(--danger);
}

/* =========================
   GRID / FORM
========================= */
.grid-form {
  display: grid;
  gap: 14px;
}

.grid-form.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-form.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-form.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #344054;
}

.grid-form input,
.grid-form select,
.grid-form textarea,
.toolbar input,
.toolbar select {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 10px 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
  color: var(--text);
  font-size: 0.9rem;
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, transform 0.18s ease;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.grid-form textarea {
  resize: vertical;
  min-height: 96px;
}

.grid-form input:focus,
.grid-form select:focus,
.grid-form textarea:focus {
  border-color: rgba(143, 20, 34, 0.36);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(143, 20, 34, 0.1), 0 12px 22px rgba(15, 23, 42, 0.06);
}

/* =========================
   BOTÕES
========================= */
button {
  border: 1px solid transparent;
  border-radius: 14px;
  padding: 11px 18px;
  font-weight: 700;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
  box-shadow: var(--shadow-soft);
}

button:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12);
}

.primary {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-2) 100%);
  color: #fff;
}

.ghost {
  background: #fff;
  color: var(--text-soft);
  border-color: var(--border);
}

.warn {
  background: var(--warn-soft);
  color: #7c5600;
  border-color: #edd79d;
}

.small-btn {
  background: linear-gradient(180deg, #f2f5ff 0%, #e7eeff 100%);
  color: #25325f;
  border-color: #cfd8ff;
  padding: 8px 12px;
  font-size: 0.82rem;
}

/* =========================
   TOOLBAR / TEXTOS
========================= */
.toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 14px 0;
}

.panel > .toolbar {
  padding: 8px 10px;
  border: 1px solid rgba(207, 216, 229, 0.9);
  border-radius: 13px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(243, 247, 252, 0.96) 100%);
}

.toolbar.compact {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.toolbar label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
  color: #344054;
}

.toolbar label input[type="checkbox"] {
  width: auto;
  margin: 0;
}

.muted {
  color: var(--muted);
}

.report-status {
  margin: 8px 0 0;
  font-size: 0.88rem;
  color: #526079;
}

.report-status-success {
  color: #1f6b49 !important;
}

.report-status-error {
  color: #b31d2f !important;
}

.required-mark {
  color: #b31d2f;
  font-weight: 800;
}

/* =========================
   DASHBOARD
========================= */
#tab-dashboard.dashboard-page {
  display: grid;
  gap: 18px;
  padding-bottom: 8px;
}

#tab-dashboard .panel::before {
  display: none;
}

#tab-dashboard .panel {
  overflow: hidden;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid rgba(179, 193, 216, 0.45);
  box-shadow: var(--shadow-panel);
}

.dashboard-primary-grid,
.dashboard-secondary-grid {
  display: grid;
  gap: 18px;
}

.dashboard-primary-grid {
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, 0.95fr);
  align-items: stretch;
}

.dashboard-secondary-grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
}

.panel-grid.four.dashboard-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 0;
}

.dashboard-metrics .metric-card {
  position: relative;
  min-height: 96px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(186, 198, 216, 0.58);
  box-shadow: var(--shadow-panel-soft);
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 6px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  background: var(--panel-surface);
}

.dashboard-metrics .metric-card:nth-child(1) {
  background: var(--panel-surface);
}

.dashboard-metrics .metric-card:nth-child(2) {
  background: var(--panel-surface);
}

.dashboard-metrics .metric-card:nth-child(3) {
  background: var(--panel-surface);
}

.dashboard-metrics .metric-card:nth-child(4) {
  background: var(--panel-surface);
}

.dashboard-metrics .metric-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(15, 23, 42, 0.10);
}

.metric-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}

.metric-kicker {
  font-size: 0.58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #5c6f8d;
}

.metric-card-icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9), 0 8px 18px rgba(15, 23, 42, 0.08);
  flex-shrink: 0;
}

.metric-card-icon svg {
  width: 14px;
  height: 14px;
}

.metric-card-icon-total { color: #284e9f; }
.metric-card-icon-present { color: #218454; }
.metric-card-icon-absent { color: #c12a38; }
.metric-card-icon-kit { color: #6d57c8; }

.dashboard-metrics .metric-card p {
  margin: 0 0 3px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #556b89;
}

.dashboard-metrics .metric-card h3 {
  margin: 0 0 3px;
  font-size: 1.55rem;
  font-weight: 800;
  line-height: 1;
  color: #0f2345;
}

.metric-card-note {
  font-size: 0.72rem;
  line-height: 1.2;
  color: #7486a0;
}

.dashboard-panel-head {
  align-items: flex-start;
}

.dashboard-panel-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8f1422;
}

.dashboard-panel-kicker::before {
  content: "";
  width: 28px;
  height: 1px;
  background: linear-gradient(90deg, rgba(143, 20, 34, 0.95), rgba(37, 69, 146, 0.45));
}

.dashboard-panel-subtitle {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.45;
  color: #5d6b81;
}

.dashboard-badge-strong {
  background: linear-gradient(135deg, #8f1422 0%, #a81d31 58%, #c9465a 100%) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 18px 34px rgba(143, 20, 34, 0.18) !important;
}

.dashboard-toolbar-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.dashboard-filter-bar {
  margin: 0;
  padding: 10px 12px;
  border-radius: 18px;
  border: 1px solid rgba(206, 216, 230, 0.98);
  background: linear-gradient(180deg, #fbfdff 0%, #f2f6fb 100%);
}

.dashboard-filter-bar label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.84rem;
  font-weight: 800;
  color: #30415e;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.dashboard-filter-bar select {
  min-width: 190px;
  border-radius: 14px;
  border: 1px solid rgba(198, 210, 224, 0.96);
  background: #fff;
  color: #10203a;
  font-weight: 700;
}

.dashboard-chart-legend {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.dashboard-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  border-radius: 999px;
  border: 1px solid rgba(211, 220, 232, 0.94);
  background: rgba(255, 255, 255, 0.78);
  color: #354761;
  font-size: 0.78rem;
  font-weight: 800;
}

.legend-dot {
  width: 10px;
  height: 10px;
  display: inline-block;
  border-radius: 999px;
}

.legend-dot-present { background: #1f8a57; }
.legend-dot-justified { background: #3157b7; }
.legend-dot-absent { background: #b31d2f; }
.legend-dot-sa { background: #8b97ab; }

.chart-box,
.dashboard-chart-box,
#tab-dashboard #dashChartHolder.chart-box {
  width: 100%;
  position: relative;
  height: 360px;
  min-height: 360px;
  border: 1px solid rgba(176, 192, 215, 0.65);
  border-radius: 20px;
  background:
    linear-gradient(rgba(186, 198, 216, 0.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(186, 198, 216, 0.18) 1px, transparent 1px),
    linear-gradient(180deg, #f9fbfe 0%, #f1f6fc 100%);
  background-size: 100% 26px, 26px 100%, 100% 100%;
  padding: 12px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.95);
}

.chart-box canvas {
  width: 100% !important;
  height: 100% !important;
  min-height: 110px;
  display: block;
}

.dashboard-insights-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: auto;
}

.insight-card {
  position: relative;
  overflow: hidden;
  padding: 18px 18px 16px;
  border-radius: 22px;
  border: 1px solid rgba(206, 216, 229, 0.96);
  background: var(--panel-surface);
  box-shadow: var(--shadow-panel);
}

.insight-card::before {
  content: none;
  display: none;
}

.insight-label {
  margin-bottom: 8px;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5d6b82;
}

.insight-value {
  margin-bottom: 6px;
  font-size: 1.9rem;
  font-weight: 800;
  letter-spacing: -0.06em;
  color: #10213d;
}

.insight-sub {
  font-size: 0.84rem;
  line-height: 1.45;
  color: #6b788d;
}

.chip-wrap {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

#tab-dashboard .chip {
  padding: 12px 14px 12px 16px;
  border-radius: 18px;
  border: 1px solid rgba(206, 216, 229, 0.96);
  background: linear-gradient(180deg, #ffffff 0%, #f4f8fc 100%);
  color: #182943;
  font-size: 0.92rem;
  font-weight: 800;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

#tab-dashboard .chip b {
  min-width: 36px;
  justify-content: center;
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, #edf3ff 0%, #dfe8ff 100%);
  color: #20407f;
}

.history-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.history-list li {
  margin: 0;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(208, 218, 231, 0.98);
  background: linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
  color: #243246;
  font-size: 0.9rem;
}

.history-list:empty::before,
.chip-wrap:empty::before {
  content: "Sem dados para exibir.";
  display: block;
  width: 100%;
  padding: 14px 16px;
  border: 1px dashed var(--border-strong);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.62);
  color: var(--muted);
  font-size: 0.9rem;
  text-align: center;
}

/* Login premium refinement */
#loginScreen.login-screen {
  padding: 24px 18px;
}

#loginScreen.login-screen::before {
  inset: -28%;
  background:
    radial-gradient(circle at 18% 22%, rgba(128, 18, 39, 0.42), transparent 38%),
    radial-gradient(circle at 84% 16%, rgba(255, 255, 255, 0.14), transparent 28%),
    radial-gradient(circle at 68% 72%, rgba(45, 78, 154, 0.16), transparent 34%),
    linear-gradient(160deg, #09101b 0%, #111927 45%, #0d1420 100%);
  filter: blur(16px) saturate(1.02);
}

#loginScreen .login-video-overlay {
  background:
    linear-gradient(135deg, rgba(8, 11, 18, 0.78) 0%, rgba(13, 20, 30, 0.64) 42%, rgba(95, 16, 35, 0.34) 100%),
    radial-gradient(circle at 20% 18%, rgba(255, 255, 255, 0.08), transparent 24%),
    radial-gradient(circle at 78% 80%, rgba(255, 255, 255, 0.05), transparent 28%);
}

#loginScreen .login-card {
  width: min(540px, 100%);
  padding: 26px 24px 22px;
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, rgba(249, 251, 255, 0.84) 100%);
  box-shadow: 0 28px 68px rgba(8, 15, 30, 0.24), 0 8px 22px rgba(8, 15, 30, 0.08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

#loginScreen .login-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 2px auto 24px;
  text-align: center;
  width: 100%;
}

#loginScreen .login-brand .logo {
  width: 60px;
  height: 60px;
  margin-top: 0;
  flex-shrink: 0;
  display: block;
}

#loginScreen .login-brand-copy {
  display: grid;
  gap: 8px;
  justify-items: center;
  align-items: start;
  max-width: min(100%, 460px);
}

#loginScreen .login-brand .eyebrow {
  margin: 0;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #7d1421;
  line-height: 1.3;
}

#loginScreen .login-brand h1 {
  position: relative;
  margin: 0;
  font-size: clamp(1.78rem, 2.2vw, 2.28rem);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.045em;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  max-width: 12.5ch;
  text-wrap: balance;
  color: #101828;
}

#loginScreen .login-brand h1::after {
  content: "";
  display: block;
  width: 72px;
  height: 1px;
  margin: 14px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(15, 23, 42, 0), rgba(15, 23, 42, 0.16), rgba(15, 23, 42, 0));
}

#loginScreen .login-brand .sub {
  display: none;
}

#loginScreen #loginForm {
  gap: 12px;
}

#loginScreen .login-field {
  gap: 5px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #435266;
}

#loginScreen .login-project-badge {
  gap: 12px;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(207, 216, 229, 0.86);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.76) 0%, rgba(245, 248, 252, 0.9) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 10px 24px rgba(15, 23, 42, 0.05);
}

#loginScreen .login-project-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(143, 20, 34, 0.09) 0%, rgba(143, 20, 34, 0.03) 100%);
}

#loginScreen #loginProjectTitle {
  font-size: 0.93rem;
  font-weight: 800;
  color: #132238;
}

#loginScreen #loginProjectSubtitle {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  font-size: 0.76rem;
  line-height: 1.35;
  color: #64748b;
}

#loginScreen .grid-form input,
#loginScreen .grid-form select {
  min-height: 44px;
  border-radius: 14px;
  padding: 10px 13px;
  border-color: rgba(206, 214, 226, 0.92);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(247, 249, 252, 0.98) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

#loginScreen .grid-form input:hover,
#loginScreen .grid-form select:hover {
  border-color: rgba(143, 20, 34, 0.24);
  transform: translateY(-1px);
}

#loginScreen .grid-form input:focus,
#loginScreen .grid-form select:focus {
  border-color: rgba(143, 20, 34, 0.34);
  box-shadow: 0 0 0 4px rgba(143, 20, 34, 0.08), 0 12px 24px rgba(15, 23, 42, 0.08);
}

#loginScreen .login-password-wrap {
  position: relative;
  width: 100%;
}

#loginScreen .login-password-input {
  padding-right: 48px !important;
}

#loginScreen .login-password-toggle {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #516074;
  box-shadow: none;
  z-index: 2;
}

#loginScreen .login-password-toggle:hover {
  transform: translateY(-50%);
  background: rgba(148, 163, 184, 0.12);
  color: #122136;
  box-shadow: none;
}

#loginScreen .login-password-toggle:focus-visible {
  outline: none;
  background: rgba(143, 20, 34, 0.08);
  box-shadow: 0 0 0 3px rgba(143, 20, 34, 0.12);
}

#loginScreen .primary[type="submit"] {
  min-height: 46px;
  margin-top: 4px;
  border-radius: 15px;
  background: linear-gradient(135deg, #8f1422 0%, #ba3045 100%);
  box-shadow: 0 16px 28px rgba(143, 20, 34, 0.22);
}

#loginScreen .primary[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(143, 20, 34, 0.24);
}

#loginScreen .primary[type="submit"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(143, 20, 34, 0.14), 0 18px 34px rgba(143, 20, 34, 0.22);
}

#loginScreen #loginMessage {
  margin-top: 2px;
}

@media (max-width: 640px) {
  #loginScreen.login-screen {
    padding: 18px 14px;
  }

  #loginScreen .login-card {
    padding: 22px 18px 18px;
    border-radius: 24px;
  }

  #loginScreen .login-brand {
    gap: 12px;
    margin-bottom: 16px;
  }

  #loginScreen .login-brand .logo {
    width: 48px;
    height: 48px;
  }

  #loginScreen .login-brand-copy {
    max-width: min(100%, 320px);
    gap: 6px;
  }

  #loginScreen .login-brand h1 {
    font-size: 1.42rem;
    line-height: 1.1;
    max-width: 13ch;
  }

  #loginScreen .login-brand h1::after {
    width: 56px;
    margin-top: 12px;
  }
}

@media (max-width: 1366px) {
  #loginScreen .login-card {
    width: min(820px, 100%);
  }

  #loginScreen .login-brand-copy {
    max-width: min(100%, 420px);
  }

  #loginScreen .login-brand h1 {
    font-size: clamp(1.68rem, 2vw, 2.06rem);
    line-height: 1.08;
  }

  #loginScreen .login-brand .sub {
    font-size: 0.79rem;
    line-height: 1.42;
  }
}

@media (max-width: 980px) {
  #loginScreen .login-brand {
    gap: 11px;
  }

  #loginScreen .login-brand-copy {
    max-width: min(100%, 360px);
  }

  #loginScreen .login-brand h1 {
    font-size: clamp(1.46rem, 4.5vw, 1.78rem);
    max-width: 13ch;
  }

  #loginScreen .login-brand h1::after {
    width: 60px;
  }

  #loginScreen .login-brand .sub {
    font-size: 0.78rem;
  }
}

/* Dashboard frequency alerts: stable header and non-overlapping badge */
#tab-dashboard #alertsBoard {
  display: grid !important;
  gap: 10px !important;
}

#tab-dashboard .dashboard-alert-card {
  display: grid !important;
  align-items: start !important;
  justify-content: stretch !important;
  gap: 10px !important;
}

#tab-dashboard .dashboard-alert-main {
  display: block !important;
}

#tab-dashboard .dashboard-alert-copy {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
}

#tab-dashboard .dashboard-alert-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 10px !important;
}

#tab-dashboard .dashboard-alert-copy strong {
  min-width: 0 !important;
  line-height: 1.32 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

#tab-dashboard .dashboard-alert-copy > span {
  line-height: 1.45 !important;
}

#tab-dashboard .dashboard-alert-badge {
  align-self: start !important;
  justify-self: end !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

#tab-dashboard .dashboard-alert-meta {
  display: flex !important;
  gap: 10px 12px !important;
  flex-wrap: wrap !important;
}

@media (max-width: 640px) {
  #tab-dashboard .dashboard-alert-header {
    grid-template-columns: 1fr !important;
  }

  #tab-dashboard .dashboard-alert-badge {
    justify-self: start !important;
  }
}

#tab-dashboard #nucleusCounts {
  display: grid;
  gap: 10px;
}

#tab-dashboard .dashboard-nucleus-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(208, 218, 231, 0.98);
  background: linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

#tab-dashboard .dashboard-nucleus-card:hover,
#tab-dashboard .dashboard-alert-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 30px rgba(15, 23, 42, 0.08);
  background: linear-gradient(180deg, #ffffff 0%, #f3f8fd 100%);
}

#tab-dashboard .dashboard-nucleus-copy,
#tab-dashboard .dashboard-alert-copy {
  display: grid;
  gap: 4px;
}

#tab-dashboard .dashboard-nucleus-copy strong,
#tab-dashboard .dashboard-alert-copy strong {
  color: #162944;
  font-size: 0.96rem;
}

#tab-dashboard .dashboard-nucleus-copy span,
#tab-dashboard .dashboard-alert-copy span,
#tab-dashboard .dashboard-alert-meta span {
  color: #66768d;
  font-size: 0.84rem;
  line-height: 1.4;
}

#tab-dashboard .dashboard-nucleus-card b {
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #edf3ff 0%, #dfe8ff 100%);
  color: #20407f;
}

#tab-dashboard #alertsBoard {
  display: grid;
  gap: 10px;
}

#tab-dashboard .dashboard-alert-card {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(208, 218, 231, 0.98);
  background: linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

#tab-dashboard .dashboard-alert-card--crit {
  border-color: rgba(191, 52, 75, 0.24);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 246, 247, 0.98) 100%);
}

#tab-dashboard .dashboard-alert-card--warn {
  border-color: rgba(217, 164, 72, 0.24);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 250, 242, 0.98) 100%);
}

#tab-dashboard .dashboard-alert-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
}

#tab-dashboard .dashboard-alert-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

#tab-dashboard .dashboard-alert-badge {
  border: 1px solid rgba(245, 177, 78, 0.24);
}

#tab-dashboard .dashboard-alert-badge--warn {
  background: rgba(255, 239, 214, 0.95);
  color: #a05a00;
}

#tab-dashboard .dashboard-alert-badge--crit {
  background: rgba(252, 225, 229, 0.96);
  border-color: rgba(191, 52, 75, 0.2);
  color: #a12137;
}

#tab-dashboard .dashboard-empty-state {
  padding: 18px 16px;
  border: 1px dashed rgba(165, 181, 204, 0.76);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.74);
  color: #69788d;
  font-size: 0.9rem;
  text-align: center;
}

#tab-dashboard .dashboard-empty-state--list {
  list-style: none;
}

@media (max-width: 768px) {
  #tab-dashboard .dashboard-alert-main {
    grid-template-columns: 1fr;
  }

  #tab-dashboard .dashboard-nucleus-card,
  #tab-dashboard .dashboard-alert-card {
    align-items: flex-start;
  }
}
/* ===== RETENCAO PREMIUM FINAL ===== */

#tab-retencao #retencaoAlunosBoard {
  display: grid;
  gap: 18px;
}

#tab-retencao .retencao-panel--hub {
  padding: 24px !important;
  border-radius: 26px !important;
}

#tab-retencao .retencao-hero {
  margin-bottom: 8px;
}

#tab-retencao .retencao-pipeline-tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}

#tab-retencao .retencao-pipeline-tab {
  min-height: 108px;
  padding: 16px 18px;
  align-items: center;
  justify-content: space-between;
  border-radius: 22px;
  text-align: left;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.05);
}

#tab-retencao .retencao-pipeline-tab--priority {
  border-color: rgba(235, 194, 123, 0.72);
  background: linear-gradient(180deg, rgba(255, 250, 242, 0.98), rgba(255, 246, 231, 0.96));
}

#tab-retencao .retencao-pipeline-tab--sent {
  border-color: rgba(170, 202, 237, 0.75);
  background: linear-gradient(180deg, rgba(245, 250, 255, 0.98), rgba(235, 244, 253, 0.96));
}

#tab-retencao .retencao-pipeline-tab--resolved {
  border-color: rgba(173, 221, 188, 0.76);
  background: linear-gradient(180deg, rgba(244, 252, 246, 0.98), rgba(233, 248, 237, 0.96));
}

#tab-retencao .retencao-pipeline-tab__icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

#tab-retencao .retencao-pipeline-tab--priority .retencao-pipeline-tab__icon {
  background: rgba(255, 233, 194, 0.9);
  color: #b56a16;
}

#tab-retencao .retencao-pipeline-tab--sent .retencao-pipeline-tab__icon {
  background: rgba(220, 236, 253, 0.95);
  color: #2f6da8;
}

#tab-retencao .retencao-pipeline-tab--resolved .retencao-pipeline-tab__icon {
  background: rgba(218, 240, 224, 0.95);
  color: #2e8152;
}

#tab-retencao .retencao-pipeline-tab__icon svg {
  width: 22px;
  height: 22px;
}

#tab-retencao .retencao-pipeline-tab__copy {
  flex: 1 1 auto;
  display: grid;
  gap: 4px;
  margin: 0 14px;
}

#tab-retencao .retencao-pipeline-tab__copy > span {
  font-size: 0.94rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #15263c;
}

#tab-retencao .retencao-pipeline-tab__copy small {
  font-size: 0.77rem;
  line-height: 1.45;
  color: #66788f;
}

#tab-retencao .retencao-pipeline-tab strong {
  font-size: clamp(1.7rem, 2.6vw, 2.2rem);
  line-height: 1;
}

#tab-retencao .retencao-pipeline-tab.is-active {
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.08);
}

#tab-retencao .retencao-pipeline-tab--priority.is-active {
  border-color: rgba(220, 153, 48, 0.56);
  box-shadow: 0 18px 34px rgba(191, 126, 27, 0.12);
}

#tab-retencao .retencao-pipeline-tab--sent.is-active {
  border-color: rgba(84, 144, 214, 0.52);
  box-shadow: 0 18px 34px rgba(59, 118, 186, 0.11);
}

#tab-retencao .retencao-pipeline-tab--resolved.is-active {
  border-color: rgba(71, 160, 104, 0.48);
  box-shadow: 0 18px 34px rgba(55, 140, 85, 0.11);
}

#tab-retencao .retencao-quick-contact {
  margin: 0;
  padding: 20px;
  border-radius: 24px;
  border: 1px solid rgba(177, 220, 191, 0.8);
  background:
    radial-gradient(circle at top right, rgba(77, 196, 113, 0.12), transparent 38%),
    linear-gradient(180deg, rgba(250, 254, 251, 0.99), rgba(240, 249, 244, 0.96));
  box-shadow: 0 18px 38px rgba(30, 104, 58, 0.08);
}

#tab-retencao .retencao-quick-contact .panel-title-row {
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 14px;
}

#tab-retencao .retencao-quick-contact__title-wrap {
  display: grid;
  gap: 6px;
}

#tab-retencao .retencao-quick-contact h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 1rem;
}

#tab-retencao .retencao-quick-contact__title-icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(36, 176, 91, 0.18), rgba(36, 176, 91, 0.12));
  color: #1e9d52;
  border: 1px solid rgba(36, 176, 91, 0.16);
}

#tab-retencao .retencao-quick-contact__title-icon svg {
  width: 20px;
  height: 20px;
}

#tab-retencao .retencao-quick-contact__note {
  margin: 0;
  max-width: 68ch;
}

#tab-retencao .retencao-quick-contact__badge {
  background: rgba(255, 255, 255, 0.72);
  color: #2f5f45;
  border-color: rgba(177, 220, 191, 0.88);
}

#tab-retencao .retencao-quick-contact-grid {
  gap: 16px;
}

#tab-retencao .retencao-quick-contact__column {
  gap: 12px;
}

#tab-retencao .retencao-quick-contact-actions {
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#tab-retencao .retencao-contact-feedback {
  margin: 0;
}

#tab-retencao .retencao-contact-send-btn,
#tab-retencao .retentions-whatsapp-send,
#tab-retencao .retencao-contact-send-btn.primary {
  min-height: 42px;
  padding: 0 18px;
  border-radius: 14px;
  border-color: rgba(34, 159, 83, 0.18);
  background: linear-gradient(180deg, #24b05b 0%, #1f9d52 100%);
  box-shadow: 0 14px 28px rgba(32, 127, 69, 0.18);
}

#tab-retencao .retencao-contact-send-btn:hover:not([disabled]),
#tab-retencao .retentions-whatsapp-send:hover:not([disabled]),
#tab-retencao .retencao-contact-send-btn.primary:hover:not([disabled]) {
  background: linear-gradient(180deg, #29b861 0%, #208f4c 100%);
}

#tab-retencao .retencao-filter-card {
  margin: 0;
  padding: 18px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(244, 248, 252, 0.96));
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.05);
}

#tab-retencao .retencao-filter-card__head {
  align-items: flex-start;
  gap: 8px;
}

#tab-retencao .retencao-filter-card__head strong {
  font-size: 0.98rem;
}

#tab-retencao .retencao-toolbar {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

#tab-retencao .retencao-toolbar label {
  display: grid;
  gap: 6px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #41546c;
}

#tab-retencao .retencao-toolbar select,
#tab-retencao .retencao-field--student select,
#tab-retencao .retencao-field--message textarea {
  border-radius: 14px;
  border: 1px solid rgba(208, 218, 230, 0.95);
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

@media (max-width: 980px) {
  #tab-retencao .retencao-pipeline-tabs,
  #tab-retencao .retencao-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  #tab-retencao .retencao-panel--hub {
    padding: 18px !important;
  }

  #tab-retencao .retencao-pipeline-tabs,
  #tab-retencao .retencao-toolbar,
  #tab-retencao .retencao-quick-contact-grid {
    grid-template-columns: 1fr;
  }

  #tab-retencao .retencao-pipeline-tab {
    min-height: 94px;
    padding: 14px 16px;
  }

  #tab-retencao .retencao-quick-contact-actions {
    flex-direction: column;
    align-items: stretch;
  }

  #tab-retencao .retencao-contact-send-btn,
  #tab-retencao .retentions-whatsapp-send,
  #tab-retencao .retencao-contact-send-btn.primary {
    width: 100%;
  }
}


/* ===== OVERRIDES FINAIS: FILA / HORARIOS ===== */

#tab-fila .fila-table tbody td { vertical-align: top !important; }
#tab-fila .fila-table:not([data-view="pre"]) thead th:nth-child(5),
#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(5) { width: 210px !important; min-width: 210px !important; white-space: normal !important; }
#tab-fila .fila-table:not([data-view="pre"]) thead th:nth-child(6),
#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(6),
#tab-fila .fila-table[data-view="pre"] thead th:nth-child(6),
#tab-fila .fila-table[data-view="pre"] tbody td:nth-child(6) { width: 184px !important; min-width: 184px !important; max-width: 184px !important; }
#tab-fila .fila-status-cell > div { display: grid !important; gap: 8px !important; align-content: start !important; }
#tab-fila .fila-status-badge { padding: 6px 11px !important; font-size: 0.76rem !important; }
#tab-fila .fila-actions.premium,
#tab-fila .fila-actions-official { display: flex !important; flex-direction: column !important; align-items: flex-end !important; justify-content: flex-start !important; gap: 8px !important; }
#tab-fila .fila-actions-official .fila-action-btn,
#tab-fila .fila-actions .action-btn,
#tab-fila .fila-actions .fila-link-btn { min-height: 34px !important; padding: 0 12px !important; border-radius: 11px !important; font-size: 0.75rem !important; box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06) !important; }
#tab-fila .fila-actions-official .fila-action-btn { width: 100% !important; max-width: 168px !important; justify-content: flex-start !important; }

.schedule-config-panel .panel-collapse-content { display: grid; gap: 18px; }
.schedule-config-toolbar { align-items: end; gap: 16px; }
.schedule-config-field, .schedule-weekday-card, .schedule-exception-field { gap: 8px !important; color: #23364d !important; }
.schedule-config-panel .grid-form input,
.schedule-config-panel .grid-form select,
.schedule-config-panel .grid-form textarea { border-color: #d8e1eb; border-radius: 14px; background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%); }
.schedule-config-intro .muted { margin: 0; font-size: 0.93rem; line-height: 1.65; color: #566579; }
.schedule-week-grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin: 0; }
.schedule-weekday-card { padding: 14px; border: 1px solid #dbe4ee; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%); box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05); }
.schedule-week-grid textarea, .schedule-exception-box textarea { min-height: 86px; line-height: 1.5; }
.schedule-standard-actions, .schedule-exception-actions, .schedule-config-toolbar__actions { justify-content: flex-end; gap: 10px; }
.schedule-config-toolbar__actions button, .schedule-standard-actions button, .schedule-exception-actions button { min-height: 38px; padding: 0 16px; border-radius: 12px; }
.schedule-exception-box { margin-top: 0; padding: 18px; border-style: solid; border-color: #dbe4ee; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%); box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05); }
.schedule-exception-box .panel-title-row { align-items: flex-start; margin-bottom: 10px; }
.schedule-exception-heading { display: grid; gap: 4px; }
.schedule-exception-heading h3, .calendar-header h3 { margin: 0; color: #162847; }
.schedule-exception-heading .muted, .calendar-card > .muted { margin: 0; line-height: 1.55; color: #5b6b7f; }
.schedule-exception-grid { grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.3fr); align-items: start; gap: 14px; }
#classCalendarBoard { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.calendar-card { border-radius: 22px; padding: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%); border: 1px solid #dbe4ee; box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06); }
.calendar-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.schedule-summary-list { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.schedule-summary-list li, .calendar-card .history-list li { padding: 9px 11px; border-radius: 12px; background: rgba(244, 247, 251, 0.92); border: 1px solid rgba(216, 225, 235, 0.9); color: #334155; }

@media (max-width: 860px) {
  .schedule-config-toolbar,
  .schedule-exception-grid { grid-template-columns: 1fr !important; }
  .schedule-config-toolbar__actions,
  .schedule-standard-actions,
  .schedule-exception-actions { justify-content: stretch; }
  .schedule-config-toolbar__actions button,
  .schedule-standard-actions button,
  .schedule-exception-actions button { width: 100%; }
}

@media (max-width: 760px) {
  #tab-fila .fila-table-wrap { overflow: visible !important; }
  #tab-fila .fila-table, #tab-fila .fila-table tbody, #tab-fila .fila-table tr, #tab-fila .fila-table td { display: block !important; width: 100% !important; }
  #tab-fila .fila-table thead { display: none !important; }
  #tab-fila .fila-table tbody { display: grid !important; gap: 14px !important; }
  #tab-fila .fila-table tbody tr.fila-row-card { padding: 16px !important; border: 1px solid rgba(198, 209, 223, 0.88) !important; border-radius: 20px !important; background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important; box-shadow: 0 12px 26px rgba(15, 23, 42, 0.07) !important; }
  #tab-fila .fila-table tbody tr.fila-row-card td { padding: 0 !important; border: 0 !important; overflow: visible !important; }
  #tab-fila .fila-table tbody tr.fila-row-card td + td { margin-top: 12px !important; }
  #tab-fila .fila-table tbody tr.fila-row-card td[data-label] { display: grid !important; grid-template-columns: minmax(74px, 88px) minmax(0, 1fr) !important; gap: 10px !important; align-items: start !important; }
  #tab-fila .fila-table tbody tr.fila-row-card td[data-label]::before { content: attr(data-label) !important; font-size: 0.72rem !important; font-weight: 800 !important; letter-spacing: 0.04em !important; text-transform: uppercase !important; color: #64748b !important; }
  #tab-fila .fila-table tbody tr.fila-row-card td.fila-status-cell,
  #tab-fila .fila-table tbody tr.fila-row-card td.fila-actions-cell { grid-template-columns: 1fr !important; }
  #tab-fila .fila-table tbody tr.fila-row-card .fila-actions-official { align-items: stretch !important; }
  #tab-fila .fila-table tbody tr.fila-row-card .fila-actions-official .fila-action-btn,
  #tab-fila .fila-table tbody tr.fila-row-card .fila-actions .action-btn,
  #tab-fila .fila-table tbody tr.fila-row-card .fila-actions .fila-link-btn { max-width: none !important; width: 100% !important; min-height: 36px !important; }
}


/* ===== OVERRIDES FINAIS: HISTORICO DE LOGS ===== */

#tab-historico-logs .historico-logs__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
  gap: 14px;
}

#tab-historico-logs .historico-logs__cards .historico-logs__card {
  --logs-card-accent: #cfd6df;
  --logs-card-bg-top: #ffffff;
  --logs-card-bg-bottom: #f6f8fb;
  --logs-card-icon-bg: rgba(255, 255, 255, 0.82);
  --logs-card-icon-color: #5d6b7f;
  --logs-card-ring: rgba(158, 172, 189, 0.22);
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-areas:
    "icon label"
    "icon value";
  align-items: center;
  gap: 4px 12px;
  min-height: 98px;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(206, 214, 224, 0.92) !important;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.86), transparent 38%),
    linear-gradient(180deg, var(--logs-card-bg-top), var(--logs-card-bg-bottom)) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.055) !important;
  backdrop-filter: blur(10px);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease,
    background 0.18s ease;
  filter: none !important;
}

#tab-historico-logs .historico-logs__cards .historico-logs__card::before {
  content: "";
  grid-area: icon;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.82);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.62)),
    var(--logs-card-icon-bg);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 6px 16px rgba(15, 23, 42, 0.04);
}

#tab-historico-logs .historico-logs__cards .historico-logs__card::after {
  content: "";
  position: absolute;
  inset: auto 18px 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--logs-card-accent) 64%, white), transparent);
  opacity: 0.72;
}

#tab-historico-logs .historico-logs__card-label {
  grid-area: label;
  margin: 0;
  color: #66758a !important;
  font-size: 0.74rem;
  font-weight: 800 !important;
  line-height: 1.2;
  letter-spacing: 0.055em !important;
  text-transform: uppercase;
}

#tab-historico-logs .historico-logs__card-value {
  grid-area: value;
  justify-self: start;
  align-self: start;
  margin: 2px 0 0;
  color: #162032 !important;
  font-size: clamp(1.8rem, 1.7vw, 2.15rem);
  font-weight: 800 !important;
  line-height: 1;
  letter-spacing: -0.04em;
}

#tab-historico-logs .historico-logs__card--filter:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--logs-card-accent) 42%, #d7dde6) !important;
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.08) !important;
}

#tab-historico-logs .historico-logs__card--filter.is-active {
  border-color: color-mix(in srgb, var(--logs-card-accent) 52%, #d4dbe5) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.72),
    0 14px 28px rgba(15, 23, 42, 0.075) !important;
}

#tab-historico-logs .historico-logs__card--filter:focus,
#tab-historico-logs .historico-logs__card--filter:focus-visible {
  outline: none !important;
}

#tab-historico-logs .historico-logs__card--filter:focus-visible {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--logs-card-accent) 58%, #cfd7e2) !important;
  box-shadow:
    0 0 0 4px var(--logs-card-ring),
    0 16px 30px rgba(15, 23, 42, 0.08) !important;
}

#tab-historico-logs .historico-logs__cards .historico-logs__card:nth-child(1),
#tab-historico-logs .historico-logs__cards .historico-logs__card:nth-child(10) {
  --logs-card-accent: #d7d0c7;
  --logs-card-bg-top: #fffdfa;
  --logs-card-bg-bottom: #f7f3ee;
  --logs-card-icon-bg: rgba(248, 241, 233, 0.88);
  --logs-card-ring: rgba(194, 178, 162, 0.2);
}

#tab-historico-logs .historico-logs__cards .historico-logs__card:nth-child(2),
#tab-historico-logs .historico-logs__cards .historico-logs__card:nth-child(6) {
  --logs-card-accent: #b9d3bf;
  --logs-card-bg-top: #f7fcf8;
  --logs-card-bg-bottom: #eef6f0;
  --logs-card-icon-bg: rgba(234, 245, 237, 0.9);
  --logs-card-ring: rgba(134, 179, 145, 0.22);
}

#tab-historico-logs .historico-logs__cards .historico-logs__card:nth-child(3),
#tab-historico-logs .historico-logs__cards .historico-logs__card:nth-child(4),
#tab-historico-logs .historico-logs__cards .historico-logs__card:nth-child(7) {
  --logs-card-accent: #bfd2e7;
  --logs-card-bg-top: #f8fbff;
  --logs-card-bg-bottom: #edf4fb;
  --logs-card-icon-bg: rgba(236, 243, 251, 0.92);
  --logs-card-ring: rgba(145, 179, 212, 0.24);
}

#tab-historico-logs .historico-logs__cards .historico-logs__card:nth-child(5),
#tab-historico-logs .historico-logs__cards .historico-logs__card:nth-child(9) {
  --logs-card-accent: #dcc493;
  --logs-card-bg-top: #fffaf1;
  --logs-card-bg-bottom: #f8f1e0;
  --logs-card-icon-bg: rgba(250, 243, 230, 0.9);
  --logs-card-ring: rgba(201, 164, 88, 0.22);
}

#tab-historico-logs .historico-logs__cards .historico-logs__card:nth-child(8) {
  --logs-card-accent: #dcb8b8;
  --logs-card-bg-top: #fff9f9;
  --logs-card-bg-bottom: #f8eeef;
  --logs-card-icon-bg: rgba(249, 239, 239, 0.9);
  --logs-card-ring: rgba(197, 132, 138, 0.2);
}

@media (max-width: 860px) {
  #tab-historico-logs .historico-logs__cards {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
  }

  #tab-historico-logs .historico-logs__cards .historico-logs__card {
    min-height: 94px;
    padding: 15px 16px;
  }
}

@media (max-width: 560px) {
  #tab-historico-logs .historico-logs__cards {
    grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
  }

  #tab-historico-logs .historico-logs__cards .historico-logs__card {
    grid-template-columns: 38px minmax(0, 1fr);
    min-height: 90px;
    padding: 14px 15px;
    border-radius: 18px;
  }

  #tab-historico-logs .historico-logs__cards .historico-logs__card::before {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  #tab-historico-logs .historico-logs__card-value {
    font-size: clamp(1.58rem, 6.8vw, 1.94rem);
  }
}

#tab-historico-logs .historico-logs__panel {
  border-radius: 24px;
  border: 1px solid rgba(214, 221, 230, 0.9);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(247, 250, 252, 0.97));
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

#tab-historico-logs .historico-logs__section-copy {
  color: #66768b;
  line-height: 1.6;
}

#tab-historico-logs .historico-logs__filter-summary {
  gap: 16px;
  padding: 14px 16px;
  border-radius: 20px;
  border-color: rgba(206, 214, 224, 0.88);
  background: linear-gradient(180deg, rgba(252, 253, 254, 0.98), rgba(245, 248, 251, 0.96));
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

#tab-historico-logs .historico-logs__filter-copy strong {
  font-size: 0.98rem;
}

#tab-historico-logs .historico-logs__filter-description {
  color: #6f7d90;
  line-height: 1.55;
}

#tab-historico-logs .historico-logs__filter-count {
  min-height: 32px;
  padding: 0 11px;
  background: rgba(91, 106, 126, 0.08);
  color: #304055;
  font-size: 0.79rem;
}

#tab-historico-logs .historico-logs__table-wrap {
  overflow-x: auto;
  padding-bottom: 2px;
  border: 1px solid rgba(216, 223, 232, 0.92);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

#tab-historico-logs .historico-logs__table {
  min-width: 980px;
}

#tab-historico-logs .historico-logs__table--daily {
  min-width: 1040px;
}

#tab-historico-logs .historico-logs__table--detail {
  min-width: 980px;
}

#tab-historico-logs .historico-logs__scroll-sync {
  overflow-x: auto;
  overflow-y: hidden;
  margin: 0 0 8px;
  padding: 0 2px 6px;
  scrollbar-width: thin;
  scrollbar-color: rgba(116, 130, 151, 0.42) transparent;
}

#tab-historico-logs .historico-logs__scroll-sync-track {
  height: 1px;
}

#tab-historico-logs .historico-logs__table th,
#tab-historico-logs .historico-logs__table td {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(224, 229, 236, 0.95);
  font-size: 0.9rem;
}

#tab-historico-logs .historico-logs__table th {
  white-space: nowrap;
  color: #748297;
  font-size: 0.74rem;
  letter-spacing: 0.07em;
  background: rgba(247, 249, 252, 0.96);
}

#tab-historico-logs .historico-logs__table td {
  color: #233248;
  line-height: 1.52;
  white-space: normal;
  overflow-wrap: anywhere;
}

#tab-historico-logs .historico-logs__table td:nth-child(1),
#tab-historico-logs .historico-logs__table td:nth-child(2),
#tab-historico-logs .historico-logs__table td:nth-child(3),
#tab-historico-logs .historico-logs__table td:nth-child(4),
#tab-historico-logs .historico-logs__table td:nth-child(8) {
  white-space: nowrap;
}

#tab-historico-logs .historico-logs__table--detail td:nth-child(6),
#tab-historico-logs .historico-logs__table--detail td:nth-child(7) {
  min-width: 140px;
}

#tab-historico-logs .historico-logs__log-row,
#tab-historico-logs .historico-logs__daily-row {
  transition: background-color 0.18s ease, box-shadow 0.18s ease;
}

#tab-historico-logs .historico-logs__log-row:hover,
#tab-historico-logs .historico-logs__daily-row:hover {
  background: rgba(148, 163, 184, 0.08);
}

#tab-historico-logs .historico-logs__log-row.is-expanded {
  background: rgba(96, 125, 176, 0.08);
}

#tab-historico-logs .historico-logs__log-detail-row td {
  background: rgba(245, 248, 251, 0.92);
}

#tab-historico-logs .historico-logs__detail-panel {
  gap: 14px 18px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  padding: 18px 20px 14px;
}

#tab-historico-logs .historico-logs__detail-panel strong {
  display: block;
  margin-top: 4px;
  color: #233248;
  white-space: normal;
  overflow-wrap: anywhere;
}

#tab-historico-logs .historico-logs__cell-wrap {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

#tab-historico-logs .historico-logs__cell-wrap--detail {
  min-width: 260px;
  max-width: 420px;
}

#tab-historico-logs .historico-logs__row-actions {
  gap: 10px;
  align-items: center;
}

#tab-historico-logs .historico-logs__action-btn {
  min-height: 28px;
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: #2d5378;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.2;
}

#tab-historico-logs .historico-logs__action-btn::after {
  content: "›";
  margin-left: 6px;
  font-size: 0.95rem;
  opacity: 0.72;
  transition: transform 0.16s ease, opacity 0.16s ease;
}

#tab-historico-logs .historico-logs__action-btn:hover {
  color: #1f4265;
  transform: none;
  text-decoration: underline;
  text-decoration-color: rgba(45, 83, 120, 0.22);
  text-underline-offset: 0.18em;
}

#tab-historico-logs .historico-logs__action-btn:hover::after,
#tab-historico-logs .historico-logs__action-btn:focus-visible::after {
  transform: translateX(2px);
  opacity: 1;
}

#tab-historico-logs .historico-logs__action-btn:focus,
#tab-historico-logs .historico-logs__action-btn:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

#tab-historico-logs .historico-logs__action-btn:focus-visible {
  color: #1f4265;
  text-decoration: underline;
  text-decoration-color: rgba(45, 83, 120, 0.28);
}

#tab-historico-logs .historico-logs__pill {
  min-height: 29px;
  padding: 4px 10px;
  border-radius: 999px;
  border-width: 1px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

#tab-historico-logs .historico-logs__pill[data-tone="ok"] {
  background: rgba(227, 241, 230, 0.92);
  border-color: rgba(126, 170, 134, 0.22);
  color: #2f6840;
}

#tab-historico-logs .historico-logs__pill[data-tone="danger"] {
  background: rgba(248, 232, 232, 0.94);
  border-color: rgba(198, 136, 139, 0.22);
  color: #8f4148;
}

#tab-historico-logs .historico-logs__pill[data-tone="warn"] {
  background: rgba(249, 240, 225, 0.94);
  border-color: rgba(208, 172, 103, 0.24);
  color: #8a6330;
}

#tab-historico-logs .historico-logs__pill[data-tone="info"] {
  background: rgba(232, 240, 249, 0.94);
  border-color: rgba(145, 176, 210, 0.24);
  color: #3d6791;
}

#tab-historico-logs .historico-logs__pill[data-tone="muted"],
#tab-historico-logs .historico-logs__pill[data-tone="neutral"] {
  background: rgba(240, 243, 247, 0.96);
  border-color: rgba(178, 188, 202, 0.24);
  color: #536276;
}

#tab-historico-logs .historico-logs__col--datetime {
  width: 12%;
}

#tab-historico-logs .historico-logs__col--user {
  width: 12%;
}

#tab-historico-logs .historico-logs__col--profile {
  width: 10%;
}

#tab-historico-logs .historico-logs__col--nucleus {
  width: 11%;
}

#tab-historico-logs .historico-logs__col--event {
  width: 12%;
}

#tab-historico-logs .historico-logs__col--area {
  width: 11%;
}

#tab-historico-logs .historico-logs__col--detail {
  width: 24%;
}

#tab-historico-logs .historico-logs__col--status {
  width: 8%;
}

#tab-historico-logs .historico-logs__technical-details {
  margin: 0 20px 18px;
  border: 1px solid rgba(216, 223, 232, 0.96);
  border-radius: 18px;
  background: rgba(248, 250, 252, 0.96);
  overflow: hidden;
}

#tab-historico-logs .historico-logs__technical-details summary {
  padding: 12px 16px;
  cursor: pointer;
  list-style: none;
  color: #35587d;
  font-size: 0.84rem;
  font-weight: 700;
}

#tab-historico-logs .historico-logs__technical-details summary::-webkit-details-marker {
  display: none;
}

#tab-historico-logs .historico-logs__technical-details summary::after {
  content: "›";
  float: right;
  opacity: 0.72;
  transform: rotate(90deg);
  transition: transform 0.18s ease;
}

#tab-historico-logs .historico-logs__technical-details[open] summary::after {
  transform: rotate(270deg);
}

#tab-historico-logs .historico-logs__technical-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  padding: 0 16px 16px;
}

#tab-historico-logs .historico-logs__technical-item {
  padding: 12px 13px;
  border-radius: 14px;
  border: 1px solid rgba(220, 226, 234, 0.96);
  background: rgba(255, 255, 255, 0.96);
}

#tab-historico-logs .historico-logs__technical-item strong {
  display: block;
  margin-top: 4px;
  color: #2a3b50;
}

#tab-historico-logs .historico-logs__technical-item--code {
  grid-column: 1 / -1;
}

#tab-historico-logs .historico-logs__technical-item--code pre {
  margin: 6px 0 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 0.76rem;
  line-height: 1.55;
  color: #42556d;
}

@media (max-width: 900px) {
  #tab-historico-logs .historico-logs__filter-summary {
    padding: 14px;
  }

  #tab-historico-logs .historico-logs__row-actions {
    align-items: flex-start;
  }

  #tab-historico-logs .historico-logs__action-btn {
    min-height: 24px;
  }

  #tab-historico-logs .historico-logs__table--detail {
    min-width: 920px;
  }
}

/* ===== AJUSTE FINAL: GRID DOS CARDS DE LOGS ===== */

#tab-historico-logs .historico-logs__cards {
  grid-template-columns: repeat(auto-fit, minmax(172px, 1fr));
  align-items: stretch;
  gap: 12px;
}

#tab-historico-logs .historico-logs__cards .historico-logs__card {
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 2px 10px;
  min-height: 88px;
  padding: 14px 15px;
  border-radius: 18px;
  align-content: center;
  justify-items: start;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05) !important;
}

#tab-historico-logs .historico-logs__cards .historico-logs__card::before {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 4px 12px rgba(15, 23, 42, 0.035);
}

#tab-historico-logs .historico-logs__cards .historico-logs__card::after {
  inset: auto 15px 0;
}

#tab-historico-logs .historico-logs__card-label {
  align-self: end;
  font-size: 0.7rem;
  line-height: 1.15;
  letter-spacing: 0.05em !important;
}

#tab-historico-logs .historico-logs__card-value {
  align-self: start;
  margin-top: 1px;
  font-size: clamp(1.58rem, 1.55vw, 1.98rem);
}

#tab-historico-logs .historico-logs__card--filter:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 26px rgba(15, 23, 42, 0.072) !important;
}

#tab-historico-logs .historico-logs__card--filter.is-active {
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.72),
    0 12px 24px rgba(15, 23, 42, 0.065) !important;
}

#tab-historico-logs .historico-logs__card--filter:focus-visible {
  box-shadow:
    0 0 0 4px var(--logs-card-ring),
    0 14px 26px rgba(15, 23, 42, 0.072) !important;
}

@media (min-width: 1200px) {
  #tab-historico-logs .historico-logs__cards {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  #tab-historico-logs .historico-logs__cards {
    grid-template-columns: repeat(auto-fit, minmax(164px, 1fr));
  }

  #tab-historico-logs .historico-logs__cards .historico-logs__card {
    min-height: 84px;
    padding: 13px 14px;
  }
}

@media (max-width: 560px) {
  #tab-historico-logs .historico-logs__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  #tab-historico-logs .historico-logs__cards .historico-logs__card {
    min-height: 82px;
    padding: 12px 13px;
  }

  #tab-historico-logs .historico-logs__card-value {
    font-size: clamp(1.44rem, 6vw, 1.78rem);
  }
}

/* ===== HORARIOS COMPACTOS FINAL ===== */

.schedule-config-panel .schedule-week-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 10px !important;
}

  .schedule-config-panel .schedule-weekday-card {
  gap: 10px !important;
  min-height: 0 !important;
  padding: 12px !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.045) !important;
}

.schedule-config-panel .schedule-weekday-card__top {
  gap: 8px !important;
  align-items: flex-start !important;
}

.schedule-config-panel .schedule-weekday-card__title {
  font-size: 0.9rem !important;
  line-height: 1.1 !important;
}

.schedule-config-panel .schedule-weekday-card__toggle {
  min-height: 26px !important;
  padding: 0 9px !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  color: #6c7a8c !important;
  background: #fbfcfd !important;
  border-color: #dce4ed !important;
}

.schedule-config-panel .schedule-weekday-card__preview {
  gap: 6px !important;
  min-height: 0 !important;
}

.schedule-config-panel .schedule-chip {
  min-height: 26px !important;
  padding: 0 10px !important;
  font-size: 0.74rem !important;
  border-color: #dde5ee !important;
  background: #f6f8fb !important;
  color: #314255 !important;
}

.schedule-config-panel .schedule-chip--empty {
  min-height: 24px !important;
  font-size: 0.72rem !important;
  color: #7a8798 !important;
}

.schedule-config-panel .schedule-weekday-card__editor {
  gap: 6px !important;
  padding-top: 6px !important;
  border-top: 1px solid rgba(228, 234, 241, 0.95) !important;
}

.schedule-config-panel .schedule-weekday-card__editor textarea {
  min-height: 56px !important;
  max-height: 88px !important;
  padding: 8px 10px !important;
  font-size: 0.78rem !important;
  line-height: 1.4 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.schedule-config-panel .schedule-standard-actions {
  gap: 8px !important;
  margin-top: 0 !important;
}

.schedule-config-panel .schedule-standard-actions button {
  min-height: 34px !important;
  padding: 0 13px !important;
  font-size: 0.76rem !important;
  border-radius: 11px !important;
}

.schedule-config-panel .schedule-exception-box {
  padding: 14px !important;
  border-radius: 18px !important;
}

.schedule-config-panel .schedule-exception-box textarea {
  min-height: 58px !important;
}

.schedule-config-panel .schedule-exception-actions button {
  min-height: 32px !important;
  padding: 0 12px !important;
  font-size: 0.75rem !important;
}

@media (max-width: 980px) {
  .schedule-config-panel .schedule-week-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .schedule-config-panel .schedule-week-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .schedule-config-panel .schedule-week-grid {
    grid-template-columns: 1fr !important;
  }

  .schedule-config-panel .schedule-weekday-card {
    padding: 11px !important;
  }
}

/* ===== HORARIOS PADRAO: LEITURA EM CHIPS ===== */

.schedule-config-panel .schedule-config-toolbar {
  margin-bottom: -2px;
}

.schedule-config-panel .schedule-week-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}

.schedule-config-panel .schedule-weekday-card {
  display: grid !important;
  align-content: start;
  gap: 12px !important;
  min-height: 190px;
  padding: 16px;
  border: 1px solid rgba(216, 225, 235, 0.95);
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
}

.schedule-config-panel .schedule-weekday-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.schedule-config-panel .schedule-weekday-card__title {
  font-size: 0.96rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #162847;
}

.schedule-config-panel .schedule-weekday-card__toggle {
  min-height: 30px;
  padding: 0 11px;
  border-radius: 999px;
  border-color: #d7e1eb;
  background: #fff;
  color: #5b6b7f;
  font-size: 0.74rem;
  font-weight: 700;
  box-shadow: none;
}

.schedule-config-panel .schedule-weekday-card__preview {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 8px;
  min-height: 72px;
}

.schedule-config-panel .schedule-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid #dbe5ee;
  background: #f8fafc;
  color: #334155;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.schedule-config-panel .schedule-chip--empty {
  border-style: dashed;
  color: #718198;
  background: #fbfcfd;
}

.schedule-config-panel .schedule-weekday-card__editor {
  display: grid;
  gap: 8px;
  padding-top: 2px;
  border-top: 1px solid rgba(223, 230, 238, 0.95);
}

.schedule-config-panel .schedule-weekday-card__editor textarea {
  min-height: 74px !important;
  padding: 10px 12px;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #fafbfd 100%);
}

.schedule-config-panel .schedule-standard-actions {
  margin-top: -2px;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
}

.schedule-config-panel .schedule-standard-actions button {
  min-height: 36px;
  padding: 0 14px;
  font-size: 0.78rem;
}

.schedule-config-panel .schedule-exception-box {
  padding: 16px;
  border-radius: 18px;
}

.schedule-config-panel .schedule-exception-box textarea {
  min-height: 72px !important;
}

.schedule-config-panel .schedule-exception-actions {
  gap: 8px;
}

.schedule-config-panel .schedule-exception-actions button {
  min-height: 34px;
  padding: 0 13px;
  font-size: 0.77rem;
}

@media (max-width: 860px) {
  .schedule-config-panel .schedule-week-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .schedule-config-panel .schedule-week-grid {
    grid-template-columns: 1fr;
  }

  .schedule-config-panel .schedule-weekday-card {
    min-height: auto;
  }

  .schedule-config-panel .schedule-weekday-card__top {
    align-items: flex-start;
    flex-direction: column;
  }

  .schedule-config-panel .schedule-weekday-card__toggle,
  .schedule-config-panel .schedule-standard-actions button,
  .schedule-config-panel .schedule-exception-actions button {
    width: 100%;
  }
}

/* ===== FILA + CONFIGURACAO DE HORARIOS REFINO VISUAL ===== */

#tab-fila .fila-table tbody td {
  vertical-align: top !important;
}

#tab-fila .fila-table:not([data-view="pre"]) thead th:nth-child(5),
#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(5) {
  width: 210px !important;
  min-width: 210px !important;
  white-space: normal !important;
}

#tab-fila .fila-table:not([data-view="pre"]) thead th:nth-child(6),
#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(6),
#tab-fila .fila-table[data-view="pre"] thead th:nth-child(6),
#tab-fila .fila-table[data-view="pre"] tbody td:nth-child(6) {
  width: 184px !important;
  min-width: 184px !important;
  max-width: 184px !important;
}

#tab-fila .fila-status-cell {
  min-width: 0 !important;
}

#tab-fila .fila-status-cell > div {
  display: grid !important;
  gap: 8px !important;
  align-content: start !important;
}

#tab-fila .fila-status-badge {
  padding: 6px 11px !important;
  font-size: 0.76rem !important;
  border-radius: 999px !important;
}

#tab-fila .fila-actions-cell {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

#tab-fila .fila-actions.premium,
#tab-fila .fila-actions-official {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 8px !important;
}

#tab-fila .fila-actions-official .fila-action-btn,
#tab-fila .fila-actions .action-btn,
#tab-fila .fila-actions .fila-link-btn {
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 11px !important;
  font-size: 0.75rem !important;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06) !important;
}

#tab-fila .fila-actions-official .fila-action-btn {
  width: 100% !important;
  max-width: 168px !important;
  justify-content: flex-start !important;
}

#tab-fila .fila-actions .action-icon {
  width: 15px !important;
  font-size: 0.86rem !important;
}

@media (max-width: 760px) {
  #tab-fila .fila-table-wrap {
    overflow: visible !important;
  }

  #tab-fila .fila-table,
  #tab-fila .fila-table tbody,
  #tab-fila .fila-table tr,
  #tab-fila .fila-table td {
    display: block !important;
    width: 100% !important;
  }

  #tab-fila .fila-table thead {
    display: none !important;
  }

  #tab-fila .fila-table tbody {
    display: grid !important;
    gap: 14px !important;
  }

  #tab-fila .fila-table tbody tr.fila-row-card {
    padding: 16px !important;
    border: 1px solid rgba(198, 209, 223, 0.88) !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.07) !important;
  }

  #tab-fila .fila-table tbody tr.fila-row-card td {
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
  }

  #tab-fila .fila-table tbody tr.fila-row-card td + td {
    margin-top: 12px !important;
  }

  #tab-fila .fila-table tbody tr.fila-row-card td[data-label] {
    display: grid !important;
    grid-template-columns: minmax(74px, 88px) minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
  }

  #tab-fila .fila-table tbody tr.fila-row-card td[data-label]::before {
    content: attr(data-label) !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #64748b !important;
  }

  #tab-fila .fila-table tbody tr.fila-row-card td.fila-status-cell,
  #tab-fila .fila-table tbody tr.fila-row-card td.fila-actions-cell {
    grid-template-columns: 1fr !important;
  }

  #tab-fila .fila-table tbody tr.fila-row-card td.fila-status-cell::before,
  #tab-fila .fila-table tbody tr.fila-row-card td.fila-actions-cell::before {
    margin-bottom: 2px !important;
  }

  #tab-fila .fila-table tbody tr.fila-row-card .fila-actions-official {
    align-items: stretch !important;
  }

  #tab-fila .fila-table tbody tr.fila-row-card .fila-actions-official .fila-action-btn,
  #tab-fila .fila-table tbody tr.fila-row-card .fila-actions .action-btn,
  #tab-fila .fila-table tbody tr.fila-row-card .fila-actions .fila-link-btn {
    max-width: none !important;
    width: 100% !important;
    min-height: 36px !important;
  }
}

.schedule-config-panel .panel-collapse-content {
  display: grid;
  gap: 18px;
}

.schedule-config-toolbar {
  align-items: end;
  gap: 16px;
}

.schedule-config-field,
.schedule-weekday-card,
.schedule-exception-field {
  gap: 8px !important;
  color: #23364d !important;
}

.schedule-config-panel .grid-form input,
.schedule-config-panel .grid-form select,
.schedule-config-panel .grid-form textarea,
.schedule-config-panel .toolbar button {
  font-size: 0.92rem;
}

.schedule-config-panel .grid-form input,
.schedule-config-panel .grid-form select,
.schedule-config-panel .grid-form textarea {
  border-color: #d8e1eb;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
}

.schedule-config-toolbar__actions {
  justify-content: flex-end;
}

.schedule-config-toolbar__actions button,
.schedule-standard-actions button,
.schedule-exception-actions button {
  min-height: 38px;
  padding: 0 16px;
  border-radius: 12px;
}

.schedule-config-intro {
  padding: 0 2px;
}

.schedule-config-intro .muted {
  margin: 0;
  font-size: 0.93rem;
  line-height: 1.65;
  color: #566579;
}

.schedule-week-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
  margin: 0;
}

.schedule-weekday-card {
  padding: 14px;
  border: 1px solid #dbe4ee;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

.schedule-week-grid textarea,
.schedule-exception-box textarea {
  min-height: 86px;
  resize: vertical;
  line-height: 1.5;
}

.schedule-standard-actions {
  justify-content: flex-end;
  gap: 10px;
}

.schedule-exception-box {
  margin-top: 0;
  padding: 18px;
  border-style: solid;
  border-color: #dbe4ee;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.schedule-exception-box .panel-title-row {
  align-items: flex-start;
  margin-bottom: 10px;
}

.schedule-exception-heading {
  display: grid;
  gap: 4px;
}

.schedule-exception-heading h3 {
  margin: 0;
  font-size: 1rem;
  color: #162847;
}

.schedule-exception-heading .muted {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.55;
}

.schedule-exception-grid {
  grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.3fr);
  align-items: start;
  gap: 14px;
}

.schedule-exception-field--date input {
  min-height: 44px;
}

.schedule-exception-actions {
  justify-content: flex-end;
  gap: 10px;
  margin-top: 4px;
}

#classCalendarBoard {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}

.calendar-card {
  border-radius: 22px;
  padding: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  border: 1px solid #dbe4ee;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
}

.calendar-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.calendar-header h3 {
  margin: 0;
  font-size: 1rem;
  color: #162847;
}

.calendar-card > .muted {
  margin: 0;
  line-height: 1.6;
  color: #5b6b7f;
}

.schedule-summary-list {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.schedule-summary-list li {
  padding: 9px 11px;
  border-radius: 12px;
  background: rgba(244, 247, 251, 0.92);
  border: 1px solid rgba(216, 225, 235, 0.9);
  color: #334155;
}

.calendar-card .history-list {
  margin-top: 12px;
}

.calendar-card .history-list li {
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #e1e8f0;
}

@media (max-width: 860px) {
  .schedule-config-toolbar,
  .schedule-exception-grid {
    grid-template-columns: 1fr !important;
  }

  .schedule-config-toolbar__actions,
  .schedule-standard-actions,
  .schedule-exception-actions {
    justify-content: stretch;
  }

  .schedule-config-toolbar__actions button,
  .schedule-standard-actions button,
  .schedule-exception-actions button {
    width: 100%;
  }
}

#tab-visitantes .visitor-tab-host {
  display: grid;
  gap: 20px;
}

/* ========= EVOLUCAO TECNICA ========= */
.technical-evolution-root {
  min-height: 60vh;
}

.technical-evolution-shell {
  --tech-surface: linear-gradient(180deg, rgba(10, 20, 37, 0.96), rgba(18, 31, 53, 0.96));
  --tech-card: rgba(255, 255, 255, 0.88);
  --tech-card-strong: rgba(255, 255, 255, 0.96);
  --tech-stroke: rgba(148, 163, 184, 0.24);
  --tech-text: #10233a;
  --tech-muted: #5f7087;
  --tech-accent: #df6d2d;
  --tech-success: #11845b;
  --tech-warning: #c88312;
  --tech-danger: #c03d38;
  display: grid;
  gap: 18px;
  color: var(--tech-text);
}

.technical-evolution-hero {
  display: grid;
  gap: 18px;
  padding: 22px;
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(223, 109, 45, 0.26), transparent 34%),
    radial-gradient(circle at bottom left, rgba(72, 153, 255, 0.2), transparent 30%),
    var(--tech-surface);
  color: #f8fbff;
  box-shadow: 0 28px 70px rgba(15, 23, 42, 0.2);
}

.technical-evolution-hero__copy h2 {
  margin: 0;
  font-size: clamp(1.6rem, 4vw, 2.5rem);
  line-height: 1.05;
}

.technical-evolution-hero__copy p,
.technical-evolution-hero__meta small {
  margin: 8px 0 0;
  color: rgba(241, 245, 249, 0.82);
}

.technical-evolution-hero__meta {
  display: grid;
  gap: 4px;
  padding: 16px 18px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.technical-evolution-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.72rem;
  font-weight: 800;
  color: rgba(148, 196, 255, 0.92);
}

.technical-evolution-subtabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.technical-evolution-subtab,
.technical-evolution-secondary,
.technical-evolution-primary {
  border: 0;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease, background 0.2s ease;
}

.technical-evolution-subtab {
  padding: 12px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  color: #29415f;
  font-weight: 700;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18);
}

.technical-evolution-subtab.is-active {
  background: linear-gradient(135deg, #13263f, #22466f);
  color: #fff;
  box-shadow: 0 16px 30px rgba(17, 34, 55, 0.24);
}

.technical-evolution-toolbar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  padding: 16px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(226, 232, 240, 0.9);
  backdrop-filter: blur(18px);
}

.technical-evolution-toolbar label {
  display: grid;
  gap: 8px;
  font-size: 0.83rem;
  font-weight: 700;
  color: #405067;
}

.technical-evolution-toolbar select,
.technical-evolution-toolbar input,
.technical-evolution-notes textarea {
  width: 100%;
  min-height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.3);
  background: rgba(255, 255, 255, 0.92);
  padding: 12px 14px;
  color: var(--tech-text);
}

.technical-evolution-toolbar__search {
  grid-column: 1 / -1;
}

.technical-evolution-content,
.technical-evolution-dashboard-grid,
.technical-evolution-eval-grid {
  display: grid;
  gap: 16px;
}

.technical-evolution-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}

.technical-evolution-kpi,
.technical-evolution-panel,
.technical-evolution-scope-chip {
  border-radius: 24px;
  border: 1px solid rgba(220, 230, 242, 0.96);
  background: var(--tech-card);
  backdrop-filter: blur(16px);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.technical-evolution-kpi {
  display: grid;
  gap: 6px;
  padding: 18px;
}

.technical-evolution-kpi strong {
  font-size: 1.8rem;
  line-height: 1;
}

.technical-evolution-kpi small,
.technical-evolution-student-card__copy span,
.technical-evolution-inline-note,
.technical-evolution-history__top span,
.technical-evolution-history__note,
.technical-evolution-panel__head p {
  color: var(--tech-muted);
}

.technical-evolution-panel {
  padding: 18px;
}

.technical-evolution-panel__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
}

.technical-evolution-panel__head h3 {
  margin: 0;
}

.technical-evolution-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(16, 35, 58, 0.08);
  color: #1d3553;
  font-size: 0.78rem;
  font-weight: 800;
}

.technical-evolution-ranking,
.technical-evolution-capacity,
.technical-evolution-history,
.technical-evolution-student-list {
  display: grid;
  gap: 12px;
}

.technical-evolution-ranking__item,
.technical-evolution-history__item,
.technical-evolution-student-card {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 20px;
  border: 1px solid rgba(220, 230, 242, 0.98);
  background: var(--tech-card-strong);
}

.technical-evolution-student-card {
  text-align: left;
}

.technical-evolution-student-card.is-active {
  border-color: rgba(34, 70, 111, 0.48);
  box-shadow: 0 18px 32px rgba(34, 70, 111, 0.14);
  transform: translateY(-1px);
}

.technical-evolution-avatar {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, #10233a, #355d8d);
  box-shadow: 0 12px 24px rgba(16, 35, 58, 0.22);
}

.technical-evolution-ranking__item,
.technical-evolution-student-card__top,
.technical-evolution-history__top,
.technical-evolution-capacity__head,
.technical-evolution-editor__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.technical-evolution-ranking__copy,
.technical-evolution-student-card__copy,
.technical-evolution-editor__footer-copy {
  display: grid;
  gap: 4px;
  flex: 1 1 auto;
}

.technical-evolution-ranking__meta,
.technical-evolution-history__score {
  display: grid;
  gap: 3px;
  text-align: right;
  font-weight: 800;
}

.technical-evolution-progress {
  height: 10px;
  border-radius: 999px;
  background: rgba(226, 232, 240, 0.86);
  overflow: hidden;
}

.technical-evolution-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f09a4f, #df6d2d);
}

.technical-evolution-stacked-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.technical-evolution-scope-chip {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  min-width: 180px;
}

.technical-evolution-editor {
  display: grid;
  gap: 16px;
}

.technical-evolution-editor__hero,
.technical-evolution-report-summary {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(16, 35, 58, 0.04), rgba(255, 255, 255, 0.86));
  border: 1px solid rgba(220, 230, 242, 0.98);
}

.technical-evolution-editor__hero h3 {
  margin: 0;
  font-size: 1.35rem;
}

.technical-evolution-editor__hero p {
  margin: 6px 0 0;
  color: var(--tech-muted);
}

.technical-evolution-editor__hero-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.technical-evolution-editor__hero-meta span,
.technical-evolution-report-summary article {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.88);
}

.technical-evolution-limit-banner,
.technical-evolution-inline-note,
.technical-evolution-lock-note {
  padding: 13px 15px;
  border-radius: 18px;
  background: rgba(255, 245, 214, 0.88);
  border: 1px solid rgba(226, 182, 54, 0.28);
  color: #855600;
}

.technical-evolution-foundations {
  display: grid;
  gap: 12px;
}

.technical-evolution-foundation {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 20px;
  border: 1px solid rgba(220, 230, 242, 0.98);
  background: rgba(255, 255, 255, 0.94);
}

.technical-evolution-foundation legend {
  padding: 0 4px;
  font-weight: 800;
}

.technical-evolution-rating-group {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.technical-evolution-rating {
  position: relative;
}

.technical-evolution-rating input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.technical-evolution-rating span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: rgba(245, 247, 251, 0.96);
  font-weight: 900;
  color: #3d4f67;
}

.technical-evolution-rating input:checked + span,
.technical-evolution-rating.is-selected span {
  background: linear-gradient(135deg, #10233a, #2b5787);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 14px 24px rgba(16, 35, 58, 0.22);
}

.technical-evolution-notes {
  display: grid;
  gap: 8px;
  font-size: 0.86rem;
  font-weight: 700;
  color: #405067;
}

.technical-evolution-primary,
.technical-evolution-secondary {
  min-height: 48px;
  padding: 0 18px;
  border-radius: 16px;
  font-weight: 800;
}

.technical-evolution-primary {
  background: linear-gradient(135deg, #10233a, #22466f);
  color: #fff;
  box-shadow: 0 16px 30px rgba(16, 35, 58, 0.22);
}

.technical-evolution-secondary {
  background: rgba(255, 255, 255, 0.9);
  color: #19324f;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.24);
}

.technical-evolution-report-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.technical-evolution-report-table {
  overflow: auto;
  border-radius: 20px;
  border: 1px solid rgba(220, 230, 242, 0.96);
}

.technical-evolution-report-table table {
  width: 100%;
  border-collapse: collapse;
  background: rgba(255, 255, 255, 0.96);
}

.technical-evolution-report-table th,
.technical-evolution-report-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.88);
  text-align: left;
  white-space: nowrap;
}

.technical-evolution-report-table th {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #66768d;
}

.technical-evolution-table-empty {
  text-align: center;
  color: var(--tech-muted);
}

.technical-evolution-history__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.technical-evolution-history__chips span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(16, 35, 58, 0.06);
  color: #1b3552;
  font-size: 0.8rem;
}

.technical-evolution-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  white-space: nowrap;
}

.technical-evolution-status[data-tone="good"] {
  background: rgba(17, 132, 91, 0.12);
  color: var(--tech-success);
}

.technical-evolution-status[data-tone="warn"] {
  background: rgba(200, 131, 18, 0.12);
  color: var(--tech-warning);
}

.technical-evolution-status[data-tone="neutral"] {
  background: rgba(37, 99, 235, 0.1);
  color: #2558a8;
}

.technical-evolution-status[data-tone="idle"] {
  background: rgba(100, 116, 139, 0.12);
  color: #55657a;
}

.technical-evolution-empty {
  display: grid;
  gap: 8px;
  place-items: center;
  min-height: 240px;
  padding: 28px;
  text-align: center;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px dashed rgba(148, 163, 184, 0.38);
  color: #30455f;
}

.technical-evolution-empty.small {
  min-height: 140px;
}

.technical-evolution-subtab:hover,
.technical-evolution-primary:hover,
.technical-evolution-secondary:hover,
.technical-evolution-student-card:hover {
  transform: translateY(-1px);
}

.technical-evolution-primary:disabled,
.technical-evolution-secondary:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}

@media (min-width: 980px) {
  .technical-evolution-hero {
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.9fr);
    align-items: end;
  }

  .technical-evolution-dashboard-grid {
    grid-template-columns: 1.15fr 0.85fr;
  }

  .technical-evolution-eval-grid {
    grid-template-columns: minmax(320px, 0.92fr) minmax(0, 1.08fr);
    align-items: start;
  }

  .technical-evolution-panel--editor {
    position: sticky;
    top: 18px;
  }
}

@media (prefers-color-scheme: dark) {
  .technical-evolution-shell {
    --tech-card: rgba(12, 20, 34, 0.86);
    --tech-card-strong: rgba(15, 23, 42, 0.94);
    --tech-text: #eef4ff;
    --tech-muted: #9fb0c7;
  }

  .technical-evolution-subtab,
  .technical-evolution-toolbar,
  .technical-evolution-foundation,
  .technical-evolution-report-table table,
  .technical-evolution-editor__hero-meta span,
  .technical-evolution-report-summary article,
  .technical-evolution-rating span,
  .technical-evolution-toolbar select,
  .technical-evolution-toolbar input,
  .technical-evolution-notes textarea {
    background: rgba(15, 23, 42, 0.92);
    color: var(--tech-text);
  }

  .technical-evolution-kpi,
  .technical-evolution-panel,
  .technical-evolution-scope-chip,
  .technical-evolution-student-card,
  .technical-evolution-history__item,
  .technical-evolution-ranking__item {
    border-color: rgba(61, 78, 102, 0.82);
  }
}

/* ========= EVOLUCAO TECNICA FLUXO DE FICHA ========= */
.technical-evolution-shell {
  gap: 16px;
}

.technical-evolution-hero {
  padding: 20px 22px;
}

.technical-evolution-hero__copy h2 {
  font-size: clamp(1.45rem, 3vw, 2rem);
}

.technical-evolution-hero__copy p {
  max-width: 820px;
}

.technical-evolution-toolbar {
  padding: 14px;
}

.technical-evolution-toolbar__search {
  grid-column: auto;
}

.technical-evolution-stacked-metrics {
  margin-bottom: 2px;
}

.technical-evolution-scope-chip {
  min-width: 220px;
}

.technical-evolution-panel--list,
.technical-evolution-panel--editor {
  min-height: 720px;
}

.technical-evolution-panel--list {
  display: grid;
  grid-template-rows: auto 1fr;
}

.technical-evolution-student-list {
  align-content: start;
  max-height: 100%;
  overflow: auto;
  padding-right: 2px;
}

.technical-evolution-panel--editor {
  padding: 22px;
}

.technical-evolution-editor__hero-side {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.technical-evolution-sheet {
  padding: 22px;
}

.technical-evolution-sheet__head strong {
  font-size: 1.05rem;
}

.technical-evolution-sheet__row {
  gap: 16px;
}

.technical-evolution-sheet__label strong {
  font-size: 0.98rem;
  line-height: 1.4;
}

.technical-evolution-live-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.technical-evolution-editor__footer {
  align-items: center;
}

.technical-evolution-editor--placeholder .technical-evolution-empty.small {
  min-height: 220px;
}

@media (min-width: 980px) {
  .technical-evolution-eval-grid {
    grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr);
    align-items: start;
  }

  .technical-evolution-panel--editor {
    position: sticky;
    top: 14px;
  }
}

@media (max-width: 979px) {
  .technical-evolution-panel--list,
  .technical-evolution-panel--editor {
    min-height: auto;
  }

  .technical-evolution-toolbar__search {
    grid-column: 1 / -1;
  }

  .technical-evolution-student-list {
    max-height: none;
    overflow: visible;
  }
}

/* ========= EVOLUCAO TECNICA INTERATIVA ========= */
.technical-evolution-shell {
  gap: 14px;
}

.technical-evolution-hero,
.technical-evolution-scope-banner,
.technical-evolution-toolbar,
.technical-evolution-panel,
.technical-evolution-scope-chip,
.technical-evolution-sheet,
.technical-evolution-editor__hero,
.technical-evolution-live-summary article,
.technical-evolution-hero-metrics article,
.technical-evolution-student-card,
.technical-evolution-scale {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.58));
  border-color: rgba(203, 213, 225, 0.46);
  box-shadow:
    0 14px 32px rgba(15, 23, 42, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.technical-evolution-hero {
  padding: 18px 20px;
  box-shadow:
    0 16px 42px rgba(15, 23, 42, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.technical-evolution-hero__copy p {
  margin-top: 4px;
  font-size: 0.94rem;
}

.technical-evolution-scope-banner {
  padding: 14px 16px;
}

.technical-evolution-toolbar {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
  padding: 14px;
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(249, 251, 253, 0.72));
}

.technical-evolution-toolbar__field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.technical-evolution-toolbar__field:nth-child(1),
.technical-evolution-toolbar__field:nth-child(2),
.technical-evolution-toolbar__field:nth-child(3),
.technical-evolution-toolbar__field:nth-child(4) {
  grid-column: span 2;
}

.technical-evolution-toolbar__field--search {
  grid-column: span 3;
}

.technical-evolution-toolbar__actions {
  grid-column: span 1;
  display: flex;
  align-items: end;
  justify-content: flex-end;
}

.technical-evolution-toolbar__label {
  color: #2b3645;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.technical-evolution-toolbar__hint {
  color: #7a8899;
  font-size: 0.72rem;
  line-height: 1.35;
}

.technical-evolution-toolbar select,
.technical-evolution-toolbar input,
.technical-evolution-notes textarea {
  min-height: 42px;
  padding: 10px 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 250, 252, 0.9));
  border: 1px solid rgba(191, 201, 214, 0.62);
  box-shadow:
    0 8px 18px rgba(15, 23, 42, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.technical-evolution-panel {
  padding: 16px;
}

.technical-evolution-panel__head {
  margin-bottom: 12px;
}

.technical-evolution-panel__head h3 {
  font-size: 1rem;
}

.technical-evolution-stacked-metrics {
  gap: 8px;
}

.technical-evolution-scope-chip {
  min-width: 180px;
  padding: 12px 14px;
}

.technical-evolution-panel--list,
.technical-evolution-panel--editor {
  min-height: 640px;
}

.technical-evolution-panel--editor {
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(247, 250, 252, 0.72));
}

.technical-evolution-student-list {
  gap: 10px;
}

.technical-evolution-student-card {
  gap: 8px;
  padding: 12px 13px;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease,
    background 0.22s ease;
}

.technical-evolution-student-card:hover {
  transform: translateY(-2px);
}

.technical-evolution-student-card.is-active {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(241, 246, 251, 0.88));
  border-color: rgba(124, 144, 168, 0.44);
}

.technical-evolution-student-card__copy strong {
  font-size: 0.96rem;
}

.technical-evolution-student-card__copy span {
  font-size: 0.8rem;
}

.technical-evolution-student-card__meta {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  font-size: 0.78rem;
}

.technical-evolution-student-card__signals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.technical-evolution-signal-pill {
  display: grid;
  gap: 3px;
  padding: 10px 11px;
  border-radius: 16px;
  background: rgba(248, 250, 252, 0.86);
  border: 1px solid rgba(203, 213, 225, 0.5);
}

.technical-evolution-signal-pill span {
  color: #718096;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.technical-evolution-signal-pill strong {
  font-size: 0.94rem;
  color: #17212b;
}

.technical-evolution-signal-pill[data-tone="good"] {
  background: linear-gradient(180deg, rgba(240, 253, 248, 0.95), rgba(230, 248, 240, 0.9));
}

.technical-evolution-signal-pill[data-tone="warn"] {
  background: linear-gradient(180deg, rgba(255, 245, 245, 0.95), rgba(255, 237, 237, 0.9));
}

.technical-evolution-signal-pill[data-tone="neutral"] {
  background: linear-gradient(180deg, rgba(242, 247, 252, 0.95), rgba(233, 240, 248, 0.9));
}

.technical-evolution-signal-pill[data-tone="empty"] {
  background: rgba(248, 250, 252, 0.72);
}

.technical-evolution-student-card__footer {
  display: grid;
  gap: 6px;
}

.technical-evolution-student-card__footer small {
  color: #607084;
  font-size: 0.78rem;
}

.technical-evolution-student-card__bar {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(226, 232, 240, 0.82);
}

.technical-evolution-student-card__bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(75, 99, 129, 0.92), rgba(134, 161, 191, 0.78));
  transition: width 0.24s ease;
}

.technical-evolution-editor {
  gap: 12px;
}

.technical-evolution-editor__hero {
  gap: 12px;
  padding: 14px;
  position: relative;
  overflow: hidden;
}

.technical-evolution-editor__identity {
  gap: 12px;
}

.technical-evolution-editor__hero h3 {
  font-size: 1.18rem;
}

.technical-evolution-editor__hero p {
  margin-top: 2px;
  font-size: 0.86rem;
}

.technical-evolution-editor__hero-side {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.technical-evolution-editor__hero-side span {
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.76);
}

.technical-evolution-editor__hero::after {
  content: "";
  position: absolute;
  inset: auto -14% -38% auto;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(170, 188, 208, 0.22), transparent 68%);
  pointer-events: none;
}

.technical-evolution-hero-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.technical-evolution-hero-metrics article,
.technical-evolution-live-summary article {
  display: grid;
  gap: 4px;
  padding: 14px;
  border-radius: 18px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.technical-evolution-hero-metrics article:hover,
.technical-evolution-live-summary article:hover {
  transform: translateY(-1px);
}

.technical-evolution-hero-metrics span,
.technical-evolution-live-summary span {
  color: #718096;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.technical-evolution-hero-metrics strong,
.technical-evolution-live-summary strong {
  font-size: 1rem;
  line-height: 1.25;
}

.technical-evolution-hero-metrics small,
.technical-evolution-live-summary small {
  color: #607084;
  font-size: 0.78rem;
}

.technical-evolution-hero-metrics article[data-tone="good"],
.technical-evolution-live-summary article[data-tone="good"] {
  background: linear-gradient(180deg, rgba(239, 252, 245, 0.94), rgba(231, 248, 239, 0.88));
}

.technical-evolution-hero-metrics article[data-tone="warn"],
.technical-evolution-live-summary article[data-tone="warn"] {
  background: linear-gradient(180deg, rgba(255, 245, 245, 0.94), rgba(255, 236, 236, 0.88));
}

.technical-evolution-hero-metrics article[data-tone="neutral"],
.technical-evolution-live-summary article[data-tone="neutral"] {
  background: linear-gradient(180deg, rgba(242, 247, 252, 0.94), rgba(233, 240, 248, 0.88));
}

.technical-evolution-hero-metrics article[data-tone="empty"],
.technical-evolution-live-summary article[data-tone="empty"] {
  background: linear-gradient(180deg, rgba(250, 251, 252, 0.9), rgba(244, 247, 250, 0.84));
}

.technical-evolution-scale {
  padding: 10px 12px;
  transition: box-shadow 0.22s ease, background 0.22s ease;
}

.technical-evolution-scale[open] {
  padding-bottom: 14px;
}

.technical-evolution-scale:hover {
  box-shadow:
    0 16px 34px rgba(15, 23, 42, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.technical-evolution-scale__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  list-style: none;
  cursor: pointer;
}

.technical-evolution-scale__summary::-webkit-details-marker {
  display: none;
}

.technical-evolution-scale__head {
  gap: 2px;
}

.technical-evolution-scale__head small {
  color: #6f8093;
  font-size: 0.8rem;
}

.technical-evolution-scale__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.technical-evolution-scale__chips span {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(91, 110, 130, 0.1);
  color: #425367;
  font-size: 0.8rem;
  font-weight: 800;
}

.technical-evolution-scale__grid {
  margin-top: 10px;
}

.technical-evolution-scale__item {
  padding: 10px 12px;
}

.technical-evolution-scale__badge {
  width: 36px;
  height: 36px;
  border-radius: 12px;
}

.technical-evolution-scale__copy strong {
  font-size: 0.92rem;
}

.technical-evolution-scale__copy p {
  font-size: 0.82rem;
  line-height: 1.45;
}

.technical-evolution-sheet {
  gap: 10px;
  padding: 16px;
}

.technical-evolution-sheet__head {
  padding-bottom: 0;
}

.technical-evolution-sheet__row {
  grid-template-columns: minmax(140px, 0.84fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  padding: 10px 0;
}

.technical-evolution-sheet__label strong {
  font-size: 0.9rem;
}

.technical-evolution-sheet__column-title {
  min-height: 26px;
  padding: 0 10px;
}

.technical-evolution-rating-group {
  gap: 6px;
}

.technical-evolution-rating span {
  min-height: 42px;
  border-radius: 14px;
  font-size: 0.94rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(244, 247, 250, 0.88));
  border: 1px solid rgba(200, 210, 223, 0.65);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease,
    color 0.18s ease,
    border-color 0.18s ease;
}

.technical-evolution-rating:hover span {
  transform: translateY(-1px) scale(1.02);
  border-color: rgba(132, 151, 174, 0.7);
  box-shadow: 0 12px 22px rgba(15, 23, 42, 0.08);
}

.technical-evolution-rating input:checked + span,
.technical-evolution-rating.is-selected span {
  transform: translateY(-1px);
  border-color: rgba(69, 87, 110, 0.28);
}

.technical-evolution-live-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.technical-evolution-notes textarea {
  min-height: 86px;
}

.technical-evolution-editor__footer-copy span {
  font-size: 0.82rem;
}

@media (max-width: 1180px) {
  .technical-evolution-toolbar {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .technical-evolution-toolbar__field:nth-child(1),
  .technical-evolution-toolbar__field:nth-child(2),
  .technical-evolution-toolbar__field:nth-child(3),
  .technical-evolution-toolbar__field:nth-child(4) {
    grid-column: span 2;
  }

  .technical-evolution-toolbar__field--search {
    grid-column: span 4;
  }

  .technical-evolution-toolbar__actions {
    grid-column: span 2;
  }

  .technical-evolution-hero-metrics,
  .technical-evolution-live-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .technical-evolution-editor__hero-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 979px) {
  .technical-evolution-toolbar {
    grid-template-columns: 1fr;
  }

  .technical-evolution-toolbar__field,
  .technical-evolution-toolbar__field:nth-child(1),
  .technical-evolution-toolbar__field:nth-child(2),
  .technical-evolution-toolbar__field:nth-child(3),
  .technical-evolution-toolbar__field:nth-child(4),
  .technical-evolution-toolbar__field--search,
  .technical-evolution-toolbar__actions {
    grid-column: auto;
  }

  .technical-evolution-toolbar__actions {
    justify-content: stretch;
  }

  .technical-evolution-secondary--refresh {
    width: 100%;
  }

  .technical-evolution-scale__summary,
  .technical-evolution-sheet__head {
    flex-direction: column;
    align-items: flex-start;
  }

  .technical-evolution-hero-metrics,
  .technical-evolution-live-summary,
  .technical-evolution-student-card__signals,
  .technical-evolution-editor__hero-side {
    grid-template-columns: 1fr;
  }

  .technical-evolution-sheet__row {
    grid-template-columns: 1fr;
  }
}

#tab-visitantes #visitantesTabHost > .panel:has(#visitorForm) {
  display: grid;
  gap: 18px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(188, 199, 214, 0.48);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(249, 251, 253, 0.97));
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.05);
}

#tab-visitantes #visitantesTabHost > .panel:has(#visitorForm) .panel-title-row {
  align-items: center;
  gap: 12px;
  margin-bottom: 2px;
}

#tab-visitantes #visitantesTabHost > .panel:has(#visitorForm) .badge {
  min-width: 38px;
  justify-content: center;
  background: rgba(112, 130, 152, 0.12);
  color: #3d5268;
  border-color: rgba(122, 140, 162, 0.18);
  box-shadow: none;
}

#tab-visitantes .visitor-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

/* ========= EVOLUCAO TECNICA REFINO ========= */
.technical-evolution-shell {
  --tech-bg: linear-gradient(180deg, rgba(248, 250, 252, 0.94), rgba(238, 242, 247, 0.9));
  --tech-surface: rgba(255, 255, 255, 0.66);
  --tech-surface-strong: rgba(255, 255, 255, 0.8);
  --tech-border: rgba(148, 163, 184, 0.18);
  --tech-border-strong: rgba(148, 163, 184, 0.26);
  --tech-text: #1f2937;
  --tech-muted: #66758a;
  --tech-accent: #5a6b80;
  --tech-accent-soft: rgba(90, 107, 128, 0.12);
  --tech-blue-soft: rgba(125, 148, 173, 0.14);
  --tech-danger: #b3261e;
  gap: 20px;
  color: var(--tech-text);
}

.technical-evolution-hero {
  padding: 26px;
  border-radius: 32px;
  background:
    radial-gradient(circle at top right, rgba(163, 179, 198, 0.22), transparent 34%),
    radial-gradient(circle at bottom left, rgba(214, 224, 234, 0.55), transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(244, 247, 250, 0.68));
  border: 1px solid rgba(255, 255, 255, 0.52);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  color: var(--tech-text);
  box-shadow:
    0 24px 60px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.technical-evolution-hero__copy p,
.technical-evolution-hero__meta small {
  color: rgba(71, 85, 105, 0.88);
}

.technical-evolution-hero__meta {
  gap: 8px;
  padding: 18px 20px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.54);
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.56);
}

.technical-evolution-eyebrow {
  color: #718399;
  letter-spacing: 0.14em;
}

.technical-evolution-scope-banner,
.technical-evolution-toolbar,
.technical-evolution-kpi,
.technical-evolution-panel,
.technical-evolution-scope-chip,
.technical-evolution-student-card,
.technical-evolution-ranking__item,
.technical-evolution-history__item,
.technical-evolution-scale,
.technical-evolution-editor__hero,
.technical-evolution-report-summary,
.technical-evolution-sheet,
.technical-evolution-live-summary article {
  background: var(--tech-surface);
  border: 1px solid var(--tech-border);
  box-shadow:
    0 18px 44px rgba(15, 23, 42, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.technical-evolution-subtab,
.technical-evolution-secondary,
.technical-evolution-primary {
  min-height: 48px;
  border-radius: 18px;
}

.technical-evolution-subtab {
  background: rgba(255, 255, 255, 0.58);
  color: #415062;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.16);
}

.technical-evolution-subtab.is-active {
  background: linear-gradient(180deg, rgba(53, 64, 79, 0.92), rgba(28, 37, 48, 0.96));
  color: #f8fafc;
  box-shadow:
    0 18px 34px rgba(15, 23, 42, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.technical-evolution-toolbar {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  padding: 18px;
  border-radius: 26px;
}

.technical-evolution-toolbar label,
.technical-evolution-notes {
  color: #475569;
}

.technical-evolution-toolbar select,
.technical-evolution-toolbar input,
.technical-evolution-notes textarea {
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.78);
  color: var(--tech-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.technical-evolution-toolbar select:focus,
.technical-evolution-toolbar input:focus,
.technical-evolution-notes textarea:focus {
  outline: none;
  border-color: rgba(107, 125, 145, 0.42);
  box-shadow:
    0 0 0 4px rgba(148, 163, 184, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.technical-evolution-scope-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-radius: 24px;
}

.technical-evolution-scope-banner strong {
  display: block;
  font-size: 1.15rem;
}

.technical-evolution-kpis {
  gap: 14px;
}

.technical-evolution-kpi,
.technical-evolution-panel {
  border-radius: 26px;
}

.technical-evolution-kpi {
  padding: 20px;
}

.technical-evolution-kpi span {
  color: #708095;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.technical-evolution-kpi strong {
  font-size: clamp(1.6rem, 3vw, 2rem);
  color: #18212c;
}

.technical-evolution-panel {
  padding: 20px;
}

.technical-evolution-badge,
.technical-evolution-history__chips span,
.technical-evolution-sheet__column-title {
  background: rgba(91, 110, 130, 0.1);
  color: #475569;
}

.technical-evolution-avatar {
  border-radius: 18px;
  background: linear-gradient(180deg, #6d7d90, #485569);
  box-shadow: 0 12px 22px rgba(71, 85, 105, 0.2);
}

.technical-evolution-student-card,
.technical-evolution-ranking__item,
.technical-evolution-history__item {
  border-radius: 22px;
  background: var(--tech-surface-strong);
}

.technical-evolution-student-card.is-active {
  border-color: rgba(95, 113, 133, 0.42);
  box-shadow:
    0 20px 38px rgba(15, 23, 42, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.technical-evolution-student-card__meta,
.technical-evolution-history__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  color: var(--tech-muted);
  font-size: 0.86rem;
}

.technical-evolution-editor,
.technical-evolution-history,
.technical-evolution-student-list {
  gap: 14px;
}

.technical-evolution-editor__hero,
.technical-evolution-report-summary,
.technical-evolution-sheet {
  border-radius: 24px;
}

.technical-evolution-editor__hero {
  padding: 18px;
}

.technical-evolution-editor__identity {
  display: flex;
  align-items: center;
  gap: 14px;
}

.technical-evolution-editor__hero-side {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.technical-evolution-editor__hero-side span,
.technical-evolution-history__grid span {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(148, 163, 184, 0.14);
}

.technical-evolution-editor__hero-side strong,
.technical-evolution-history__grid strong {
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6b7b8e;
}

.technical-evolution-editor__hero-side small,
.technical-evolution-history__grid small {
  color: #233142;
  font-size: 0.92rem;
}

.technical-evolution-sheet {
  display: grid;
  gap: 16px;
  padding: 20px;
}

.technical-evolution-sheet__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 4px;
}

.technical-evolution-sheet__head small {
  color: var(--tech-muted);
}

.technical-evolution-sheet__row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(0, 1.15fr) minmax(0, 1.15fr);
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid rgba(148, 163, 184, 0.14);
}

.technical-evolution-sheet__row:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.technical-evolution-sheet__label {
  display: grid;
  align-content: center;
}

.technical-evolution-sheet__ratings {
  display: grid;
  gap: 8px;
}

.technical-evolution-sheet__column-title {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.technical-evolution-scale,
.technical-evolution-live-summary {
  display: grid;
  gap: 14px;
}

.technical-evolution-scale {
  padding: 18px;
  border-radius: 24px;
}

.technical-evolution-scale__head {
  display: grid;
  gap: 4px;
}

.technical-evolution-scale__grid {
  display: grid;
  gap: 10px;
}

.technical-evolution-scale__item {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(148, 163, 184, 0.14);
}

.technical-evolution-scale__badge {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(47, 56, 68, 0.92), rgba(27, 34, 44, 0.98));
  color: #f8fafc;
  font-size: 1rem;
  font-weight: 800;
}

.technical-evolution-scale__copy {
  display: grid;
  gap: 4px;
}

.technical-evolution-scale__copy p {
  margin: 0;
  color: var(--tech-muted);
}

.technical-evolution-rating-group {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.technical-evolution-rating span {
  min-height: 50px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.68);
  color: #4b5b6e;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.technical-evolution-rating input:checked + span,
.technical-evolution-rating.is-selected span {
  background: linear-gradient(180deg, rgba(58, 69, 84, 0.96), rgba(30, 39, 49, 1));
  box-shadow:
    0 14px 26px rgba(15, 23, 42, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.technical-evolution-live-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.technical-evolution-live-summary article {
  display: grid;
  gap: 6px;
  padding: 16px;
  border-radius: 20px;
}

.technical-evolution-live-summary span {
  color: #6c7b8e;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.technical-evolution-live-summary strong {
  font-size: 1.1rem;
  color: #16202b;
}

.technical-evolution-primary {
  background: linear-gradient(180deg, rgba(46, 55, 67, 0.94), rgba(24, 31, 40, 0.98));
  color: #f8fafc;
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.12);
}

.technical-evolution-secondary {
  background: rgba(255, 255, 255, 0.64);
  color: #2d3b4d;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.16);
}

.technical-evolution-limit-banner,
.technical-evolution-lock-note {
  background: rgba(179, 38, 30, 0.08);
  border: 1px solid rgba(179, 38, 30, 0.16);
  color: var(--tech-danger);
}

.technical-evolution-inline-note {
  background: rgba(91, 110, 130, 0.08);
  border: 1px solid rgba(148, 163, 184, 0.14);
  color: #516173;
}

.technical-evolution-status[data-tone="good"] {
  background: rgba(30, 122, 84, 0.12);
  color: #126146;
}

.technical-evolution-status[data-tone="warn"] {
  background: rgba(179, 38, 30, 0.1);
  color: var(--tech-danger);
}

.technical-evolution-status[data-tone="neutral"] {
  background: rgba(91, 110, 130, 0.12);
  color: #506174;
}

.technical-evolution-status[data-tone="idle"] {
  background: rgba(148, 163, 184, 0.14);
  color: #67768a;
}

.technical-evolution-report-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.technical-evolution-report-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.technical-evolution-report-summary article {
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.48);
  border: 1px solid rgba(148, 163, 184, 0.14);
}

.technical-evolution-report-summary strong {
  font-size: 1.35rem;
}

.technical-evolution-report-table {
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.64);
}

.technical-evolution-report-table table {
  background: transparent;
}

.technical-evolution-report-table th {
  color: #738195;
}

.technical-evolution-empty {
  background: rgba(255, 255, 255, 0.52);
  border: 1px dashed rgba(148, 163, 184, 0.22);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.technical-evolution-subtab:hover,
.technical-evolution-primary:hover,
.technical-evolution-secondary:hover,
.technical-evolution-student-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 20px 34px rgba(15, 23, 42, 0.1);
}

@media (min-width: 980px) {
  .technical-evolution-eval-grid {
    grid-template-columns: minmax(340px, 0.92fr) minmax(0, 1.08fr);
  }

  .technical-evolution-panel--editor {
    position: sticky;
    top: 18px;
  }
}

@media (max-width: 979px) {
  .technical-evolution-scope-banner,
  .technical-evolution-sheet__head,
  .technical-evolution-panel__head,
  .technical-evolution-editor__footer {
    flex-direction: column;
    align-items: stretch;
  }

  .technical-evolution-editor__hero-side,
  .technical-evolution-live-summary,
  .technical-evolution-report-summary,
  .technical-evolution-history__grid,
  .technical-evolution-student-card__meta {
    grid-template-columns: 1fr;
  }

  .technical-evolution-sheet__row {
    grid-template-columns: 1fr;
  }
}

@media (prefers-color-scheme: dark) {
  .technical-evolution-shell {
    --tech-surface: rgba(20, 27, 36, 0.72);
    --tech-surface-strong: rgba(17, 24, 34, 0.84);
    --tech-border: rgba(148, 163, 184, 0.18);
    --tech-text: #edf2f7;
    --tech-muted: #9ba8b8;
  }

  .technical-evolution-hero {
    background:
      radial-gradient(circle at top right, rgba(95, 109, 126, 0.25), transparent 34%),
      radial-gradient(circle at bottom left, rgba(48, 59, 73, 0.4), transparent 32%),
      linear-gradient(180deg, rgba(24, 31, 40, 0.82), rgba(16, 22, 30, 0.86));
    border-color: rgba(255, 255, 255, 0.08);
  }

  .technical-evolution-toolbar select,
  .technical-evolution-toolbar input,
  .technical-evolution-notes textarea,
  .technical-evolution-rating span,
  .technical-evolution-editor__hero-side span,
  .technical-evolution-history__grid span,
  .technical-evolution-scale__item,
  .technical-evolution-report-summary article {
    background: rgba(15, 23, 42, 0.46);
    color: var(--tech-text);
  }
}

.student-central-stat-card,
#tab-visitantes .visitor-metric-card {
  position: relative;
  display: grid;
  gap: 6px;
  min-height: 122px;
  padding: 16px 18px;
  border-radius: 22px;
  border: 1px solid rgba(165, 183, 202, 0.18);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045);
  overflow: hidden;
}

#tab-visitantes .visitor-metric-card--highlight {
  background: rgba(255, 255, 255, 0.98);
}

#tab-visitantes .visitor-metric-card--today {
  border-color: rgba(153, 177, 205, 0.3);
}

#tab-visitantes .visitor-metric-card--warning {
  border-color: rgba(206, 184, 138, 0.32);
}

#tab-visitantes .visitor-metric-card--danger {
  border-color: rgba(206, 165, 174, 0.3);
}

#tab-visitantes .visitor-metric-card--base {
  border-color: rgba(162, 185, 174, 0.3);
}

.student-central-stat-card::before,
#tab-visitantes .visitor-metric-card__accent {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 2px;
  border-radius: 999px 999px 0 0;
  background: rgba(197, 210, 226, 0.48);
  opacity: 1;
}

.student-central-stat-card::before {
  content: "";
}

#tab-visitantes .visitor-metric-card--today .visitor-metric-card__accent {
  background: rgba(157, 184, 214, 0.55);
}

#tab-visitantes .visitor-metric-card--warning .visitor-metric-card__accent {
  background: rgba(211, 188, 145, 0.55);
}

#tab-visitantes .visitor-metric-card--danger .visitor-metric-card__accent {
  background: rgba(210, 169, 178, 0.55);
}

#tab-visitantes .visitor-metric-card--base .visitor-metric-card__accent {
  background: rgba(169, 192, 180, 0.55);
}

.student-central-stat-card span:first-child,
#tab-visitantes .visitor-metric-card__label {
  color: #687b90;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.student-central-stat-card strong,
#tab-visitantes .visitor-metric-card__value {
  color: #10243c;
  font-size: clamp(1.35rem, 1.8vw, 1.9rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.student-central-stat-card small,
#tab-visitantes .visitor-metric-card__meta {
  color: #66778d;
  font-size: 0.78rem;
  line-height: 1.45;
  max-width: 26ch;
}

#tab-visitantes .visitor-form {
  position: relative;
  gap: 16px;
  padding: 22px;
  border-radius: 24px;
  border: 1px solid rgba(179, 193, 210, 0.24);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.97));
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.045);
}

#tab-visitantes .visitor-form label {
  gap: 9px;
  color: #5a6d82;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

#tab-visitantes .visitor-form input,
#tab-visitantes .visitor-form select,
#tab-visitantes .visitor-form textarea {
  min-height: 48px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(171, 187, 206, 0.28);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 252, 0.96));
  font-size: 0.92rem;
  color: #16304e;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

#tab-visitantes .visitor-form input:focus,
#tab-visitantes .visitor-form select:focus,
#tab-visitantes .visitor-form textarea:focus {
  border-color: rgba(135, 89, 117, 0.34);
  box-shadow: 0 0 0 4px rgba(167, 108, 139, 0.08), 0 10px 24px rgba(15, 23, 42, 0.06);
}

#tab-visitantes .visitor-form__actions {
  grid-column: 1 / -1;
  margin-top: 0;
  justify-content: flex-end;
  align-items: stretch;
}

#tab-visitantes .visitor-form__actions .primary {
  min-width: 190px;
  min-height: 48px;
  padding-inline: 20px;
  align-self: end;
}

#tab-visitantes .visitor-list-shell {
  display: grid;
}

#tab-visitantes .visitor-history-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
}

#tab-visitantes .visitor-history-list__item,
#tab-visitantes .visitor-history-list li {
  list-style: none;
  margin: 0;
}

#tab-visitantes .visitor-card {
  display: grid;
  gap: 16px;
  padding: 20px;
  border-radius: 24px;
  border: 1px solid rgba(176, 191, 210, 0.24);
  background: rgba(255, 255, 255, 0.985);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

#tab-visitantes .visitor-card--success {
  border-color: rgba(170, 188, 211, 0.28);
  box-shadow: inset 4px 0 0 rgba(178, 195, 217, 0.34), 0 14px 30px rgba(15, 23, 42, 0.05);
}

#tab-visitantes .visitor-card--warning {
  border-color: rgba(208, 185, 143, 0.3);
  box-shadow: inset 4px 0 0 rgba(214, 193, 155, 0.38), 0 14px 30px rgba(15, 23, 42, 0.05);
}

#tab-visitantes .visitor-card--danger {
  border-color: rgba(208, 169, 178, 0.3);
  box-shadow: inset 4px 0 0 rgba(214, 178, 187, 0.38), 0 14px 30px rgba(15, 23, 42, 0.05);
}

#tab-visitantes .visitor-card--converted {
  border-color: rgba(155, 185, 167, 0.3);
  box-shadow: inset 4px 0 0 rgba(168, 196, 180, 0.4), 0 14px 30px rgba(15, 23, 42, 0.05);
}

#tab-visitantes .visitor-card__header,
#tab-visitantes .visitor-card__identity,
#tab-visitantes .visitor-card__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

#tab-visitantes .visitor-card__identity {
  justify-content: flex-start;
}

#tab-visitantes .visitor-card__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(145, 167, 194, 0.24);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(239, 244, 248, 0.98));
  color: #264763;
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

#tab-visitantes .visitor-card__identity-copy {
  display: grid;
  gap: 5px;
}

#tab-visitantes .visitor-card__name {
  color: #11243d;
  font-size: 1.02rem;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

#tab-visitantes .visitor-card__meta-line,
#tab-visitantes .visitor-card__history {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

#tab-visitantes .visitor-card__meta-pill,
#tab-visitantes .visitor-history-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(157, 176, 199, 0.22);
  background: rgba(250, 251, 252, 0.96);
  color: #5b6f84;
  font-size: 0.74rem;
  font-weight: 700;
}

#tab-visitantes .visitor-history-chip strong {
  color: #11243d;
  font-size: 0.69rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

#tab-visitantes .visitor-history-chip--empty {
  color: #7a8795;
  background: rgba(246, 248, 251, 0.8);
}

#tab-visitantes .visitor-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(169, 183, 201, 0.26);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.25;
  white-space: normal;
  text-align: center;
}

#tab-visitantes .visitor-status-badge--success {
  background: rgba(246, 249, 252, 0.96);
  color: #49657f;
  border-color: rgba(167, 186, 210, 0.3);
}

#tab-visitantes .visitor-status-badge--warning {
  background: rgba(252, 248, 240, 0.96);
  color: #806540;
  border-color: rgba(210, 188, 149, 0.3);
}

#tab-visitantes .visitor-status-badge--danger {
  background: rgba(252, 245, 247, 0.96);
  color: #835966;
  border-color: rgba(210, 174, 183, 0.3);
}

#tab-visitantes .visitor-status-badge--converted {
  background: rgba(244, 250, 246, 0.96);
  color: #4a6f5c;
  border-color: rgba(167, 194, 178, 0.3);
}

#tab-visitantes .visitor-card__body {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

#tab-visitantes .visitor-card__panel {
  display: grid;
  gap: 10px;
  min-height: 100%;
  padding: 15px 16px;
  border-radius: 18px;
  border: 1px solid rgba(170, 185, 205, 0.18);
  background: rgba(250, 251, 252, 0.9);
}

#tab-visitantes .visitor-card__section-title {
  color: #6d7e91;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

#tab-visitantes .visitor-card__facts {
  display: grid;
  gap: 10px;
}

#tab-visitantes .visitor-card__fact {
  display: grid;
  gap: 3px;
}

#tab-visitantes .visitor-card__fact-label {
  color: #7a8898;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

#tab-visitantes .visitor-card__fact strong,
#tab-visitantes .visitor-card__journey-count {
  color: #11243d;
  font-size: 0.92rem;
  letter-spacing: -0.03em;
}

#tab-visitantes .visitor-card__journey-top {
  display: grid;
  gap: 3px;
}

#tab-visitantes .visitor-card__journey-helper,
#tab-visitantes .visitor-card__journey-note,
#tab-visitantes .visitor-card__notes {
  color: #64758b;
  font-size: 0.8rem;
  line-height: 1.45;
}

#tab-visitantes .visitor-card__journey-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

#tab-visitantes .visitor-visit-dot {
  position: relative;
  display: block;
  overflow: hidden;
  height: 12px;
  border-radius: 999px;
  background: rgba(219, 225, 233, 0.82);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.78);
}

#tab-visitantes .visitor-visit-dot__shine {
  position: absolute;
  inset: 1px 20% auto 20%;
  height: 3px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.5);
}

#tab-visitantes .visitor-visit-dot.is-complete {
  background: linear-gradient(135deg, rgba(63, 123, 188, 0.96), rgba(53, 164, 172, 0.96));
}

#tab-visitantes .visitor-visit-dot.is-limit {
  background: linear-gradient(135deg, rgba(202, 123, 142, 0.96), rgba(215, 103, 123, 0.96));
}

#tab-visitantes .visitor-card__alert {
  padding: 13px 15px;
  border-radius: 16px;
  border: 1px solid rgba(204, 151, 165, 0.22);
  background: rgba(251, 245, 247, 0.96);
  color: #8f4e60;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.4;
}

#tab-visitantes .visitor-card__actions {
  justify-content: flex-start;
  padding-top: 0;
  gap: 10px;
}

#tab-visitantes .visitor-action-btn {
  min-height: 40px;
  padding: 0 15px;
  border-radius: 14px;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

#tab-visitantes .visitor-action-btn--primary {
  box-shadow: 0 12px 24px rgba(143, 20, 34, 0.14);
}

#tab-visitantes .visitor-action-btn--soft,
#tab-visitantes .visitor-action-btn--ghost {
  border-color: rgba(149, 169, 193, 0.22);
  background: rgba(255, 255, 255, 0.96);
  color: #294666;
}

#tab-visitantes .visitor-card:hover {
  transform: translateY(-2px);
  border-color: rgba(135, 152, 176, 0.34);
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.065);
}

#tab-visitantes .visitor-action-btn:hover:not([disabled]) {
  transform: translateY(-1px);
}

#tab-visitantes .visitor-action-btn--primary:hover:not([disabled]) {
  box-shadow: 0 14px 24px rgba(143, 20, 34, 0.18);
}

#tab-visitantes .visitor-action-btn--soft:hover:not([disabled]),
#tab-visitantes .visitor-action-btn--ghost:hover:not([disabled]) {
  border-color: rgba(120, 147, 179, 0.3);
  background: rgba(255, 255, 255, 0.99);
  box-shadow: 0 8px 16px rgba(15, 23, 42, 0.045);
}

#tab-visitantes .visitor-action-btn[disabled] {
  opacity: 0.52;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

#tab-visitantes .visitor-history-list .empty {
  padding: 18px;
  border-radius: 16px;
  border: 1px dashed rgba(129, 155, 184, 0.28);
  background: rgba(248, 250, 252, 0.9);
  color: #64758b;
  text-align: center;
  list-style: none;
}

@media (max-width: 1120px) {
  #tab-visitantes .visitor-metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #tab-visitantes .visitor-card__body {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  #tab-visitantes > .panel:first-child,
  #tab-visitantes .visitor-form,
  #tab-visitantes .visitor-card {
    padding: 16px;
  }

  #tab-visitantes .visitor-metrics-grid,
  #tab-visitantes .visitor-card__body,
  #tab-visitantes .visitor-form.grid-form.three {
    grid-template-columns: 1fr;
  }

  #tab-visitantes .visitor-metric-card__meta {
    max-width: none;
  }

  #tab-visitantes .visitor-form__actions {
    justify-content: stretch;
  }

  #tab-visitantes .visitor-form__actions .primary,
  #tab-visitantes .visitor-card__actions > * {
    width: 100%;
  }

  #tab-visitantes .visitor-card__header {
    align-items: flex-start;
  }

  #tab-visitantes .visitor-status-badge {
    align-self: flex-start;
  }

  #tab-visitantes .visitor-card__avatar {
    width: 42px;
    height: 42px;
  }
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-shell {
  display: grid;
  gap: 18px;
  padding: 20px;
  border-radius: 28px;
  border: 1px solid rgba(202, 214, 228, 0.88);
  background:
    radial-gradient(circle at top right, rgba(35, 88, 174, 0.16), transparent 28%),
    linear-gradient(180deg, rgba(251, 253, 255, 0.98) 0%, rgba(244, 248, 252, 0.98) 100%);
  box-shadow: 0 24px 54px rgba(15, 23, 42, 0.08);
}

/* =========================
   CENTRAL DO ALUNO
   ========================= */

#tab-central-aluno {
  display: grid;
  gap: 18px;
}

.student-central-hero,
.student-central-summary-panel,
.student-central-list-panel {
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.student-central-hero {
  background:
    radial-gradient(circle at top right, rgba(190, 24, 93, 0.08), transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
}

.student-central-hero__head,
.student-central-panel-head {
  align-items: flex-start;
  gap: 12px;
}

.student-central-search-grid {
  display: grid;
  grid-template-columns: minmax(0, 2.1fr) repeat(4, minmax(150px, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.student-central-search-grid label {
  display: grid;
  gap: 8px;
  font-size: 0.9rem;
  color: #475569;
}

.student-central-search-grid input,
.student-central-search-grid select,
.student-central-form input,
.student-central-form select,
.student-central-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.94);
  color: #0f172a;
  padding: 12px 14px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.student-central-search-grid input:focus,
.student-central-search-grid select:focus,
.student-central-form input:focus,
.student-central-form select:focus,
.student-central-form textarea:focus {
  outline: none;
  border-color: rgba(15, 23, 42, 0.22);
  box-shadow: 0 0 0 4px rgba(15, 23, 42, 0.06);
}

.student-central-search--wide {
  grid-column: span 2;
}

.student-central-stats {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.student-central-stat-card--base {
  background: rgba(245, 249, 253, 0.98);
  border-color: rgba(159, 180, 204, 0.3);
}

.student-central-stat-card--base::before {
  background: rgba(157, 184, 214, 0.55);
}

.student-central-stat-card--success {
  background: rgba(244, 250, 246, 0.98);
  border-color: rgba(158, 193, 171, 0.3);
}

.student-central-stat-card--success::before {
  background: rgba(130, 177, 145, 0.55);
}

.student-central-stat-card--attention {
  background: rgba(252, 245, 247, 0.98);
  border-color: rgba(208, 175, 183, 0.3);
}

.student-central-stat-card--attention::before {
  background: rgba(210, 169, 178, 0.55);
}

.student-central-stat-card--documents {
  background: rgba(252, 249, 241, 0.98);
  border-color: rgba(212, 195, 156, 0.3);
}

.student-central-stat-card--documents::before {
  background: rgba(211, 188, 145, 0.55);
}

.student-central-stat-card--recurring {
  background: rgba(248, 246, 252, 0.98);
  border-color: rgba(184, 173, 203, 0.3);
}

.student-central-stat-card--recurring::before {
  background: rgba(178, 163, 202, 0.55);
}

.student-central-stat-card--uniforms {
  background: rgba(252, 247, 241, 0.98);
  border-color: rgba(211, 188, 160, 0.3);
}

.student-central-stat-card--uniforms::before {
  background: rgba(205, 179, 138, 0.55);
}

.student-central-stat-card--interactive {
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.student-central-stat-card--interactive:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.06);
  border-color: rgba(129, 153, 184, 0.26);
}

.student-central-stat-card--interactive.is-active {
  transform: translateY(-1px);
  border-color: rgba(129, 153, 184, 0.3);
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.07);
}

.student-central-stats__actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
}

.student-central-active-filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: linear-gradient(180deg, rgba(244, 248, 252, 0.9), rgba(255, 255, 255, 0.96));
}

.student-central-active-filter__copy {
  display: grid;
  gap: 4px;
}

.student-central-active-filter__copy strong {
  color: #0f172a;
}

.student-central-active-filter__copy span {
  color: #64748b;
  font-size: 0.86rem;
}

.student-central-list {
  display: grid;
  gap: 14px;
}

.student-central-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.98));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.student-central-card__main,
.student-central-card__grid,
.student-central-card__actions {
  min-width: 0;
}

.student-central-card__header {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 14px;
}

.student-central-card__header h3 {
  margin: 0 0 4px;
  color: #0f172a;
  font-size: 1.05rem;
}

.student-central-card__header p {
  margin: 0;
  color: #64748b;
}

.student-central-card__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.student-central-card__grid span,
.student-central-sheet__facts span,
.student-central-sheet__metrics span {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: #334155;
  font-size: 0.94rem;
}

.student-central-card__grid span b,
.student-central-sheet__facts span b,
.student-central-sheet__metrics span b {
  color: #94a3b8;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.student-central-card__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.student-central-whatsapp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border-color: rgba(22, 163, 74, 0.2);
  background: linear-gradient(180deg, rgba(34, 197, 94, 0.12), rgba(22, 163, 74, 0.08));
  color: #166534;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
  white-space: nowrap;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease;
}

.student-central-whatsapp-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(22, 163, 74, 0.28);
  background: linear-gradient(180deg, rgba(34, 197, 94, 0.16), rgba(22, 163, 74, 0.12));
  box-shadow: 0 10px 18px rgba(22, 163, 74, 0.12);
}

.student-central-whatsapp-btn__icon {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.student-central-whatsapp-btn__icon svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor;
}

.student-central-whatsapp-btn__label {
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1;
}

.student-central-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.student-central-pill--ok {
  background: rgba(22, 163, 74, 0.12);
  color: #166534;
}

.student-central-pill--warn {
  background: rgba(245, 158, 11, 0.14);
  color: #92400e;
}

.student-central-pill--danger {
  background: rgba(239, 68, 68, 0.12);
  color: #991b1b;
}

.student-central-pill--info {
  background: rgba(59, 130, 246, 0.12);
  color: #1d4ed8;
}

.student-central-pill--muted {
  background: rgba(148, 163, 184, 0.16);
  color: #475569;
}

.student-central-empty {
  display: grid;
  gap: 8px;
  padding: 28px;
  border-radius: 18px;
  text-align: center;
  background: rgba(248, 250, 252, 0.9);
  color: #475569;
  border: 1px dashed rgba(148, 163, 184, 0.35);
}

.student-central-empty strong {
  color: #0f172a;
  font-size: 1rem;
}

.student-central-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 23, 42, 0.5);
  backdrop-filter: blur(8px);
}

.student-central-modal.hidden {
  display: none;
}

.student-central-modal__dialog {
  width: min(1080px, 100%);
  max-height: min(92vh, 980px);
  overflow: auto;
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.995), rgba(248, 250, 252, 0.985));
  box-shadow: 0 30px 80px rgba(15, 23, 42, 0.24);
}

.student-central-modal__head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 24px 20px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.95));
  backdrop-filter: blur(10px);
}

.student-central-modal__head h3,
.student-central-form__section-head h5,
.student-central-sheet__card h5,
.student-central-sheet__hero h4 {
  margin: 0;
  color: #0f172a;
}

.student-central-modal__head p,
.student-central-modal__eyebrow,
.student-central-form__section-head p,
.student-central-sheet__hero p {
  margin: 6px 0 0;
  color: #64748b;
}

.student-central-modal__head h3 {
  font-size: clamp(1.35rem, 2.2vw, 1.65rem);
}

.student-central-modal__eyebrow {
  display: inline-block;
  margin: 0 0 8px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.student-central-modal__body {
  padding: 26px 24px 118px;
}

.student-central-form {
  display: grid;
  gap: 20px;
}

.student-central-sheet,
.student-central-form__section {
  display: grid;
  gap: 16px;
  padding: 22px;
  border-radius: 22px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: rgba(255, 255, 255, 0.9);
}

.student-central-sheet__hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.student-central-sheet__metrics {
  display: grid;
  gap: 10px;
  min-width: min(280px, 100%);
}

.student-central-sheet__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.student-central-sheet__card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(248, 250, 252, 0.88);
  border: 1px solid rgba(148, 163, 184, 0.14);
}

.student-central-sheet__facts {
  display: grid;
  gap: 10px;
}

.student-central-form__section-head {
  display: grid;
  gap: 6px;
  align-items: start;
}

.student-central-form__section-head h5 {
  font-size: 1rem;
}

.student-central-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.student-central-form__grid--uniforms {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.student-central-form label,
.student-central-form__notes {
  display: grid;
  gap: 8px;
  color: #475569;
  font-size: 0.92rem;
}

.student-central-form select,
.student-central-form input,
.student-central-form textarea {
  width: 100%;
  min-width: 0;
}

.student-central-form textarea {
  resize: vertical;
  min-height: 120px;
}

.student-central-form__footer {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0 0;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0), rgba(248, 250, 252, 0.97) 38%);
  backdrop-filter: blur(8px);
}

.student-central-form__footer .report-status {
  margin: 0;
}

.student-central-form__footer .primary {
  flex: 0 0 auto;
  min-width: 220px;
}

@media (max-width: 1180px) {
  .student-central-search-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-central-search--wide {
    grid-column: 1 / -1;
  }

  .student-central-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .student-central-card__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .student-central-stats,
  .student-central-card__grid,
  .student-central-sheet__grid,
  .student-central-form__grid,
  .student-central-form__grid--uniforms {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-central-active-filter {
    align-items: stretch;
    flex-direction: column;
  }

  .student-central-card,
  .student-central-sheet__hero,
  .student-central-form__footer,
  .student-central-modal__head {
    grid-template-columns: minmax(0, 1fr);
    display: grid;
  }

  .student-central-card__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  #tab-central-aluno {
    gap: 14px;
  }

  .student-central-search-grid,
  .student-central-stats,
  .student-central-card__grid,
  .student-central-sheet__grid,
  .student-central-form__grid,
  .student-central-form__grid--uniforms {
    grid-template-columns: minmax(0, 1fr);
  }

  .student-central-card,
  .student-central-sheet,
  .student-central-form__section,
  .student-central-modal__body {
    padding: 16px;
  }

  .student-central-modal__body {
    padding-bottom: 110px;
  }

  .student-central-modal {
    padding: 10px;
  }

  .student-central-modal__dialog {
    max-height: 94vh;
    border-radius: 22px;
  }

  .student-central-form__footer .primary,
  .student-central-card__actions .ghost,
  .student-central-modal__head .ghost {
    width: 100%;
  }

  .student-central-stats__actions {
    justify-content: stretch;
  }

  .student-central-stats__actions .ghost {
    width: 100%;
  }
}

.student-central-group {
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.98));
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
  overflow: hidden;
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.student-central-group__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  cursor: pointer;
  list-style: none;
  transition: background 180ms ease, color 180ms ease;
}

.student-central-group__summary::-webkit-details-marker {
  display: none;
}

.student-central-group__summary:hover {
  background: rgba(248, 250, 252, 0.88);
}

.student-central-group[open] {
  border-color: rgba(15, 23, 42, 0.18);
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.08);
}

.student-central-group[open] .student-central-group__summary {
  background: linear-gradient(180deg, rgba(244, 248, 252, 0.9), rgba(255, 255, 255, 0.98));
}

.student-central-group__summary-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.student-central-group__summary-copy strong {
  color: #0f172a;
  font-size: 1rem;
}

.student-central-group__summary-copy span {
  color: #64748b;
  font-size: 0.82rem;
}

.student-central-group__chevron {
  width: 12px;
  height: 12px;
  border-right: 2px solid #64748b;
  border-bottom: 2px solid #64748b;
  transform: rotate(45deg);
  transition: transform 180ms ease;
  flex: 0 0 auto;
  margin-right: 4px;
}

.student-central-group[open] .student-central-group__chevron {
  transform: rotate(225deg);
}

.student-central-group__body {
  display: grid;
  gap: 10px;
  padding: 0 16px 16px;
  border-top: 1px solid rgba(148, 163, 184, 0.12);
  animation: studentCentralAccordionIn 180ms ease;
}

.student-central-card--compact {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.student-central-card--compact:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(15, 23, 42, 0.08);
  background: rgba(255, 255, 255, 0.98);
}

.student-central-card--compact .student-central-card__header {
  margin-bottom: 8px;
}

.student-central-card--compact .student-central-card__header h3 {
  font-size: 0.98rem;
}

.student-central-card--compact .student-central-card__grid--compact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.student-central-uniform-status em {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  width: fit-content;
  max-width: 100%;
  padding: 0 12px;
  border-radius: 999px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.25;
  white-space: normal;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.student-central-uniform-status--complete em {
  background: rgba(22, 163, 74, 0.12);
  color: #166534;
}

.student-central-uniform-status--pending em {
  background: rgba(185, 28, 28, 0.1);
  color: #991b1b;
}

.student-central-form__grid--status {
  grid-template-columns: minmax(0, 1fr);
  max-width: 340px;
}

@keyframes studentCentralAccordionIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 920px) {
  .student-central-card--compact .student-central-card__grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .student-central-group__summary,
  .student-central-group__body {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 640px) {
  .student-central-group__summary {
    padding: 16px;
  }

  .student-central-group__summary-copy strong,
  .student-central-card--compact .student-central-card__header h3 {
    font-size: 0.94rem;
  }

  .student-central-group__body,
  .student-central-card--compact .student-central-card__grid--compact {
    grid-template-columns: minmax(0, 1fr);
  }

  .student-central-card--compact {
    grid-template-columns: minmax(0, 1fr);
  }

  .student-central-modal__dialog {
    width: 100%;
    height: min(100vh - 12px, 100%);
    max-height: min(100vh - 12px, 100%);
  }

  .student-central-modal__head {
    padding: 18px 16px 14px;
  }

  .student-central-whatsapp-btn,
  .student-central-card__actions .ghost {
    min-height: 42px;
  }

  .student-central-active-filter .ghost {
    width: 100%;
  }
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-hero {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: flex-start;
  padding: 24px 26px;
  border-radius: 24px;
  border: 1px solid rgba(207, 219, 234, 0.96);
  background:
    linear-gradient(135deg, rgba(15, 35, 72, 0.98) 0%, rgba(23, 67, 132, 0.94) 58%, rgba(63, 136, 216, 0.88) 100%);
  box-shadow: 0 26px 52px rgba(14, 28, 53, 0.18);
  color: #f4f8ff;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-hero__copy {
  display: grid;
  gap: 8px;
  max-width: 760px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-hero__kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: rgba(239, 246, 255, 0.92);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-hero h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.55rem, 2vw, 2.2rem);
  line-height: 1.1;
  letter-spacing: -0.04em;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-hero p {
  margin: 0;
  color: rgba(228, 237, 249, 0.9);
  max-width: 64ch;
  line-height: 1.6;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-hero__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  max-width: 340px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-hero__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  min-height: 40px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.12);
  color: #f6f9ff;
  font-size: 0.84rem;
  font-weight: 700;
  text-align: center;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar-shell {
  display: grid;
  gap: 16px;
  padding: 20px 22px;
  border-radius: 24px;
  border: 1px solid rgba(208, 218, 231, 0.96);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 249, 252, 0.98) 100%);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar-head > div {
  display: grid;
  gap: 5px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar-head strong {
  color: #162944;
  font-size: 1rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar-head__eyebrow {
  color: #6a7c93;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar-head__hint {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(233, 240, 248, 0.92);
  color: #577089;
  font-size: 0.78rem;
  font-weight: 700;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: end;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar label {
  display: grid;
  gap: 7px;
  color: #617287;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar input,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar select {
  min-height: 46px;
  padding: 11px 13px;
  border-radius: 14px;
  border: 1px solid rgba(202, 214, 228, 0.96);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(246, 249, 252, 0.98) 100%);
  color: #162944;
  font-size: 0.92rem;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease, background 180ms ease;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar input:hover,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar select:hover {
  border-color: rgba(162, 182, 206, 0.98);
  background: linear-gradient(180deg, #ffffff 0%, #f4f8fc 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar input:focus,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar select:focus {
  outline: none;
  border-color: rgba(94, 128, 181, 0.98);
  box-shadow: 0 0 0 4px rgba(49, 97, 174, 0.08);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card {
  position: relative;
  display: grid;
  gap: 8px;
  padding: 16px 16px 15px;
  text-align: left;
  border-radius: 20px;
  border: 1px solid rgba(214, 222, 234, 0.96);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(247, 250, 253, 0.98) 100%);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card:hover,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card.is-active {
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(15, 23, 42, 0.08);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card.is-static {
  cursor: default;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--present {
  background: linear-gradient(180deg, rgba(244, 252, 247, 0.98) 0%, rgba(236, 248, 241, 0.98) 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--absent {
  background: linear-gradient(180deg, rgba(255, 247, 248, 0.98) 0%, rgba(253, 240, 243, 0.98) 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--justified {
  background: linear-gradient(180deg, rgba(246, 249, 255, 0.99) 0%, rgba(238, 243, 255, 0.99) 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--neutral {
  background: linear-gradient(180deg, rgba(249, 251, 253, 0.98) 0%, rgba(243, 247, 251, 0.98) 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--executive {
  background: linear-gradient(135deg, rgba(19, 43, 88, 0.96) 0%, rgba(27, 75, 148, 0.95) 100%);
  border-color: rgba(42, 98, 183, 0.45);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--focus {
  background: linear-gradient(180deg, rgba(240, 247, 255, 0.98) 0%, rgba(229, 239, 252, 0.98) 100%);
  border-color: rgba(111, 145, 199, 0.26);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--present:hover,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--present.is-active { border-color: rgba(65, 159, 108, 0.34); }
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--absent:hover,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--absent.is-active { border-color: rgba(201, 88, 111, 0.3); }
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--justified:hover,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--justified.is-active { border-color: rgba(88, 123, 208, 0.32); }
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--neutral:hover,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--neutral.is-active { border-color: rgba(140, 151, 170, 0.35); }
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--executive:hover,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--executive.is-active { border-color: rgba(103, 157, 241, 0.48); }
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--focus:hover,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--focus.is-active { border-color: rgba(209, 169, 53, 0.4); }

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card__topline {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  min-height: 38px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card__topline:empty {
  display: none;
  min-height: 0;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card__icon {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.62);
  color: #21407d;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--executive .attendance-admin-card__icon {
  background: rgba(255, 255, 255, 0.16);
  color: #eef4ff;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(232, 239, 247, 0.84);
  color: #50657c;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--executive .attendance-admin-card__badge {
  background: rgba(255, 255, 255, 0.14);
  color: rgba(240, 245, 255, 0.92);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card__label {
  color: #66768d;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card__value {
  color: #162944;
  font-size: 2.05rem;
  line-height: 0.95;
  letter-spacing: -0.04em;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--executive .attendance-admin-card__label,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--executive .attendance-admin-card__value,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card--executive .attendance-admin-card__detail {
  color: #ffffff;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-card__detail {
  color: #66768d;
  font-size: 0.78rem;
  line-height: 1.35;
  opacity: 0.9;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-badge {
  background: rgba(232, 239, 247, 0.98);
  color: #516274;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-status-hint {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
  border-radius: 18px;
  border: 1px solid rgba(211, 221, 233, 0.96);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(247, 250, 253, 0.98) 100%);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-status-hint.hidden {
  display: none;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-status-hint__main {
  display: grid;
  gap: 4px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-status-hint__main strong {
  color: #162944;
  font-size: 0.92rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-status-hint__main span {
  color: #617287;
  font-size: 0.84rem;
  line-height: 1.45;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-status-hint__filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(33, 80, 141, 0.08);
  color: #274f82;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-records {
  display: grid;
  gap: 14px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-board {
  display: grid;
  gap: 16px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel {
  border: 1px solid rgba(208, 218, 231, 0.96);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 249, 252, 0.98) 100%);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel__head {
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  cursor: pointer;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel__head::-webkit-details-marker {
  display: none;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel__head > div,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel__summary {
  display: grid;
  gap: 4px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel__head strong {
  color: #162944;
  font-size: 1rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel__head span {
  color: #66768d;
  font-size: 0.82rem;
  line-height: 1.45;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel__summary {
  justify-items: end;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(233, 241, 249, 0.96);
  color: #456b91;
  font-size: 0.75rem;
  font-weight: 800;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel__body {
  display: grid;
  gap: 16px;
  padding: 0 20px 20px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 16px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-schedule-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(210, 220, 232, 0.96);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(245, 248, 252, 0.98) 100%);
  box-shadow: 0 14px 24px rgba(15, 23, 42, 0.05);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-schedule-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 34px rgba(15, 23, 42, 0.08);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-schedule-card--done {
  border-color: rgba(101, 168, 130, 0.26);
  background: linear-gradient(180deg, rgba(244, 251, 247, 0.99) 0%, rgba(235, 246, 239, 0.98) 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-schedule-card--partial {
  border-color: rgba(110, 142, 199, 0.28);
  background: linear-gradient(180deg, rgba(243, 248, 255, 0.99) 0%, rgba(233, 240, 252, 0.98) 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-schedule-card--attention {
  border-color: rgba(224, 166, 94, 0.3);
  background: linear-gradient(180deg, rgba(255, 249, 241, 0.99) 0%, rgba(251, 240, 225, 0.98) 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-schedule-card--empty {
  border-color: rgba(205, 216, 228, 0.96);
  background: linear-gradient(180deg, rgba(250, 252, 254, 0.99) 0%, rgba(242, 246, 250, 0.98) 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-schedule-card__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-schedule-card__head strong {
  color: #162944;
  font-size: 0.94rem;
  line-height: 1.35;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-schedule-card__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: #4e657d;
  font-size: 0.72rem;
  font-weight: 800;
  text-align: center;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-schedule-card__metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-schedule-card__metrics span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 11px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.82);
  color: #50657c;
  font-size: 0.78rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-schedule-card__metrics b {
  color: #162944;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-schedule-card__meta {
  display: grid;
  gap: 6px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-schedule-card__meta span,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel__empty {
  color: #66768d;
  font-size: 0.8rem;
  line-height: 1.5;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel__empty {
  padding: 0 20px 20px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-empty {
  display: grid;
  gap: 8px;
  padding: 26px 24px;
  border-radius: 24px;
  border: 1px dashed rgba(175, 190, 210, 0.9);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(247, 250, 253, 0.98) 100%);
  text-align: center;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-empty__eyebrow {
  color: #70839b;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-empty strong {
  color: #162944;
  font-size: 1.04rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-empty p {
  margin: 0;
  color: #66768d;
  line-height: 1.55;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group {
  border: 1px solid rgba(208, 218, 231, 0.96);
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__head {
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 18px 20px;
  cursor: pointer;
  transition: background 180ms ease, transform 180ms ease;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__head::-webkit-details-marker {
  display: none;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__head:hover {
  background: rgba(244, 248, 252, 0.88);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__head-main {
  min-width: 0;
  display: grid;
  gap: 4px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__head strong {
  color: #162944;
  font-size: 1rem;
  line-height: 1.3;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__head span {
  color: #66768d;
  font-size: 0.84rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__head-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(239, 244, 250, 0.96);
  color: #52657a;
  font-size: 0.76rem;
  font-weight: 700;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__overview {
  display: grid;
  gap: 16px;
  padding: 18px 20px 0;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__stats,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__insights {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-mini,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-timeline-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 14px;
  font-size: 0.8rem;
  line-height: 1.3;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-mini b,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-timeline-pill b {
  color: inherit;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-mini--present {
  background: rgba(225, 244, 233, 0.94);
  color: #1f7a54;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-mini--absent {
  background: rgba(252, 227, 232, 0.94);
  color: #a1283f;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-mini--justified {
  background: rgba(230, 236, 255, 0.96);
  color: #3553b0;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-mini--neutral {
  background: rgba(236, 240, 246, 0.96);
  color: #5f6f84;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-mini--outline {
  background: rgba(255, 248, 231, 0.92);
  color: #8b5c00;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-timeline-pill {
  border: 1px solid rgba(220, 228, 238, 0.94);
  background: rgba(249, 251, 253, 0.98);
  color: #5f7188;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__chevron {
  width: 12px;
  height: 12px;
  border-right: 2px solid #7890ad;
  border-bottom: 2px solid #7890ad;
  transform: rotate(45deg);
  transition: transform 180ms ease;
  margin-top: -4px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group[open] .attendance-admin-group__chevron {
  transform: rotate(225deg);
  margin-top: 2px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 220ms ease;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group[open] .attendance-admin-group__body {
  grid-template-rows: 1fr;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-table-wrap {
  min-height: 0;
  overflow: auto;
  margin-top: 18px;
  border-top: 1px solid rgba(225, 232, 241, 0.9);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-table th,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-table td {
  padding: 12px 16px;
  border-bottom: 1px solid rgba(232, 237, 244, 0.95);
  text-align: left;
  vertical-align: middle;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-table th {
  color: #5d6d82;
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(248, 250, 253, 0.94);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-table tbody tr:hover td {
  background: rgba(15, 102, 173, 0.035);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-student,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-operation {
  display: grid;
  gap: 4px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-student {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-student__avatar {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: linear-gradient(135deg, #edf4ff 0%, #dde9ff 100%);
  color: #20407f;
  font-weight: 800;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-student__copy,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-operation {
  min-width: 0;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-student__copy strong,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-operation strong {
  color: #162944;
  font-size: 0.9rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-student__copy span,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-operation span {
  color: #66768d;
  font-size: 0.8rem;
  line-height: 1.45;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 104px;
  padding: 6px 11px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.76rem;
  font-weight: 700;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-status--present {
  background: rgba(221, 241, 231, 0.98);
  color: #1f7a54;
  border-color: rgba(88, 162, 122, 0.16);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-status--absent {
  background: rgba(252, 225, 229, 0.96);
  color: #a12137;
  border-color: rgba(196, 99, 121, 0.16);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-status--justified {
  background: rgba(226, 233, 255, 0.98);
  color: #2d4fb5;
  border-color: rgba(98, 123, 205, 0.16);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-status--neutral {
  background: rgba(235, 239, 245, 0.98);
  color: #5f6f84;
  border-color: rgba(146, 157, 175, 0.16);
}

@media (max-width: 1100px) {
  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-hero,
  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar-head,
  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-status-hint,
  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel__head,
  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-schedule-card__head {
    flex-direction: column;
    align-items: stretch;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-shell {
    padding: 14px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-hero,
  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar-shell,
  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__overview,
  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__head {
    padding-left: 16px;
    padding-right: 16px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-toolbar,
  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-summary {
    grid-template-columns: 1fr;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-group__head,
  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel__head {
    display: grid;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-table {
    min-width: 620px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-nucleus-panel__body {
    padding-left: 16px;
    padding-right: 16px;
  }
}

#tab-dashboard .dashboard-summary-panel,
#tab-dashboard .dashboard-alerts-panel {
  min-height: 100%;
}

#tab-dashboard .dashboard-nucleus-list,
#tab-dashboard #alertsBoard {
  display: grid;
  gap: 10px;
}

#tab-dashboard .dashboard-nucleus-card,
#tab-dashboard .dashboard-alert-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(208, 218, 231, 0.98);
  background: linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

#tab-dashboard .dashboard-nucleus-card:hover,
#tab-dashboard .dashboard-alert-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 30px rgba(15, 23, 42, 0.08);
  background: linear-gradient(180deg, #ffffff 0%, #f3f8fd 100%);
}

#tab-dashboard .dashboard-nucleus-card strong,
#tab-dashboard .dashboard-alert-copy strong {
  display: block;
  color: #162944;
  font-size: 0.96rem;
}

#tab-dashboard .dashboard-nucleus-card span,
#tab-dashboard .dashboard-alert-copy span,
#tab-dashboard .dashboard-alert-meta span {
  color: #66768d;
  font-size: 0.84rem;
  line-height: 1.4;
}

#tab-dashboard .dashboard-nucleus-card b {
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #edf3ff 0%, #dfe8ff 100%);
  color: #20407f;
}

#tab-dashboard .dashboard-alert-main,
#tab-dashboard .dashboard-alert-copy {
  display: grid;
  gap: 4px;
}

#tab-dashboard .dashboard-alert-main {
  flex: 1;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

#tab-dashboard .dashboard-alert-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

#tab-dashboard .dashboard-alert-badge {
  background: rgba(255, 239, 214, 0.95);
  color: #a05a00;
  border: 1px solid rgba(245, 177, 78, 0.24);
}

#tab-dashboard .dashboard-empty-state {
  padding: 18px 16px;
  border: 1px dashed rgba(165, 181, 204, 0.76);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.74);
  color: #69788d;
  font-size: 0.9rem;
  text-align: center;
}

#tab-dashboard .dashboard-empty-state--list {
  list-style: none;
}

/* =========================
   TABELAS
========================= */
.table-wrapper {
  width: 100%;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: #fff;
  box-shadow:
    0 1px 3px rgba(15, 23, 42, 0.03),
    0 8px 18px rgba(15, 23, 42, 0.05);
  max-width: 100%;
}

.table-wrapper table {
  width: 100%;
  border-collapse: collapse;
  min-width: 780px;
}

.table-wrapper th,
.table-wrapper td {
  border-bottom: 1px solid #e9eef6;
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
  font-size: 0.9rem;
}

.table-wrapper th {
  background: linear-gradient(180deg, #f9fbfe 0%, #edf3f9 100%);
  color: #263248;
  font-weight: 700;
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  position: sticky;
  top: 0;
  z-index: 1;
}

/* =========================
   CHAMADA
========================= */
.nucleus-board {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.nucleus-column,
.student-card {
  border: 1px solid var(--border);
  border-radius: 16px;
  background: #fff;
  padding: 14px;
  box-shadow:
    0 1px 3px rgba(15, 23, 42, 0.03),
    0 8px 18px rgba(15, 23, 42, 0.05);
}

.student-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.student-name {
  font-size: 0.95rem;
}

.freq-pill {
  border: 1px solid #d6dcf0;
  background: #f5f7ff;
  color: #24325c;
  border-radius: 999px;
  font-size: 0.78rem;
  padding: 4px 10px;
  font-weight: 700;
}

.student-contact,
.student-class-info,
.student-status {
  margin: 5px 0 0;
  font-size: 0.82rem;
}

.student-actions {
  display: flex;
  gap: 6px;
  margin-top: 8px;
  flex-wrap: wrap;
}

.student-actions button {
  min-width: 42px;
  padding: 7px 10px;
  font-weight: 800;
}

.btn-present {
  background: #eaf8f1;
  border-color: #bfe7cf;
  color: #15623f;
}

.btn-absent {
  background: #fff1f3;
  border-color: #f3c8cf;
  color: #8f1d2b;
}

.btn-justified {
  background: #eef1ff;
  border-color: #d4dcff;
  color: #2b3f93;
}

.btn-sa {
  background: #f1f2f5;
  border-color: #dddfe6;
  color: #555;
}

/* =========================
   CALENDÁRIO / ESTOQUE
========================= */
.calendar-card,
.stock-card,
.snack-card,
.stat,
.queue-admin,
.modal-box,
.modal-content {
  box-shadow:
    0 1px 3px rgba(15, 23, 42, 0.03),
    0 8px 18px rgba(15, 23, 42, 0.05);
}

.calendar-card,
.stock-card {
  border: 1px solid var(--border);
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafd 100%);
  padding: 14px;
}

.snack-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 12px;
}

.snack-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.snack-card {
  border: 1px solid var(--border);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafd 100%);
  padding: 16px;
}

/* =========================
   MODAIS
========================= */

.modal {
  position: fixed;
  inset: 0;
  background: rgba(10, 16, 28, 0.56);
  display: grid;
  place-items: center;
  padding: 20px;
  z-index: 4000;
  backdrop-filter: blur(4px);
}

.modal-content {
  width: min(760px, 100%);
  max-height: 88vh;
  overflow: auto;
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 20px;
}

.modal-content.wide {
  width: min(980px, 100%);
}

.modal-content.xl {
  width: min(1200px, 100%);
  height: min(90vh, 900px);
  display: flex;
  flex-direction: column;
}

.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

#pdfFrame {
  width: 100%;
  flex: 1;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
}

/* =========================
   AULAS
========================= */
.aulas-layout {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 12px;
}

.aulas-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.aula-card {
  border: 1px solid var(--border);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafd 100%);
  box-shadow: var(--shadow);
  padding: 16px;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.aula-card:hover {
  transform: translateY(-3px);
}

.aula-card.active {
  border-color: var(--primary);
  background: linear-gradient(180deg, #ffffff 0%, #fff5f6 100%);
}

.aula-player-box {
  border: 1px solid var(--border);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafd 100%);
  padding: 14px;
  min-height: 320px;
  box-shadow: var(--shadow-soft);
}

.aula-player-box iframe,
.aula-player-box video {
  width: 100%;
  height: 360px;
  border: 0;
  border-radius: 10px;
  background: #000;
}

body:not([data-active-tab="tab-aulas"]) #eadRoot {
  display: none !important;
}

body:not([data-active-tab="tab-aulas"]) section.panel:has(#eadRoot) {
  display: none !important;
}

body:not([data-active-tab="tab-admin"]) section.panel:has(#adminMestreTheme) {
  display: none !important;
}

/* =========================
   RESPONSIVO
========================= */
@media (max-width: 1260px) {
  .dashboard-primary-grid,
  .dashboard-secondary-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-insights-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .container {
    width: min(var(--container), calc(100% - 24px));
    padding: 0 12px;
  }

  .grid-form.three,
  .grid-form.four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .panel-grid.four.dashboard-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cards-grid,
  .aulas-grid,
  .snack-cards {
    grid-template-columns: 1fr;
  }

  .aulas-layout,
  .snack-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-chart-box,
  #tab-dashboard #dashChartHolder.chart-box,
  .chart-box {
    height: 320px;
    min-height: 320px;
  }
}

@media (max-width: 700px) {
  .container {
    width: calc(100% - 20px);
    padding: 0;
  }

  .hero {
    padding: 10px 0 16px;
    border-radius: 0 0 16px 16px;
  }

  .hero-inner {
    align-items: flex-start;
    gap: 10px;
  }

  .brand {
    gap: 10px;
    align-items: flex-start;
  }

  .logo {
    width: 38px;
    height: 38px;
  }

  .eyebrow {
    font-size: 0.58rem;
    margin-bottom: 2px;
  }

  .brand-text h1,
  .brand h1,
  #welcomeTitle {
    font-size: 0.88rem;
    line-height: 1.08;
    white-space: normal;
    overflow: visible;
    text-overflow: initial;
    max-width: 100%;
  }

  .sub,
  #projectSubtitle {
    margin-top: 3px;
    font-size: 0.62rem;
    line-height: 1.2;
    white-space: normal;
    max-width: 100%;
  }

  .hero .ghost,
  #logoutBtn {
    min-height: 38px;
    padding: 0 14px;
    border-radius: 14px;
    font-size: 0.82rem;
  }

  .tabs-wrap {
    margin-top: -10px;
  }

  .tabs-wrap .container,
  .hero .container.hero-inner {
    padding-left: 10px;
    padding-right: 10px;
  }

  .tabs-bar {
    min-height: auto;
    padding: 8px;
    gap: 6px;
    border-radius: 16px;
  }

  .tab-btn {
    min-height: 40px;
    padding: 0 14px;
    font-size: 0.8rem;
    border-radius: 14px;
  }

  .app-content {
    padding-top: 10px;
    padding-bottom: 24px;
  }

  .panel,
  #tab-dashboard .panel {
    padding: 14px;
    border-radius: 20px;
    margin-bottom: 12px;
  }

  .panel-title-row {
    gap: 8px;
    margin-bottom: 10px;
  }

  .panel-title-row h2 {
    font-size: 0.95rem;
    line-height: 1.2;
  }

  .badge {
    padding: 4px 10px;
    font-size: 0.72rem;
  }

  .panel-grid.four.dashboard-metrics {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .dashboard-metrics .metric-card {
    min-height: 78px;
    padding: 10px 10px 8px;
    border-radius: 16px;
  }

  .dashboard-metrics .metric-card h3 {
    font-size: 1.5rem;
  }

  .dashboard-metrics .metric-card p {
    font-size: 0.66rem;
  }

  .grid-form.two,
  .grid-form.three,
  .grid-form.four {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .toolbar {
    gap: 8px;
    margin: 10px 0;
  }

  .toolbar label {
    width: 100%;
  }

  button,
  .primary,
  .ghost,
  .warn,
  .small-btn {
    min-height: 42px;
    padding: 0 14px;
    font-size: 0.86rem;
    border-radius: 14px;
  }

  .dashboard-toolbar-row,
  .dashboard-chart-legend {
    align-items: stretch;
    justify-content: flex-start;
  }

  .dashboard-filter-bar,
  .dashboard-filter-bar label,
  .dashboard-filter-bar select {
    width: 100%;
  }

  .dashboard-chart-box,
  #tab-dashboard #dashChartHolder.chart-box,
  .chart-box {
    height: 220px;
    min-height: 220px;
    padding: 8px;
    background-size: 100% 22px, 22px 100%, 100% 100%;
  }

  #professorClassDate,
  input[type="date"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .student-actions button {
    flex: 1 1 calc(50% - 6px);
    min-width: 0;
  }
}

@media print {
  
.modal {
    display: none !important;
  }
}

/* =========================================================
   AJUSTE FINAL â€” ESTOQUE + FILA DE ESPERA COMPACTOS
   Cole no FINAL do styles.css
========================================================= */

/* =========================
   ESTOQUE COMPACTO
========================= */
#tab-estoque .panel {
  padding: 14px !important;
  border-radius: 18px !important;
  margin-bottom: 12px !important;
}

#tab-estoque .panel-title-row {
  margin-bottom: 10px !important;
}

#tab-estoque .panel-title-row h2 {
  margin: 0 !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
}

#tab-estoque .toolbar {
  gap: 8px !important;
  margin: 10px 0 !important;
}

#tab-estoque .panel > .toolbar {
  padding: 8px 10px !important;
  border-radius: 12px !important;
}

#tab-estoque .grid-form {
  gap: 10px !important;
}

#tab-estoque .grid-form.two {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: end !important;
}

#tab-estoque .grid-form label {
  gap: 4px !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: #31425c !important;
}

#tab-estoque .grid-form select,
#tab-estoque .grid-form input,
#tab-estoque .toolbar select,
#tab-estoque .toolbar input {
  min-height: 40px !important;
  height: 40px !important;
  padding: 8px 12px !important;
  font-size: 0.88rem !important;
  border-radius: 12px !important;
}

#tab-estoque #stockForm {
  gap: 10px !important;
  margin-bottom: 10px !important;
}

#tab-estoque #stockForm button,
#tab-estoque #stockForm .primary {
  width: fit-content !important;
  min-width: 180px !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 14px !important;
  font-size: 0.88rem !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.08) !important;
}

#tab-estoque #stockView.cards-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

#tab-estoque .stock-card {
  padding: 12px 14px !important;
  border-radius: 14px !important;
  min-height: 78px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.05) !important;
}

#tab-estoque .stock-card h4 {
  margin: 0 0 4px !important;
  font-size: 0.9rem !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  color: #172740 !important;
}

#tab-estoque .stock-card p {
  margin: 0 !important;
  font-size: 0.82rem !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #42536d !important;
}

/* lanches mais compactos */
#tab-estoque .snack-grid {
  gap: 10px !important;
}

#tab-estoque .snack-cards {
  gap: 10px !important;
}

#tab-estoque .snack-card {
  padding: 12px !important;
  border-radius: 14px !important;
}

#tab-estoque .snack-title {
  font-size: 0.9rem !important;
}

#tab-estoque .snack-balance {
  font-size: 1.8rem !important;
  margin-top: 8px !important;
}

#tab-estoque .snack-sub {
  font-size: 0.8rem !important;
}

#tab-estoque .snack-quick {
  gap: 6px !important;
  margin-top: 10px !important;
}

#tab-estoque .snack-quick button {
  padding: 7px 10px !important;
  font-size: 0.8rem !important;
  border-radius: 10px !important;
}

#tab-estoque .snack-row {
  gap: 6px !important;
  margin-top: 10px !important;
}

#tab-estoque .snack-history {
  padding: 10px !important;
}

#tab-estoque .snack-history .history-list li {
  padding: 10px 12px !important;
  font-size: 0.82rem !important;
}

/* =========================
   FILA DE ESPERA REFINADA
========================= */
#tab-fila .panel {
  padding: 18px !important;
  border-radius: 24px !important;
  margin-bottom: 14px !important;
  border: 1px solid #d9e2ee !important;
  background: var(--panel-surface) !important;
  box-shadow: var(--shadow-panel) !important;
}

#tab-fila .panel-title-row {
  align-items: center !important;
  margin-bottom: 12px !important;
}

#tab-fila .panel-title-row h2 {
  margin: 0 !important;
  font-size: 1.08rem !important;
  letter-spacing: -0.01em !important;
  color: #14263d !important;
}

#tab-fila .panel-title-row .badge {
  border-radius: 999px !important;
  padding: 6px 12px !important;
  background: #eef4fb !important;
  color: #32507a !important;
  border: 1px solid #d8e4f1 !important;
}

#tab-fila .fila-metrics-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 14px 0 16px !important;
}

#tab-fila .fila-metric-card {
  position: relative !important;
  min-height: 128px !important;
  padding: 18px 18px 16px !important;
  border-radius: 22px !important;
  border: 1px solid #dee7f2 !important;
  background: var(--panel-surface) !important;
  box-shadow:
    0 10px 22px rgba(15, 23, 42, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
  overflow: hidden !important;
}

#tab-fila .fila-metric-card::before {
  content: none !important;
  display: none !important;
}

#tab-fila .fila-metric-card::after {
  content: "" !important;
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--fila-accent, #4a73b8) 18%, #ffffff) !important;
  border: 1px solid color-mix(in srgb, var(--fila-accent, #4a73b8) 28%, #d8e2ef) !important;
  box-shadow: none !important;
}

#tab-fila .fila-metric-card:hover {
  transform: translateY(-2px) !important;
  box-shadow:
    0 14px 28px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

#tab-fila .fila-metric-card[data-variant="mes"] { --fila-accent: #416fb7; }
#tab-fila .fila-metric-card[data-variant="pré-matriculas"] { --fila-accent: #7d5bd1; }
#tab-fila .fila-metric-card[data-variant="confirmadas"] { --fila-accent: #2f8e62; }
#tab-fila .fila-metric-card[data-variant="aguardando"] { --fila-accent: #b48727; }
#tab-fila .fila-metric-card[data-variant="sem-resposta"] { --fila-accent: #c05a5f; }

#tab-fila .fila-metric-card[role="button"] {
  cursor: pointer !important;
}

#tab-fila .fila-metric-card.is-active {
  border-color: color-mix(in srgb, var(--fila-accent, #416fb7) 40%, #d4dfec) !important;
  box-shadow:
    0 18px 32px rgba(15, 23, 42, 0.09),
    0 0 0 1px color-mix(in srgb, var(--fila-accent, #416fb7) 18%, #ffffff) inset !important;
  background:
    radial-gradient(circle at top right, color-mix(in srgb, var(--fila-accent, #416fb7) 12%, transparent), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(244, 248, 252, 0.98) 100%) !important;
}

#tab-fila .fila-metric-card.is-active .fila-metric-kicker {
  color: color-mix(in srgb, var(--fila-accent, #416fb7) 82%, #23405d) !important;
}

#tab-fila .fila-metric-card.is-active::after {
  background: color-mix(in srgb, var(--fila-accent, #416fb7) 22%, #ffffff) !important;
  border-color: color-mix(in srgb, var(--fila-accent, #416fb7) 34%, #d8e2ef) !important;
}

#tab-fila .fila-metric-kicker {
  margin: 0 0 14px !important;
  padding-right: 24px !important;
  font-size: 0.72rem !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #62748f !important;
}

#tab-fila .fila-metric-card h3,
#tab-fila #totalMes,
#tab-fila #preMatriculas,
#tab-fila #confirmadas,
#tab-fila #aguardando,
#tab-fila #semResposta {
  margin: 0 0 8px !important;
  font-size: 2rem !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
  font-weight: 900 !important;
  color: #10233a !important;
}

#tab-fila .fila-metric-note {
  display: block !important;
  margin-top: auto !important;
  font-size: 0.82rem !important;
  line-height: 1.35 !important;
  color: #6b7c95 !important;
}

#tab-fila .fila-toolbar {
  padding: 12px !important;
  border-radius: 18px !important;
  border: 1px solid #dce4ef !important;
  background: rgba(248, 250, 252, 0.92) !important;
  gap: 10px !important;
  margin: 14px 0 !important;
}

#tab-fila .fila-toolbar input,
#tab-fila .fila-toolbar select {
  min-height: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  border: 1px solid #cfd8e4 !important;
  background: #ffffff !important;
  padding: 10px 14px !important;
  font-size: 0.9rem !important;
  color: #17304d !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85) !important;
}

#tab-fila .fila-toolbar button {
  min-height: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  padding: 0 16px !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
}

#tab-fila .fila-toolbar #filaStatus {
  margin-left: auto !important;
  font-size: 0.84rem !important;
  color: #5d6d84 !important;
}

#tab-fila .fila-flow-layout {
  display: grid !important;
  gap: 16px !important;
  margin-top: 14px !important;
}

#tab-fila .fila-flow-section {
  border: 1px solid #dce5ef !important;
  border-radius: 20px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(247, 250, 253, 0.95) 100%) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
  overflow: hidden !important;
}

#tab-fila .fila-flow-section[hidden] {
  display: none !important;
}

#tab-fila .fila-flow-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 18px 20px !important;
}

#tab-fila .fila-flow-head h3 {
  margin: 0 0 4px !important;
  font-size: 1.06rem !important;
  font-weight: 800 !important;
  color: #11243a !important;
}

#tab-fila .fila-flow-head p {
  margin: 0 !important;
  font-size: 0.88rem !important;
  color: #667891 !important;
}

#tab-fila .fila-flow-section-pre {
  border-style: dashed !important;
  background:
    radial-gradient(circle at top right, rgba(116, 92, 205, 0.08), transparent 42%),
    linear-gradient(180deg, rgba(250, 248, 255, 0.98) 0%, rgba(245, 248, 252, 0.96) 100%) !important;
}

#tab-fila .fila-placeholder-btn {
  min-height: 42px !important;
  border-radius: 14px !important;
  padding: 0 16px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

#tab-fila .fila-dynamic-summary {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
}

#tab-fila .fila-dynamic-summary > strong {
  display: block !important;
  margin: 0 !important;
  font-size: 1.04rem !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  color: #13253b !important;
}

#tab-fila .fila-dynamic-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  border: 1px solid #d8e3ef !important;
  background: rgba(248, 251, 255, 0.9) !important;
  color: #526882 !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

#tab-fila #filaListPanel .fila-flow-section-pre {
  margin-top: 0 !important;
  border: none !important;
  border-top: 1px dashed #dddff3 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#tab-fila .fila-flow-section-oficiais .fila-table-wrap {
  margin-top: 0 !important;
  border: none !important;
  border-top: 1px solid #e7edf5 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#tab-fila .fila-table-wrap {
  margin-top: 14px !important;
  border-radius: 20px !important;
  border: 1px solid #dce5ef !important;
  overflow: visible !important;
  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05) !important;
}

#tab-fila .fila-table {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

#tab-fila .fila-table[data-view="pre"] {
  table-layout: auto !important;
}

#tab-fila .fila-table thead th:nth-child(1),
#tab-fila .fila-table tbody td:nth-child(1) {
  width: 8% !important;
}

#tab-fila .fila-table thead th:nth-child(2),
#tab-fila .fila-table tbody td:nth-child(2) {
  width: 21% !important;
}

#tab-fila .fila-table thead th:nth-child(3),
#tab-fila .fila-table tbody td:nth-child(3) {
  width: 5% !important;
}

#tab-fila .fila-table thead th:nth-child(4),
#tab-fila .fila-table tbody td:nth-child(4) {
  width: 14% !important;
}

#tab-fila .fila-table thead th:nth-child(5),
#tab-fila .fila-table tbody td:nth-child(5) {
  width: 12% !important;
}

#tab-fila .fila-table thead th:nth-child(6),
#tab-fila .fila-table tbody td:nth-child(6) {
  width: 12% !important;
}

#tab-fila .fila-table thead th:nth-child(7),
#tab-fila .fila-table tbody td:nth-child(7) {
  width: 14% !important;
}

#tab-fila .fila-table thead th {
  padding: 14px 12px !important;
  border-bottom: 1px solid #dde6f0 !important;
  background: linear-gradient(180deg, #f7fafd 0%, #eef4fa 100%) !important;
  color: #44566f !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

#tab-fila .fila-table tbody td {
  padding: 16px 12px !important;
  border-bottom: 1px solid #ecf1f6 !important;
  font-size: 0.9rem !important;
  color: #24364a !important;
  vertical-align: middle !important;
  background: #ffffff !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#tab-fila .fila-table tbody tr:last-child td {
  border-bottom: none !important;
}

#tab-fila .fila-table tbody tr:hover td {
  background: #f8fbff !important;
}

#tab-fila .fila-table tbody td:nth-child(2),
#tab-fila .fila-table tbody td:nth-child(4) {
  font-weight: 700 !important;
  color: #12243a !important;
}

#tab-fila .fila-table tbody td:nth-child(5),
#tab-fila .fila-table tbody td:nth-child(6) {
  color: #5f7088 !important;
}

#tab-fila .fila-table tbody td:last-child {
  width: 12% !important;
}

#tab-fila .fila-table thead th:last-child {
  width: 12% !important;
}

#tab-fila .fila-table tbody td:last-child,
#tab-fila .fila-table thead th:last-child {
  width: 232px !important;
  min-width: 232px !important;
  padding-right: 14px !important;
}

#tab-fila .fila-table tbody td:nth-child(2),
#tab-fila .fila-table tbody td:nth-child(4),
#tab-fila .fila-table tbody td:nth-child(6) {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: initial !important;
  word-break: break-word !important;
}

#tab-fila .fila-table tbody td:nth-child(7),
#tab-fila .fila-table thead th:nth-child(7) {
  overflow: visible !important;
  text-overflow: initial !important;
}

#tab-fila .fila-table[data-view="pre"] thead th:nth-child(1),
#tab-fila .fila-table[data-view="pre"] tbody td:nth-child(1) {
  width: 90px !important;
  max-width: 90px !important;
}

#tab-fila .fila-table[data-view="pre"] thead th:nth-child(3),
#tab-fila .fila-table[data-view="pre"] tbody td:nth-child(3) {
  width: 150px !important;
  min-width: 150px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: initial !important;
}

#tab-fila .fila-table[data-view="pre"] thead th:nth-child(6),
#tab-fila .fila-table[data-view="pre"] tbody td:nth-child(6) {
  min-width: 232px !important;
}

#tab-fila .fila-status-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  border: 1px solid transparent !important;
  white-space: nowrap !important;
  max-width: 100% !important;
  overflow: visible !important;
}

#tab-fila .fila-status-dot {
  font-size: 0.72rem !important;
  line-height: 1 !important;
}

#tab-fila .fila-status-novo {
  background: #fff7ea !important;
  border-color: #f1ddad !important;
  color: #8a6516 !important;
}

#tab-fila .fila-status-contatado {
  background: #eef5ff !important;
  border-color: #cfe0f7 !important;
  color: #365b93 !important;
}

#tab-fila .fila-status-confirmou,
#tab-fila .fila-status-matriculado {
  background: #edf8f2 !important;
  border-color: #cde9d8 !important;
  color: #2e7554 !important;
}

#tab-fila .fila-status-arquivado {
  background: #fff0f0 !important;
  border-color: #efcdd0 !important;
  color: #9c434c !important;
}

#tab-fila .fila-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}

#tab-fila .fila-actions-official {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: center !important;
  gap: 10px !important;
}

#tab-fila .fila-actions-official .fila-action-btn {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 38px !important;
  justify-content: flex-start !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  font-size: 0.76rem !important;
}

#tab-fila .fila-actions-official .fila-action-btn .action-icon {
  width: 18px !important;
  flex: 0 0 18px !important;
}

#tab-fila .fila-actions-official .fila-action-btn .action-icon--svg {
  width: 18px !important;
  height: 18px !important;
}

#tab-fila .fila-actions-official .fila-action-btn .action-icon-svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  object-fit: contain !important;
}

#tab-fila .fila-actions-official .fila-action-btn-view {
  background: #f8fafc !important;
  border-color: #d5deea !important;
  color: #32465e !important;
}

#tab-fila .fila-actions-official .fila-action-btn-edit {
  background: linear-gradient(180deg, #edf5ff 0%, #e0ecfb 100%) !important;
  border-color: #bfd4ef !important;
  color: #1f518e !important;
}

#tab-fila .fila-actions-official .fila-action-btn-convert {
  background: linear-gradient(180deg, #eefaf3 0%, #dff4e8 100%) !important;
  border-color: #bbdfca !important;
  color: #24714d !important;
  box-shadow: 0 10px 18px rgba(36, 113, 77, 0.14) !important;
}

#tab-fila .fila-actions .action-btn,
#tab-fila .fila-actions .fila-link-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  border: 1px solid #d4dce7 !important;
  background: #ffffff !important;
  color: #27405d !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.04) !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease !important;
}

#tab-fila .fila-actions .action-btn:hover,
#tab-fila .fila-actions .fila-link-btn:hover {
  transform: translateY(-1px) !important;
  border-color: #bcc9d9 !important;
  background: #f8fbff !important;
  box-shadow: 0 8px 16px rgba(15, 23, 42, 0.08) !important;
}

#tab-fila .fila-actions-official .fila-action-btn-view:hover {
  background: #eef4fa !important;
}

#tab-fila .fila-actions-official .fila-action-btn-edit:hover {
  background: linear-gradient(180deg, #dfeeff 0%, #d2e6ff 100%) !important;
  border-color: #9ec0ea !important;
  box-shadow: 0 10px 18px rgba(31, 81, 142, 0.14) !important;
}

#tab-fila .fila-actions-official .fila-action-btn-convert:hover {
  background: linear-gradient(180deg, #e0f5e8 0%, #d1f0dd 100%) !important;
  border-color: #95d0ae !important;
  box-shadow: 0 12px 22px rgba(36, 113, 77, 0.18) !important;
}

#tab-fila .fila-actions-official .fila-action-btn-whatsapp {
  background: #f2fbf5 !important;
  border-color: #cfe8da !important;
  color: #1f7a46 !important;
}

#tab-fila .fila-actions-official .fila-action-btn-whatsapp:hover {
  background: #e2f8e9 !important;
  border-color: #9fd2b3 !important;
  box-shadow: 0 10px 18px rgba(31, 122, 70, 0.14) !important;
}

#tab-fila .fila-table-wrap {
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

#tab-fila .fila-table:not([data-view="pre"]) {
  table-layout: fixed !important;
  min-width: 100% !important;
}

#tab-fila .fila-table:not([data-view="pre"]) thead th,
#tab-fila .fila-table:not([data-view="pre"]) tbody td {
  overflow: visible !important;
  text-overflow: initial !important;
  vertical-align: middle !important;
}

#tab-fila .fila-table:not([data-view="pre"]) thead th:nth-child(1),
#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(1) {
  width: 105px !important;
  min-width: 105px !important;
  white-space: nowrap !important;
}

#tab-fila .fila-table:not([data-view="pre"]) thead th:nth-child(2),
#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(2) {
  width: 25% !important;
  min-width: 200px !important;
}

#tab-fila .fila-table:not([data-view="pre"]) thead th:nth-child(3),
#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(3) {
  width: 132px !important;
  min-width: 132px !important;
  white-space: nowrap !important;
}

#tab-fila .fila-table:not([data-view="pre"]) thead th:nth-child(4),
#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(4) {
  width: 15% !important;
  min-width: 132px !important;
}

#tab-fila .fila-table:not([data-view="pre"]) thead th:nth-child(5),
#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(5) {
  width: 170px !important;
  min-width: 170px !important;
  white-space: nowrap !important;
}

#tab-fila .fila-table:not([data-view="pre"]) thead th:nth-child(6),
#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(6) {
  width: 208px !important;
  min-width: 208px !important;
  white-space: nowrap !important;
  padding-right: 12px !important;
}

#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(2),
#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(4) {
  white-space: normal !important;
  word-break: break-word !important;
}

#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(3),
#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(5) {
  white-space: nowrap !important;
}

#tab-fila .fila-table:not([data-view="pre"]) .fila-actions-official {
  align-items: stretch !important;
  min-width: 0 !important;
}

#tab-fila .fila-table:not([data-view="pre"]) .fila-actions-official .fila-action-btn {
  max-width: 200px !important;
  margin-left: auto !important;
  padding: 0 10px !important;
}

#tab-fila .fila-actions .action-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  font-size: 0.92rem !important;
  line-height: 1 !important;
}

#tab-fila .fila-modal-stack {
  display: grid !important;
  gap: 12px !important;
}

#tab-fila .fila-modal-form {
  display: grid !important;
  gap: 18px !important;
}

#tab-fila .fila-modal-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

#tab-fila .fila-modal-field {
  display: grid !important;
  gap: 6px !important;
}

#tab-fila .fila-modal-field span {
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: #4c617a !important;
}

#tab-fila .fila-modal-field input,
#tab-fila .fila-modal-field select {
  min-height: 42px !important;
  border-radius: 12px !important;
  border: 1px solid #d2dce8 !important;
  background: #fff !important;
  padding: 10px 12px !important;
  color: #19314d !important;
}

#tab-fila .fila-modal-actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

#tab-fila .fila-actions .whatsapp-btn {
  border-color: #cfe8da !important;
  background: #f2fbf5 !important;
  color: #1f7a46 !important;
}

#tab-fila .fila-actions .success-soft,
#tab-fila .fila-actions .convert-btn {
  border-color: #cfe3d7 !important;
  background: #f2faf5 !important;
  color: #2b7c55 !important;
}

#tab-fila .fila-actions .desist-btn {
  border-color: #e5c5c9 !important;
  background: #fff4f4 !important;
  color: #a4434d !important;
}

@media (max-width: 1100px) {
  #tab-fila .fila-metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #tab-fila .fila-table-wrap {
    overflow-x: auto !important;
  }

  #tab-fila .fila-table:not([data-view="pre"]) {
    min-width: 920px !important;
  }

  #tab-fila .fila-table tbody td:last-child,
  #tab-fila .fila-table thead th:last-child {
    width: 210px !important;
    min-width: 210px !important;
  }
}

@media (max-width: 760px) {
  #tab-fila .panel {
    padding: 16px !important;
    border-radius: 20px !important;
  }

  #tab-fila .fila-metrics-grid {
    grid-template-columns: 1fr !important;
  }

  #tab-fila .fila-metric-card {
    min-height: 116px !important;
  }

  #tab-fila .fila-metric-card h3,
  #tab-fila #totalMes,
  #tab-fila #preMatriculas,
  #tab-fila #confirmadas,
  #tab-fila #aguardando,
  #tab-fila #semResposta {
    font-size: 1.7rem !important;
  }

  #tab-fila .fila-toolbar {
    padding: 10px !important;
  }

  #tab-fila .fila-toolbar #filaStatus {
    margin-left: 0 !important;
    width: 100% !important;
  }

  #tab-fila .fila-flow-head {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  #tab-fila .fila-table {
    table-layout: auto !important;
  }

  #tab-fila .fila-table-wrap {
    overflow-x: auto !important;
  }
}

/* ===== ESTOQUE FÍSICO LADO A LADO E COMPACTO ===== */

#tab-estoque .stock-form-compact {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr auto !important;
  gap: 10px !important;
  align-items: end !important;
  margin-bottom: 12px !important;
}

#tab-estoque .stock-form-compact label {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  color: #31425c !important;
}

#tab-estoque .stock-form-compact select,
#tab-estoque .stock-form-compact input {
  min-height: 40px !important;
  height: 40px !important;
  padding: 8px 12px !important;
  font-size: 0.88rem !important;
  border-radius: 12px !important;
}

#tab-estoque .stock-form-action {
  display: flex !important;
  align-items: end !important;
}

#tab-estoque .stock-form-action button {
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 14px !important;
  min-width: 160px !important;
  border-radius: 12px !important;
  font-size: 0.86rem !important;
  white-space: nowrap !important;
}

#tab-estoque .stock-cards-compact,
#tab-estoque #stockView {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}

#tab-estoque .stock-card {
  min-height: 74px !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

#tab-estoque .stock-card h4 {
  margin: 0 0 4px !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
}

#tab-estoque .stock-card p {
  margin: 0 !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: #42536d !important;
}

@media (max-width: 700px) {
  #tab-estoque .stock-form-compact {
    grid-template-columns: 1fr !important;
  }

  #tab-estoque .stock-form-action button {
    width: 100% !important;
    min-width: 0 !important;
  }

  #tab-estoque .stock-cards-compact,
  #tab-estoque #stockView {
    grid-template-columns: 1fr !important;
  }
}

/* ===== PAINEL RECOLHÍVEL - MOMENTO DO MESTRE ===== */

.collapsible-panel {
  overflow: hidden;
}

.panel-collapse-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
  cursor: pointer;
}

.panel-collapse-toggle:hover {
  transform: none;
  box-shadow: none;
}

.panel-collapse-head {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.panel-collapse-head h2 {
  margin: 0;
  font-size: 1.04rem;
}

.panel-collapse-sub {
  font-size: 0.82rem;
  color: #66758c;
  font-weight: 600;
}

.panel-collapse-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #ffffff 0%, #eef3f9 100%);
  border: 1px solid rgba(190, 202, 220, 0.9);
  color: #24395c;
  flex-shrink: 0;
  transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease;
}

.panel-collapse-icon svg {
  width: 18px;
  height: 18px;
}

.collapsible-panel.is-open .panel-collapse-icon {
  transform: rotate(180deg);
  background: linear-gradient(180deg, #fff7f8 0%, #f4f7fb 100%);
  border-color: rgba(176, 188, 210, 0.95);
}

.panel-collapse-content {
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows 0.28s ease, opacity 0.22s ease, margin-top 0.22s ease;
  opacity: 1;
  margin-top: 14px;
}

.panel-collapse-content > * {
  min-height: 0;
}

.collapsible-panel:not(.is-open) .panel-collapse-content {
  grid-template-rows: 0fr;
  opacity: 0;
  margin-top: 0;
  overflow: hidden;
}

.collapsible-panel:not(.is-open) .panel-collapse-content > * {
  overflow: hidden;
}

/* opcional: visual mais limpo quando fechado */
.collapsible-panel:not(.is-open) {
  padding-bottom: 14px !important;
}

@media (max-width: 700px) {
  .panel-collapse-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }

  .panel-collapse-head h2 {
    font-size: 0.98rem;
  }

  .panel-collapse-sub {
    font-size: 0.76rem;
  }
}


.collapsible-panel {
  padding-bottom: 16px !important;
  transition: padding 0.22s ease;
}

.collapsible-panel .panel-collapse-toggle {
  margin: 0 !important;
}

.collapsible-panel .panel-collapse-content {
  display: block !important;
  overflow: hidden !important;
  max-height: 2000px;
  opacity: 1;
  margin-top: 14px;
  transition:
    max-height 0.28s ease,
    opacity 0.2s ease,
    margin-top 0.2s ease;
}

.collapsible-panel:not(.is-open) {
  padding-bottom: 12px !important;
}

.collapsible-panel:not(.is-open) .panel-collapse-content {
  max-height: 0 !important;
  opacity: 0 !important;
  margin-top: 0 !important;
  pointer-events: none !important;
}

.collapsible-panel:not(.is-open) .table-wrapper,
.collapsible-panel:not(.is-open) .toolbar,
.collapsible-panel:not(.is-open) .grid-form {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.iin-ref-shell #tab-aulas .aulas-ref-accordion,
.iin-ref-shell #tab-admin .aulas-ref-accordion {
  padding: 0 !important;
  border: 1px solid var(--shell-border) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.iin-ref-shell #tab-aulas .aulas-ref-accordion .panel-collapse-toggle,
.iin-ref-shell #tab-admin .aulas-ref-accordion .panel-collapse-toggle {
  width: 100%;
  min-height: 92px;
  padding: 22px 24px !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: transparent !important;
  border: 0 !important;
}

.iin-ref-shell #tab-aulas .aulas-ref-accordion .panel-collapse-toggle:hover,
.iin-ref-shell #tab-admin .aulas-ref-accordion .panel-collapse-toggle:hover {
  background: rgba(245, 247, 251, 0.72) !important;
}

.iin-ref-shell #tab-aulas .aulas-ref-accordion .panel-collapse-head,
.iin-ref-shell #tab-admin .aulas-ref-accordion .panel-collapse-head {
  display: grid;
  gap: 4px;
  text-align: left;
}

.iin-ref-shell #tab-aulas .aulas-ref-accordion .panel-collapse-head h2::before,
.iin-ref-shell #tab-aulas .aulas-ref-accordion .panel-collapse-head h3::before,
.iin-ref-shell #tab-admin .aulas-ref-accordion .panel-collapse-head h2::before,
.iin-ref-shell #tab-admin .aulas-ref-accordion .panel-collapse-head h3::before {
  content: none !important;
}

.iin-ref-shell #tab-aulas .aulas-ref-accordion .panel-collapse-head h2,
.iin-ref-shell #tab-aulas .aulas-ref-accordion .panel-collapse-head h3,
.iin-ref-shell #tab-admin .aulas-ref-accordion .panel-collapse-head h2,
.iin-ref-shell #tab-admin .aulas-ref-accordion .panel-collapse-head h3 {
  margin: 0;
  padding-left: 0;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.iin-ref-shell #tab-aulas .aulas-ref-accordion .panel-collapse-sub,
.iin-ref-shell #tab-admin .aulas-ref-accordion .panel-collapse-sub {
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--shell-muted) !important;
}

.iin-ref-shell #tab-aulas .aulas-ref-accordion .panel-collapse-icon,
.iin-ref-shell #tab-admin .aulas-ref-accordion .panel-collapse-icon {
  width: 18px;
  height: 18px;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0;
  background: transparent !important;
  color: var(--shell-muted) !important;
}

.iin-ref-shell #tab-aulas .aulas-ref-accordion .panel-collapse-icon svg,
.iin-ref-shell #tab-admin .aulas-ref-accordion .panel-collapse-icon svg {
  width: 18px;
  height: 18px;
}

.iin-ref-shell #tab-aulas .aulas-ref-accordion.is-open .panel-collapse-icon,
.iin-ref-shell #tab-admin .aulas-ref-accordion.is-open .panel-collapse-icon {
  transform: rotate(180deg);
  background: transparent !important;
}

.iin-ref-shell #tab-aulas .aulas-ref-accordion .panel-collapse-content,
.iin-ref-shell #tab-admin .aulas-ref-accordion .panel-collapse-content {
  margin-top: 0 !important;
  padding: 0 24px 24px !important;
  border-top: 1px solid transparent;
}

.iin-ref-shell #tab-aulas .aulas-ref-accordion.is-open .panel-collapse-content,
.iin-ref-shell #tab-admin .aulas-ref-accordion.is-open .panel-collapse-content {
  padding-top: 18px !important;
  border-top-color: var(--shell-border);
}

.iin-ref-shell #tab-aulas .aulas-ref-accordion:not(.is-open),
.iin-ref-shell #tab-admin .aulas-ref-accordion:not(.is-open) {
  padding-bottom: 0 !important;
}

.aula-player-tabs {
  display: grid;
  gap: 14px;
}

.aula-detail-tabs {
  margin-top: 4px;
}

.aula-detail-tab-buttons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 0;
}

.aula-detail-tab-btn {
  border: 1px solid rgba(190, 202, 220, 0.9);
  background: linear-gradient(180deg, #ffffff 0%, #eef3f8 100%);
  color: #23395d;
  border-radius: 14px 14px 0 0;
  padding: 10px 16px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.2s ease;
}

.aula-detail-tab-btn.active {
  background: #ffffff;
  color: #1f3352;
  border-color: rgba(190, 202, 220, 0.95);
  box-shadow: inset 0 -2px 0 rgba(190, 202, 220, 0.95);
}

.aula-detail-tab-panels {
  border-top: 1px solid #dbe4ef;
  background: #ffffff;
  border-radius: 0 14px 14px 14px;
  overflow: hidden;
}

.aula-detail-tab-panel {
  display: none;
  padding: 16px;
  color: #22324a;
  line-height: 1.65;
  word-break: break-word;
}

.aula-detail-tab-panel.active {
  display: block;
}

#adminMestrePanel.is-open .panel-collapse-content {
  display: block !important;
  opacity: 1 !important;
  max-height: 2000px !important;
  margin-top: 14px !important;
  overflow: hidden !important;
}

#adminMestrePanel:not(.is-open) .panel-collapse-content {
  display: block !important;
  opacity: 0 !important;
  max-height: 0 !important;
  margin-top: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

#adminLessonForm label:has(#lessonDesc),
#adminLessonForm label:has(#lessonExtra),
#adminWeekForm label:has(#weekSummary),
#adminWeekForm label:has(#weekNotes) {
  grid-column: 1 / -1;
}

#adminLessonForm > div:last-child,
#adminWeekForm > div:last-child {
  grid-column: 1 / -1;
}

#adminLessonsTableBody td,
#adminWeeksTableBody td {
  vertical-align: top;
}

#adminLessonsTableBody button,
#adminWeeksTableBody button {
  white-space: nowrap;
}

.password-field {
  position: relative;
}

.password-field input {
  width: 100%;
  padding-right: 52px;
}

.password-toggle {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b7280;
}

.password-toggle svg {
  width: 22px;
  height: 22px;
}

.field-help {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: #6b7280;
}

.teacher-student-field {
  position: relative;
  gap: 6px;
}

.teacher-student-autocomplete {
  position: relative;
}

.teacher-student-autocomplete > input {
  position: relative;
  z-index: 2;
  pointer-events: auto !important;
}

.teacher-student-autocomplete__list {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 20;
  display: grid;
  gap: 4px;
  max-height: 220px;
  overflow-y: auto;
  padding: 6px;
  border: 1px solid rgba(207, 216, 229, 0.95);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
  backdrop-filter: blur(8px);
}

.teacher-student-autocomplete__option,
.teacher-student-autocomplete__empty {
  width: 100%;
  padding: 9px 12px;
  border-radius: 10px;
  font-size: 0.9rem;
  text-align: left;
}

.teacher-student-autocomplete__option {
  border: 0;
  background: transparent;
  color: var(--text);
  box-shadow: none;
  font-weight: 500;
}

.teacher-student-autocomplete__option:hover,
.teacher-student-autocomplete__option.is-active {
  transform: none;
  background: rgba(143, 20, 34, 0.08);
  box-shadow: none;
}

.teacher-student-autocomplete__empty {
  color: var(--muted);
  background: rgba(248, 250, 252, 0.95);
}

.acompanhamento-student-field {
  position: relative;
  align-self: start;
  z-index: 3;
  overflow: visible;
}

.acompanhamento-student-autocomplete {
  position: relative;
  display: block;
  width: 100%;
}

.acompanhamento-student-autocomplete__list {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 24;
  width: 100%;
  max-height: 168px;
  margin-top: 0;
  overflow-y: auto;
}

.align-end {
  align-items: flex-end;
}

.schedule-week-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
  margin: 16px 0;
}

.schedule-week-grid textarea,
.schedule-exception-box textarea {
  min-height: 110px;
  resize: vertical;
}

.schedule-exception-box {
  margin-top: 14px;
}

.schedule-summary-list {
  margin: 12px 0;
  padding-left: 18px;
  color: #334155;
}

.schedule-summary-list li + li {
  margin-top: 6px;
}

.history-stack {
  display: grid;
  gap: 20px;
}

.acompanhamento-card {
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 22px;
  padding: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, #ffffff 100%);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
  display: grid;
  gap: 14px;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.acompanhamento-card:hover {
  transform: translateY(-2px);
  border-color: rgba(148, 163, 184, 0.32);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
}

.acompanhamento-top {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.acompanhamento-detail {
  display: grid;
  gap: 8px;
  color: #475569;
  font-size: 0.95rem;
  line-height: 1.55;
}

.acompanhamento-detail p {
  margin: 0;
}

#tab-acompanhamento {
  display: grid;
  gap: 26px;
}

#tab-acompanhamento > .panel {
  padding: 30px;
  border-radius: 26px;
}

#tab-acompanhamento > .panel:first-child {
  display: grid;
  gap: 22px;
}

#tab-acompanhamento > .panel:first-child > .muted {
  margin: 0;
  padding: 0 2px;
}

#tab-acompanhamento > .panel:first-child > .grid-form.three {
  padding: 24px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 24px;
  background: linear-gradient(180deg, #fdfefe 0%, #f8fbff 100%);
  gap: 20px 22px;
}

#tab-acompanhamento > .panel:first-child > .grid-form.three label {
  display: grid;
  gap: 8px;
}

#tab-acompanhamento > .panel:first-child > .toolbar {
  margin-top: 0;
  padding: 15px 16px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  gap: 12px;
}

#tab-acompanhamento .badge {
  border-color: rgba(148, 163, 184, 0.18);
  background: rgba(248, 250, 252, 0.9);
  color: #334155;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

#tab-acompanhamento > .panel.methodology-print-shell {
  padding: 28px;
  border: 1px solid #dbe4f0;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
}

#tab-acompanhamento > .panel.methodology-print-shell::before {
  opacity: 0.8;
}

#tab-acompanhamento .methodology-print-head,
#tab-acompanhamento .methodology-print-cards {
  display: grid;
  gap: 18px;
}

#tab-acompanhamento .methodology-print-card {
  border-radius: 20px;
  border: 1px solid #dbe4f0;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

#tab-acompanhamento #acompanhamentoBoard {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
  display: grid;
  gap: 26px;
}

#tab-acompanhamento #acompanhamentoBoard > .panel.acompanhamento-section-panel {
  padding: 30px;
  border-radius: 26px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  box-shadow: 0 14px 36px rgba(15, 23, 42, 0.05);
}

#tab-acompanhamento #acompanhamentoBoard > .panel.acompanhamento-section-panel + .panel.acompanhamento-section-panel {
  margin-top: 0;
}

#tab-acompanhamento #acompanhamentoBoard > .panel.acompanhamento-section-panel > .panel-title-row {
  margin-bottom: 18px;
}

#tab-acompanhamento .acompanhamento-section-panel--collapsible > .panel-title-row {
  margin-bottom: 0;
}

#tab-acompanhamento .acompanhamento-section-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 18px 20px;
  border: 1px solid rgba(191, 219, 254, 0.54);
  border-radius: 20px;
  background: linear-gradient(180deg, #f8fbff 0%, #f1f6fd 100%);
  text-align: left;
  cursor: pointer;
  transition: background-color 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

#tab-acompanhamento .acompanhamento-section-toggle:hover {
  border-color: rgba(96, 165, 250, 0.4);
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.08);
}

#tab-acompanhamento .acompanhamento-section-copy {
  display: grid;
  gap: 4px;
}

#tab-acompanhamento .acompanhamento-section-copy strong {
  font-size: 1rem;
  color: #0f172a;
}

#tab-acompanhamento .acompanhamento-section-copy span {
  color: #47627f;
  font-size: 0.9rem;
  font-weight: 600;
}

#tab-acompanhamento .acompanhamento-section-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

#tab-acompanhamento .acompanhamento-section-body {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

#tab-acompanhamento .acompanhamento-section-body[hidden] {
  display: none !important;
}

#tab-acompanhamento .acompanhamento-section-panel--collapsible.is-open .acompanhamento-summary-arrow {
  transform: rotate(180deg);
  background: #dbeafe;
  border-color: rgba(96, 165, 250, 0.34);
}

.acompanhamento-summary-card {
  gap: 14px;
}

.acompanhamento-summary-card--static {
  box-shadow: none;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #ffffff;
  padding: 18px;
}

.acompanhamento-week-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 20px;
  border-radius: 20px;
  border: 1px solid rgba(191, 219, 254, 0.5);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.96) 0%, rgba(241, 245, 249, 0.92) 100%);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.acompanhamento-week-banner strong {
  font-size: 1rem;
  color: #0f172a;
}

.acompanhamento-week-banner span {
  color: #64748b;
  font-size: 0.88rem;
}

.acompanhamento-nucleus-card {
  gap: 16px;
  border-color: rgba(191, 219, 254, 0.42);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.05);
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  padding: 22px;
  position: relative;
}

.acompanhamento-nucleus-card::before {
  content: "Chamada";
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 6px 12px;
  border-radius: 999px;
  background: #eef3ff;
  color: #28406b;
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.acompanhamento-nucleus-toggle {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 2px 0;
  text-align: left;
  cursor: pointer;
}

.acompanhamento-nucleus-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
  flex: 1 1 auto;
}

.acompanhamento-nucleus-copy strong {
  font-size: 1rem;
  color: #0f172a;
}

.acompanhamento-nucleus-copy span {
  font-size: 0.86rem;
  color: #64748b;
}

.acompanhamento-nucleus-card.is-open .acompanhamento-summary-arrow {
  transform: rotate(180deg);
  background: #eef2ff;
  border-color: rgba(99, 102, 241, 0.22);
}

.acompanhamento-nucleus-panel {
  display: grid;
  gap: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.acompanhamento-nucleus-panel[hidden] {
  display: none !important;
}

.acompanhamento-summary-toggle {
  display: grid;
  gap: 10px;
  width: 100%;
  padding: 2px 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.acompanhamento-summary-head {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.acompanhamento-summary-head-right {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.acompanhamento-summary-meta {
  font-size: 0.94rem;
  font-weight: 600;
  color: #475569;
}

.acompanhamento-summary-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.92);
  border: 1px solid rgba(148, 163, 184, 0.22);
  color: #475569;
  transition: transform 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
}

.acompanhamento-summary-card.is-open .acompanhamento-summary-arrow {
  transform: rotate(180deg);
  background: #eef2ff;
}

.acompanhamento-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}

.acompanhamento-summary-stat {
  display: grid;
  gap: 7px;
  padding: 14px 15px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 252, 0.92) 100%);
}

.acompanhamento-summary-stat span {
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #64748b;
}

.acompanhamento-summary-stat-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.acompanhamento-summary-stat-label i {
  font-style: normal;
  font-size: 0.95rem;
}

.acompanhamento-summary-stat-label b {
  font-weight: 700;
}

.acompanhamento-summary-stat strong {
  font-size: 1.75rem;
  line-height: 1;
  color: #0f172a;
}

.acompanhamento-summary-stat.is-presenca {
  border-color: rgba(22, 163, 74, 0.18);
  background: linear-gradient(180deg, #f5fff8 0%, #effcf3 100%);
}

.acompanhamento-summary-stat.is-falta {
  border-color: rgba(220, 38, 38, 0.18);
  background: linear-gradient(180deg, #fff7f7 0%, #fff1f2 100%);
}

.acompanhamento-summary-stat.is-justificado {
  border-color: rgba(234, 179, 8, 0.22);
  background: linear-gradient(180deg, #fffdf2 0%, #fff9db 100%);
}

.acompanhamento-summary-stat.is-sa {
  border-color: rgba(71, 85, 105, 0.18);
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

.acompanhamento-summary-panel {
  border-top: 1px solid rgba(226, 232, 240, 0.9);
  padding-top: 18px;
}

#acompanhamentoBoard > .panel.acompanhamento-section-panel .acompanhamento-card:not(.acompanhamento-nucleus-card) {
  position: relative;
  padding-top: 28px;
  border-color: #e4d9dd;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
}

#acompanhamentoBoard > .panel.acompanhamento-section-panel .acompanhamento-card:not(.acompanhamento-nucleus-card)::before {
  content: "Justificativas e registros";
  position: absolute;
  top: -12px;
  left: 18px;
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1d4ed8;
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

#acompanhamentoBoard > .panel.acompanhamento-section-panel .acompanhamento-week-banner + .acompanhamento-nucleus-card {
  margin-top: 8px;
}

#acompanhamentoBoard > .panel.acompanhamento-section-panel .acompanhamento-nucleus-card + .acompanhamento-card:not(.acompanhamento-nucleus-card) {
  margin-top: 20px;
}

#acompanhamentoBoard > .panel.acompanhamento-section-panel .acompanhamento-card:not(.acompanhamento-nucleus-card) + .acompanhamento-card:not(.acompanhamento-nucleus-card) {
  margin-top: 10px;
}

.acompanhamento-summary-list {
  display: grid;
  gap: 8px;
}

.acompanhamento-summary-list-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.72);
  border: 1px solid rgba(226, 232, 240, 0.9);
  transition: background-color 0.18s ease, border-color 0.18s ease;
}

.acompanhamento-summary-list-item:hover {
  background: rgba(241, 245, 249, 0.92);
  border-color: rgba(148, 163, 184, 0.24);
}

#tab-acompanhamento .panel-title-row {
  align-items: center;
  margin-bottom: 20px;
}

#tab-acompanhamento .panel-title-row h2 {
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #0f172a;
}

#tab-acompanhamento .badge {
  padding: 6px 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.82);
  color: #475569;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

#tab-acompanhamento #acompanhamentoBoard > .panel.acompanhamento-section-panel {
  padding: 32px !important;
  border-radius: 24px !important;
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.06) !important;
}

#tab-acompanhamento .acompanhamento-card {
  padding: 24px;
  border-radius: 24px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
}

#tab-acompanhamento .acompanhamento-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.1);
}

#tab-acompanhamento .acompanhamento-top + .muted {
  padding: 10px 12px;
  border-radius: 14px;
  background: #f8fafc;
  line-height: 1.6;
}

#tab-acompanhamento .acompanhamento-entry-toggle {
  display: grid;
  gap: 10px;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

#tab-acompanhamento .acompanhamento-entry-toggle:hover .acompanhamento-entry-summary {
  background: #f8fafc;
  border-color: rgba(148, 163, 184, 0.24);
}

#tab-acompanhamento .acompanhamento-entry-summary {
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  color: #334155;
  line-height: 1.6;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

#tab-acompanhamento .acompanhamento-entry-panel {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(248, 250, 252, 0.72);
  border: 1px solid rgba(226, 232, 240, 0.9);
}

#tab-acompanhamento .acompanhamento-entry-panel[hidden] {
  display: none !important;
}

#tab-acompanhamento .acompanhamento-summary-toggle,
#tab-acompanhamento .acompanhamento-nucleus-toggle {
  padding: 4px 2px;
}

#tab-acompanhamento .acompanhamento-summary-meta {
  font-size: 0.92rem;
  color: #64748b;
}

#tab-acompanhamento .acompanhamento-summary-arrow {
  width: 32px;
  height: 32px;
  background: #fff;
  border-color: rgba(148, 163, 184, 0.22);
  color: #0f172a;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

#tab-acompanhamento .acompanhamento-card.is-open .acompanhamento-entry-chevron {
  transform: rotate(180deg);
  background: #eef2ff;
  border-color: rgba(99, 102, 241, 0.22);
}

#tab-acompanhamento .acompanhamento-summary-grid {
  gap: 14px;
  margin-top: 4px;
}

#tab-acompanhamento .acompanhamento-summary-stat {
  padding: 16px;
  border-radius: 18px;
}

#tab-acompanhamento .acompanhamento-summary-stat strong {
  font-size: 1.9rem;
}

#tab-acompanhamento .acompanhamento-summary-panel,
#tab-acompanhamento .acompanhamento-nucleus-panel {
  padding-top: 18px;
  margin-top: 4px;
}

#tab-acompanhamento .acompanhamento-summary-list-item {
  padding: 14px 16px;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

@media (max-width: 640px) {
  .acompanhamento-week-banner {
    align-items: flex-start;
    flex-direction: column;
  }

  .acompanhamento-nucleus-toggle {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .acompanhamento-summary-list-item {
    align-items: flex-start;
    flex-direction: column;
  }
}

.annual-snack-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
}

.annual-snack-value {
  font-size: 2rem;
  font-weight: 800;
  color: #0f172a;
}

.annual-snack-table th,
.annual-snack-table td {
  text-align: left;
}

.print-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.print-preview-panel {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px dashed #c9d5e6;
  border-radius: 18px;
  background: linear-gradient(180deg, #fcfdff 0%, #f7faff 100%);
}

.reports-snack-panel {
  gap: 18px;
}

.reports-snack-toolbar {
  grid-template-columns: minmax(220px, 1.35fr) auto auto;
  align-items: end;
  gap: 16px;
}

.reports-snack-toolbar__year {
  min-width: 0;
}

.reports-snack-toolbar__action {
  display: flex;
  align-items: end;
}

.reports-snack-toolbar__action .ghost,
.reports-snack-toolbar__action .primary {
  min-width: 160px;
  min-height: 52px;
}

.reports-snack-panel #annualSnackStatus:empty {
  display: none;
}

.reports-snack-preview.is-empty .print-preview-board {
  min-height: 80px;
}

.reports-snack-preview.is-empty .print-preview-board::before {
  content: "A pré-visualização ficará disponível quando houver registros.";
  display: block;
  color: #607089;
  line-height: 1.6;
}

.reports-print-panel {
  display: grid;
  gap: 18px;
}

.reports-print-panel__type {
  grid-template-columns: minmax(240px, 380px);
}

.reports-print-panel__type-field,
.reports-print-panel__type-field select {
  width: 100%;
}

.reports-print-panel__custom,
.reports-print-panel__status {
  display: grid;
  gap: 12px;
}

.reports-print-panel__actions {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 12px;
}

.reports-print-panel__actions .ghost,
.reports-print-panel__actions .primary {
  min-height: 52px;
}

@media (max-width: 900px) {
  .reports-snack-toolbar {
    grid-template-columns: 1fr;
  }

  .reports-snack-toolbar__action,
  .reports-snack-toolbar__action .ghost,
  .reports-snack-toolbar__action .primary,
  .reports-print-panel__actions .ghost,
  .reports-print-panel__actions .primary {
    width: 100%;
  }
}

.print-preview-board {
  display: grid;
  gap: 14px;
  max-height: 680px;
  overflow: auto;
  padding-right: 4px;
}

.print-preview-sheet {
  display: grid;
  gap: 14px;
}

.print-preview-sheet-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}

.print-preview-sheet-head h3,
.print-preview-block h4 {
  margin: 0;
}

.print-preview-sheet-head p,
.print-record-note {
  margin: 0;
}

.print-preview-meta {
  color: #475467;
  font-size: 0.88rem;
}

.print-preview-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}

.print-preview-kpis article,
.print-record-sheet {
  border: 1px solid #d7dde7;
  border-radius: 16px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.print-preview-kpis strong {
  display: block;
  margin-bottom: 8px;
}

.print-preview-kpis b {
  font-size: 1.5rem;
  color: #0f172a;
}

.print-preview-block {
  display: grid;
  gap: 10px;
}

.checklist-print-batch {
  display: grid;
  gap: 18px;
}

.checklist-print-batch__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.checklist-print-batch__head h3 {
  margin: 0 0 4px;
  color: #10233a;
  font-size: 1.15rem;
}

.checklist-print-batch__head p,
.checklist-print-batch__meta {
  margin: 0;
  color: #5b6b7e;
  font-size: 0.92rem;
}

.checklist-print-records {
  display: grid;
  gap: 22px;
}

.checklist-print-record {
  display: grid;
  gap: 10px;
}

.checklist-print-record__panel {
  display: grid;
  gap: 12px;
  padding: 16px 18px;
  border: 1px solid rgba(209, 219, 230, 0.92);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(247,250,252,0.98) 100%);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.checklist-print-record__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  color: #4b5563;
  font-size: 0.82rem;
}

.checklist-print-record__info {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px 12px;
}

.checklist-print-info-item {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(214, 223, 235, 0.9);
}

.checklist-print-info-item span {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #64748b;
}

.checklist-print-info-item strong {
  color: #10233a;
  font-size: 0.96rem;
}

.checklist-print-record__averages {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}

.checklist-print-average-card {
  display: grid;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(214, 223, 235, 0.95);
  background: rgba(255, 255, 255, 0.94);
}

.checklist-print-average-card > div:first-child {
  display: grid;
  gap: 3px;
}

.checklist-print-average-card > div:first-child strong {
  color: #10233a;
}

.checklist-print-average-card > div:first-child span {
  color: #64748b;
  font-size: 0.8rem;
}

.checklist-print-average-card__values {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.checklist-print-average-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #d9e4f1;
  color: #17324f;
  font-weight: 700;
}

.checklist-print-average-pill b {
  color: #8f1833;
}

.checklist-print-average-card[data-tone="instrutores"] {
  background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(255,247,248,0.98) 100%);
}

.checklist-print-average-card[data-tone="turmas"] {
  background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(247,250,255,0.98) 100%);
}

.checklist-print-record__notes {
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(248, 250, 252, 0.98);
  border: 1px solid rgba(214, 223, 235, 0.92);
}

.checklist-print-record__notes span {
  color: #64748b;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.checklist-print-record__notes p {
  margin: 0;
  color: #17324f;
  line-height: 1.55;
}

.checklist-print-sheet {
  position: relative;
  width: min(100%, 860px);
  margin: 0 auto;
  aspect-ratio: 595.5 / 842;
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.12);
}

.checklist-print-sheet__pdf,
.checklist-print-sheet__fallback,
.checklist-print-sheet__overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.checklist-print-sheet__pdf {
  border: none;
  pointer-events: none;
  z-index: 1;
  background: #fff;
}

.checklist-print-sheet__fallback {
  display: grid;
  place-content: center;
  gap: 8px;
  padding: 24px;
  text-align: center;
  color: #334155;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 252, 0.98));
  z-index: 0;
}

.checklist-print-sheet__fallback strong {
  font-size: 1.05rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #10233a;
}

.checklist-print-sheet__overlay {
  z-index: 2;
}

.checklist-print-field {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 4px;
  border-radius: 6px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.68);
  color: #8f1833;
  font-size: clamp(0.44rem, 0.64vw, 0.72rem);
  font-weight: 800;
  line-height: 1.05;
  text-align: center;
  backdrop-filter: blur(1px);
}

.checklist-print-field--compact {
  font-size: clamp(0.38rem, 0.54vw, 0.62rem);
}

.checklist-print-field[data-tone="soft"] {
  color: #0f2745;
  background: rgba(255, 255, 255, 0.54);
}

.checklist-print-field[data-tone="note"] {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  padding: 5px 7px;
  color: #243447;
  font-size: clamp(0.4rem, 0.58vw, 0.66rem);
  white-space: pre-wrap;
  overflow: hidden;
}

.checklist-print-field[data-tone="score"] {
  font-size: clamp(0.48rem, 0.7vw, 0.8rem);
}

.checklist-print-field[data-tone="metric"] {
  color: #0f2745;
  background: rgba(255, 250, 205, 0.84);
  font-size: clamp(0.46rem, 0.68vw, 0.76rem);
}

.checklist-print-field[data-tone="ok"] {
  color: #166534;
}

.checklist-print-field[data-tone="warn"] {
  color: #b45309;
}

.checklist-print-field[data-tone="danger"] {
  color: #b42318;
}

.print-record-sheet {
  display: grid;
  gap: 12px;
}

.print-record-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.print-record-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  color: #475467;
  font-size: 0.92rem;
}

.supervisor-v2-shell {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(124, 90, 80, 0.12);
  border-radius: 14px;
  background: #faf8f6;
}

.supervisor-v2-tabs {
  display: flex;
  gap: 0;
  overflow-x: auto;
  border-bottom: 1px solid rgba(124, 90, 80, 0.12);
  background: #fff;
  border-radius: 8px 8px 0 0;
  padding: 0 10px;
}

.supervisor-v2-tab {
  width: auto;
  min-height: 44px;
  padding: 0 16px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #8a7b74;
  box-shadow: none;
  font-size: 0.82rem;
  font-weight: 700;
  white-space: nowrap;
}

.supervisor-v2-tab.is-active {
  color: #7b2d3e;
  border-bottom-color: #7b2d3e;
}

.supervisor-v2-panel {
  display: none;
}

.supervisor-v2-panel.is-active {
  display: block;
}

.supervisor-v2-hero {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.supervisor-v2-kicker {
  display: block;
  margin-bottom: 4px;
  color: #8a7b74;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.supervisor-v2-hero h3,
.supervisor-v2-section-head h3 {
  margin: 0;
  color: #1e1a18;
  font-size: 1.45rem;
  font-weight: 600;
}

.supervisor-v2-hero > strong {
  padding: 8px 10px;
  border-radius: 8px;
  background: #f5eef0;
  color: #7b2d3e;
  font-size: 0.82rem;
  white-space: nowrap;
}

.supervisor-v2-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.supervisor-v2-metric {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border: 1px solid rgba(124, 90, 80, 0.12);
  border-radius: 8px;
  background: #fff;
}

.supervisor-v2-metric span,
.supervisor-v2-metric small {
  color: #8a7b74;
  font-size: 0.72rem;
}

.supervisor-v2-metric strong {
  color: #1e1a18;
  font-size: 1.65rem;
  line-height: 1;
}

.supervisor-v2-metric--featured {
  background: #7b2d3e;
  border-color: #7b2d3e;
}

.supervisor-v2-metric--featured span,
.supervisor-v2-metric--featured strong,
.supervisor-v2-metric--featured small {
  color: #fff;
}

.supervisor-v2-grid,
.supervisor-v2-alert-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.supervisor-v2-block,
.supervisor-v2-alert-card,
.supervisor-v2-nucleus-card,
.supervisor-v2-agenda-item {
  border: 1px solid rgba(124, 90, 80, 0.12);
  border-radius: 8px;
  background: #fff;
}

.supervisor-v2-block,
.supervisor-v2-alert-card {
  padding: 16px;
}

.supervisor-v2-block h4,
.supervisor-v2-alert-card h4 {
  margin: 0 0 10px;
  color: #1e1a18;
  font-size: 0.95rem;
}

.supervisor-v2-block p {
  margin: 0 0 8px;
  color: #8a7b74;
  line-height: 1.45;
}

.supervisor-v2-list {
  display: grid;
  gap: 8px;
}

.supervisor-v2-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(124, 90, 80, 0.12);
  border-radius: 8px;
  background: #faf8f6;
  color: #4a3f3a;
  box-shadow: none;
}

.supervisor-v2-row strong {
  color: #7b2d3e;
}

.supervisor-v2-section-head {
  display: grid;
  gap: 3px;
  margin-bottom: 14px;
}

.supervisor-v2-section-head span {
  color: #8a7b74;
  font-size: 0.84rem;
}

.supervisor-v2-agenda {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
}

.supervisor-v2-agenda-item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
}

.supervisor-v2-agenda-item time {
  color: #7b2d3e;
  font-weight: 700;
}

.supervisor-v2-agenda-item strong,
.supervisor-v2-card-head strong,
.supervisor-v2-alert-line strong {
  display: block;
  color: #1e1a18;
}

.supervisor-v2-agenda-item span,
.supervisor-v2-card-head span,
.supervisor-v2-alert-line span {
  color: #8a7b74;
  font-size: 0.78rem;
}

.supervisor-v2-nucleus-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.supervisor-v2-nucleus-card {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.supervisor-v2-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.supervisor-v2-card-head em {
  padding: 3px 8px;
  border-radius: 6px;
  background: #f5eef0;
  color: #7b2d3e;
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 700;
}

.supervisor-v2-nucleus-card[data-status="ok"] .supervisor-v2-card-head em {
  background: #e8f5ef;
  color: #2d7a5b;
}

.supervisor-v2-nucleus-card[data-status="crit"] .supervisor-v2-card-head em,
.supervisor-v2-alert-card[data-status="crit"] h4 {
  color: #9b2535;
}

.supervisor-v2-score-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.supervisor-v2-score-track {
  flex: 1;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: #f7f4f1;
}

.supervisor-v2-score-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #b89a6a;
}

.supervisor-v2-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.supervisor-v2-pill-row span {
  padding: 4px 8px;
  border: 1px solid rgba(124, 90, 80, 0.12);
  border-radius: 6px;
  background: #faf8f6;
  color: #8a7b74;
  font-size: 0.7rem;
}

.supervisor-v2-link {
  width: fit-content;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(123, 45, 62, 0.22);
  border-radius: 8px;
  background: #f5eef0;
  color: #7b2d3e;
  box-shadow: none;
  font-size: 0.78rem;
  font-weight: 700;
}

.supervisor-v2-alert-card {
  display: grid;
  gap: 10px;
}

.supervisor-v2-alert-line {
  display: grid;
  gap: 3px;
  padding: 10px 0;
  border-top: 1px solid rgba(124, 90, 80, 0.12);
}

.supervisor-v2-planner {
  position: relative;
  display: grid;
  gap: 14px;
}

.supervisor-v2-planner-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.supervisor-v2-agenda-toolbar {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
}

.supervisor-v2-agenda-metrics,
.supervisor-v2-planner-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.supervisor-v2-inline-stat {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(124, 90, 80, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.8);
  color: #6b5b54;
  font-size: 0.78rem;
}

.supervisor-v2-inline-stat b {
  margin-right: 6px;
  color: #1e1a18;
  font-size: 0.86rem;
}

.supervisor-v2-link--primary {
  justify-self: flex-start;
  background: #7b2d3e;
  border-color: #7b2d3e;
  color: #fff;
}

.supervisor-v2-visit-filters,
.supervisor-v2-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.supervisor-v2-visit-filters {
  margin-bottom: 14px;
}

.supervisor-v2-visit-filters--compact {
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  padding: 10px 12px;
  border: 1px solid rgba(124, 90, 80, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(10px);
}

.supervisor-v2-visit-filters--compact label span {
  color: #8a7b74;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.supervisor-v2-visit-filters label,
.supervisor-v2-form-grid label {
  display: grid;
  gap: 6px;
  color: #5d5049;
  font-size: 0.82rem;
  font-weight: 600;
}

.supervisor-v2-visit-form {
  display: grid;
  gap: 14px;
  height: 100%;
  padding: 20px;
  border-left: 1px solid rgba(124, 90, 80, 0.12);
  background: linear-gradient(180deg, #fff, #fcfaf8);
}

.supervisor-v2-form-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.supervisor-v2-form-head strong {
  display: block;
  color: #1e1a18;
}

.supervisor-v2-form-head span {
  color: #8a7b74;
  font-size: 0.78rem;
}

.supervisor-v2-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.supervisor-v2-form-grid__wide {
  grid-column: 1 / -1;
}

.supervisor-v2-agenda-groups {
  display: grid;
  gap: 16px;
}

.supervisor-v2-agenda-group {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(124, 90, 80, 0.1);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(250,248,246,0.98)),
    radial-gradient(circle at top left, rgba(123,45,62,0.06), transparent 42%);
}

.supervisor-v2-agenda-group__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.supervisor-v2-agenda-group__head h4 {
  margin: 0;
  color: #1e1a18;
}

.supervisor-v2-agenda-group__head span {
  color: #8a7b74;
  font-size: 0.78rem;
}

.supervisor-v2-agenda-item--detailed {
  grid-template-columns: 78px minmax(0, 1fr) minmax(170px, 210px);
  align-items: center;
  padding: 12px 14px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(31, 24, 22, 0.06);
}

.supervisor-v2-agenda-item--detailed time {
  display: grid;
  gap: 3px;
}

.supervisor-v2-time-badge {
  place-items: start;
  padding: 10px 10px 8px;
  border-radius: 14px;
  background: linear-gradient(180deg, #f9f1f3, #fff);
  border: 1px solid rgba(123, 45, 62, 0.12);
}

.supervisor-v2-agenda-item--detailed time strong {
  color: #7b2d3e;
  font-size: 1.05rem;
}

.supervisor-v2-agenda-copy {
  display: grid;
  gap: 4px;
}

.supervisor-v2-agenda-copy p {
  margin: 0;
  color: #5d5049;
  line-height: 1.35;
  font-size: 0.8rem;
}

.supervisor-v2-agenda-copy__head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.supervisor-v2-status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: #f5eef0;
  color: #7b2d3e;
  font-size: 0.72rem;
  font-weight: 700;
}

.supervisor-v2-status-pill[data-status="ok"] {
  background: #e7f5ee;
  color: #2d7a5b;
}

.supervisor-v2-status-pill[data-status="warn"] {
  background: #fff4e5;
  color: #9a5d18;
}

.supervisor-v2-status-pill[data-status="pending"] {
  background: #f2f4f7;
  color: #475467;
}

.supervisor-v2-agenda-actions {
  display: grid;
  gap: 8px;
  align-content: start;
}

.supervisor-v2-planner-empty {
  display: grid;
  justify-items: start;
  gap: 10px;
  padding: 28px;
  border: 1px dashed rgba(123, 45, 62, 0.22);
  border-radius: 20px;
  background:
    radial-gradient(circle at top left, rgba(123,45,62,0.08), transparent 36%),
    linear-gradient(180deg, #fff, #faf8f6);
}

.supervisor-v2-planner-empty h4,
.supervisor-v2-planner-empty p {
  margin: 0;
}

.supervisor-v2-planner-empty p {
  max-width: 420px;
  color: #6b5b54;
  line-height: 1.5;
}

.supervisor-v2-planner-empty__icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: #f5eef0;
  color: #7b2d3e;
}

.supervisor-v2-planner-empty__icon svg {
  width: 26px;
  height: 26px;
}

.supervisor-v2-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(28, 21, 19, 0.36);
  backdrop-filter: blur(4px);
  z-index: 70;
}

.supervisor-v2-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: min(460px, 100vw);
  height: 100vh;
  background: #fffdfb;
  box-shadow: -18px 0 48px rgba(24, 18, 16, 0.16);
  z-index: 71;
  overflow: auto;
}

@media (max-width: 1180px) {
  .supervisor-v2-metrics,
  .supervisor-v2-nucleus-grid,
  .supervisor-v2-visit-filters,
  .supervisor-v2-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .supervisor-v2-shell {
    padding: 12px;
  }

  .supervisor-v2-metrics,
  .supervisor-v2-grid,
  .supervisor-v2-alert-grid,
  .supervisor-v2-nucleus-grid,
  .supervisor-v2-visit-filters,
  .supervisor-v2-form-grid {
    grid-template-columns: 1fr;
  }

  .supervisor-v2-planner-head,
  .supervisor-v2-agenda-group__head {
    flex-direction: column;
    align-items: stretch;
  }

  .supervisor-v2-agenda-item,
  .supervisor-v2-agenda-item--detailed {
    grid-template-columns: 1fr;
  }

  .supervisor-v2-form-head {
    flex-direction: column;
    align-items: stretch;
  }

  .supervisor-v2-drawer {
    width: 100vw;
  }
}

.supervisao-topo {
  gap: 16px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.supervisao-bloco {
  display: grid;
  gap: 16px;
}

.supervisao-data-store {
  display: none !important;
}

.supervisao-official-board {
  display: grid;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.supervisao-official-sheet {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 28px;
  border: 1px solid rgba(205, 215, 228, 0.92);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 249, 252, 0.98) 100%);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.supervisao-official-page {
  position: relative;
  width: min(100%, 860px);
  margin: 0 auto;
  aspect-ratio: 595.5 / 842;
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.12);
}

.supervisao-official-page__pdf,
.supervisao-official-page__fallback,
.supervisao-official-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.supervisao-official-page__pdf {
  border: none;
  pointer-events: none;
  background: #fff;
  z-index: 1;
}

.supervisao-official-page__fallback {
  display: grid;
  place-content: center;
  gap: 8px;
  padding: 24px;
  text-align: center;
  color: #334155;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 252, 0.98) 100%);
  z-index: 0;
}

.supervisao-official-page__fallback strong {
  font-size: 1.05rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #0f2745;
}

.supervisao-official-page__fallback span {
  font-size: 0.92rem;
  color: #64748b;
}

.supervisao-official-overlay {
  z-index: 2;
  overflow: hidden;
  pointer-events: none;
}

.supervisao-official-cell {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  pointer-events: auto;
  transform: translateY(-2.5px);
}

.supervisao-official-cell--daily {
  padding: 1.5px 5px;
}

.supervisao-official-cell--monthly {
  padding: 2px 8px;
}

.supervisao-official-select {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0 2px !important;
  border: 1px solid rgba(42, 58, 82, 0.12);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.14);
  color: #8f1833;
  font-family: inherit;
  font-size: clamp(0.43rem, 0.6vw, 0.62rem);
  font-weight: 800;
  line-height: 1;
  text-align: center;
  text-align-last: center;
  vertical-align: middle;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  transition: background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, color 0.16s ease;
  cursor: pointer;
}

.supervisao-official-select:hover {
  background: rgba(255, 255, 255, 0.52);
  border-color: rgba(143, 24, 51, 0.22);
  box-shadow: 0 1px 5px rgba(15, 23, 42, 0.08);
}

.supervisao-official-select:focus {
  outline: none;
  background: rgba(255, 255, 255, 0.84);
  border-color: rgba(143, 24, 51, 0.42);
  box-shadow: 0 0 0 1.5px rgba(143, 24, 51, 0.14), 0 2px 8px rgba(15, 23, 42, 0.1);
}

.supervisao-official-cell--daily .supervisao-official-select {
  font-size: clamp(0.41rem, 0.58vw, 0.6rem);
}

.supervisao-official-cell--monthly .supervisao-official-select {
  font-size: clamp(0.52rem, 0.72vw, 0.72rem);
}

.supervisao-official-select[data-supervisao-value="sim"],
.supervisao-official-select[data-supervisao-value="1"],
.supervisao-official-select[data-supervisao-value="2"],
.supervisao-official-select[data-supervisao-value="3"],
.supervisao-official-select[data-supervisao-value="4"],
.supervisao-official-select[data-supervisao-value="5"] {
  background: rgba(255, 255, 255, 0.34);
  border-color: rgba(31, 98, 72, 0.2);
  color: #114334;
}

.supervisao-official-select[data-supervisao-value="parcial"] {
  background: rgba(255, 250, 230, 0.44);
  border-color: rgba(181, 122, 29, 0.24);
  color: #8a4f0c;
}

.supervisao-official-select[data-supervisao-value="nao"] {
  background: rgba(255, 245, 246, 0.46);
  border-color: rgba(143, 24, 51, 0.24);
  color: #8f1833;
}

.supervisao-official-field {
  position: absolute;
  z-index: 4;
  box-sizing: border-box;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  display: block;
  padding: 1px 4px !important;
  border: 1px solid rgba(42, 58, 82, 0.12);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.18);
  color: #10233a;
  font-family: inherit;
  font-size: clamp(0.43rem, 0.62vw, 0.66rem);
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
  text-align-last: center;
  outline: none;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  overflow: hidden;
  contain: layout paint;
  transition: background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
  transform: translateY(-2.5px);
}

.supervisao-official-field--compact {
  padding: 0 3px !important;
  font-size: clamp(0.38rem, 0.55vw, 0.58rem);
}

.supervisao-official-field--note {
  padding: 5px 7px !important;
  text-align: left;
  text-align-last: auto;
  line-height: 1.35;
  resize: none;
  white-space: pre-wrap;
}

.supervisao-official-field:hover {
  background: rgba(255, 255, 255, 0.54);
  border-color: rgba(143, 24, 51, 0.2);
  box-shadow: 0 1px 5px rgba(15, 23, 42, 0.08);
}

.supervisao-official-field:focus {
  background: rgba(255, 255, 255, 0.86);
  border-color: rgba(143, 24, 51, 0.42);
  box-shadow: 0 0 0 1.5px rgba(143, 24, 51, 0.14), 0 2px 8px rgba(15, 23, 42, 0.1);
}

.supervisao-digital-sheet {
  width: min(100%, 1040px);
  margin: 0 auto;
  display: grid;
  gap: 18px;
  padding: 18px;
  border: 1px solid rgba(205, 215, 228, 0.92);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 252, 0.98) 100%);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
  overflow-x: auto;
}

.supervisao-digital-block {
  display: grid;
  gap: 10px;
}

.supervisao-digital-grid {
  display: grid;
  min-width: 760px;
  border: 1px solid #1f2933;
  border-radius: 14px;
  overflow: hidden;
  background: #ffffff;
}

.supervisao-digital-grid--daily {
  grid-template-columns: 44px minmax(220px, 1.7fr) repeat(6, minmax(86px, 1fr));
}

.supervisao-digital-grid--monthly {
  grid-template-columns: 44px minmax(260px, 1.8fr) repeat(5, minmax(96px, 1fr));
}

.supervisao-digital-row {
  display: contents;
}

.supervisao-digital-head,
.supervisao-digital-index,
.supervisao-digital-label,
.supervisao-digital-cell,
.supervisao-digital-average-label,
.supervisao-digital-metric {
  min-height: 34px;
  border-right: 1px solid #1f2933;
  border-bottom: 1px solid #1f2933;
}

.supervisao-digital-head {
  display: grid;
  place-items: center;
  padding: 7px 8px;
  background: #d9d9d9;
  color: #0f172a;
  font-weight: 900;
  text-align: center;
}

.supervisao-digital-head--item {
  justify-content: center;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}

.supervisao-digital-index,
.supervisao-digital-label {
  display: grid;
  place-items: center;
  padding: 5px 8px;
  color: #0f172a;
  font-weight: 850;
}

.supervisao-digital-index {
  background: #eef2f6;
}

.supervisao-digital-label {
  text-align: center;
}

.supervisao-digital-cell {
  display: grid;
  place-items: center;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.96);
}

.supervisao-digital-select.supervisao-official-select {
  width: 100%;
  height: 25px;
  min-height: 0 !important;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.58);
  border-color: rgba(148, 163, 184, 0.34);
  font-size: 0.72rem;
  transform: none;
}

.supervisao-digital-average-label {
  grid-column: 1 / 3;
  display: grid;
  place-items: center;
  min-height: 34px;
  padding: 6px 8px;
  background: #fff4cc;
  color: #0f172a;
  font-weight: 900;
}

.supervisao-digital-metric.supervisao-official-metric {
  position: static;
  width: auto;
  height: auto;
  min-height: 34px;
  border: 0;
  border-right: 1px solid #1f2933;
  border-bottom: 1px solid #1f2933;
  border-radius: 0;
  background: #fff4cc;
  transform: none;
}

.supervisao-digital-grid > :nth-child(8n),
.supervisao-digital-grid--monthly > :nth-child(7n) {
  border-right: 0;
}

#tab-supervisao .supervisao-legenda {
  display: none;
}

#tab-supervisao #supervisorV2LegacyPanel {
  width: min(100%, 960px);
  margin: 6px auto 0;
  display: grid;
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(124, 90, 80, 0.1);
  border-radius: 18px;
  background:
    linear-gradient(180deg, #faf8f2 0%, #f4efe3 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.66);
}

#tab-supervisao #supervisorV2LegacyPanel:not(.is-active) {
  display: none !important;
}

#tab-supervisao #supervisorV2LegacyPanel.is-active {
  display: grid !important;
}

#tab-supervisao .supervisao-checklist-card {
  position: relative;
  border: 1px solid rgba(35, 52, 68, 0.16);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(18, 40, 55, 0.24) 0%, rgba(31, 46, 59, 0.18) 42%, rgba(143, 24, 51, 0.08) 100%);
  box-shadow: 0 10px 26px rgba(10, 23, 34, 0.08);
  padding: 12px;
  overflow: hidden;
}

#tab-supervisao .supervisao-checklist-card::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 21px;
  background:
    linear-gradient(180deg, rgba(250, 248, 242, 0.96) 0%, rgba(244, 239, 227, 0.98) 100%);
  z-index: 0;
}

#tab-supervisao .supervisao-checklist-card > * {
  position: relative;
  z-index: 1;
}

#tab-supervisao .supervisao-checklist-toggle {
  min-height: 60px;
  padding: 12px 14px;
  border: 1px solid rgba(35, 52, 68, 0.13);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(16, 39, 56, 0.98) 0%, rgba(31, 46, 59, 0.98) 100%);
  color: #f8f3e7;
  box-shadow: 0 10px 22px rgba(10, 23, 34, 0.14);
}

#tab-supervisao .supervisao-checklist-toggle:hover {
  border-color: rgba(143, 24, 51, 0.32);
  background:
    linear-gradient(135deg, rgba(14, 48, 68, 0.98) 0%, rgba(31, 46, 59, 0.98) 100%);
}

#tab-supervisao .supervisao-card-kicker {
  color: rgba(246, 241, 229, 0.7);
  font-size: 0.66rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#tab-supervisao .supervisao-card-title,
#tab-supervisao .supervisao-checklist-toggle .panel-collapse-head h2 {
  color: #fffaf0;
  font-size: 1.08rem;
  font-weight: 900;
  letter-spacing: -0.01em;
}

#tab-supervisao .supervisao-checklist-toggle .panel-collapse-sub {
  color: rgba(246, 241, 229, 0.76);
}

#tab-supervisao .supervisao-card-badge {
  border: 1px solid rgba(246, 241, 229, 0.26);
  background: rgba(143, 24, 51, 0.92);
  color: #fffaf0;
}

#tab-supervisao .supervisao-checklist-toggle .panel-collapse-icon {
  background: rgba(246, 241, 229, 0.1);
  border-color: rgba(246, 241, 229, 0.22);
  color: #fffaf0;
}

#tab-supervisao .supervisao-checklist-card__content,
#tab-supervisao .supervisao-checklist-card .panel-collapse-content {
  gap: 12px;
}

#tab-supervisao .supervisao-topo,
#tab-supervisao .supervisao-form-shell {
  padding: 12px;
  border: 1px solid rgba(198, 209, 223, 0.76);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 252, 244, 0.96) 0%, rgba(247, 242, 231, 0.96) 100%);
}

#tab-supervisao .supervisao-data-store {
  display: block !important;
  overflow-x: auto;
  border: 1px solid rgba(35, 52, 68, 0.2);
  border-radius: 16px;
  background: #fffdf7;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

#tab-supervisao .supervisao-table {
  min-width: 720px;
  font-size: 0.82rem;
  border-collapse: collapse;
}

#tab-supervisao .supervisao-notas {
  min-width: 680px;
}

#tab-supervisao .supervisao-table th {
  background: #e4e6e5;
  color: #152535;
  font-weight: 900;
  text-align: center;
  padding: 7px 6px;
}

#tab-supervisao .supervisao-table td {
  color: #152535;
  text-align: center;
  padding: 5px 6px;
  line-height: 1.18;
}

#tab-supervisao .supervisao-table td:nth-child(2) {
  font-weight: 850;
}

#tab-supervisao .supervisao-media-row td {
  padding: 6px 8px;
  background: #f7efd7;
  color: #102738;
  font-weight: 900;
  border-top: 1px solid rgba(35, 52, 68, 0.22);
}

#tab-supervisao .supervisao-media-row td:first-child {
  text-align: center;
  letter-spacing: 0.01em;
}

#tab-supervisao .supervisao-media-row [data-supervisao-average-cell] {
  color: #8f1833;
  font-variant-numeric: tabular-nums;
}

#tab-supervisao .supervisao-status-select,
#tab-supervisao .supervisao-nota-select {
  min-height: 28px !important;
  height: 28px !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  border-color: rgba(148, 163, 184, 0.38) !important;
  background: rgba(255, 255, 255, 0.9) !important;
  color: #102738 !important;
  font-weight: 800 !important;
  text-align: center;
  text-align-last: center;
  font-size: 0.76rem !important;
}

#tab-supervisao .supervisao-official-board {
  display: none !important;
}

.supervisao-table-wrap {
  overflow-x: auto;
  border: 1px solid #d6dde8;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.supervisao-table {
  width: 100%;
  min-width: 880px;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.supervisao-table th,
.supervisao-table td {
  border-bottom: 1px solid #dbe4f0;
  border-right: 1px solid #e6edf6;
  padding: 12px 10px;
  vertical-align: middle;
  background: rgba(255, 255, 255, 0.92);
}

.supervisao-table th:last-child,
.supervisao-table td:last-child {
  border-right: none;
}

.supervisao-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #eef4fb;
  color: #17324f;
  font-weight: 800;
}

.supervisao-table tbody tr:nth-child(even) td {
  background: #fbfdff;
}

.supervisao-status-select,
.supervisao-nota-select {
  width: 100%;
  min-width: 82px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid #b8c7db;
  background: #fff;
  font-size: 0.98rem;
  font-weight: 700;
  color: #10233a;
}

.supervisao-legenda {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #334155;
  font-size: 0.95rem;
}

.supervisao-observacoes {
  display: grid;
  gap: 8px;
}

.supervisao-form-shell {
  display: grid;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 22px;
  border: 1px solid rgba(214, 223, 235, 0.92);
  background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(248,250,252,0.96) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.78);
}

.supervisao-form-grid {
  gap: 14px;
}

.supervisao-observacoes textarea {
  min-height: 140px;
}

.supervisao-media-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}

.supervisao-media-card {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid #d9e4f1;
  background: rgba(255, 255, 255, 0.96);
}

.supervisao-media-card > div:first-child {
  display: grid;
  gap: 4px;
}

.supervisao-media-card > div:first-child strong {
  color: #10233a;
}

.supervisao-media-card > div:first-child span {
  color: #64748b;
  font-size: 0.82rem;
}

.supervisao-media-card__values {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.supervisao-media-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #d9e4f1;
  color: #17324f;
  font-weight: 700;
}

.supervisao-media-pill b {
  color: #8f1833;
}

.supervisao-official-metric {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 4px;
  border-radius: 8px;
  background: rgba(255, 250, 205, 0.86);
  border: 1px solid rgba(196, 181, 129, 0.7);
  color: #10233a;
  font-size: clamp(0.52rem, 0.78vw, 0.82rem);
  font-weight: 800;
  line-height: 1;
  transform: translateY(-2.5px);
}

.supervisao-subtitle {
  margin: 4px 0 0;
  font-size: 1rem;
  color: #0f2745;
}

.supervisao-mestre-resumo {
  display: grid;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #dbe5f0;
  border-radius: 18px;
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9ff 100%);
}

.supervisao-mestre-resumo__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.supervisao-mestre-resumo__head .supervisao-subtitle {
  margin: 0;
}

.supervisao-mestre-resumo__board {
  display: grid;
  gap: 12px;
}

.supervisao-mestre-card {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid #d9e4f1;
  background: rgba(255, 255, 255, 0.96);
}

.supervisao-mestre-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.supervisao-mestre-card__head strong {
  color: #10233a;
}

.supervisao-mestre-card__copy {
  display: grid;
  gap: 10px;
}

.supervisao-mestre-card__copy div {
  display: grid;
  gap: 4px;
}

.supervisao-mestre-card__copy strong {
  color: #17324f;
  font-size: 0.92rem;
}

.supervisao-mestre-card__copy p,
.supervisao-mestre-card--empty p {
  margin: 0;
  color: #40566f;
  line-height: 1.5;
}

#supervisaoMensalPanel:not(.is-open) .panel-collapse-sub {
  color: #b45309;
}

@media (max-width: 768px) {
  .supervisao-topo,
  #tab-supervisao .grid-form.four {
    grid-template-columns: 1fr;
  }

  .supervisao-official-sheet {
    padding: 12px;
    border-radius: 22px;
  }

  .supervisao-official-page {
    width: min(100%, 980px);
    min-width: 720px;
    border-radius: 18px;
  }

  .supervisao-mestre-resumo__head,
  .supervisao-mestre-card__head {
    align-items: flex-start;
  }

  .supervisao-table-wrap {
    border-radius: 16px;
  }

  .supervisao-table {
    min-width: 720px;
    font-size: 0.92rem;
  }

  .supervisao-table th,
  .supervisao-table td {
    padding: 12px 8px;
  }

  .supervisao-status-select,
  .supervisao-nota-select {
    min-width: 94px;
    min-height: 46px;
    font-size: 1rem;
  }

  .supervisao-legenda {
    font-size: 0.9rem;
  }

  .annual-snack-grid {
    grid-template-columns: 1fr 1fr;
  }

  .print-preview-grid {
    grid-template-columns: 1fr;
  }

  .print-preview-sheet-head,
  .print-record-head,
  .checklist-print-batch__head {
    flex-direction: column;
  }

  .checklist-print-sheet {
    width: min(100%, 980px);
    min-width: 720px;
    border-radius: 18px;
  }
}

@media (max-width: 520px) {
  .annual-snack-grid {
    grid-template-columns: 1fr;
  }

  .annual-snack-value {
    font-size: 1.7rem;
  }

  .supervisao-table {
    min-width: 680px;
  }
}

/* =========================
   REFINOS OPERACIONAIS
========================= */
.login-card .login-brand h1 {
  color: #101828 !important;
}

.login-card .login-brand .sub {
  color: #4b5568 !important;
}

.login-card .login-project-badge {
  border-color: rgba(194, 204, 218, 0.72);
  background: linear-gradient(180deg, rgba(250, 251, 253, 0.96) 0%, rgba(243, 246, 250, 0.94) 100%);
}

.table-wrapper td {
  color: #24364a;
  font-weight: 500;
}

.table-wrapper tbody tr:hover td {
  background: #f9fbfd;
}

.table-wrapper td .muted {
  color: #607089;
}

.nucleus-column {
  padding: 16px 18px;
}

.student-card {
  display: grid;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 18px;
}

.student-card-body {
  display: grid;
  gap: 4px;
}

.student-name {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.25;
  color: #16253a;
}

.student-class-info {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.4;
  color: #52627b;
}

.student-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 0;
}

.student-actions button {
  min-height: 42px;
  border-radius: 12px;
}

.student-actions button.is-selected {
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.04), 0 10px 20px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}

.student-actions button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}

.attendance-final-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid #dce5f0;
  border-radius: 16px;
  background: linear-gradient(180deg, #fbfcfe 0%, #f4f8fb 100%);
}

.attendance-final-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.attendance-final-copy strong {
  color: #16253a;
  font-size: 0.92rem;
}

.attendance-final-copy span {
  color: #5d6d85;
  font-size: 0.84rem;
  line-height: 1.45;
}

#attendanceRegisterBtn {
  min-width: 190px;
  box-shadow: 0 12px 24px rgba(143, 20, 34, 0.16);
}

#attendanceRegisterBtn:disabled {
  box-shadow: none;
}

.attendance-no-class-note {
  margin-bottom: 12px;
  padding: 12px 14px;
  border: 1px solid #f0d9ae;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff9ec 0%, #fff4d9 100%);
  color: #7d5b00;
  font-size: 0.84rem;
  font-weight: 700;
}

.no-class-item {
  display: grid;
  gap: 8px;
}

.no-class-item-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.no-class-item-meta,
.no-class-item-reason {
  margin: 0;
}

.no-class-item-meta {
  font-size: 0.84rem;
  color: #4f627b;
}

.no-class-item-reason {
  font-size: 0.88rem;
  color: #19273d;
  line-height: 1.45;
}

.month-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 12px;
  margin-top: 12px;
  margin-bottom: 14px;
}

.month-summary-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid #dde5ef;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f5f8fb 100%);
  box-shadow: var(--shadow-panel-soft);
}

.month-summary-label {
  font-size: 0.82rem;
  font-weight: 700;
  color: #5a6b84;
}

.month-summary-value {
  font-size: 1.4rem;
  line-height: 1;
  color: #16253a;
}

.ead-progress-shell {
  display: grid;
  gap: 18px;
}

.ead-progress-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
}

.ead-progress-summary-card {
  display: grid;
  gap: 8px;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid #dbe4ef;
  background: linear-gradient(180deg, #ffffff 0%, #f6f9fc 100%);
  box-shadow: 0 18px 36px rgba(15, 35, 63, 0.08);
}

.ead-progress-summary-card--accent {
  background: linear-gradient(135deg, #14243d 0%, #213a5e 100%);
  border-color: rgba(20, 36, 61, 0.15);
}

.ead-progress-summary-card--accent span,
.ead-progress-summary-card--accent strong {
  color: #f8fbff;
}

.ead-progress-summary-card span {
  font-size: 0.78rem;
  font-weight: 700;
  color: #607089;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.ead-progress-summary-card strong {
  font-size: 1.4rem;
  color: #15263c;
}

.ead-progress-nucleus-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.ead-progress-nucleus-card {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid #d9e2ed;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafd 100%);
}

.ead-progress-nucleus-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.ead-progress-nucleus-top strong {
  font-size: 0.96rem;
  color: #17283f;
}

.ead-progress-nucleus-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ead-progress-nucleus-metrics span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #eef4fb;
  color: #35506f;
  font-size: 0.78rem;
  font-weight: 700;
}

.ead-progress-list {
  display: grid;
  gap: 14px;
}

.ead-progress-card {
  display: grid;
  gap: 16px;
  padding: 18px 20px;
  border-radius: 22px;
  border: 1px solid #d9e2ed;
  background:
    radial-gradient(circle at top right, rgba(221, 231, 244, 0.55), transparent 36%),
    linear-gradient(180deg, #ffffff 0%, #f7fafd 100%);
  box-shadow: 0 20px 40px rgba(15, 35, 63, 0.08);
}

.ead-progress-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.ead-progress-card-title {
  min-width: 0;
}

.ead-progress-card-head strong {
  font-size: 1rem;
  color: #17283f;
}

.ead-progress-card-head p {
  margin: 4px 0 0;
  font-size: 0.84rem;
  color: #5a6b84;
}

.ead-progress-card-side {
  display: grid;
  justify-items: end;
  gap: 8px;
}

.ead-progress-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ead-progress-status.is-strong {
  background: rgba(34, 197, 94, 0.16);
  color: #19703b;
}

.ead-progress-status.is-medium {
  background: rgba(245, 158, 11, 0.18);
  color: #9f5a00;
}

.ead-progress-status.is-soft {
  background: rgba(59, 130, 246, 0.12);
  color: #2554a0;
}

.ead-progress-bar-shell {
  display: grid;
  gap: 8px;
}

.ead-progress-bar-copy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 0.84rem;
  color: #52647d;
}

.ead-progress-bar-copy strong {
  font-size: 0.92rem;
  color: #14243d;
}

.ead-progress-bar-track {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: #eaf0f7;
  overflow: hidden;
}

.ead-progress-bar-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #7aa0d9 0%, #2554a0 100%);
}

.ead-progress-bar-fill.is-strong {
  background: linear-gradient(90deg, #36c275 0%, #15803d 100%);
}

.ead-progress-bar-fill.is-medium {
  background: linear-gradient(90deg, #f7b955 0%, #d97706 100%);
}

.ead-progress-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}

.ead-progress-metric-box {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid #e2eaf3;
}

.ead-progress-kicker {
  display: block;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #607089;
}

.ead-progress-metrics strong {
  font-size: 1.08rem;
  color: #15263c;
}

.ead-progress-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-start;
}

.ead-progress-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid #d7e1ed;
  background: #f5f8fc;
  color: #2b3d57;
  font-size: 0.8rem;
  font-weight: 700;
}

.ead-progress-chip.muted-chip {
  color: #64748b;
}

.ead-monitor-panel {
  border-color: #d7e3f2;
}

.ead-monitor-board {
  display: grid;
  gap: 18px;
}

.ead-monitor-shell {
  display: grid;
  gap: 18px;
}

.ead-monitor-preview-note {
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid #d8e2ef;
  background: linear-gradient(180deg, #f9fbfe 0%, #f2f6fb 100%);
  color: #52647d;
  font-size: 0.88rem;
  line-height: 1.55;
}

.ead-monitor-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
}

.ead-monitor-summary-card {
  display: grid;
  gap: 8px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid #d9e4f1;
  background: linear-gradient(180deg, #ffffff 0%, #f6f9fd 100%);
  box-shadow: 0 18px 40px rgba(18, 36, 60, 0.08);
}

.ead-monitor-summary-card--accent {
  background: linear-gradient(135deg, #14243d 0%, #223e64 100%);
  border-color: rgba(20, 36, 61, 0.18);
}

.ead-monitor-summary-card span {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #5f6f87;
}

.ead-monitor-summary-card strong {
  font-size: 1.45rem;
  color: #15263c;
}

.ead-monitor-summary-card--accent span,
.ead-monitor-summary-card--accent strong {
  color: #f8fbff;
}

.ead-monitor-grid {
  display: grid;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.ead-monitor-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.ead-monitor-section-head h3 {
  margin: 0 0 4px;
  font-size: 1.02rem;
  color: #14243d;
}

.ead-monitor-section-head p {
  margin: 0;
  font-size: 0.84rem;
  color: #607089;
}

.ead-monitor-nucleus-shell,
.ead-monitor-collaborator-shell {
  display: grid;
  gap: 12px;
}

.ead-monitor-nucleus-grid {
  display: grid;
  gap: 12px;
}

.ead-monitor-nucleus-card {
  display: grid;
  gap: 10px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid #dbe4ef;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafd 100%);
}

.ead-monitor-nucleus-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.ead-monitor-nucleus-top strong {
  font-size: 0.98rem;
  color: #16253c;
}

.ead-monitor-nucleus-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ead-monitor-nucleus-metrics span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #eef4fb;
  color: #34506f;
  font-size: 0.78rem;
  font-weight: 700;
}

.ead-monitor-table-shell {
  border-radius: 20px;
  border: 1px solid #dbe4ef;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
  box-shadow: 0 18px 40px rgba(18, 36, 60, 0.08);
  overflow: hidden;
}

.ead-monitor-table {
  width: 100%;
  border-collapse: collapse;
}

.ead-monitor-table thead th {
  padding: 14px 16px;
  border-bottom: 1px solid #dbe4ef;
  background: #f4f7fb;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #607089;
  text-align: left;
}

.ead-monitor-table tbody td {
  padding: 14px 16px;
  border-bottom: 1px solid #e7eef6;
  vertical-align: top;
  font-size: 0.9rem;
  color: #1f3048;
}

.ead-monitor-table tbody tr:last-child td {
  border-bottom: 0;
}

.ead-monitor-collaborator-cell {
  display: grid;
  gap: 4px;
}

.ead-monitor-collaborator-cell strong {
  color: #14243d;
}

.ead-monitor-collaborator-cell span {
  font-size: 0.8rem;
  color: #607089;
}

.ead-monitor-progress-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
  background: rgba(59, 130, 246, 0.12);
  color: #2554a0;
}

.ead-monitor-progress-pill.is-strong {
  background: rgba(34, 197, 94, 0.16);
  color: #1b7a43;
}

.ead-monitor-progress-pill.is-medium {
  background: rgba(245, 158, 11, 0.18);
  color: #9f5a00;
}

.ead-monitor-shell {
  gap: 20px;
}

.ead-monitor-preview-note {
  padding: 14px 16px 14px 44px;
  border-radius: 18px;
  border: 1px solid rgba(224, 227, 232, 0.98);
  background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
  color: #667085;
  box-shadow: none;
}

.ead-monitor-preview-note::before {
  top: 16px;
  left: 16px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(139, 26, 26, 0.92) 0%, rgba(139, 26, 26, 0.55) 100%);
  box-shadow: none;
}

.ead-monitor-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.ead-monitor-summary-card,
.ead-monitor-summary-card--accent {
  min-height: 132px;
  gap: 12px;
  padding: 18px 18px 16px;
  border-radius: 20px;
  border: 1px solid rgba(228, 231, 236, 0.98);
  background: linear-gradient(180deg, #ffffff 0%, #f8f9fb 100%);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.ead-monitor-summary-card::before,
.ead-monitor-summary-card--accent::before {
  height: 3px;
  background: linear-gradient(90deg, rgba(139, 26, 26, 0.7) 0%, rgba(139, 26, 26, 0.08) 100%);
}

.ead-monitor-summary-card::after,
.ead-monitor-summary-card--accent::after {
  display: none;
}

.ead-monitor-summary-card:nth-child(2)::before,
.ead-monitor-summary-card:nth-child(3)::before,
.ead-monitor-summary-card:nth-child(4)::before {
  background: linear-gradient(90deg, rgba(139, 26, 26, 0.52) 0%, rgba(139, 26, 26, 0.08) 100%);
}

.ead-monitor-summary-card span,
.ead-monitor-summary-card--accent span {
  max-width: none;
  color: #6b7280;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.ead-monitor-summary-card strong,
.ead-monitor-summary-card--accent strong {
  color: #111827;
  font-size: clamp(1.6rem, 2vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.05em;
}

.ead-monitor-grid {
  gap: 18px;
}

.ead-monitor-nucleus-shell,
.ead-monitor-collaborator-shell {
  gap: 14px;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(230, 232, 236, 0.98);
  background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.04);
}

.ead-monitor-section-head {
  margin-bottom: 0;
}

.ead-monitor-section-head h3 {
  margin: 0 0 4px;
  font-size: 1rem;
  color: #111827;
}

.ead-monitor-section-head p {
  color: #6b7280;
  font-size: 0.84rem;
}

.ead-monitor-section-head::after {
  background: linear-gradient(90deg, rgba(226, 232, 240, 1) 0%, rgba(226, 232, 240, 0.2) 100%);
}

.ead-monitor-nucleus-grid {
  gap: 12px;
}

.ead-monitor-nucleus-card {
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(232, 235, 239, 0.98);
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.035);
}

.ead-monitor-nucleus-card::before {
  left: 16px;
  right: 16px;
  height: 2px;
  background: linear-gradient(90deg, rgba(139, 26, 26, 0.52) 0%, rgba(139, 26, 26, 0.06) 100%);
}

.ead-monitor-nucleus-top strong {
  color: #111827;
  font-size: 0.96rem;
}

.ead-monitor-nucleus-top .badge {
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(229, 231, 235, 1);
  background: #f8fafc;
  color: #6b7280;
  box-shadow: none;
}

.ead-monitor-nucleus-metrics {
  gap: 8px;
}

.ead-monitor-nucleus-metrics span {
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(229, 231, 235, 1);
  background: #ffffff;
  color: #374151;
  font-size: 0.76rem;
  box-shadow: none;
}

.ead-monitor-table-shell {
  border-radius: 20px;
  border: 1px solid rgba(230, 232, 236, 0.98);
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.04);
}

.ead-monitor-table thead th {
  padding: 15px 18px;
  background: linear-gradient(180deg, #fafafb 0%, #f4f6f8 100%);
  border-bottom: 1px solid rgba(229, 231, 235, 1);
  color: #6b7280;
  font-size: 0.71rem;
  letter-spacing: 0.1em;
}

.ead-monitor-table tbody tr:nth-child(even) {
  background: rgba(249, 250, 251, 0.7);
}

.ead-monitor-table tbody tr:hover {
  background: rgba(246, 247, 249, 1);
}

.ead-monitor-table tbody td {
  padding: 18px;
  border-bottom: 1px solid rgba(238, 240, 243, 1);
  color: #111827;
  font-size: 0.9rem;
}

.ead-monitor-collaborator-cell {
  gap: 5px;
}

.ead-monitor-collaborator-cell strong {
  color: #111827;
  font-size: 0.94rem;
  font-weight: 700;
}

.ead-monitor-collaborator-cell span {
  color: #6b7280;
  font-size: 0.8rem;
}

.ead-monitor-table tbody td:nth-child(2),
.ead-monitor-table tbody td:nth-child(3) {
  color: #374151;
  font-weight: 600;
}

.ead-monitor-progress-cell {
  display: grid;
  gap: 8px;
  min-width: 120px;
}

.ead-monitor-progress-track {
  position: relative;
  width: 100%;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #eceff3;
}

.ead-monitor-progress-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(34, 197, 94, 0.72) 0%, rgba(34, 197, 94, 0.46) 100%);
}

.ead-monitor-progress-fill.is-medium {
  background: linear-gradient(90deg, rgba(139, 26, 26, 0.58) 0%, rgba(139, 26, 26, 0.34) 100%);
}

.ead-monitor-progress-fill.is-soft {
  background: linear-gradient(90deg, rgba(148, 163, 184, 0.8) 0%, rgba(148, 163, 184, 0.38) 100%);
}

.ead-monitor-progress-pill {
  justify-content: flex-start;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #6b7280;
  font-size: 0.76rem;
  font-weight: 700;
  box-shadow: none;
}

.ead-monitor-progress-pill.is-strong {
  background: transparent;
  color: #15803d;
  border: 0;
}

.ead-monitor-progress-pill.is-medium {
  background: transparent;
  color: #8b1a1a;
  border: 0;
}

.ead-monitor-progress-pill.is-soft {
  background: transparent;
  color: #64748b;
  border: 0;
}

.ead-monitor-shell {
  gap: 22px;
}

.ead-monitor-preview-note {
  position: relative;
  padding: 16px 18px 16px 52px;
  border-radius: 20px;
  border: 1px solid rgba(210, 222, 237, 0.95);
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.95), transparent 34%),
    linear-gradient(180deg, #f8fbff 0%, #f1f6fc 100%);
  color: #50627d;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.ead-monitor-preview-note::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 18px;
  width: 22px;
  height: 22px;
  border-radius: 8px;
  background: linear-gradient(135deg, #2b4769 0%, #577eaf 100%);
  box-shadow: 0 10px 20px rgba(34, 58, 92, 0.18);
}

.ead-monitor-summary {
  gap: 16px;
}

.ead-monitor-summary-card {
  position: relative;
  gap: 10px;
  min-height: 152px;
  padding: 22px 22px 20px;
  border-radius: 24px;
  border: 1px solid rgba(214, 225, 239, 0.95);
  background:
    radial-gradient(circle at top right, rgba(235, 241, 248, 0.85), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f4f8fc 100%);
  box-shadow:
    0 24px 54px rgba(18, 36, 60, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.84);
  overflow: hidden;
}

.ead-monitor-summary-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, rgba(58, 92, 138, 0.78) 0%, rgba(147, 176, 214, 0.12) 100%);
}

.ead-monitor-summary-card::after {
  content: "";
  position: absolute;
  right: -18px;
  bottom: -28px;
  width: 108px;
  height: 108px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(207, 220, 238, 0.5) 0%, rgba(207, 220, 238, 0) 68%);
  pointer-events: none;
}

.ead-monitor-summary-card:nth-child(2)::before,
.ead-monitor-summary-card:nth-child(3)::before,
.ead-monitor-summary-card:nth-child(4)::before,
.ead-monitor-summary-card--accent::before {
  background: linear-gradient(90deg, rgba(139, 26, 26, 0.42) 0%, rgba(139, 26, 26, 0.06) 100%);
}

.ead-monitor-summary-card--accent {
  background: linear-gradient(180deg, #ffffff 0%, #f8f9fb 100%);
  border-color: rgba(228, 231, 236, 0.98);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.ead-monitor-summary-card,
.ead-monitor-summary-card--accent {
  min-height: 116px;
  gap: 8px;
  padding: 15px 16px 14px;
  border-radius: 18px;
}

.ead-monitor-summary-card span,
.ead-monitor-summary-card--accent span {
  max-width: none;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1.35;
}

.ead-monitor-summary-card strong,
.ead-monitor-summary-card--accent strong {
  position: relative;
  z-index: 1;
  font-size: clamp(1.45rem, 1.7vw, 1.8rem);
  line-height: 1;
  letter-spacing: -0.045em;
}

.ead-monitor-grid {
  grid-template-columns: minmax(296px, 340px) minmax(0, 1fr);
  gap: 20px;
}

.ead-monitor-nucleus-shell,
.ead-monitor-collaborator-shell {
  gap: 16px;
  padding: 22px;
  border-radius: 26px;
  border: 1px solid rgba(215, 225, 238, 0.96);
  background:
    radial-gradient(circle at top right, rgba(233, 239, 247, 0.75), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f7fafd 100%);
  box-shadow:
    0 22px 48px rgba(18, 36, 60, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.ead-monitor-section-head {
  align-items: center;
  margin-bottom: 2px;
}

.ead-monitor-section-head h3 {
  margin: 0 0 6px;
  font-size: 1.08rem;
  letter-spacing: -0.03em;
}

.ead-monitor-section-head p {
  max-width: 44ch;
  font-size: 0.86rem;
  line-height: 1.55;
}

.ead-monitor-section-head::after {
  content: "";
  flex: 1 1 auto;
  min-width: 40px;
  height: 1px;
  margin-top: 10px;
  background: linear-gradient(90deg, rgba(209, 219, 232, 0.92) 0%, rgba(209, 219, 232, 0.08) 100%);
}

.ead-monitor-nucleus-grid {
  gap: 14px;
}

.ead-monitor-nucleus-card {
  position: relative;
  gap: 12px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(214, 224, 237, 0.98);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(244, 248, 252, 0.96) 100%);
  box-shadow:
    0 16px 32px rgba(16, 29, 48, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.75);
  overflow: hidden;
}

.ead-monitor-nucleus-card::before {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(52, 82, 124, 0.8) 0%, rgba(113, 150, 196, 0.18) 100%);
}

.ead-monitor-nucleus-top {
  align-items: center;
}

.ead-monitor-nucleus-top strong {
  font-size: 1rem;
  letter-spacing: -0.02em;
}

.ead-monitor-nucleus-top .badge {
  border: 1px solid rgba(207, 220, 236, 0.98);
  background: rgba(240, 245, 251, 0.92);
  color: #314968;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.ead-monitor-nucleus-metrics {
  gap: 10px;
}

.ead-monitor-nucleus-metrics span {
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid rgba(216, 226, 239, 0.92);
  background: linear-gradient(180deg, #eef4fb 0%, #e8f0f8 100%);
  color: #2f4a69;
  font-size: 0.77rem;
  letter-spacing: 0.01em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

.ead-monitor-table-shell {
  border-radius: 22px;
  border: 1px solid rgba(215, 225, 238, 0.96);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(247, 250, 253, 0.97) 100%);
  box-shadow:
    0 22px 48px rgba(18, 36, 60, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.ead-monitor-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(216, 225, 238, 0.96);
  background:
    linear-gradient(180deg, rgba(246, 249, 253, 0.98) 0%, rgba(240, 245, 251, 0.98) 100%);
  font-size: 0.73rem;
  letter-spacing: 0.12em;
  color: #5d708c;
}

.ead-monitor-table tbody tr {
  transition: background 160ms ease, transform 160ms ease;
}

.ead-monitor-table tbody tr:nth-child(even) {
  background: rgba(248, 251, 255, 0.72);
}

.ead-monitor-table tbody tr:hover {
  background: rgba(240, 246, 253, 0.96);
}

.ead-monitor-table tbody td {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(230, 237, 245, 0.96);
  color: #213249;
}

.ead-monitor-collaborator-cell {
  gap: 6px;
}

.ead-monitor-collaborator-cell strong {
  font-size: 0.95rem;
  letter-spacing: -0.01em;
}

.ead-monitor-collaborator-cell span {
  max-width: 32ch;
  line-height: 1.45;
}

.ead-monitor-table tbody td:nth-child(2),
.ead-monitor-table tbody td:nth-child(3) {
  font-weight: 600;
  color: #334a67;
}

.ead-monitor-table tbody td:nth-child(4),
.ead-monitor-table tbody td:nth-child(5),
.ead-monitor-table tbody td:nth-child(7) {
  white-space: nowrap;
}

.ead-monitor-progress-pill {
  min-height: 32px;
  padding: 0 13px;
  border: 1px solid rgba(195, 213, 236, 0.78);
  background: linear-gradient(180deg, rgba(235, 243, 255, 0.94) 0%, rgba(222, 235, 254, 0.92) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.ead-monitor-progress-pill.is-strong {
  border-color: rgba(116, 196, 147, 0.3);
  background: linear-gradient(180deg, rgba(226, 247, 233, 0.96) 0%, rgba(209, 241, 221, 0.94) 100%);
}

.ead-monitor-progress-pill.is-medium {
  border-color: rgba(232, 188, 118, 0.32);
  background: linear-gradient(180deg, rgba(254, 241, 221, 0.98) 0%, rgba(250, 232, 198, 0.96) 100%);
}

.ead-monitor-progress-pill.is-soft {
  border-color: rgba(190, 208, 231, 0.72);
}

#tab-fila .fila-metric-card {
  display: grid !important;
  gap: 14px !important;
}

#tab-fila .fila-metric-head {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
}

#tab-fila .fila-metric-icon {
  width: 48px !important;
  height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 16px !important;
  background: color-mix(in srgb, var(--fila-accent, #4a73b8) 10%, #ffffff) !important;
  border: 1px solid color-mix(in srgb, var(--fila-accent, #4a73b8) 20%, #d9e3ef) !important;
  color: var(--fila-accent, #4a73b8) !important;
}

#tab-fila .fila-metric-icon svg {
  width: 22px !important;
  height: 22px !important;
}

#tab-fila .fila-metric-icon img {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  object-fit: contain !important;
}

#tab-fila .fila-metric-card .fila-metric-icon {
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: auto !important;
}

#tab-fila .fila-metric-card .fila-metric-icon svg {
  opacity: 1 !important;
  display: block !important;
}

#tab-fila .fila-metric-card .fila-metric-icon img {
  opacity: 1 !important;
  display: block !important;
}

#tab-fila .fila-metric-kicker {
  margin: 0 0 4px !important;
}

#tab-fila .fila-metric-card h3 {
  margin: 0 !important;
}

#tab-fila .fila-metric-card::after {
  display: none !important;
}

#tab-fila .fila-table tbody td:nth-child(5),
#tab-fila .fila-table tbody td:nth-child(6) {
  color: #37506b !important;
  font-weight: 600 !important;
}

#tab-estoque .item-delivery-stack {
  display: grid;
  gap: 10px;
}

#tab-estoque .item-delivery-current {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #4d607a;
}

#tab-estoque .stock-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

#tab-estoque .stock-search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 2;
  color: var(--text-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#tab-estoque #uniformSearch {
  width: 100%;
  padding-left: 44px !important;
}

#tab-estoque #uniformNucleusFilter {
  min-width: 220px;
}

#tab-estoque .stock-uniform-table {
  overflow-x: auto;
  overflow-y: visible;
}

#tab-estoque .stock-uniform-table thead {
  display: none;
}

#tab-estoque .stock-uniform-table table,
#tab-estoque .stock-uniform-table tbody,
#tab-estoque .stock-uniform-table tr,
#tab-estoque .stock-uniform-table td {
  overflow: visible;
}

#tab-estoque .stock-uniform-table td[data-role="items"] {
  min-width: 420px;
  overflow: visible;
}

#tab-estoque .stock-uniform-summary-row td {
  vertical-align: middle;
}

#tab-estoque .stock-uniform-nucleus-row td {
  border: 0;
  padding: 0 0 12px;
}

#tab-estoque .stock-uniform-nucleus-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid #d9e2ee;
  border-radius: 18px;
  background: linear-gradient(180deg, #fcfdff 0%, #f8fbff 100%);
  padding: 18px 20px;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

#tab-estoque .stock-uniform-nucleus-copy {
  display: grid;
  gap: 4px;
}

#tab-estoque .stock-uniform-nucleus-copy strong {
  font-size: 1rem;
}

#tab-estoque .stock-uniform-nucleus-copy span {
  color: #64748b;
  font-size: 0.86rem;
}

#tab-estoque .stock-uniform-nucleus-row.is-open .stock-uniform-toggle__arrow {
  transform: rotate(180deg);
  background: #fdf2f8;
}

#tab-estoque .stock-uniform-nucleus-details-row td {
  border: 0;
  padding: 0 0 20px;
}

#tab-estoque .stock-uniform-nucleus-panel {
  display: grid;
  gap: 14px;
  padding: 4px 6px 0;
}

#tab-estoque .stock-uniform-student-card {
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
  padding: 18px 20px;
  display: grid;
  gap: 18px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

#tab-estoque .stock-uniform-summary-row.is-open {
  background: rgba(143, 24, 51, 0.03);
}

#tab-estoque .stock-uniform-toggle {
  width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

#tab-estoque .stock-uniform-toggle__arrow {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid #d7dde7;
  background: #f8fafc;
  color: #475569;
  transition: transform 0.2s ease, background-color 0.2s ease;
  flex: 0 0 24px;
}

#tab-estoque .stock-uniform-summary-row.is-open .stock-uniform-toggle__arrow {
  transform: rotate(180deg);
  background: #fdf2f8;
}

#tab-estoque .stock-uniform-toggle__label {
  min-width: 0;
}

#tab-estoque .stock-uniform-summary-delivery,
#tab-estoque .stock-uniform-summary-hint {
  font-size: 0.85rem;
}

#tab-estoque .stock-uniform-details-row td {
  border-top: 0;
}

#tab-estoque .stock-uniform-details-panel {
  margin: 0 18px 16px;
  padding: 18px 20px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: linear-gradient(180deg, #fcfdff 0%, #f8fbff 100%);
  display: grid;
  gap: 18px;
}

#tab-estoque .stock-uniform-details-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

#tab-estoque .stock-uniform-detail-block {
  display: grid;
  gap: 6px;
  min-width: 0;
}

#tab-estoque .stock-uniform-detail-label {
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #64748b;
  font-weight: 700;
}

#tab-estoque .stock-uniform-delivery-body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

#tab-estoque .stock-uniform-delivery-controls {
  flex: 1 1 420px;
  min-width: 320px;
}

#tab-estoque .stock-uniform-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

#tab-estoque .stock-uniform-delete {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 14px;
  border-radius: 12px;
}

#tab-estoque .item-delivery-stack {
  display: grid;
  gap: 10px;
  min-width: 0;
}

#tab-estoque .item-delivery-current {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.4;
}

#tab-estoque .item-delivery-controls-row {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  min-width: 0;
}

#tab-estoque .item-delivery-select {
  width: 220px;
  min-width: 220px;
  min-height: 44px;
  border-radius: 14px;
  border: 1px solid #d5deea;
  background: #fff;
  padding: 0 36px 0 14px;
  font-size: 0.94rem;
  color: #1d2d42;
  text-overflow: clip;
  white-space: nowrap;
  flex: 0 0 220px;
}

#tab-estoque .item-delivery-size {
  width: 160px;
  min-width: 160px;
  min-height: 44px;
  border-radius: 14px;
  border: 1px solid #d5deea;
  background: #fff;
  padding: 0 36px 0 14px;
  font-size: 0.94rem;
  color: #1d2d42;
  flex: 0 0 160px;
  margin-top: 0 !important;
}

#tab-estoque .item-delivery-availability {
  margin: 0;
  line-height: 1.4;
}

#tab-estoque .item-delivery-availability {
  margin: 0;
  font-size: 0.74rem;
  line-height: 1.4;
}

#tab-estoque .stock-card {
  padding: 14px 16px !important;
}

#tab-estoque .stock-card-head {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
}

#tab-estoque .stock-card-icon {
  width: 48px !important;
  height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #f8fbfe 0%, #edf3f9 100%) !important;
  border: 1px solid #d9e2ee !important;
  color: #34517c !important;
}

#tab-estoque .stock-card-icon svg {
  width: 22px !important;
  height: 22px !important;
}

#tab-estoque .stock-card-icon .stock-card-icon-image {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  object-fit: contain !important;
}

#tab-estoque .stock-card-icon .stock-card-icon-image--faixa {
  width: 26px !important;
  height: 26px !important;
  object-fit: contain !important;
}

#tab-estoque .stock-card-copy {
  min-width: 0 !important;
  display: grid !important;
  gap: 8px !important;
}

#tab-estoque .stock-card-copy h4 {
  margin: 0 !important;
}

#tab-estoque .stock-card-head--premium {
  align-items: center !important;
}

#tab-estoque .stock-card-copy--premium {
  min-width: 0 !important;
  display: grid !important;
  gap: 10px !important;
}

#tab-estoque .stock-card-copy__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#tab-estoque .stock-card-toggle {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(143, 24, 51, 0.08);
  color: #8f1833;
  font-size: 0.74rem;
  font-weight: 700;
}

#tab-estoque .stock-size-detail {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}

#tab-estoque .stock-size-detail__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

#tab-estoque .stock-size-detail__head strong {
  font-size: 0.82rem;
  color: #15263c;
}

#tab-estoque .stock-size-detail__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 8px;
}

#tab-estoque #stockGradeField {
  margin-top: -4px;
}

#tab-estoque .stock-qty-trend {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  margin-top: 10px;
  padding: 8px 13px;
  border-radius: 999px;
  border: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.56), 0 4px 10px rgba(15, 23, 42, 0.04);
  line-height: 1;
  white-space: nowrap;
  overflow: visible;
}

#tab-estoque .stock-qty-trend--up {
  background: rgba(22, 162, 45, 0.09);
  border-color: rgba(22, 162, 45, 0.16);
  color: #117825;
}

#tab-estoque .stock-qty-trend--down {
  background: rgba(212, 17, 17, 0.08);
  border-color: rgba(212, 17, 17, 0.15);
  color: #b71919;
}

#tab-estoque .stock-qty-trend__value {
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #15263c;
}

#tab-estoque .stock-qty-trend--up .stock-qty-trend__value {
  color: #117825;
}

#tab-estoque .stock-qty-trend--down .stock-qty-trend__value {
  color: #b71919;
}

#tab-estoque .stock-qty-trend__icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 16px;
  overflow: visible;
}

#tab-estoque .stock-qty-trend__icon svg {
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  shape-rendering: geometricPrecision;
  overflow: visible;
}

#tab-estoque .stock-qty-trend__icon .my-path {
  vector-effect: non-scaling-stroke;
}

#tab-estoque .stock-history-entry {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 2px 0;
}

#tab-estoque .stock-history-entry__copy {
  min-width: 0;
  color: #21344d;
  line-height: 1.45;
}

#tab-estoque .stock-history-entry .stock-qty-trend,
#tab-estoque .snack-action-title .stock-qty-trend {
  margin-top: 0;
  padding: 6px 10px;
  border-radius: 999px;
  gap: 6px;
}

#tab-estoque .stock-history-entry .stock-qty-trend__value,
#tab-estoque .snack-action-title .stock-qty-trend__value {
  font-size: 0.88rem;
}

#tab-estoque .stock-history-entry .stock-qty-trend__icon,
#tab-estoque .snack-action-title .stock-qty-trend__icon {
  width: 14px;
  height: 14px;
  flex-basis: 14px;
}

#tab-estoque .stock-history-entry .stock-qty-trend__icon svg,
#tab-estoque .snack-action-title .stock-qty-trend__icon svg {
  width: 14px;
  height: 14px;
}

#tab-estoque .stock-history-entry--entry {
  border-left: 3px solid rgba(22, 162, 45, 0.26);
  padding-left: 4px;
}

#tab-estoque .stock-history-entry--exit {
  border-left: 3px solid rgba(212, 17, 17, 0.22);
  padding-left: 4px;
}

@media (max-width: 900px) {
  #tab-estoque .item-delivery-controls-row {
    flex-direction: column;
    align-items: stretch;
  }

  #tab-estoque .stock-uniform-details-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #tab-estoque .item-delivery-select,
  #tab-estoque .item-delivery-size {
    width: 100%;
    min-width: 0;
    flex: 1 1 auto;
  }

  #tab-estoque .stock-uniform-delivery-controls {
    min-width: 0;
    flex-basis: 100%;
  }

  #tab-estoque .stock-card-copy__top {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 720px) {
  #tab-estoque .stock-uniform-details-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .ead-monitor-summary {
    grid-template-columns: 1fr;
  }

  .ead-monitor-summary-card {
    min-height: 124px;
    padding: 18px;
  }

  .ead-monitor-section-head {
    display: grid;
  }

  .ead-monitor-section-head::after {
    display: none;
  }

  .ead-monitor-table-shell {
    overflow-x: auto;
  }

  .ead-monitor-table {
    min-width: 760px;
  }
}

#tab-estoque .snack-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.9fr) !important;
  align-items: start !important;
}

#tab-estoque .snack-card {
  display: grid !important;
  gap: 14px !important;
  padding: 16px !important;
  border-radius: 18px !important;
  border: 1px solid #dbe3ee !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafd 100%) !important;
  box-shadow: var(--shadow-panel-soft) !important;
}

#tab-estoque .snack-card-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

#tab-estoque .snack-card-head-side {
  display: grid;
  gap: 8px;
  justify-items: end;
}

#tab-estoque .snack-sub {
  color: #607089 !important;
}

#tab-estoque .snack-balance-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

#tab-estoque .snack-balance-row .stock-qty-trend {
  margin-top: 8px;
  padding: 10px 14px;
  border-radius: 18px;
}

#tab-estoque .snack-balance-row .stock-qty-trend__value {
  font-size: 1.45rem;
}

#tab-estoque .snack-balance-row .stock-qty-trend__icon {
  width: 18px;
  height: 18px;
  flex-basis: 18px;
}

#tab-estoque .snack-balance-row .stock-qty-trend__icon svg {
  width: 18px;
  height: 18px;
}

#tab-estoque .snack-balance-label {
  display: inline-flex !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #607089 !important;
  margin-bottom: 4px !important;
}

#tab-estoque .snack-balance {
  margin-top: 0 !important;
  line-height: 1 !important;
  color: #12243a !important;
}

#tab-estoque .snack-actions-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important;
  gap: 12px !important;
  align-items: start !important;
}

#tab-estoque .snack-action-block {
  display: grid !important;
  gap: 10px !important;
  padding: 15px !important;
  border-radius: 18px !important;
  border: 1px solid #e0e7f0 !important;
  background: linear-gradient(180deg, #fbfcfe 0%, #f5f8fb 100%) !important;
  min-width: 0 !important;
  overflow: hidden !important;
  position: relative;
}

#tab-estoque .snack-action-block--entry {
  border-color: rgba(22, 162, 45, 0.18) !important;
  background: linear-gradient(180deg, rgba(242, 251, 245, 0.96) 0%, rgba(234, 247, 239, 0.96) 100%) !important;
}

#tab-estoque .snack-action-block--exit {
  border-color: rgba(212, 17, 17, 0.16) !important;
  background: linear-gradient(180deg, rgba(255, 247, 247, 0.96) 0%, rgba(253, 239, 239, 0.96) 100%) !important;
}

#tab-estoque .snack-action-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

#tab-estoque .snack-action-copy {
  display: grid;
  gap: 6px;
}

#tab-estoque .snack-action-title {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

#tab-estoque .snack-action-eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

#tab-estoque .snack-action-eyebrow--entry {
  background: rgba(22, 162, 45, 0.12);
  color: #137d2a;
}

#tab-estoque .snack-action-eyebrow--exit {
  background: rgba(212, 17, 17, 0.1);
  color: #b71919;
}

#tab-estoque .snack-action-heading {
  letter-spacing: -0.01em;
}

#tab-estoque .snack-action-heading--entry {
  color: #137d2a !important;
}

#tab-estoque .snack-action-heading--exit {
  color: #b71919 !important;
}

#tab-estoque .snack-action-head strong {
  font-size: 0.88rem !important;
  color: #15263c !important;
}

#tab-estoque .snack-action-helper {
  font-size: 0.8rem !important;
  font-weight: 700;
  white-space: nowrap;
}

#tab-estoque .snack-action-helper--entry {
  color: #137d2a !important;
}

#tab-estoque .snack-action-helper--exit {
  color: #b71919 !important;
}

#tab-estoque .snack-quick {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  min-width: 0 !important;
}

#tab-estoque .snack-quick button {
  flex: 1 1 122px !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

#tab-estoque .snack-action-block .positive,
#tab-estoque .snack-action-block .negative {
  border-radius: 14px !important;
  font-weight: 700 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

#tab-estoque .snack-action-block .positive {
  border: 1px solid rgba(22, 162, 45, 0.16) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  color: #137d2a !important;
}

#tab-estoque .snack-action-block .negative {
  border: 1px solid rgba(212, 17, 17, 0.14) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  color: #b71919 !important;
}

#tab-estoque .snack-manual-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: stretch !important;
  min-width: 0 !important;
}

#tab-estoque .snack-manual-row input,
#tab-estoque .snack-note-field input {
  min-height: 40px !important;
  border-radius: 12px !important;
  border: 1px solid #d5deea !important;
  background: #ffffff !important;
  padding: 0 12px !important;
  font-size: 0.88rem !important;
}

#tab-estoque .snack-manual-row input[type="number"] {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  padding: 0 14px !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
}

#tab-estoque .snack-manual-row input[type="number"]::-webkit-outer-spin-button,
#tab-estoque .snack-manual-row input[type="number"]::-webkit-inner-spin-button {
  opacity: 1;
}

#tab-estoque .snack-manual-row .apply {
  width: 100% !important;
  min-width: 120px !important;
  max-width: 100% !important;
  min-height: 46px !important;
  height: 46px !important;
  padding: 0 18px !important;
  justify-self: start !important;
}

#tab-estoque .snack-note-field {
  display: grid !important;
  gap: 6px !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: #31425c !important;
}

#tab-estoque .snack-permission-note {
  margin: 0 !important;
  font-size: 0.82rem !important;
  line-height: 1.45 !important;
}

#tab-estoque .snack-history {
  padding: 14px !important;
}

#tab-estoque .snack-history .panel-collapse-toggle {
  width: 100% !important;
  align-items: center !important;
}

#tab-estoque .snack-history .panel-collapse-toggle strong {
  font-size: 0.98rem !important;
  color: #16253c !important;
}

#tab-estoque .snack-history-toggle-side {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
}

#tab-estoque .snack-history-scroll {
  max-height: 420px;
  overflow: auto;
  padding-right: 4px;
}

#tab-estoque .snack-history .history-list {
  margin: 0 !important;
}

#tab-estoque .snack-history .history-list li {
  border: 1px solid #e6edf5;
  border-radius: 14px;
  margin-bottom: 8px;
  background: #fff;
}

#tab-lanches .snack-delivery-shell {
  display: grid;
  gap: 20px;
}

#tab-lanches > .panel:first-of-type {
  display: none !important;
}

#tab-lanches .snack-delivery-summary-card,
#tab-lanches .snack-delivery-class-card,
#tab-lanches .snack-delivery-empty {
  padding: 22px;
  border-radius: 24px;
  border: 1px solid rgba(214, 224, 236, 0.96);
  background:
    radial-gradient(circle at top right, rgba(232, 239, 247, 0.76), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f7fafd 100%);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
}

#tab-lanches .snack-delivery-summary-card {
  position: relative;
  overflow: hidden;
}

#tab-lanches .snack-delivery-summary-card::after {
  content: "";
  position: absolute;
  right: -28px;
  top: -28px;
  width: 120px;
  height: 120px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(143, 24, 51, 0.12) 0%, rgba(143, 24, 51, 0) 72%);
  pointer-events: none;
}

#tab-lanches .snack-delivery-summary-top,
#tab-lanches .snack-delivery-class-head,
#tab-lanches .snack-delivery-class-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

#tab-lanches .snack-delivery-summary-top h3,
#tab-lanches .snack-delivery-class-head h4 {
  margin: 6px 0 0;
  color: #17283f;
}

#tab-lanches .snack-delivery-summary-top .page-eyebrow {
  color: #8f1833;
}

#tab-lanches .snack-delivery-summary-grid,
#tab-lanches .snack-delivery-class-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-top: 16px;
}

#tab-lanches .snack-delivery-summary-grid article,
#tab-lanches .snack-delivery-class-grid > div {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid #e2eaf3;
  background: rgba(255, 255, 255, 0.82);
}

#tab-lanches .snack-delivery-metric {
  position: relative;
  overflow: hidden;
}

#tab-lanches .snack-delivery-metric::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 999px;
}

#tab-lanches .snack-delivery-metric--wine::before {
  background: #8f1833;
}

#tab-lanches .snack-delivery-metric--navy::before {
  background: #24456f;
}

#tab-lanches .snack-delivery-metric--green::before {
  background: #1f8a57;
}

#tab-lanches .snack-delivery-metric--gold::before {
  background: #c48a14;
}

#tab-lanches .snack-delivery-summary-grid span,
#tab-lanches .snack-delivery-class-grid span,
#tab-lanches .snack-delivery-kicker,
#tab-lanches .snack-delivery-class-meta span {
  font-size: 0.78rem;
  color: #607089;
  font-weight: 700;
  letter-spacing: 0.03em;
}

#tab-lanches .snack-delivery-summary-grid strong,
#tab-lanches .snack-delivery-class-grid strong {
  font-size: 1.28rem;
  color: #15263c;
}

#tab-lanches .snack-delivery-state-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

#tab-lanches .snack-delivery-state-pill .snack-delivery-icon-mark {
  font-size: 0.92rem;
  line-height: 1;
}

#tab-lanches .snack-delivery-state-pill--waiting,
#tab-lanches .snack-delivery-state-pill--empty {
  background: rgba(37, 69, 111, 0.08);
  color: #38567c;
}

#tab-lanches .snack-delivery-state-pill--ready {
  background: rgba(143, 24, 51, 0.09);
  color: #8f1833;
}

#tab-lanches .snack-delivery-state-pill--partial {
  background: rgba(196, 138, 20, 0.14);
  color: #946300;
}

#tab-lanches .snack-delivery-state-pill--done {
  background: rgba(31, 138, 87, 0.12);
  color: #1f8a57;
}

#tab-lanches .snack-delivery-list {
  display: grid;
  gap: 14px;
}

#tab-lanches .snack-delivery-class-card {
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

#tab-lanches .snack-delivery-class-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.1);
}

#tab-lanches .snack-delivery-class-card.is-active {
  border-color: rgba(143, 24, 51, 0.26);
  box-shadow: 0 24px 52px rgba(143, 24, 51, 0.12);
}

#tab-lanches .snack-delivery-class-card--partial {
  border-color: rgba(196, 138, 20, 0.2);
}

#tab-lanches .snack-delivery-class-card--done {
  border-color: rgba(31, 138, 87, 0.2);
}

#tab-lanches .snack-delivery-class-card--empty,
#tab-lanches .snack-delivery-class-card--waiting {
  border-color: rgba(36, 69, 111, 0.16);
}

#tab-lanches .snack-delivery-class-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(220, 228, 238, 0.95);
}

#tab-lanches .snack-delivery-class-grid .is-low strong,
#tab-lanches .snack-delivery-metric.is-low strong {
  color: #a56b00;
}

#tab-lanches .snack-delivery-active-tag {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  margin-top: 8px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(143, 24, 51, 0.09);
  color: #8f1833;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

#tab-lanches .snack-delivery-action {
  min-width: 170px;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

#tab-lanches .snack-delivery-action:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(143, 24, 51, 0.22);
}

#tab-lanches .snack-delivery-empty {
  text-align: center;
  justify-items: center;
  gap: 10px;
}

#tab-lanches .snack-delivery-empty strong {
  color: #16263d;
}

@media (max-width: 720px) {
  #tab-lanches .snack-delivery-summary-card,
  #tab-lanches .snack-delivery-class-card,
  #tab-lanches .snack-delivery-empty {
    padding: 18px;
    border-radius: 20px;
  }

  #tab-lanches .snack-delivery-class-meta {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 920px) {
  #tab-estoque .snack-grid {
    grid-template-columns: 1fr !important;
  }

  #tab-estoque .snack-actions-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 1100px) {
  #tab-estoque .snack-actions-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  #tab-estoque .stock-qty-trend {
    padding: 7px 10px;
  }

  #tab-estoque .snack-card-head {
    flex-direction: column !important;
  }

  #tab-estoque .snack-card-head-side {
    justify-items: start;
  }

  #tab-estoque .snack-action-head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .student-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .attendance-final-bar {
    flex-direction: column;
    align-items: stretch;
  }

  #attendanceRegisterBtn {
    width: 100%;
    min-width: 0;
  }

  .ead-progress-summary,
  .ead-progress-metrics {
    grid-template-columns: 1fr;
  }

  .ead-monitor-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ead-monitor-summary-card {
    min-height: 136px;
  }

  .ead-monitor-grid {
    grid-template-columns: 1fr;
  }

  .ead-monitor-nucleus-shell,
  .ead-monitor-collaborator-shell {
    padding: 18px;
  }

  .ead-monitor-table thead th,
  .ead-monitor-table tbody td {
    padding: 14px;
  }

  #tab-fila .fila-metric-head {
    grid-template-columns: 42px minmax(0, 1fr) !important;
  }

  #tab-fila .fila-metric-icon,
  #tab-estoque .stock-card-icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
  }

  #tab-estoque .snack-manual-row {
    grid-template-columns: 1fr !important;
  }

  #tab-estoque .snack-manual-row .apply {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* =========================
   REDESIGN INSTITUCIONAL
========================= */
:root {
  --shell-sidebar: 294px;
  --shell-sidebar-collapsed: 94px;
  --shell-content-max: 1560px;
  --shell-border: rgba(148, 163, 184, 0.18);
  --shell-panel: linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(246, 249, 252, 0.92) 100%);
  --shell-panel-soft: linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, rgba(244, 247, 251, 0.86) 100%);
  --shell-shadow-lg: 0 26px 60px rgba(15, 23, 42, 0.16);
  --shell-shadow-md: 0 18px 36px rgba(15, 23, 42, 0.1);
  --shell-shadow-sm: 0 10px 22px rgba(15, 23, 42, 0.08);
  --shell-accent: #8f1422;
  --shell-accent-soft: rgba(143, 20, 34, 0.12);
  --shell-navy: #0e1625;
  --shell-navy-soft: #162236;
  --shell-ink: #102037;
  --shell-muted: #5d6b81;
  --shell-line: rgba(198, 209, 223, 0.86);
}

body {
  background:
    radial-gradient(circle at 10% 18%, rgba(148, 26, 44, 0.18), transparent 28%),
    radial-gradient(circle at 88% 14%, rgba(29, 78, 216, 0.12), transparent 22%),
    radial-gradient(circle at 70% 80%, rgba(255, 255, 255, 0.46), transparent 20%),
    linear-gradient(180deg, #eef2f7 0%, #e8edf5 48%, #e3e9f2 100%);
  color: var(--shell-ink);
}

body::before,
body::after {
  content: "";
  position: fixed;
  inset: auto;
  pointer-events: none;
  z-index: 0;
}

body::before {
  top: -120px;
  right: -120px;
  width: 420px;
  height: 420px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(143, 20, 34, 0.18) 0%, rgba(143, 20, 34, 0) 68%);
  filter: blur(12px);
}

body::after {
  left: -120px;
  bottom: -120px;
  width: 380px;
  height: 380px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(17, 39, 74, 0.12) 0%, rgba(17, 39, 74, 0) 72%);
  filter: blur(18px);
}

#appShell {
  position: relative;
  z-index: 1;
  isolation: isolate;
}

.app-shell-ambient {
  position: fixed;
  inset: 0;
  background:
    radial-gradient(circle at 20% 18%, rgba(255, 255, 255, 0.34), transparent 30%),
    radial-gradient(circle at 82% 14%, rgba(143, 20, 34, 0.08), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02));
  pointer-events: none;
  z-index: -1;
}

.shell-layout {
  display: grid;
  grid-template-columns: var(--shell-sidebar) minmax(0, 1fr);
  min-height: 100vh;
  transition: grid-template-columns 0.28s ease;
}


body[data-sidebar="collapsed"] #sidebarCollapseBtn svg {
  transform: rotate(180deg);
}

.shell-main {
  min-width: 0;
  padding: 0 0 24px;
}

.top-fixed {
  position: sticky;
  top: 0;
  z-index: 24;
  padding: 22px 24px 0;
  background: transparent;
}

.hero,
.hero::before {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.hero {
  padding: 0;
}

.hero-inner {
  justify-content: space-between;
  gap: 16px;
  min-height: 84px;
  padding: 18px 22px;
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.74) 0%, rgba(248, 250, 253, 0.66) 100%),
    rgba(255, 255, 255, 0.44);
  backdrop-filter: blur(24px);
}

.topbar-main {
  gap: 16px;
  min-width: 0;
}

.topbar-main .brand {
  gap: 14px;
}

.topbar-main .brand .logo {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  padding: 6px;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.08), rgba(15, 23, 42, 0.02));
  border: 1px solid rgba(148, 163, 184, 0.18);
}

.topbar-main .eyebrow {
  color: rgba(75, 85, 99, 0.78);
}

.topbar-main #welcomeTitle,
.topbar-main .brand h1 {
  color: var(--shell-ink);
  font-size: clamp(1.2rem, 1.5vw, 1.5rem);
  white-space: normal;
}

.topbar-main #projectSubtitle,
.topbar-main .sub {
  color: var(--shell-muted);
  max-width: none;
}

.topbar-actions {
  gap: 12px;
}

.topbar-actions #logoutBtn {
  min-height: 46px;
  padding: 0 18px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(255, 255, 255, 0.72);
  color: var(--shell-ink);
}

.container.app-content {
  width: min(var(--shell-content-max), 100%);
  max-width: none;
  padding: 24px;
}

.tab-page {
  display: grid;
  gap: 20px;
  align-content: start;
  animation: tabPageIn 0.28s ease;
}

@keyframes tabPageIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.page-intro {
  gap: 18px;
  padding: 4px 4px 0;
}

.page-intro-copy {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.page-eyebrow {
  color: rgba(143, 20, 34, 0.8);
}

.page-title {
  margin: 0;
  font-size: clamp(2rem, 3.2vw, 2.8rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
  color: #0f2036;
}

.page-description {
  margin: 0;
  max-width: 780px;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--shell-muted);
}

.page-priority-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  background: rgba(143, 20, 34, 0.08);
  border: 1px solid rgba(143, 20, 34, 0.14);
  color: #7c1420;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.panel {
  position: relative;
  overflow: hidden;
  padding: 22px;
  border-radius: 26px;
  background: var(--shell-panel);
  backdrop-filter: blur(18px);
}

.panel::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16), transparent 46%);
  pointer-events: none;
}

.panel > * {
  position: relative;
  z-index: 1;
}

.panel-lite {
  border-radius: 20px;
  background: var(--shell-panel-soft);
  border: 1px solid rgba(198, 209, 223, 0.76);
}

#printCustomBox {
  display: grid;
  gap: 16px;
  padding: 18px;
}

#printCustomBox .muted {
  margin: 0;
  color: #607089;
  line-height: 1.55;
}

.print-fields-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px 14px;
  align-items: stretch;
}

.print-field-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(216, 225, 236, 0.96);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.print-field-option:hover {
  border-color: rgba(183, 197, 215, 0.96);
  background: linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
}

.print-field-option__control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}

.print-field-option input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #8b1a1a;
  cursor: pointer;
}

.print-field-option__label {
  display: block;
  color: #24364a;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.35;
}

.panel-title-row h2,
.dashboard-title-stack h2,
#tab-fila .panel-title-row h2,
#tab-estoque .panel-title-row h2 {
  font-size: 1.2rem;
  color: #0f2036;
}

.muted,
.field-help,
.metric-card-note,
.dashboard-panel-subtitle,
.fila-metric-note {
  color: var(--shell-muted) !important;
}

.badge {
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  border-color: rgba(198, 209, 223, 0.86);
  color: #334155;
}

input,
select,
textarea {
  width: 100%;
  min-height: 52px;
  border-radius: 16px;
  border: 1px solid rgba(198, 209, 223, 0.92);
  background: rgba(255, 255, 255, 0.92);
  color: #12243a;
  padding: 0 14px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

textarea {
  min-height: 120px;
  padding-top: 14px;
  padding-bottom: 14px;
  resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: rgba(143, 20, 34, 0.42);
  box-shadow: 0 0 0 4px rgba(143, 20, 34, 0.08);
}

button,
.primary,
.ghost,
.warn,
.small-btn {
  border-radius: 16px;
}

.primary,
.small-btn {
  background: linear-gradient(135deg, #7b1220 0%, #a61f30 60%, #c63d4d 100%);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 16px 30px rgba(143, 20, 34, 0.2);
}

.ghost {
  background: rgba(255, 255, 255, 0.82);
  border-color: rgba(198, 209, 223, 0.86);
  color: #19304e;
}

.warn {
  background: linear-gradient(180deg, #fff8ea 0%, #ffefc8 100%);
  border-color: rgba(210, 138, 0, 0.22);
  color: #8b5d00;
}

.panel-grid.four.dashboard-metrics,
#tab-fila .fila-metrics-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.metric-card {
  min-height: 190px;
  display: grid;
  gap: 18px;
  padding: 22px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(247, 250, 253, 0.9) 100%);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.metric-card:hover,
.stock-card:hover,
.snack-card:hover,
.student-card:hover,
.nucleus-column:hover {
  transform: translateY(-3px);
  box-shadow: var(--shell-shadow-lg) !important;
}

.metric-card-top {
  align-items: flex-start;
}

.metric-card-icon,
#tab-fila .fila-metric-icon,
#tab-estoque .stock-card-icon {
  width: 54px !important;
  height: 54px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(238, 244, 250, 0.9) 100%) !important;
  border: 1px solid rgba(198, 209, 223, 0.84) !important;
}

.dashboard-metrics .metric-card p {
  margin: 0;
  font-size: 0.92rem;
}

.dashboard-metrics .metric-card h3,
#tab-fila .fila-metric-card h3 {
  font-size: clamp(2rem, 3vw, 2.7rem);
  line-height: 0.95;
  color: #10213a;
}

.dashboard-primary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.95fr);
  gap: 18px;
}

.dashboard-secondary-grid,
.dashboard-insights-grid {
  gap: 16px;
}

.dashboard-chart-box,
#dashChartHolder {
  min-height: 360px;
}

.table-wrapper {
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(18px);
}

.table-wrapper table {
  min-width: 840px;
}

.table-wrapper th,
.table-wrapper td {
  padding: 14px 16px;
}

.table-wrapper th {
  background: linear-gradient(180deg, rgba(247, 250, 253, 0.98) 0%, rgba(236, 243, 249, 0.98) 100%);
  color: #41526b;
}

.table-wrapper tbody tr:hover td {
  background: rgba(143, 20, 34, 0.03);
}

.stock-form-compact {
  gap: 14px;
  align-items: end;
  flex-wrap: wrap;
}

.stock-form-compact label {
  flex: 1 1 180px;
}

.stock-form-action {
  flex: 0 0 auto;
}

.fila-toolbar {
  gap: 12px;
  align-items: end;
  flex-wrap: wrap;
}

.fila-toolbar > * {
  flex: 1 1 180px;
}

.fila-toolbar button {
  flex: 0 0 auto;
}

.nucleus-board {
  gap: 18px;
}

.nucleus-column {
  padding: 20px 22px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(246, 249, 252, 0.92) 100%);
}

.nucleus-header,
.attendance-final-copy {
  display: grid;
  gap: 4px;
}

.nucleus-header h3 {
  margin: 0;
  font-size: 1.2rem;
  color: #10213a;
}

.class-meta {
  margin: 8px 0 0;
  color: var(--shell-muted);
  line-height: 1.55;
}

.student-card {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 18px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(245, 249, 252, 0.96) 100%);
}

.student-card-body {
  gap: 6px;
}

.student-name {
  font-size: 1.08rem;
}

.student-class-info {
  font-size: 0.9rem;
}

.student-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(118px, 1fr));
  gap: 10px;
}

.student-actions button {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 18px;
  padding: 12px 14px;
}

.attendance-action-short {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.7);
  font-size: 0.86rem;
  font-weight: 900;
}

.attendance-action-label {
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.btn-present {
  background: linear-gradient(180deg, #ebfbf1 0%, #d9f4e4 100%);
  border-color: #b6e2c7;
  color: #15623f;
}

.btn-absent {
  background: linear-gradient(180deg, #fff3f4 0%, #fde3e6 100%);
  border-color: #f3c4cc;
  color: #8f1d2b;
}

.btn-justified {
  background: linear-gradient(180deg, #eef2ff 0%, #dfe6ff 100%);
  border-color: #ccd6ff;
  color: #27418d;
}

.student-actions button.is-selected {
  transform: translateY(-2px);
  box-shadow: 0 18px 28px rgba(15, 23, 42, 0.12);
}

.attendance-toast-region {
  position: fixed;
  top: max(20px, env(safe-area-inset-top, 0px) + 12px);
  right: min(24px, 4vw);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  pointer-events: none;
}

.attendance-toast {
  --attendance-toast-accent: #1f8a57;
  --attendance-toast-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(244, 249, 246, 0.98) 100%);
  position: relative;
  min-width: min(420px, calc(100vw - 32px));
  max-width: min(420px, calc(100vw - 32px));
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 22px;
  border: 1px solid color-mix(in srgb, var(--attendance-toast-accent) 26%, white);
  background: var(--attendance-toast-surface);
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
  color: #132033;
  pointer-events: auto;
  overflow: hidden;
  isolation: isolate;
  transform: translate3d(0, -10px, 0) scale(0.98);
  opacity: 0;
  animation: attendanceToastIn 240ms cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.attendance-toast::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--attendance-toast-accent) 0%, color-mix(in srgb, var(--attendance-toast-accent) 70%, white) 100%);
}

.attendance-toast.is-leaving {
  animation: attendanceToastOut 220ms ease forwards;
}

.attendance-toast--presence {
  --attendance-toast-accent: #1f8a57;
  --attendance-toast-surface: linear-gradient(180deg, rgba(245, 255, 249, 0.99) 0%, rgba(233, 247, 239, 0.98) 100%);
}

.attendance-toast--absence {
  --attendance-toast-accent: #b31d2f;
  --attendance-toast-surface: linear-gradient(180deg, rgba(255, 248, 249, 0.99) 0%, rgba(253, 232, 236, 0.98) 100%);
}

.attendance-toast--justified {
  --attendance-toast-accent: #2563c9;
  --attendance-toast-surface: linear-gradient(180deg, rgba(246, 250, 255, 0.99) 0%, rgba(232, 240, 255, 0.98) 100%);
}

.attendance-toast--warning {
  --attendance-toast-accent: #b7791f;
  --attendance-toast-surface: linear-gradient(180deg, rgba(255, 252, 244, 0.99) 0%, rgba(255, 244, 224, 0.98) 100%);
}

.attendance-toast__icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--attendance-toast-accent) 14%, white);
  color: var(--attendance-toast-accent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--attendance-toast-accent) 18%, white);
}

.attendance-toast__icon svg {
  width: 22px;
  height: 22px;
}

.attendance-toast__content {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.attendance-toast__title {
  font-size: 0.95rem;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.attendance-toast__message {
  font-size: 0.9rem;
  color: #4c5d78;
  line-height: 1.4;
}

.attendance-toast__meta {
  font-size: 0.82rem;
  font-weight: 700;
  color: #6f5b2b;
}

.attendance-toast__list {
  margin: 6px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 2px;
  color: #3f4f66;
  font-size: 0.84rem;
}

.attendance-toast__close {
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.76);
  color: #607089;
  cursor: pointer;
  transition: transform 160ms ease, background-color 160ms ease, color 160ms ease;
}

.attendance-toast__close:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.96);
  color: #132033;
}

.attendance-toast__close:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--attendance-toast-accent) 58%, white);
  outline-offset: 2px;
}

@keyframes attendanceToastIn {
  from {
    opacity: 0;
    transform: translate3d(0, -10px, 0) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes attendanceToastOut {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -8px, 0) scale(0.98);
  }
}

.attendance-final-bar {
  gap: 18px;
  margin-top: 18px;
  padding: 18px;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(143, 20, 34, 0.06) 0%, rgba(255, 255, 255, 0.88) 100%);
  border: 1px solid rgba(143, 20, 34, 0.12);
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.attendance-final-bar.is-ready {
  border-color: rgba(31, 138, 87, 0.28);
  background: linear-gradient(135deg, rgba(31, 138, 87, 0.08) 0%, rgba(255, 255, 255, 0.92) 100%);
  box-shadow: 0 16px 30px rgba(31, 138, 87, 0.08);
}

.attendance-final-bar.is-pending {
  border-color: rgba(183, 121, 31, 0.24);
  background: linear-gradient(135deg, rgba(244, 184, 76, 0.12) 0%, rgba(255, 255, 255, 0.92) 100%);
}

.attendance-final-bar.is-blocked {
  border-color: rgba(143, 20, 34, 0.18);
}

#attendanceRegisterBtn {
  min-width: 220px;
  min-height: 54px;
}

#attendanceRegisterBtn.is-pending {
  background: linear-gradient(135deg, #f4b84c 0%, #dd9d31 100%);
  border-color: #cc8a1a;
  color: #24170a;
}

#attendanceRegisterBtn.is-ready {
  background: linear-gradient(135deg, #1f8a57 0%, #167246 100%);
  border-color: #166a42;
}


.modal {
  background: rgba(9, 14, 24, 0.5);
  backdrop-filter: blur(12px);
}

.modal-content {
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(246, 249, 252, 0.94) 100%);
}

.sidebar-backdrop {
  position: fixed;
  inset: 0;
  border: none;
  background: rgba(6, 10, 18, 0.45);
  z-index: 30;
}

@media (max-width: 1320px) {
  .dashboard-primary-grid {
    grid-template-columns: 1fr;
  }

  .panel-grid.four.dashboard-metrics,
  #tab-fila .fila-metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .desktop-only {
    display: none;
  }

  .shell-layout {
    grid-template-columns: 1fr;
  }

  .attendance-toast-region {
    top: max(14px, env(safe-area-inset-top, 0px) + 8px);
    right: 12px;
    left: 12px;
    align-items: stretch;
  }

  .attendance-toast {
    min-width: 0;
    max-width: none;
    padding: 14px;
    border-radius: 20px;
  }

  .attendance-toast__icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
  }

  .app-sidebar {
    position: fixed;
    left: 0;
    top: 0;
    width: min(86vw, 320px);
    transform: translateX(-108%);
  }

  body[data-sidebar-open="1"] .app-sidebar {
    transform: translateX(0);
  }

  .top-fixed {
    padding: 16px 16px 0;
  }

  .container.app-content {
    padding: 18px 16px 32px;
  }

  .hero-inner {
    padding: 16px 18px;
    border-radius: 22px;
  }

  .topbar-main .brand .logo {
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 760px) {
  .page-intro,
  .stock-form-compact,
  .fila-toolbar,
  .attendance-final-bar,
  .dashboard-panel-head,
  .dashboard-toolbar-row {
    flex-direction: column;
    align-items: stretch;
  }

  .panel-grid.four.dashboard-metrics,
  #tab-fila .fila-metrics-grid,
  .grid-form.two,
  .grid-form.three,
  .grid-form.four,
  #tab-chamada .grid-form.two {
    grid-template-columns: 1fr !important;
  }

  .page-title {
    font-size: 2rem;
  }

  .student-card {
    grid-template-columns: 1fr;
  }

  .student-actions {
    grid-template-columns: 1fr;
  }

  .student-actions button {
    min-height: 60px;
  }

  #attendanceRegisterBtn {
    width: 100%;
    min-width: 0;
  }
}

/* =========================
   LOVABLE FIDELITY OVERRIDES
========================= */
:root {
  --shell-border: #d3dae5;
  --shell-line: #d3dae5;
  --shell-ink: #10213a;
  --shell-muted: #607089;
  --shell-panel: #ffffff;
  --shell-panel-soft: #ffffff;
  --shell-shadow-md: 0 2px 8px rgba(15, 23, 42, 0.06);
  --shell-shadow-lg: 0 8px 24px rgba(15, 23, 42, 0.08);
  --shell-accent: #8f1833;
  --shell-sidebar: 324px;
  --shell-sidebar-collapsed: 92px;
}

body {
  background: linear-gradient(180deg, #eef2f7 0%, #e8edf4 100%);
}

body::before,
body::after,
.app-shell-ambient {
  display: none !important;
}

.shell-layout {
  grid-template-columns: var(--shell-sidebar) minmax(0, 1fr);
}

.top-fixed {
  padding: 0;
  background: linear-gradient(90deg, #171f31 0%, #1c2740 72%, rgba(155, 59, 90, 0.35) 100%);
}

.hero {
  min-height: 70px;
}

.hero-inner {
  min-height: 70px;
  padding: 0 40px;
  border: none !important;
  border-radius: 0;
  background: transparent;
  box-shadow: none !important;
  backdrop-filter: none;
}

.topbar-main {
  gap: 0;
}

.topbar-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.topbar-breadcrumb-root,
.topbar-breadcrumb-page {
  font-size: 0.92rem;
  font-weight: 700;
  white-space: nowrap;
}

.topbar-breadcrumb-root {
  color: rgba(229, 236, 245, 0.58);
}

.topbar-breadcrumb-page {
  color: rgba(248, 250, 252, 0.92);
}

.topbar-breadcrumb-sep {
  width: 14px;
  height: 14px;
  color: rgba(229, 236, 245, 0.4);
}

.topbar-actions {
  gap: 14px;
}

.topbar-action-btn {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: rgba(241, 245, 249, 0.62);
  cursor: default;
}

.topbar-action-btn svg {
  width: 18px;
  height: 18px;
}

.topbar-action-btn .header-icon-svg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  flex: 0 0 auto;
}

.topbar-action-btn .header-icon-svg svg {
  width: 20px;
  height: 20px;
  display: block;
  shape-rendering: geometricPrecision;
  transform: translateZ(0);
}

.topbar-action-btn .header-icon-svg .my-path {
  vector-effect: non-scaling-stroke;
}

.topbar-search-btn,
.topbar-alert-btn.header-notifications {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.topbar-alert-btn {
  position: relative;
}

.topbar-alert-dot {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #cf4c72;
}

.iin-topbar-notification-count {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #8f1833 0%, #bb4566 100%);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  box-shadow: 0 10px 22px rgba(143, 24, 51, 0.24);
}

.iin-topbar-notifications-panel {
  width: min(448px, calc(100vw - 24px));
  border: 1px solid rgba(211, 217, 227, 0.12);
  border-radius: 24px;
  background:
    radial-gradient(circle at top center, rgba(122, 32, 54, 0.12) 0%, rgba(122, 32, 54, 0) 28%),
    linear-gradient(180deg, rgba(24, 34, 49, 0.96) 0%, rgba(24, 34, 49, 0.93) 100%);
  backdrop-filter: blur(22px);
  box-shadow: 0 28px 60px rgba(6, 10, 18, 0.42);
  overflow: hidden;
}

.iin-topbar-notifications-panel .iin-topbar-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 20px 14px;
  border-bottom: 1px solid rgba(211, 217, 227, 0.1);
}

.iin-topbar-notifications-panel .iin-topbar-panel-head h3 {
  margin: 0;
  color: #ffffff;
  font-size: 2.05rem;
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.iin-topbar-notifications-panel .iin-topbar-panel-eyebrow {
  margin: 0 0 6px;
  color: rgba(211, 217, 227, 0.82);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.iin-topbar-notifications-panel .iin-topbar-panel-title {
  font-size: 1rem;
  font-weight: 700;
  color: #ffffff;
}

.iin-topbar-notifications-panel .iin-topbar-panel-link {
  border: 1px solid rgba(211, 217, 227, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: #d3d9e3;
  font-size: 0.8rem;
  font-weight: 600;
  border-radius: 999px;
  padding: 8px 12px;
  white-space: nowrap;
  transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.iin-topbar-notifications-panel .iin-topbar-panel-link:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(122, 32, 54, 0.28);
  color: #ffffff;
}

.iin-topbar-notifications-panel .iin-topbar-panel-link:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(122, 32, 54, 0.18);
}

.iin-topbar-notifications-panel .iin-topbar-panel-link:disabled {
  opacity: 0.42;
  cursor: default;
}

.iin-topbar-notifications-filters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 16px 4px;
  overflow: visible;
}

.iin-topbar-filter-pill {
  border: 1px solid rgba(211, 217, 227, 0.1);
  background: rgba(255, 255, 255, 0.04);
  color: #d3d9e3;
  min-height: 38px;
  border-radius: 999px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.iin-topbar-filter-pill:hover {
  border-color: rgba(122, 32, 54, 0.26);
  background: rgba(255, 255, 255, 0.07);
  color: #ffffff;
}

.iin-topbar-filter-pill.is-active {
  border-color: rgba(122, 32, 54, 0.34);
  background: rgba(122, 32, 54, 0.16);
  color: #ffffff;
}

.iin-topbar-filter-pill-count {
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.08);
  color: inherit;
  font-size: 0.72rem;
  line-height: 1;
}

.iin-topbar-panel-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-height: min(72vh, 620px);
  padding: 16px 16px 18px;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(122, 32, 54, 0.85) rgba(255, 255, 255, 0.05);
}

.iin-topbar-panel-list::-webkit-scrollbar {
  width: 10px;
}

.iin-topbar-panel-list::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 999px;
}

.iin-topbar-panel-list::-webkit-scrollbar-thumb {
  background: rgba(122, 32, 54, 0.85);
  border-radius: 999px;
  border: 2px solid rgba(24, 34, 49, 0.95);
}

.iin-topbar-panel-section {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.iin-topbar-panel-section-label {
  padding-left: 4px;
  color: rgba(211, 217, 227, 0.72);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.iin-topbar-panel-empty {
  border: 1px dashed rgba(211, 217, 227, 0.18);
  border-radius: 18px;
  padding: 22px 18px;
  color: #d3d9e3;
  text-align: center;
  font-size: 0.92rem;
  line-height: 1.55;
  background: rgba(255, 255, 255, 0.04);
}

.iin-topbar-item {
  width: 100%;
  border: 1px solid rgba(211, 217, 227, 0.12);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(37, 50, 68, 0.98) 0%, rgba(33, 45, 61, 0.98) 100%);
  padding: 14px 14px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: flex-start;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 14px 28px rgba(8, 12, 20, 0.2);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.iin-topbar-item:hover {
  transform: translateY(-1px);
  border-color: rgba(122, 32, 54, 0.26);
  box-shadow: 0 18px 36px rgba(8, 12, 20, 0.28);
  background: linear-gradient(180deg, rgba(41, 55, 74, 1) 0%, rgba(36, 49, 66, 1) 100%);
}

.iin-topbar-item.is-read {
  opacity: 0.82;
}

.iin-topbar-item:focus-visible {
  outline: none;
  border-color: rgba(122, 32, 54, 0.34);
  box-shadow: 0 0 0 3px rgba(122, 32, 54, 0.16), 0 18px 36px rgba(8, 12, 20, 0.28);
}

.iin-topbar-item-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(211, 217, 227, 0.12);
  background: rgba(255, 255, 255, 0.04);
}

.iin-topbar-item-icon svg {
  width: 16px;
  height: 16px;
  opacity: 0.92;
}

.iin-topbar-item-icon[data-tone="warn"] {
  color: #f0cad4;
  background: rgba(122, 32, 54, 0.14);
  border-color: rgba(122, 32, 54, 0.28);
}

.iin-topbar-item-icon[data-tone="stock"] {
  color: #d3d9e3;
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(211, 217, 227, 0.12);
}

.iin-topbar-item-icon[data-tone="medical"] {
  color: #ddd2f3;
  background: rgba(116, 93, 153, 0.16);
  border-color: rgba(160, 135, 201, 0.24);
}

.iin-topbar-item-icon[data-tone="info"] {
  color: #d3d9e3;
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(211, 217, 227, 0.12);
}

.iin-topbar-item-icon[data-tone="neutral"] {
  color: #d3d9e3;
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(211, 217, 227, 0.1);
}

.iin-topbar-item-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.iin-topbar-item-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.iin-topbar-item-kind {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(122, 32, 54, 0.16);
  color: #f0cad4;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.iin-topbar-item-time {
  flex-shrink: 0;
  color: rgba(211, 217, 227, 0.72);
  font-size: 0.74rem;
  font-weight: 600;
}

.iin-topbar-item-heading {
  color: #ffffff;
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.35;
}

.iin-topbar-item-detail,
.iin-topbar-item-meta {
  color: #d3d9e3;
  font-size: 0.82rem;
  line-height: 1.48;
  word-break: break-word;
}

.iin-topbar-item-meta {
  color: rgba(211, 217, 227, 0.86);
}

@media (max-width: 720px) {
  .iin-topbar-notifications-panel {
    width: min(100vw - 16px, 448px);
    right: 8px;
    left: auto;
  }

  .iin-topbar-notifications-panel .iin-topbar-panel-head {
    flex-direction: column;
    align-items: stretch;
  }

  .iin-topbar-notifications-panel .iin-topbar-panel-head h3 {
    font-size: 1.82rem;
  }

  .iin-topbar-notifications-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 12px 14px 2px;
  }

  .iin-topbar-panel-list {
    max-height: 68vh;
    padding: 14px;
  }

  .iin-topbar-item {
    grid-template-columns: 38px minmax(0, 1fr);
    padding: 12px;
    gap: 10px;
  }

  .iin-topbar-item-icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  .iin-topbar-item-title {
    flex-wrap: wrap;
    gap: 8px;
  }
}
.topbar-avatar {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(170, 79, 109, 0.6) 0%, rgba(204, 145, 164, 0.5) 100%);
  color: #fff;
  font-size: 0.84rem;
  font-weight: 700;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.container.app-content {
  width: 100%;
  padding: 34px 40px 48px;
}

.tab-page {
  gap: 22px;
}

.page-intro {
  padding: 2px 0 4px;
}

.page-intro-copy {
  gap: 8px;
}

.page-eyebrow {
  color: #8f1833;
  letter-spacing: 0.08em;
}

.page-title {
  font-size: clamp(2.2rem, 3vw, 3rem);
  line-height: 1;
  letter-spacing: -0.04em;
}

.page-description {
  max-width: 860px;
  font-size: 1.02rem;
  line-height: 1.55;
}

.page-priority-badge {
  min-height: 32px;
  padding: 0 14px;
  background: rgba(143, 24, 51, 0.08);
  border: none;
  color: #8f1833;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.panel,
.panel-lite,
.metric-card,
.table-wrapper,
.stock-card,
.snack-card,
.student-card,
.nucleus-column,
.modal-content {
  background: #fff !important;
  border: 1px solid var(--shell-border) !important;
  border-radius: 18px !important;
  box-shadow: var(--shell-shadow-md) !important;
  backdrop-filter: none !important;
}

.panel {
  padding: 28px;
}

.panel::after {
  display: none;
}

.panel-title-row,
.dashboard-panel-head {
  align-items: flex-start;
}

.panel-title-row h2,
.dashboard-title-stack h2,
.panel-collapse-head h2 {
  position: relative;
  margin: 0;
  padding-left: 18px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.panel-title-row h2::before,
.dashboard-title-stack h2::before,
.panel-collapse-head h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  bottom: 3px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, #8f1833 0%, #bb4566 100%);
}

#tab-supervisao .supervisao-checklist-title::before {
  top: 0;
  bottom: auto;
  width: 18px;
  height: 18px;
  border-radius: 0;
  background: url("assets/icons/check.png") center / contain no-repeat;
}

.dashboard-panel-subtitle,
.panel-collapse-sub,
.metric-card-note,
.fila-metric-note,
.muted {
  color: var(--shell-muted) !important;
}

.metric-card {
  min-height: 202px;
  gap: 28px;
  padding: 30px;
}

.metric-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.metric-kicker,
.fila-metric-kicker {
  color: #62728a;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.dashboard-metrics .metric-card p {
  font-size: 0.96rem;
}

.dashboard-metrics .metric-card h3,
#tab-fila .fila-metric-card h3 {
  margin: 0;
  font-size: clamp(2.2rem, 2.8vw, 3rem);
  line-height: 0.96;
}

.metric-card-icon,
.fila-metric-icon,
.stock-card-icon {
  width: 56px !important;
  height: 56px !important;
  border-radius: 14px !important;
  background: #fff !important;
  border: 1px solid var(--shell-border) !important;
}

.metric-card-icon-kit {
  color: #2583f3;
}

.dashboard-primary-grid {
  grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.85fr);
}

.dashboard-toolbar-row {
  justify-content: space-between;
  gap: 18px;
}

/* =========================
   KPI Cards Unificados
========================= */
#tab-admin .admin-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 14px 0 18px;
}

.dashboard-metrics .metric-card,
#tab-fila .fila-metric-card,
#tab-admin .admin-kpi-card,
.admin-ead-kpi-card,
.retencao-kpi-card {
  min-height: 168px !important;
  padding: 26px !important;
  border-radius: 22px !important;
  border: 1px solid #dde7f2 !important;
  background: var(--panel-surface) !important;
  box-shadow:
    0 10px 22px rgba(15, 23, 42, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease !important;
}

.dashboard-metrics .metric-card:hover,
#tab-fila .fila-metric-card:hover,
#tab-admin .admin-kpi-card:hover,
.admin-ead-kpi-card:hover,
.retencao-kpi-card:hover {
  transform: translateY(-2px);
  box-shadow:
    0 14px 28px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  border-color: #d3deeb !important;
}

.metric-card-top,
.fila-metric-head,
#tab-admin .admin-kpi-head,
.admin-ead-kpi-card,
.retencao-kpi-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

#tab-admin .admin-kpi-card,
.admin-ead-kpi-card,
.retencao-kpi-card {
  display: grid;
  align-content: space-between;
  gap: 24px;
}

.metric-kicker,
.fila-metric-kicker,
#tab-admin .page-eyebrow,
.admin-ead-kpi-label,
.retencao-kpi-label {
  margin: 0 0 12px;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase;
}

.dashboard-metrics .metric-card h3,
#tab-fila .fila-metric-card h3,
#tab-admin .admin-kpi-value,
.admin-ead-kpi-card strong,
.retencao-kpi-value {
  margin: 0;
  font-size: clamp(2.2rem, 2.8vw, 3rem) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.04em !important;
  font-weight: 900 !important;
  color: #10233a !important;
}

#adminUsersLastConfig.admin-kpi-value {
  font-size: clamp(1.9rem, 2.3vw, 2.5rem) !important;
  letter-spacing: -0.03em !important;
}

.dashboard-metrics .metric-card p,
.fila-metric-note,
#tab-admin .admin-kpi-note,
.admin-ead-kpi-card p,
.retencao-kpi-note {
  margin: 0;
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
  color: var(--shell-muted) !important;
}

.metric-card-icon,
.fila-metric-icon,
.stock-card-icon,
#tab-admin .admin-kpi-icon,
.admin-ead-kpi-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px !important;
  height: 56px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(211, 222, 235, 0.96) !important;
  background: #fff !important;
  flex: 0 0 56px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.metric-card-icon svg,
.fila-metric-icon svg,
.stock-card-icon svg,
#tab-admin .admin-kpi-icon img,
.admin-ead-kpi-icon svg,
.admin-ead-kpi-icon img {
  width: 22px !important;
  height: 22px !important;
}

#adminEadKpiProject {
  display: block;
  max-width: 100%;
  font-size: clamp(1.05rem, 1.45vw, 1.5rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

#adminEadKpiProjectSub {
  margin-top: 4px !important;
  max-width: 100%;
}

#tab-admin .admin-ead-kpi-card strong {
  font-size: clamp(1.75rem, 2.2vw, 2.2rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.03em !important;
}

#adminEadKpiCategories,
#adminEadKpiLessons,
#adminEadKpiWeeks {
  font-size: clamp(1.35rem, 1.7vw, 1.7rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.02em !important;
}

#tab-fila .fila-metric-card {
  gap: 22px !important;
}

#tab-fila .fila-metric-kicker {
  margin: 0 0 10px !important;
  color: var(--fila-accent, #62748f) !important;
}

#tab-fila .fila-metric-note {
  margin-top: auto !important;
}

#tab-fila .fila-metric-icon,
#tab-fila .fila-metric-card .fila-metric-icon {
  color: var(--fila-accent, #4a73b8) !important;
  background: color-mix(in srgb, var(--fila-accent, #4a73b8) 10%, #ffffff) !important;
  border-color: color-mix(in srgb, var(--fila-accent, #4a73b8) 20%, #d9e3ef) !important;
}

#tab-admin .admin-kpi-card:nth-child(1) .page-eyebrow,
#tab-admin .admin-kpi-icon--wine {
  color: #8f1833 !important;
}

#tab-admin .admin-kpi-card:nth-child(2) .page-eyebrow,
#tab-admin .admin-kpi-icon--success {
  color: #1f8a57 !important;
}

#tab-admin .admin-kpi-card:nth-child(3) .page-eyebrow,
#tab-admin .admin-kpi-icon--info {
  color: #2c67d6 !important;
}

#tab-admin .admin-kpi-card:nth-child(4) .page-eyebrow,
#tab-admin .admin-kpi-icon--gold {
  color: #b07a16 !important;
}

#tab-admin .admin-kpi-icon--wine {
  background: rgba(143, 24, 51, 0.08) !important;
  border-color: rgba(143, 24, 51, 0.14) !important;
}

#tab-admin .admin-kpi-icon--success {
  background: rgba(31, 138, 87, 0.08) !important;
  border-color: rgba(31, 138, 87, 0.14) !important;
}

#tab-admin .admin-kpi-icon--info {
  background: rgba(44, 103, 214, 0.08) !important;
  border-color: rgba(44, 103, 214, 0.14) !important;
}

#tab-admin .admin-kpi-icon--gold {
  background: rgba(176, 122, 22, 0.08) !important;
  border-color: rgba(176, 122, 22, 0.14) !important;
}

input,
select,
textarea {
  min-height: 52px;
  border-radius: 14px;
  border: 1px solid var(--shell-border);
  background: #fff;
  box-shadow: none;
}

button,
.primary,
.ghost,
.warn,
.small-btn {
  min-height: 48px;
  border-radius: 14px;
  font-weight: 600;
  box-shadow: none;
}

.primary,
.small-btn {
  background: linear-gradient(135deg, #8f1833 0%, #a22548 100%);
}

.ghost {
  background: #fff;
}

.table-wrapper {
  overflow: hidden;
}

.table-wrapper th {
  background: #eef2f7;
  color: #12243a;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.table-wrapper tbody td {
  color: #10213a;
}

.table-wrapper tbody tr:hover td {
  background: #fafbfd;
}

#tab-fila .fila-premium-panel,
#tab-estoque .stock-table-panel,
#tab-admin .panel,
#teacherMestreTabContent .panel,
#tab-professor .panel {
  padding-top: 26px;
}

#filaBusca {
  padding-left: 46px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='11' cy='11' r='6.5' stroke='%23718097' stroke-width='1.8'/%3E%3Cpath d='M16 16L20 20' stroke='%23718097' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 16px 50%;
}

#tab-fila .fila-metric-card {
  min-height: 170px;
  padding: 26px;
}

.fila-metric-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.fila-metric-head > div {
  display: grid;
  gap: 10px;
}

#tab-fila .fila-metric-icon {
  color: #8f1833;
}

#tab-fila .fila-toolbar {
  gap: 14px;
}

#tab-fila .fila-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 0.86rem;
  font-weight: 600;
}

#tab-fila .fila-status-confirmou,
#tab-fila .fila-status-matriculado {
  background: rgba(39, 165, 109, 0.12);
  color: #22945f;
}

#tab-fila .fila-status-contatado {
  background: rgba(245, 158, 11, 0.14);
  color: #b87300;
}

#tab-fila .fila-status-novo,
#tab-fila .fila-status-arquivado {
  background: rgba(143, 24, 51, 0.08);
  color: #8f1833;
}

#tab-fila .fila-actions.premium {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#tab-fila .fila-actions .action-btn,
#tab-fila .fila-actions .fila-link-btn {
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 0.78rem;
}

#tab-admin .collapsible-panel {
  overflow: visible;
}

#tab-admin .panel-collapse-toggle {
  min-height: 92px;
  padding: 24px 26px;
}

#tab-admin .panel-collapse-content {
  padding: 0 26px 26px;
  overflow: visible;
}

#tab-admin {
  padding-bottom: 140px;
}

#tab-admin #usersPanel > .panel-collapse-toggle,
#tab-admin #usersPanelToggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

#tab-admin .admin-section-head {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  flex: 1 1 auto;
}

#tab-admin .admin-section-copy,
#tab-admin .admin-section-head .panel-collapse-head {
  display: grid;
  gap: 6px;
  min-width: 0;
  text-align: left;
}

#tab-admin .admin-section-copy h2,
#tab-admin .admin-section-head h2 {
  margin: 0;
  line-height: 1.05;
}

#tab-admin .admin-section-copy .panel-collapse-sub,
#tab-admin .admin-section-head .panel-collapse-sub {
  margin: 0;
  white-space: normal;
  line-height: 1.45;
}

#tab-admin .admin-section-meta {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex: 0 0 auto;
}

#tab-admin .admin-users-stack {
  display: grid;
  gap: 18px;
}

#tab-admin .admin-users-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 18px;
}

#tab-admin .admin-search-shell {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 14px;
  border: 1px solid var(--shell-border);
  border-radius: 14px;
  background: #fff;
  min-width: min(100%, 320px);
}

#tab-admin .admin-search-shell input {
  min-height: 0;
  height: 100%;
  padding: 0;
  border: 0;
  box-shadow: none;
}

#tab-admin .admin-user-create-btn {
  min-width: 180px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

#tab-admin .admin-user-form-card {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 18px 0 0;
  align-items: end;
}

#tab-admin .admin-user-form-card.hidden {
  display: none !important;
}

#tab-admin .admin-user-form-card > label {
  min-width: 0;
}

#tab-admin .admin-user-field-note {
  display: block;
  margin-top: 8px;
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--text-muted);
}

#tab-admin .admin-user-form-actions {
  display: flex !important;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  grid-column: 1 / -1;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#tab-admin .admin-user-form-actions > * {
  flex: 0 0 auto;
}

#tab-admin .admin-users-table-wrap {
  margin-top: 4px;
}

#tab-admin .admin-users-table-wrap table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

#tab-admin .admin-users-table-wrap th,
#tab-admin .admin-users-table-wrap td {
  vertical-align: middle;
  padding-top: 14px;
  padding-bottom: 14px;
}

#tab-admin .admin-users-table-wrap th {
  font-size: 0.78rem;
  letter-spacing: 0.05em;
}

#tab-admin .admin-users-table-wrap tbody tr {
  transition: background 180ms ease, transform 180ms ease;
}

#tab-admin .admin-users-table-wrap tbody tr:hover {
  background: rgba(244, 248, 252, 0.9);
}

#tab-admin .admin-user-cell {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

#tab-admin .admin-user-avatar {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: linear-gradient(180deg, #eef4fb 0%, #dde8f6 100%);
  color: #284766;
  font-size: 0.82rem;
  font-weight: 800;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.sidebar-user-avatar.has-photo,
.topbar-avatar.has-photo,
#tab-admin .admin-user-avatar.has-photo {
  color: transparent;
}

#tab-admin .admin-user-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

#tab-admin .admin-user-subtitle {
  color: #708198;
  font-size: 0.78rem;
  line-height: 1.3;
}

#tab-admin .admin-user-email,
#tab-admin .admin-password-mask {
  font-weight: 600;
  color: #10233a;
}

#tab-admin .admin-user-muted {
  color: #94a3b8;
}

#tab-admin .admin-role-badge,
#tab-admin .admin-status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
}

#tab-admin .admin-role-badge--admin {
  background: rgba(143, 24, 51, 0.11);
  color: #8f1833;
}

#tab-admin .admin-role-badge--gestao {
  background: rgba(184, 134, 11, 0.14);
  color: #9a6a00;
}

#tab-admin .admin-role-badge--supervisao {
  background: rgba(54, 78, 97, 0.12);
  color: #3f5a6c;
}

#tab-admin .admin-role-badge--professor {
  background: rgba(36, 95, 209, 0.1);
  color: #245fd1;
}

#tab-admin .admin-status-badge--active {
  background: rgba(31, 138, 87, 0.12);
  color: #18764a;
}

#tab-admin .admin-status-badge--inactive {
  background: rgba(148, 163, 184, 0.18);
  color: #516174;
}

#tab-admin .admin-row-actions-cell {
  width: 1%;
  white-space: nowrap;
}

#tab-admin .admin-row-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

#tab-admin .admin-row-icon-btn {
  min-height: 38px;
  width: 38px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid var(--shell-border);
  background: #fff;
  color: #10233a;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

#tab-admin .admin-row-icon-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: #d0dae7;
  background: #f8fbff;
  box-shadow: 0 10px 18px rgba(15, 35, 63, 0.08);
}

#tab-admin .admin-row-icon-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

@media (max-width: 980px) {
  #tab-admin .admin-user-form-card {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  #tab-admin .admin-users-toolbar {
    align-items: stretch;
  }

  #tab-admin .admin-search-shell,
  #tab-admin .admin-user-create-btn {
    width: 100%;
  }

  #tab-admin .admin-user-form-card {
    grid-template-columns: 1fr;
  }
}

#tab-admin .grid-form.three,
#tab-admin .grid-form.two,
#tab-professor .grid-form.two,
#teacherMestreTabContent .grid-form.two {
  gap: 16px;
}

#tab-admin .history-list li,
#tab-professor .history-list li,
#teacherMestreTabContent .history-list li {
  border: 1px solid var(--shell-border);
  border-radius: 16px;
  background: #fff;
}

#tab-professor {
  display: grid;
  gap: 14px;
}

#tab-professor #professorHistoryPanel {
  display: none !important;
}

#tab-professor .teacher-record-panel--premium,
#tab-professor #adminNoClassHost > .panel {
  border: 1px solid rgba(210, 220, 234, 0.96);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(236, 241, 248, 0.58), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  box-shadow:
    0 10px 26px rgba(15, 23, 42, 0.055),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
}

#tab-professor .teacher-record-panel--premium .panel-title-row,
#tab-professor #adminNoClassHost > .panel .panel-title-row {
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

#tab-professor .teacher-record-panel--premium .badge,
#tab-professor #adminNoClassHost > .panel .badge {
  min-height: 28px;
  padding: 0 11px;
  border-color: rgba(143, 24, 51, 0.1);
  background: rgba(143, 24, 51, 0.06);
  color: #7c1d33;
  font-size: 0.74rem;
  letter-spacing: 0.01em;
}

#tab-professor .teacher-record-grid {
  gap: 18px;
}

#tab-professor .teacher-record-grid > label,
#tab-professor #adminNoClassHost .grid-form.two > label {
  display: grid;
  gap: 8px;
}

#tab-professor .teacher-record-grid textarea,
#tab-professor .teacher-record-grid input,
#tab-professor .teacher-record-grid select,
#tab-professor #adminNoClassHost input,
#tab-professor #adminNoClassHost select {
  min-height: 52px;
  border-radius: 16px;
  border-color: rgba(205, 216, 229, 0.96);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

#tab-professor .teacher-record-grid textarea {
  min-height: 144px;
  padding-top: 14px;
}

#tab-professor .teacher-record-upload {
  padding: 16px;
  border: 1px dashed rgba(44, 70, 121, 0.28);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(245, 248, 253, 0.96) 0%, rgba(255, 255, 255, 0.98) 100%);
}

#tab-professor .teacher-record-upload input[type="file"] {
  min-height: 0;
  padding: 10px 0 0;
  border: 0;
  background: transparent;
}

#tab-professor .teacher-record-upload input[type="file"]::file-selector-button {
  min-height: 42px;
  margin-right: 12px;
  padding: 0 16px;
  border: 1px solid rgba(143, 24, 51, 0.12);
  border-radius: 999px;
  background: rgba(143, 24, 51, 0.08);
  color: #8f1833;
  font-weight: 700;
  cursor: pointer;
}

#tab-professor .teacher-record-actions,
#tab-professor #adminNoClassHost .toolbar {
  gap: 10px;
  margin-top: 4px;
}

#tab-professor .teacher-record-actions .small-btn,
#tab-professor #adminNoClassHost .primary {
  min-width: 170px;
  box-shadow: 0 10px 24px rgba(143, 24, 51, 0.15);
}

#tab-professor #adminNoClassHost {
  display: grid;
  gap: 22px;
}

#tab-professor #noClassList {
  margin-top: 18px;
}

#tab-professor #noClassList .empty,
#tab-professor .report-status {
  border-radius: 16px;
}

#tab-professor .records-hero__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}

#tab-professor .records-kpi-pill,
#tab-professor .records-type-pill,
#tab-professor .records-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

#tab-professor .records-kpi-pill,
#tab-professor .records-type-pill {
  border: 1px solid rgba(47, 84, 154, 0.1);
  background: rgba(47, 84, 154, 0.06);
  color: #32568d;
}

#tab-professor .records-badge--atestado {
  background: rgba(24, 119, 90, 0.12);
  color: #0f6a4f;
}

#tab-professor .records-badge--justificativa {
  background: rgba(180, 83, 9, 0.12);
  color: #9a4f0d;
}

#tab-professor .records-badge--observacao {
  background: rgba(89, 94, 110, 0.12);
  color: #434955;
}

#tab-professor .records-badge--ocorrencia,
#tab-professor .records-badge--sem-aula {
  background: rgba(143, 24, 51, 0.12);
  color: #8f1833;
}

#tab-professor .records-form-grid {
  align-items: stretch;
  gap: 12px;
}

#tab-professor .records-form-grid > label,
#tab-professor .records-form-grid > div {
  border: 1px solid rgba(210, 220, 234, 0.96);
  border-radius: 18px;
  padding: 12px 14px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 253, 0.96) 100%);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.045);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

#tab-professor .teacher-record-panel--premium > .panel-title-row h2,
#tab-professor .teacher-record-history-panel > .panel-title-row h2 {
  letter-spacing: -0.02em;
  color: #0f172a;
  font-size: 1.02rem;
}

#tab-professor .teacher-record-panel--premium > .muted,
#tab-professor .teacher-record-history-panel .panel-title-row .muted {
  color: #586579;
  max-width: 78ch;
  font-size: 0.84rem;
}

#tab-professor label {
  display: grid;
  gap: 6px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #172030;
}

#tab-professor .field-help {
  font-size: 0.72rem;
  line-height: 1.35;
  color: #6b7280 !important;
}

#tab-professor input:not([type="file"]),
#tab-professor select,
#tab-professor textarea {
  border: 1px solid rgba(206, 216, 228, 0.96);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 1px 2px rgba(15, 23, 42, 0.03);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, transform 0.2s ease;
  min-height: 44px;
  padding: 0 12px;
  font-size: 0.9rem;
}

#tab-professor input:not([type="file"]):hover,
#tab-professor select:hover,
#tab-professor textarea:hover {
  border-color: rgba(155, 170, 191, 0.96);
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
}

#tab-professor input:not([type="file"]):focus,
#tab-professor select:focus,
#tab-professor textarea:focus {
  border-color: rgba(143, 24, 51, 0.34);
  box-shadow:
    0 0 0 3px rgba(143, 24, 51, 0.07),
    0 8px 20px rgba(15, 23, 42, 0.05);
  outline: none;
  transform: translateY(-1px);
}

#tab-professor textarea {
  min-height: 108px;
  padding-top: 11px;
  padding-bottom: 11px;
  resize: vertical;
}

#tab-professor .records-form-grid > label:hover,
#tab-professor .records-form-grid > div:hover,
#tab-professor .records-filter-grid > label:hover,
#tab-professor .records-timeline__card:hover,
#tab-professor .no-class-summary-card:hover,
#tab-professor .no-class-record-card:hover {
  transform: translateY(-1px);
  border-color: rgba(143, 24, 51, 0.18);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.07);
}

#tab-professor #teacherAbsHint,
#tab-professor #teacherAbsStatus,
#tab-professor .teacher-record-actions,
#tab-professor #teacherMestreTools,
#tab-professor #teacherAbsOperationalMeta {
  grid-column: 1 / -1;
}

#tab-professor #teacherAbsOperationalMeta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

#tab-professor .records-operational-chip {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(246, 248, 251, 0.94);
  border: 1px solid rgba(216, 224, 234, 0.9);
}

#tab-professor .records-operational-chip span {
  font-size: 0.67rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #738095;
}

#tab-professor .records-operational-chip strong {
  font-size: 0.86rem;
  color: #111827;
}

#tab-professor .teacher-record-upload {
  display: grid;
  gap: 10px;
}

#tab-professor .teacher-record-upload__dropzone {
  display: grid;
  gap: 10px;
  justify-items: center;
  padding: 14px 14px;
  border: 1px dashed rgba(44, 70, 121, 0.28);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(245, 248, 253, 0.96) 0%, rgba(255, 255, 255, 0.98) 100%);
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

#tab-professor .teacher-record-upload__dropzone.is-dragover {
  border-color: rgba(143, 24, 51, 0.34);
  box-shadow: 0 10px 24px rgba(143, 24, 51, 0.08);
  transform: translateY(-1px);
}

#tab-professor .teacher-record-upload__dropzone.is-filled {
  border-color: rgba(24, 119, 90, 0.24);
  background: linear-gradient(180deg, rgba(241, 250, 247, 0.98) 0%, rgba(255, 255, 255, 0.99) 100%);
  box-shadow: 0 10px 22px rgba(24, 119, 90, 0.07);
}

#tab-professor .teacher-record-upload__dropzone input[type="file"] {
  display: none;
}

#tab-professor .teacher-record-upload__copy {
  display: grid;
  justify-items: center;
  gap: 3px;
  text-align: center;
}

#tab-professor .teacher-record-upload__copy strong {
  font-size: 0.9rem;
  color: #18212f;
}

#tab-professor .teacher-record-upload__meta {
  margin: 0;
  font-size: 0.73rem;
}

#tab-professor .teacher-record-upload__preview-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(24, 119, 90, 0.12);
  color: #0f6a4f;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

#tab-professor .teacher-record-upload__preview {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 12px;
  align-items: center;
  min-height: 76px;
  padding: 10px;
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.96);
  border: 1px solid rgba(220, 227, 236, 0.92);
}

#tab-professor .teacher-record-upload__preview.empty {
  grid-template-columns: 1fr;
  place-items: center;
  color: #6b7280;
}

#tab-professor .teacher-record-upload__preview img {
  width: 76px;
  height: 76px;
  object-fit: cover;
  border-radius: 12px;
}

#tab-professor .teacher-record-upload__preview-icon {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border-radius: 12px;
  background: rgba(143, 24, 51, 0.1);
  color: #8f1833;
  font-weight: 800;
}

#tab-professor .records-filter-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

#tab-professor .records-filter-grid > label {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(214, 223, 234, 0.96);
  background: rgba(250, 252, 253, 0.96);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

#tab-professor .records-filter-grid > label {
  backdrop-filter: blur(10px);
}

#tab-professor .records-filter-grid > label > input,
#tab-professor .records-filter-grid > label > select {
  min-height: 40px;
}

#tab-professor .records-filter-grid__search {
  grid-column: span 2;
}

#tab-professor .records-history-meta {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(220, 227, 236, 0.88);
  background: rgba(248, 250, 252, 0.92);
  font-size: 0.8rem;
}

#tab-professor .records-loading-card {
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px dashed rgba(205, 216, 229, 0.96);
  background:
    linear-gradient(90deg, rgba(248, 250, 252, 0.96) 25%, rgba(238, 243, 248, 0.96) 37%, rgba(248, 250, 252, 0.96) 63%);
  background-size: 400% 100%;
  color: #64748b;
  animation: records-loading-shimmer 1.8s ease infinite;
}

#tab-professor .records-timeline {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#tab-professor .records-timeline__item {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 12px;
}

#tab-professor .records-timeline__rail {
  position: relative;
}

#tab-professor .records-timeline__rail::after {
  content: "";
  position: absolute;
  top: 14px;
  bottom: -14px;
  left: 7px;
  width: 2px;
  background: linear-gradient(180deg, rgba(143, 24, 51, 0.18) 0%, rgba(143, 24, 51, 0.03) 100%);
}

#tab-professor .records-timeline__date-separator {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 6px 0 0;
  color: #5b687d;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#tab-professor .records-timeline__date-separator::before,
#tab-professor .records-timeline__date-separator::after {
  content: "";
  height: 1px;
  flex: 1 1 auto;
  background: linear-gradient(90deg, rgba(210, 220, 234, 0.18) 0%, rgba(210, 220, 234, 0.92) 45%, rgba(210, 220, 234, 0.18) 100%);
}

#tab-professor .records-timeline__item:last-child .records-timeline__rail::after {
  display: none;
}

#tab-professor .records-timeline__dot {
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, #8f1833 0%, #c14a63 100%);
  box-shadow:
    0 0 0 4px rgba(143, 24, 51, 0.08),
    0 6px 12px rgba(143, 24, 51, 0.18);
}

#tab-professor .records-timeline__card {
  display: grid;
  gap: 10px;
  padding: 14px 15px;
  border-radius: 18px;
  border: 1px solid rgba(211, 221, 233, 0.95);
  background:
    radial-gradient(circle at top right, rgba(143, 24, 51, 0.045), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(247, 250, 253, 0.97) 100%);
  box-shadow:
    0 8px 24px rgba(15, 23, 42, 0.05),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

#tab-professor .records-timeline__card-head strong {
  display: block;
  margin-top: 5px;
  font-size: 0.95rem;
  color: #101828;
  line-height: 1.25;
}

#tab-professor .records-timeline__card-head p {
  font-size: 0.8rem;
}

#tab-professor .records-timeline__card-head,
#tab-professor .records-timeline__footer,
#tab-professor .no-class-summary-card__head,
#tab-professor .no-class-record-card__head,
#tab-professor .no-class-record-card__meta,
#tab-professor .no-class-summary-card__meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

#tab-professor .records-timeline__badges,
#tab-professor .records-timeline__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#tab-professor .records-timeline__meta span {
  display: grid;
  gap: 1px;
  min-width: 92px;
  padding: 7px 9px;
  border-radius: 12px;
  background: rgba(246, 248, 251, 0.95);
  border: 1px solid rgba(223, 229, 237, 0.92);
}

#tab-professor .records-timeline__meta small {
  font-size: 0.64rem;
  color: #738095;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

#tab-professor .records-timeline__meta strong {
  font-size: 0.8rem;
  line-height: 1.3;
  color: #122033;
}

#tab-professor .records-timeline__stamp {
  display: grid;
  justify-items: end;
  gap: 1px;
  text-align: right;
  flex-shrink: 0;
}

#tab-professor .records-timeline__stamp strong {
  font-size: 0.8rem;
  color: #172030;
}

#tab-professor .records-timeline__stamp span {
  font-size: 0.74rem;
  color: #6b7280;
}

#tab-professor .records-timeline__summary p {
  margin: 0;
  line-height: 1.45;
  color: #253041;
  font-size: 0.84rem;
}

#tab-professor .records-attachment-preview {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 10px;
  align-items: center;
  min-width: 0;
}

#tab-professor .records-attachment-preview img,
#tab-professor .records-attachment-preview--file strong,
#tab-professor .records-attachment-preview--empty {
  border-radius: 14px;
}

#tab-professor .records-attachment-preview img {
  width: 56px;
  height: 56px;
  object-fit: cover;
}

#tab-professor .records-attachment-preview--file,
#tab-professor .records-attachment-preview--empty {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.05) 0%, rgba(15, 23, 42, 0.03) 100%);
  color: #374151;
}

#tab-professor .records-attachment-preview--file {
  grid-template-columns: 56px 1fr;
  justify-items: stretch;
  place-items: center start;
}

#tab-professor .records-attachment-preview span,
#tab-professor .records-attachment-preview strong {
  display: block;
  font-size: 0.78rem;
  line-height: 1.35;
}

#tab-professor .records-timeline__attachment-link {
  white-space: nowrap;
  align-self: center;
}

#tab-professor .records-empty-state {
  padding: 18px;
  border-radius: 18px;
  border: 1px dashed rgba(205, 216, 229, 0.96);
  background: linear-gradient(180deg, rgba(249, 251, 253, 0.98) 0%, rgba(245, 248, 252, 0.96) 100%);
  text-align: center;
  color: #6b7280;
  font-size: 0.84rem;
}

#tab-professor .no-class-panel .month-summary-grid,
#tab-professor .no-class-records-board {
  margin-top: 14px;
}

#tab-professor .no-class-records-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

#tab-professor .no-class-schedule-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

#tab-professor .no-class-schedule-preview.empty {
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px dashed rgba(210, 220, 234, 0.96);
  background: rgba(248, 250, 252, 0.98);
  color: #6b7280;
  font-size: 0.8rem;
}

#tab-professor .no-class-schedule-chip {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(47, 84, 154, 0.06);
  color: #31568e;
  font-weight: 700;
  font-size: 0.72rem;
}

#tab-professor .no-class-summary-card,
#tab-professor .no-class-record-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(211, 221, 233, 0.95);
  background:
    radial-gradient(circle at top right, rgba(47, 84, 154, 0.05), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(247, 250, 253, 0.97) 100%);
  box-shadow:
    0 8px 24px rgba(15, 23, 42, 0.05),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

#tab-professor .no-class-summary-card__reason,
#tab-professor .no-class-record-card__body {
  padding: 9px 10px;
  border-radius: 13px;
  background: rgba(247, 249, 252, 0.98);
  border: 1px solid rgba(220, 227, 236, 0.88);
}

#tab-professor .no-class-record-card__body strong,
#tab-professor .no-class-summary-card__reason {
  font-size: 0.76rem;
  color: #4b5563;
}

#tab-professor .no-class-record-card__body p {
  margin: 5px 0 0;
  color: #172030;
  line-height: 1.4;
  font-size: 0.84rem;
}

#tab-professor .no-class-record-card__meta span,
#tab-professor .no-class-summary-card__meta span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.045);
  color: #526079;
  font-size: 0.7rem;
  font-weight: 700;
}

#tab-professor .no-class-record-card__head p,
#tab-professor .records-timeline__card-head p {
  margin: 4px 0 0;
  color: #6b7280;
}

#tab-professor .no-class-summary-card__head strong,
#tab-professor .no-class-record-card__head strong {
  font-size: 0.92rem;
  color: #111827;
}

#tab-professor #teacherAbsHint {
  margin: 0;
  padding: 11px 12px;
  border-radius: 14px;
  border: 1px solid rgba(217, 225, 235, 0.9);
  background: rgba(248, 250, 252, 0.92);
  font-size: 0.8rem;
}

#tab-professor #teacherAbsStatus,
#tab-professor #noClassStatus {
  margin: 0;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.9);
  border: 1px solid rgba(220, 227, 236, 0.88);
  font-size: 0.8rem;
}

#tab-professor #teacherAbsStatus:empty,
#tab-professor #noClassStatus:empty {
  display: none;
}

#tab-professor .teacher-student-autocomplete__list {
  border-radius: 12px;
  padding: 5px;
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.1);
}

#tab-professor .teacher-student-autocomplete__option,
#tab-professor .teacher-student-autocomplete__empty {
  padding: 8px 10px;
  font-size: 0.84rem;
}

@media (max-width: 1100px) {
  #tab-professor .records-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #tab-professor .records-filter-grid__search {
    grid-column: span 2;
  }

  #tab-professor #teacherAbsOperationalMeta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  #tab-professor .records-form-grid > label,
  #tab-professor .records-form-grid > div,
  #tab-professor .records-filter-grid > label,
  #tab-professor .records-timeline__card,
  #tab-professor .no-class-summary-card,
  #tab-professor .no-class-record-card {
    padding: 14px;
  }

  #tab-professor .records-filter-grid,
  #tab-professor #teacherAbsOperationalMeta {
    grid-template-columns: 1fr;
  }

  #tab-professor .records-filter-grid__search {
    grid-column: span 1;
  }

  #tab-professor .records-timeline__item {
    grid-template-columns: 1fr;
  }

  #tab-professor .records-timeline__date-separator {
    margin: 4px 0 0;
  }

  #tab-professor .records-timeline__rail {
    display: none;
  }

  #tab-professor .no-class-records-board {
    grid-template-columns: 1fr;
  }

  #tab-professor .records-timeline__card-head,
  #tab-professor .records-timeline__footer,
  #tab-professor .no-class-summary-card__head,
  #tab-professor .no-class-record-card__head,
  #tab-professor .no-class-record-card__meta,
  #tab-professor .no-class-summary-card__meta {
    flex-direction: column;
  }

  #tab-professor .records-timeline__stamp {
    justify-items: start;
    text-align: left;
  }

  #tab-professor .teacher-record-upload__preview,
  #tab-professor .records-attachment-preview {
    grid-template-columns: 1fr;
  }
}

@keyframes records-loading-shimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: 0 0;
  }
}

#tab-professor {
  --records-shell-border: rgba(214, 222, 234, 0.92);
  --records-shell-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(248, 250, 253, 0.98) 100%);
  --records-soft-bg: rgba(245, 248, 251, 0.92);
  --records-hover-shadow: 0 14px 30px rgba(15, 23, 42, 0.07);
}

#tab-professor .teacher-record-panel--premium,
#tab-professor #adminNoClassHost > .panel {
  padding: 16px 16px 14px;
  border-radius: 20px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.045), 0 1px 0 rgba(255, 255, 255, 0.78) inset;
}

#tab-professor .teacher-record-panel--premium .panel-title-row,
#tab-professor #adminNoClassHost > .panel .panel-title-row {
  margin-bottom: 6px;
}

#tab-professor .teacher-record-panel--premium > .muted,
#tab-professor .teacher-record-history-panel .panel-title-row .muted {
  font-size: 0.79rem;
  line-height: 1.45;
}

#tab-professor .records-hero__pills {
  margin: 0 0 10px;
  gap: 6px;
}

#tab-professor .records-kpi-pill,
#tab-professor .records-type-pill,
#tab-professor .records-badge,
#tab-professor .no-class-schedule-chip {
  min-height: 24px;
  padding: 0 9px;
  font-size: 0.68rem;
}

#tab-professor .records-kpi-pill {
  background: rgba(47, 84, 154, 0.045);
  border-color: rgba(47, 84, 154, 0.08);
  color: #5a6f8a;
}

#tab-professor .teacher-record-panel--premium > .panel-title-row {
  align-items: start;
}

#tab-professor .teacher-record-panel--premium .badge {
  min-height: 26px;
  padding: 0 10px;
  background: rgba(143, 24, 51, 0.05);
  border-color: rgba(143, 24, 51, 0.08);
}

#tab-professor .records-form-grid--compact {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 8px;
  align-items: start;
}

#tab-professor .records-form-grid > label,
#tab-professor .records-form-grid > div,
#tab-professor .no-class-form-grid > label {
  padding: 8px 10px;
  border-radius: 16px;
  border: 1px solid var(--records-shell-border);
  background: var(--records-shell-bg);
  box-shadow: 0 5px 14px rgba(15, 23, 42, 0.03);
}

#tab-professor .records-form-grid__field--student,
#tab-professor .records-form-grid__field--collaborator,
#tab-professor .records-form-grid__field--text {
  grid-column: span 7;
}

#tab-professor .records-form-grid__field--type,
#tab-professor .records-form-grid__field--upload {
  grid-column: span 5;
}

#tab-professor .no-class-form-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px;
}

#tab-professor .no-class-form-grid__field--date,
#tab-professor .no-class-form-grid__field--nucleus {
  grid-column: span 3;
}

#tab-professor .no-class-form-grid__field--schedule {
  grid-column: span 3;
}

#tab-professor .no-class-form-grid__field--reason {
  grid-column: span 3;
}

#tab-professor label {
  gap: 4px;
  font-size: 0.76rem;
  letter-spacing: -0.01em;
}

#tab-professor .field-help {
  font-size: 0.68rem;
}

#tab-professor input:not([type="file"]),
#tab-professor select,
#tab-professor textarea,
#tab-professor .records-filter-grid > label > input,
#tab-professor .records-filter-grid > label > select {
  min-height: 36px;
  padding: 0 11px;
  border-radius: 12px;
  font-size: 0.84rem;
}

#tab-professor textarea,
#tab-professor .teacher-record-grid textarea {
  min-height: 86px;
  max-height: 86px;
  padding-top: 7px;
  padding-bottom: 7px;
}

#tab-professor #teacherAbsHint,
#tab-professor #teacherAbsStatus,
#tab-professor #noClassStatus,
#tab-professor .records-history-meta {
  padding: 8px 10px;
  border-radius: 12px;
  font-size: 0.76rem;
}

#tab-professor #teacherAbsOperationalMeta {
  gap: 7px;
}

#tab-professor .records-operational-chip {
  display: grid;
  gap: 2px;
  padding: 7px 9px;
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.98);
  border: 1px solid rgba(217, 224, 233, 0.92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

#tab-professor .records-operational-chip span {
  font-size: 0.62rem;
  letter-spacing: 0.07em;
}

#tab-professor .records-operational-chip strong {
  font-size: 0.74rem;
  line-height: 1.3;
}

#tab-professor .teacher-record-upload {
  padding: 0;
  gap: 6px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

#tab-professor .teacher-record-upload__dropzone {
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  justify-items: stretch;
  gap: 6px;
  min-height: 86px;
  padding: 10px 11px;
  border: 1px solid rgba(210, 219, 230, 0.96);
  border-style: solid;
  border-radius: 14px;
  background: rgba(249, 251, 253, 0.98);
}

#tab-professor .teacher-record-upload__copy {
  justify-items: start;
  text-align: left;
  gap: 1px;
}

#tab-professor .teacher-record-upload__copy strong {
  font-size: 0.78rem;
}

#tab-professor .teacher-record-upload__copy span,
#tab-professor .teacher-record-upload__meta {
  font-size: 0.68rem;
  line-height: 1.35;
}

#tab-professor .teacher-record-upload__copy .ghost {
  min-height: 34px;
  padding: 0 11px;
  border-radius: 10px;
  align-self: center;
}

#tab-professor .teacher-record-upload__preview {
  grid-template-columns: 44px minmax(0, 1fr);
  min-height: 44px;
  gap: 7px;
  padding: 7px;
  border-radius: 12px;
  background: rgba(247, 249, 252, 0.98);
}

#tab-professor .teacher-record-upload__preview img,
#tab-professor .teacher-record-upload__preview-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
}

#tab-professor .teacher-record-upload__preview strong,
#tab-professor .teacher-record-upload__preview span {
  font-size: 0.75rem;
  line-height: 1.3;
}

#tab-professor .records-filter-grid {
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 8px;
}

#tab-professor .records-filter-grid > label {
  padding: 8px 10px;
  border-radius: 14px;
}

#tab-professor .records-filter-grid > label:nth-child(1),
#tab-professor .records-filter-grid > label:nth-child(2),
#tab-professor .records-filter-grid > label:nth-child(3),
#tab-professor .records-filter-grid > label:nth-child(4) {
  grid-column: span 2;
}

#tab-professor .records-filter-grid__search {
  grid-column: span 2;
}

#tab-professor .records-timeline {
  gap: 8px;
}

#tab-professor .records-timeline__item {
  grid-template-columns: 12px minmax(0, 1fr);
  gap: 10px;
}

#tab-professor .records-timeline__rail::after {
  top: 10px;
  bottom: -10px;
  left: 5px;
}

#tab-professor .records-timeline__dot {
  width: 10px;
  height: 10px;
  box-shadow: 0 0 0 3px rgba(143, 24, 51, 0.08), 0 4px 8px rgba(143, 24, 51, 0.14);
}

#tab-professor .records-timeline__card {
  gap: 8px;
  padding: 11px 12px;
  border-radius: 16px;
  box-shadow: 0 5px 16px rgba(15, 23, 42, 0.04), 0 1px 0 rgba(255, 255, 255, 0.68) inset;
}

#tab-professor .records-timeline__card-head {
  align-items: center;
  gap: 12px;
}

#tab-professor .records-timeline__identity {
  display: grid;
  gap: 5px;
  min-width: 0;
}

#tab-professor .records-timeline__title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

#tab-professor .records-timeline__inline-meta {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.045);
  color: #516075;
  font-size: 0.67rem;
  font-weight: 700;
}

#tab-professor .records-timeline__card-head strong {
  margin-top: 0;
  font-size: 0.88rem;
}

#tab-professor .records-timeline__card-head p,
#tab-professor .no-class-record-card__head p,
#tab-professor .no-class-summary-card__title p {
  margin: 0;
  font-size: 0.73rem;
  line-height: 1.35;
}

#tab-professor .records-timeline__stamp strong,
#tab-professor .records-timeline__stamp span {
  font-size: 0.72rem;
}

#tab-professor .records-timeline__meta {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

#tab-professor .records-timeline__meta span {
  min-width: 0;
  padding: 6px 7px;
  border-radius: 11px;
}

#tab-professor .records-timeline__meta small {
  font-size: 0.58rem;
}

#tab-professor .records-timeline__meta strong,
#tab-professor .records-timeline__summary p {
  font-size: 0.74rem;
}

#tab-professor .records-timeline__summary {
  padding-top: 1px;
}

#tab-professor .records-timeline__footer {
  align-items: center;
  padding-top: 2px;
}

#tab-professor .records-timeline__attachment-pack {
  min-width: 0;
  flex: 1 1 auto;
}

#tab-professor .records-attachment-preview {
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 8px;
}

#tab-professor .records-attachment-preview img,
#tab-professor .records-attachment-preview--file,
#tab-professor .records-attachment-preview--empty {
  width: 40px;
  height: 40px;
  border-radius: 10px;
}

#tab-professor .records-attachment-preview--file {
  grid-template-columns: 40px minmax(0, 1fr);
}

#tab-professor .records-attachment-preview span,
#tab-professor .records-attachment-preview strong {
  font-size: 0.72rem;
}

#tab-professor .records-timeline__attachment-link {
  min-height: 32px;
  padding: 0 11px;
  border-radius: 10px;
  font-size: 0.72rem;
}

#tab-professor .records-timeline__attachment-link--muted {
  display: inline-flex;
  align-items: center;
  color: #7b8798;
  background: rgba(15, 23, 42, 0.04);
}

#tab-professor .no-class-panel .month-summary-grid,
#tab-professor .no-class-records-board,
#tab-professor #noClassList {
  margin-top: 10px;
}

#tab-professor #noClassSummaryBoard {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

#tab-professor .no-class-records-board {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

#tab-professor .no-class-schedule-preview {
  margin-top: 4px;
}

#tab-professor .no-class-schedule-preview.empty {
  padding: 8px 10px;
  border-radius: 12px;
  font-size: 0.74rem;
}

#tab-professor .no-class-summary-card,
#tab-professor .no-class-record-card {
  gap: 7px;
  padding: 11px 12px;
  border-radius: 16px;
}

#tab-professor .no-class-summary-card__head,
#tab-professor .no-class-record-card__head {
  align-items: center;
}

#tab-professor .no-class-summary-card__title,
#tab-professor .no-class-record-card__title {
  display: grid;
  gap: 2px;
  min-width: 0;
}

#tab-professor .no-class-summary-card__head strong,
#tab-professor .no-class-record-card__head strong {
  font-size: 0.84rem;
}

#tab-professor .no-class-summary-card__meta,
#tab-professor .no-class-record-card__meta {
  gap: 6px;
}

#tab-professor .no-class-summary-card__meta span,
#tab-professor .no-class-record-card__meta span {
  display: grid;
  gap: 1px;
  min-width: 0;
  padding: 6px 8px;
  border-radius: 10px;
  background: var(--records-soft-bg);
}

#tab-professor .no-class-summary-card__meta small,
#tab-professor .no-class-record-card__meta small {
  font-size: 0.56rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #738095;
}

#tab-professor .no-class-summary-card__meta strong,
#tab-professor .no-class-record-card__meta strong {
  font-size: 0.71rem;
  color: #142033;
}

#tab-professor .no-class-summary-card__reason,
#tab-professor .no-class-record-card__body {
  padding: 8px 9px;
  border-radius: 11px;
}

#tab-professor .no-class-summary-card__reason,
#tab-professor .no-class-record-card__body p {
  font-size: 0.74rem;
  line-height: 1.4;
}

#tab-professor .records-form-grid > label:hover,
#tab-professor .records-form-grid > div:hover,
#tab-professor .records-filter-grid > label:hover,
#tab-professor .records-timeline__card:hover,
#tab-professor .no-class-summary-card:hover,
#tab-professor .no-class-record-card:hover,
#tab-professor .no-class-form-grid > label:hover {
  box-shadow: var(--records-hover-shadow);
}

@media (max-width: 1100px) {
  #tab-professor .records-form-grid--compact,
  #tab-professor .no-class-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #tab-professor .records-form-grid__field--student,
  #tab-professor .records-form-grid__field--collaborator,
  #tab-professor .records-form-grid__field--type,
  #tab-professor .records-form-grid__field--text,
  #tab-professor .records-form-grid__field--upload,
  #tab-professor .no-class-form-grid__field--date,
  #tab-professor .no-class-form-grid__field--nucleus,
  #tab-professor .no-class-form-grid__field--schedule,
  #tab-professor .no-class-form-grid__field--reason {
    grid-column: span 1;
  }

  #tab-professor .records-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #tab-professor .records-filter-grid > label,
  #tab-professor .records-filter-grid__search,
  #tab-professor .records-timeline__meta,
  #tab-professor #noClassSummaryBoard,
  #tab-professor .no-class-records-board {
    grid-column: auto;
  }

  #tab-professor .records-timeline__meta,
  #tab-professor #noClassSummaryBoard,
  #tab-professor .no-class-records-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

#tab-professor .records-form-grid--compact {
  grid-auto-flow: row dense;
  align-items: start;
}

#tab-professor .records-form-grid__field--student {
  grid-column: span 8;
  position: static;
  padding-top: 8px;
}

#tab-professor .records-form-grid__field--type {
  grid-column: span 4;
  position: static;
  padding-top: 8px;
}

#tab-professor .records-form-grid__field--text {
  grid-column: span 8;
  position: static;
  padding-top: 8px;
  display: grid;
  align-content: start;
  gap: 4px;
  align-self: start;
  height: auto;
  min-height: 0;
}

#tab-professor .records-form-grid__field--upload {
  grid-column: span 4;
  align-self: start;
  position: static;
  padding-top: 8px;
  display: grid;
  align-content: start;
  gap: 4px;
  height: auto;
  min-height: 0;
}

#tab-professor .records-form-grid__field--collaborator {
  grid-column: span 8;
  position: static;
  padding-top: 8px;
}

#tab-professor #teacherAbsHint {
  border-style: solid;
  border-color: rgba(213, 221, 231, 0.92);
  background: rgba(248, 250, 252, 0.96);
  color: #607086;
  margin-top: 0;
}

#tab-professor .teacher-record-actions {
  justify-content: flex-end;
  align-items: center;
  margin-top: 0;
  padding: 0;
  border-top: 0;
}

#tab-professor .teacher-record-actions .small-btn {
  min-height: 40px;
  min-width: 168px;
  padding: 0 16px;
  border-radius: 12px;
}

#tab-professor textarea,
#tab-professor .teacher-record-grid textarea {
  height: 120px;
  min-height: 120px;
  max-height: 120px;
}

#tab-professor .teacher-record-upload {
  display: grid;
  grid-template-rows: auto auto;
  justify-content: start;
  min-height: 0;
  height: auto;
}

#tab-professor .teacher-record-upload__dropzone {
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  min-height: 0;
  align-content: start;
  position: static;
  align-items: start;
  padding: 10px 11px;
  height: auto;
}

#tab-professor .teacher-record-upload__copy .ghost {
  justify-self: start;
}

#tab-professor .teacher-record-upload__preview {
  grid-template-columns: 44px minmax(0, 1fr);
  min-height: 44px;
}

#tab-professor .teacher-record-upload__preview img,
#tab-professor .teacher-record-upload__preview-icon {
  width: 44px;
  height: 44px;
}

#tab-professor #teacherAbsOperationalMeta {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#tab-professor .records-operational-chip {
  flex: 1 1 180px;
  min-width: 0;
  background: rgba(248, 250, 252, 0.98);
}

#tab-professor .records-operational-chip strong,
#tab-professor .records-operational-chip span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#tab-professor .teacher-record-upload__preview.empty {
  place-items: center;
  text-align: center;
}

#tab-professor .records-form-grid__field--student::before,
#tab-professor .records-form-grid__field--type::before,
#tab-professor .records-form-grid__field--text::before,
#tab-professor .records-form-grid__field--upload::before,
#tab-professor .records-form-grid__field--collaborator::before {
  content: none;
}

@media (max-width: 1100px) {
  #tab-professor textarea,
  #tab-professor .teacher-record-grid textarea,
  #tab-professor .teacher-record-upload__dropzone {
    min-height: 0;
    max-height: none;
  }

  #tab-professor .teacher-record-upload {
    grid-template-rows: auto auto;
  }
}

#tab-professor .teacher-record-history-panel {
  margin-top: 28px;
  padding-top: 16px;
}

#tab-professor .records-filter-grid {
  align-items: start;
  gap: 10px;
}

#tab-professor .records-filter-grid > label {
  gap: 4px;
}

#tab-professor .records-timeline__card {
  grid-template-columns: minmax(0, 1fr);
}

#tab-professor .records-timeline__card-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  order: 2;
}

#tab-professor .records-timeline__meta {
  order: 3;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

#tab-professor .records-timeline__summary {
  min-width: 0;
}

#tab-professor .records-timeline__summary p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

#tab-professor .records-timeline__footer {
  justify-content: flex-end;
  min-width: 220px;
}

#tab-professor .records-timeline__attachment-pack {
  max-width: 220px;
}

#tab-professor .records-attachment-preview {
  align-items: center;
}

#tab-professor .records-attachment-preview__copy {
  min-width: 0;
}

#tab-professor .records-attachment-preview span,
#tab-professor .records-attachment-preview strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#tab-professor .records-loading-card,
#tab-professor .records-empty-state {
  padding: 14px 16px;
}

#tab-professor .no-class-form-grid__field--date,
#tab-professor .no-class-form-grid__field--nucleus {
  grid-column: span 2;
}

#tab-professor .no-class-form-grid__field--schedule,
#tab-professor .no-class-form-grid__field--reason {
  grid-column: span 4;
}

#tab-professor #noClassSummaryBoard,
#tab-professor .no-class-records-board {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

#tab-professor .no-class-summary-card,
#tab-professor .no-class-record-card {
  align-content: start;
}

#tab-professor .no-class-summary-card__meta,
#tab-professor .no-class-record-card__meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#tab-professor .no-class-record-card__body p,
#tab-professor .no-class-summary-card__reason {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

@media (max-width: 1100px) {
  #tab-professor .records-timeline__card-body,
  #tab-professor #noClassSummaryBoard,
  #tab-professor .no-class-records-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #tab-professor .records-timeline__footer {
    min-width: 0;
  }

  #tab-professor .records-timeline__attachment-pack {
    max-width: none;
  }
}

@media (max-width: 720px) {
  #tab-professor .records-timeline__card-body {
    grid-template-columns: 1fr;
  }

  #tab-professor #noClassSummaryBoard,
  #tab-professor .no-class-records-board {
    grid-template-columns: 1fr;
  }
}

.collaborator-help-panel {
  overflow: hidden;
}

.collaborator-help-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

.collaborator-help-card {
  align-self: start;
  overflow: hidden;
  border: 1px solid rgba(209, 218, 230, 0.88);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 252, 0.94) 100%);
  backdrop-filter: blur(8px);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
  transition: border-color 0.24s ease, box-shadow 0.24s ease, transform 0.24s ease, background 0.24s ease;
}

.collaborator-help-card:hover {
  transform: translateY(-3px);
  border-color: rgba(143, 24, 51, 0.18);
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.09);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(249, 250, 252, 0.96) 100%);
}

.collaborator-help-card[open] {
  border-color: rgba(143, 24, 51, 0.18);
  box-shadow: 0 18px 34px rgba(143, 24, 51, 0.1);
}

.collaborator-help-card summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 78px;
  padding: 20px 22px;
  cursor: pointer;
  list-style: none;
}

.collaborator-help-card summary::-webkit-details-marker {
  display: none;
}

.collaborator-help-card__title {
  font-size: 1rem;
  font-weight: 700;
  color: #111827;
}

.collaborator-help-card__heading {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.collaborator-help-card__icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  object-fit: contain;
  filter: drop-shadow(0 6px 10px rgba(15, 23, 42, 0.10));
}

.collaborator-help-card__toggle {
  position: relative;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border-radius: 999px;
  border: 1px solid rgba(143, 24, 51, 0.12);
  background: rgba(143, 24, 51, 0.05);
}

.collaborator-help-card__toggle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid #8f1833;
  border-bottom: 2px solid #8f1833;
  transform: translate(-50%, -58%) rotate(45deg);
  transition: transform 0.24s ease;
}

.collaborator-help-card[open] .collaborator-help-card__toggle::before {
  transform: translate(-50%, -38%) rotate(225deg);
}

.collaborator-help-card__description {
  margin: 0;
  overflow: hidden;
  max-height: 0;
  padding: 0 22px 0;
  color: #374151;
  font-size: 0.95rem;
  line-height: 1.65;
  opacity: 0;
  transform: translateY(-8px);
  transition: max-height 0.3s ease, opacity 0.24s ease, transform 0.3s ease, padding 0.3s ease;
}

.collaborator-help-card[open] .collaborator-help-card__description {
  padding: 0 22px 22px;
}

.collaborator-help-card__description p {
  margin: 0 0 10px;
}

.collaborator-help-card__steps {
  margin: 0 0 12px 18px;
  padding: 0;
  display: grid;
  gap: 8px;
}

.collaborator-help-card__steps li {
  color: #4b5563;
}

.collaborator-help-card__tip {
  margin-bottom: 0;
  position: relative;
  padding: 14px 16px 14px 18px;
  border: 1px solid rgba(33, 110, 196, 0.18);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(214, 240, 255, 0.92) 0%, rgba(236, 250, 247, 0.92) 100%);
  box-shadow:
    0 10px 22px rgba(32, 82, 149, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.78);
  color: #1f2937;
}

.collaborator-help-card__tip::before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 0;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, #2296c9 0%, #36b37e 100%);
  box-shadow: 0 0 14px rgba(34, 150, 201, 0.18);
}

.collaborator-help-card__tip strong {
  color: #0f3d68;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.collaborator-help-card__actions {
  margin-top: 14px;
  display: flex;
  justify-content: flex-start;
}

.collaborator-help-card__link {
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  font-weight: 600;
}

@media (max-width: 900px) {
  .collaborator-help-grid {
    grid-template-columns: 1fr;
  }
}

#tab-mestre .iin-kpi-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 1080px;
}

#teacherMestreQuickPanel {
  overflow: visible;
}

#teacherMestreQuickPanel,
#teacherMestreAdminHost,
#teacherMestreQuickPanel #adminMestreContent {
  min-width: 0;
}

#teacherMestreAdminHost {
  display: grid;
  gap: 18px;
  width: 100%;
}

#teacherMestreTabContent #planningPanel.collapsible-panel {
  overflow: hidden;
  padding: 0 !important;
}

#teacherMestreQuickPanel #adminMestreContent.collapsible-panel {
  overflow: hidden;
  padding: 0 !important;
}

#teacherMestreTabContent #planningPanel > .panel-collapse-toggle {
  min-height: 92px;
  padding: 24px 26px;
}

#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-toggle {
  min-height: 92px;
  padding: 24px 26px;
}

#teacherMestreTabContent #planningPanel > .panel-collapse-content {
  padding: 0 26px 26px;
}

#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-content {
  padding: 0 26px 26px;
}

#teacherMestreQuickPanel #adminMestreContent .mestre-admin-content-head {
  display: none !important;
}

.mestre-accordion-head {
  display: flex;
  align-items: center;
  gap: 14px;
  justify-content: flex-start;
}

.mestre-accordion-head > div {
  display: grid;
  gap: 4px;
  align-content: center;
  min-width: 0;
}

.mestre-accordion-icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: inline-block;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(135, 36, 65, 0.12), rgba(231, 198, 106, 0.2));
  border: 1px solid rgba(135, 36, 65, 0.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 24px 24px;
}

#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-toggle,
#teacherMestreTabContent #planningPanel > .panel-collapse-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-toggle .panel-collapse-head,
#teacherMestreTabContent #planningPanel > .panel-collapse-toggle .panel-collapse-head {
  flex: 1 1 auto;
  min-width: 0;
}

#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-toggle h2,
#teacherMestreTabContent #planningPanel > .panel-collapse-toggle h2 {
  margin: 0;
}

#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-toggle .panel-collapse-sub,
#teacherMestreTabContent #planningPanel > .panel-collapse-toggle .panel-collapse-sub {
  margin: 0;
}

#teacherMestreQuickPanel {
  padding: 0 !important;
}

#teacherMestreQuickPanel #adminMestreContent {
  gap: 18px;
  margin-top: 0 !important;
  padding: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

.mestre-accordion-icon--execution {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAACAASURBVHic7d15mFx1ne/xz/dUVXd1d5burA1ECIqI4MoiKIokoRNC3EeYGRjccBlXHAYVZrwavHcGEZdxu6MXcZlRHJdRxwVIAgmCorI4OBJ2oUkC2ZPupNeqOud7/+ggW5buruVXVef9eh6eR5M+5/dJUud3PnVWCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCs9ABkA7+rXmHFFuTi9SqHmvxecp6m7IWyTx0tHRzk5ckFUw+ZPJdkZK+SIqZGmqkKKlPUq/J73DZ6jZr/YV95N7doYOh+bGVo6pGvv2MxVFH8kVNjY+0KHQajEsi+faMShsz0gj/aAEMuey7mcguy3/4wftDh0HzogCgKvz782YUM8kK60yO51PWoNyUbMoofiQrJaHDpFJR5v/SNmwfs+W9I6HDoPkwNaPiRq46uCfT6T9V3vOhs6B8PhApfiAnLzBdBPJbj/0NHf/48MbQQdBcOL6Hihq66hl/nZmZXMvOv3nYlESZowuyNg4DBHKSZXTLwOWHvyB0EDQXKj0qZuSqg3syM5NrlaNYNiMvmOK1LfIi00YYviGJ7IQpH+7dFDoJmgMTNSrCvzG/MzNd/8XOv3lZiytzZIFZIxibFyX2c//svLbQSdAc2JRREcVphVVqS5iYmpx1uDIHlULHSDE/bqiQvSh0CjQHCgDKNvLtZyy2zuT40DlQG1F3LMvx/IZQTH7BwKfmd4fOgcZHAUDZoo7ki1xNkiIZV3QIRwHCsSmZRB8LnQKNjwKAsvi35h2iqfGRoXOgtqJZsZThKEAoLr3JL3vO1NA50NgoAChLsTW5iCf8pVAkRZ3cFhhQx3AyekboEGhsTN0oT6t6QkdAGDaVAhCSRVoYOgMaGwUAZbEWnxc6A8Kwdk4BhOQuHgyEslAAUJ6cc+tfWuUpAIE9M3QANDYKAMqT4TOUVsZFgKFNDx0AjY3JGwCAFKIAoDwxL4pNK495+ENg/aEDoLFRAFCeog2HjoBARigAgT0YOgAaGwUAZfFRWx86A8LwIQpASCb9IXQGNDYKAMpT1KrQERCG72L6CMndrg+dAY2NLRhlycWt/+RcBZA+iZT0M30ENNg22n5N6BBobGzBKIud/dBm35W5L3QO1FayPSNxEWAwJr/Klq8dCJ0DjY0CgLL5iL9Pzs4gNVyKH82GTpFmBXP/ZOgQaHwUAJQtf/ajq7w/uiV0DtRGsikrjVL4Avps/uJ13AGAslEAUBG5/twSHzQOSTY5H4gUb+DbfzCm37S1Z5eHjoHmQAFARdhbe/t8d+ZkLygOnQXV4UVT/ECLxBOAQ3lUxdKZ9oEHRkMHQXOgAKBiWs/e8D+lbZm/ogQ0Hx81xffm5IXQSVLKtD5RdHr7Rzc8EjoKmgcn8lBxo1fNP8qmFX5r7QkvK2kCPhApvj8nLzJdBGH6TWJ6w5QP924KHQXNhSMAqLjWs3vvyfW1HxrviG7kGQENzKVkY1alu1vY+YdRcNelbW3ZBez8UQ1s1aiq0avmvcDyyVWalhxj1M3GkEjJtozijVztH8igmb5jSXIZV/ujmti6URN+1eFzi1HhYrV6j+X8UG/xdsso4hMYmO95q9+IyYdMvisae8IfD/mplYKkPkkPmem/3W1N20j71TzkB7XAVo6ghj45n2vKkVrtF/UyByMYDsoCAJBCFAAAAFKIAgAAQApRAAAASCEKAAAAKUQBAAAghSgAAACkEAUAAIAUogAAAJBCFAAAAFKIAgAAQApRAAAASCEKAAAAKUQBAAAghSgAAACkEO+ibnK+Yu6cOBe9ws2f54mOMtORJnW51ClpiqRc6IwIp3hLPnQEhFWUNCCpT9JOme411z3uvjb23I1T/+GBrYHzoYooAE2osOag482TsyXrkXSM+HfGPlAAsB9u0p0uW+VR8p2ODz/8+9CBUFnsGJqE/2rW1FIh9w7Jz5N0dOg8aAwUAIyXSWvddWXbaMcVtnztQOg8KB8FoMH5TYd2lQqF82V6v6QZofOgsVAAMAnbTfrCSKu+0PV3vX2hw2DyKAANyl0Wr+k+16XLJc0JnQeNiQKAMuxwt4vbL3roCjN56DCYOApAAxq5fs6zMhZ9U9LLQ2dBY6MAoAJutIy/pe1DDz8UOggmhtsAG0xpzcGvy1h0q9j5A6gPpySx3TH0ycPPCh0EE0MBaBDusuKa7svdkx9L6gqdBwAeY9I0yf9j6JPzL3XnyHKj4B+qAfgaZWPv/qpLbwudBc2FUwCoPP92W9est9m7bi+GToL94whAnfPblCup+0fs/AE0Bvub4R3bf+jLlQ2dBPtHAahj7rK4v/v/yfXq0FkAYNxMrxluPfybnA6obxSAOla6eftTbnpL6BwAMGHm5wxfNv+fQ8fAvlEA6lRpTfcb5bowdA4AKMNHhi497PWhQ2DvKAB1aOT6Oc9y19dC5wCAMpnMvj58+WGHhw6Cp6MA1Bl32Z6H/EwPnQUAKqDTY/s61wPUHwpAnSmumftW8ZAfAM3l1JHLDj8ndAg8GY2sjvhNh3aVioV7Jc0OnQXpwHMAUEObRxQ9Z8ZFD/aHDoIxHAGoI6VC4Xyx8wfQnOa2Wfy+0CHwOI4A1AlfMbejlLNeSbNCZ0F6cAQANba9baRjvi1fOxA6CDgCUDdKuehdYucPoLnNHG4bfHvoEBhDAWgwtlxJNon/RhIP18B+JRu57x81sdljP6darzlG9VAAGpCdtmWzTGdL4jYb7FXSF8mH+PaPqhsx2Vk87a8xUQAaVG7BphvMor+SaN14Op76hxpIZHZu20UP3Rg6CCaHAtDAsgse/Ym78aINPIkPRPIBNm1Ul7ve2/6Rh34YOgcmj1miwbUs2vgVSZ8InQP1I17Pt39Ul5mWd1zc+5XQOVAeThI2idLquV9x2btC50BYSV9G8X0N/Q4Z1DkzfaXtI73vDp0D5eMIQJPI3Lj5PXL7fOgcCCvh2z+qyr+YH+59b+gUqAyOADSZwpq555vb58S/beokWzKKe/n2j6pwd32i4+Le5aGDoHLYSTSh0uruN7l0pSS+DqZFIpX+h1f+oipil72746KHrggdBJXFbNGkStfPfbWbfU9SW+gsqL54fZYH/6AahjyK/rLjww/+PHQQVB7XADSp7KLNP3PZK0z6U+gsqC4fipRs4pn/qLheJVrIzr95UQCaWMvCjbdnWkovdtd/hM6C6ol7s7zxD5X249FWvbj9H3p/FzoIqodZIyX2XBfwr5LaQ2dB5SSbs4of5tA/KmZU0kfaL+rljqIUoACkSOGXB7/Y4uS7kp4TOgvK56Om0p0tUsxmjIq4J4n011M+3HtH6CCoDU4BpEjLKx/976zlXyTZpZKKofOgPMnDOXb+qISiu/1T24hezM4/XZg9Uqqwes4LzaIvyvWK0FkwccmmjOJ13POPMrl+mVj0/ikXPfjH0FFQexSAOjP6y7nPtzh6u6RFkubv+eVeua7zKPla64LNd1ZqLHdZvKb7zET6lEmHVWq9qC4fNJXuapU8dBI0sF6ZfajSL/Op5fyF8lEA6oRffURrMT/0OcnfpX2fmokl+0puW9cFdtbaQkXHbt39TjO7WNJBlVovqiCRine2SiNsupiULXJ9tm1Un7flvSOVWmnI+QuTxyxSB/zqI1qLbUPXyH3B+Jaw1bltXUsrvRH5zw5uL06J3yG3v+OIQH2KH8wp2cY9/5iwXpk+15YrXWEXbBiu5IrrZf7CxFEA6kBhzUH/KtffTmgh8y+1LNj0/mrk8TXKxsncM93sA5JOqsYYmDjfmlHpIc77YwJMv5HrC20jvT+05SpVY4h6m78wfhSAwPacM7tDE78jI3b5C1sXblpbjVyPGV0z93mRR++Q/GxJs6o5FvbNd0cq3dPCeX+Mx1ZJV8VKrph60brqzg91Pn9h/3iCSGB7LpiZzO2YGZOdJ+mCCkd6kj0X7Zzva/T3peTghWZ+lstfI2l2NcfF43zUFD+QY+eP/dli5j81Rd9vPfyh1XaW4loMWu/zF/aPAhDeaWUs21OxFAdgC1SSHl0paaUvV1R8efdxFmmpxq72PUG8dKg6YlN8f05e5GAdnmRIrlvN7LrE7Nr24Qd/b8uVBMjREPMX9o5ZJbDC6oN2S5oyycV3tyzcOK2SeSbDb1Ou1DfneI/shMij57v5CyQ9V9LU0NkaXXxfTkkfF/2l3G5Jd5v8D67ojzK/ta1z5u32rtuDP8yrGeavNOMIQHiT3XikOtnB2vEqSlt+I+k3T/x1v7F7drGg+VFkhybuc8w0S24zzZI2yXJuZf3Zx2uKXEtrME7Fxb3s/EOyvK/1Ubur2uO4ayAyFd01ZLLtiXy7mW/2JLM+zmUfmnbhfduevlRvtWONV8PPX2lGAUDV2CmbtmrsgqRbQ+Yoru6+RNLHQmaYqHhDVskWdv6hWFf8y7Z3rT81dA6gmngXAJpebuGmj0u6PHSO8UoezSh5lG4eStSV3MHOH2lAAUAqZBds+ojJvxo6x4EkmzOKN3Cvfyg2Pbm/9Z3rjgudA6gFCgBSwUyeuXHze0z6Rugs++JbM4ofZucfStQZ35ffvO5osyBX0wM1RwFAthyJZkFm86T/HOhszxVsiXLU/4CijqTO1s3rT+mWk/LA+oRJxqRKmZyafMFxTXdm+X6ZOg8kpQ8mlW8gU0xlMyM+Let71z/0tA5gFrjCABSKbdg02Vyv1iBn68X9+bY+QcUzUyuZuePtKIAILVyizZ/0lx/Kamib0cbF5fiP+W41S+USMrOLn0x/451y0JHAUKhACDVsos2/cDNF0raUqsxvWQq3duiZDs7/yCy8miuv7/lvA0fCB0FCIkCgNRrWbD5t7HFJ0u6t9pj+aApXtsi38WmF4LlfdTmFE/Lv/nhL4XOAoTGLARIyi/Y+kC2pXSCTD+o1hjJjoxKd7fKR3kFRwg2JdmkGcUj2970yOrQWYB6wNVHwB728m273fWXxRvm/trcLpdUsfvy4g1Znu4Xirmimb6q9bx1p3OPP/A4jgAAT2Amb1mw+fMae1XppnLX56Om0t2t7PwDsZzHUbd/MP/2dYvZ+QNPRgEA9iK3cNMvs1m9QOY/nuw6kh0ZxWtb5bs55B+CTfFNUZe/IP/mdZ8PnQWoR3wtAfZhz9sM31C6vvtMN31VUte4FoxN8Xre5heKZ1w2I/l+23nr/zJ0FqCe8dVkgkZ/Off5Fkdvl7RI0nxJHeWsr2XhxrL+DQqrDyr3QTaDknrlus6j5GutCzbfWeb6mtLwmu75Wenrci3Y3895f6RSb07iQr8wOpIdNlOvbTt73a9CR6lHzF94ImapcfKrj2gt5oc+J/m7VMFTJ3WwAT1RLNlXctu6LrCz1hYquN6msedowJclzX7ir3vRlKzLcm9/IJaRqyv5Tv68dW/mXP/TMX9hb7gGYBz86iNai21D10j+bjX331lG8vcWZ+28xr9/TEvoMPUou2jTD7JJ5rl73irokpRsyyj+Yys7/0BsWvxgdIiObnv7unPZ+T8d8xf2pZk/DBVTbBv8F7nv99Bvc/GFxdnbPxM6Rb2y0x7Znl246W1K7JXxg7nN8YM5Oe+QqzlrTwZsdumdbe9Z/6zWs3vvCZ2nXjF/YV84BXAAe86Z3aEqlaU6O4T2RLHLX9i6cNPaKq2/KbgrGv3GvM96f+Y9Pmq8z7cWWpI4O11X5N627r18498/5i/mr/3hCMAB7LlgJo1/TxmTnRc6RL0zU5J/24YP5g+ZMiOaXfpPyzk7pCqxrCfRzPjHbdPbulrOW/dudv4HxvyF/eE2wAM7LXSAgHpCB2gUdtbaAUlv9H+bO2d0pPXKZJedoZKlceKtvJwn0fTk561xfJ6949FtoeM0GOYv7BMF4MAODR0goMNCB2g09qbNWyS92r//zOmFwcKX4/7MWRrh1MCk5Lxk05P/zMvfY2/fsCN0nAbF/IV9ogAciGuVLLUb0MrQAZpJx1vX/0TST3zF3I7C5paLkgE7z3fbQfIUd4Epyfao1X/Q2pJ81N78yPbQcZoO8xf2gQJwAB4lXzOP3icpbU95iT3xK0OHaEa2ZPOgpP8l6X+NfvPQY5I4+aiGrccHo5lNf9DSXNauHZ5PVkQtueX5N/feFzpSM2P+wv6k+KvH+BVWH/wlyd9bjXXX8X20X2hZuPH8Kq0be+HfPmLeaGHkQh+NXqvB6DAvNcn2mXW3dn/Y8v5ztdrn8uesezB0pDRh/sK+cARgHHLbui4oztp+lGSLQmepkety0zZeGDpE2tjfPLBB0gclfdC/r5bh0UNeFxUzb/SCv1RD0cFeaJDbCjPultc2a01u82z0o/xA7t/tPQ+Mho6VVsxf2Jfm+IZRA/79Y1qKs7d/Rm7vVgUPp9VZg44lfTk3beOFdryKFVwvyuTLFY0+8+BlijOv1YiOT0rRYRrVdJXCXkxoGXflfVfU4r3K6faS6WftHet/ZmcpDpkLT8b8hb2hAEzQ6OruY/Y8YapHY6/TnFLO+upgAxqQ1CtppSd+Zetpm+4qc32oEXfZ0I8Oe3Gmv7jQPXOsFezIZHd0XLWej2dTfZtyyYPK6E9Rxv4YSTdm37zuZrOmv3KhaTB/4YkoAIGVuwGUuwGiuQx9+rC4Wk8gjA5JFufPXbeqGutGY2L+amyNcU4RAABUFAUAAIAUogAAAJBCFAAAAFKIAgAAQApRAAAASCEKAAAAKUQBAAAghSgAAACkEAUA8lisVgAAGaxJREFUAIAUogAAAJBCFAAAAFKIAgAAQApRAAAASCEKAAAAKZQNHQDaLWnqJJfdVckge7N48eI5kk6RdIykoyQdKalLUqekKZJy1c5QpqKkAUnbJT0o6R53/20ul1tz9dVXbwobDfVg4IwTumPZwiSyEy3RUTI9U9JMNdbnu0/STkn3mnSPu9ZmSpmbpq68eUuVx6/r+Qv7RwEIb72koye57LpKBnnM6aeffkKSJH8tqUdjO36rxjg1ktNYYemSdISkxWb2gVKppJ6enlvN7N/jOL7q+uuv3x42Jmpp1+tfMtNHo3Pc/NySdLwkmasRP+lP/HwfLulYlyST4lzsfctOWmuerHTpu51X33JbFcavu/kL40cBCM21SjbpDWhlpWIsXbp0WhzH75T0tiRJnlup9dYzMztB0gmZTObSxYsXX1EqlT69evXqR0LnQvVsX3rivKzpwqSgd8i8PXSeKjPJn+dmz5N0wc5lJ95l0jeKmexXZ//017srMkKdzF+YnMbru01mdM3c55lHd0jKTHDR2BN/Qetpm+4qZ/wlS5bMSJLkfDN7v8a+RaTZoLt/YseOHZ+7/fbbi6HDTMbQpw+LVbKqXNsTHZIszp+7blU11l1tftxxuf652b+X6aOSOkLnCWynm33BPPv5zl/8amc5Kwo9f6E8XAQYWOuCzXdK9pVJLPrlMjceW7x48XmS7jWzj4mdvyR1mNllM2fOvGXRokVHhg6Dyth1+vHP6e/O3irTpWLnL0ld5v5xqXDvzled+FYv44tgwPkLFUABqAO5bV0XSH79BBa5Ljdt44WTHW/JkiVHLF68+FeSvubusya7nib2okwmc1tPT8/rQwdBefrOOPEvkkzmNkkvDJ2l/thsc329b9mJN/UtfdmzJruWWs9fqBwKQB2ws9YWcttmniHzL0mK9/OjsaQv5KZtPMOO16QOUff09Lze3W+V9LLJLJ8iU83sB0uWLPnb0EEwOTvPOOktMv2Hxq7mxz6YdLKi+L/7l534V5NavobzFyqLawDqzOjq7mNMdp7GrsCfv+eXeyWt9MSvnOxhs+XLl0c333zzZyR9sCJB0+VdK1eu/H+hQ4zH6Pfm9cl9+nh+1gciJdvGf+q2ka4B6HvVS/5Wbv8aOkejMffPTnvJLR+y5Uoms3y15i9UBwUgBc4888yWXbt2fdPd/zp0lgYVS3rjypUrfxI6yIEUV3dvlNQ9np/1rRmVHhr/be6NUgD6zjjxL2T6niZ+YRokyeyq6RuLb7EGvRAW48cpgCZ35plntvT39/+YnX9ZMpL+raen59mhg2D/dp1+/HNk+qbY+U+e+9l93dkf+3HH1ftDkFAmCkATW758ebRr165vSjojdJYmMDWKou8dx6RYt/zMY1qSTOZ74px/2Uxa1ted+UY5dwig/lEAmtjNN9/8Gb75V467v3jmzJlcQ1Gn+genXCCu9q8Yk53Tv+zET4XOgeqhADSpxYsX/6W44K8aPrZkyZKDQofAk2171UsP2fOQH1TWhX2vOvGNoUOgOigATWjp0qXPkvTV0Dma1BRJ3MNcZ3JJ8iHxkJ/qcH2tb9kJzwwdA5VHAWg+Fsfxv0ka161gmDh3f9eiRYtmhs6BMbte/5KZbnpH6BxNbLop+ibXAzQfCkCT6enpOU885KfaOqIomtRDU1B5PhqdI6nZX+wTlEuv6Fv2kjeFzoHKogA0kSVLlsyIoujS0DnSwMyYDOuEm58bOkMamNmndr7uRZ2hc6ByKADN5YM8279mTli0aNHc0CHSbnDJcQdJOi50jlRwzYmKrR8IHQOVQwFoEkuXLp3m7u8LnSNFLJPJnBo6RNqVMpkF4tx0zbh0/tbXnDw1dA5UBgWgScRx/E7xSt9aOyl0gLRLIjsxdIaUmZFNYi64bBIUgObx5tABUug5oQOknSU6KnSG1HE/L3QEVAYFoAmcfvrpJ0h6XugcKcS7AUIzHRE6QtqYdPTOpS99cegcKB8FoAkkScLjfsPglEt4XJUegEXJ2aEzoHwUgOawOHSAlOKlM+HxbxDGaaEDoHzZ0AFQnsWLF8+RdHToHOVIkkSDg4MqFApy99BxJqI1dIC0+/2fNraEzjARUWSa2taqQ2ZOUz7X0G8sfuGuVx83a9rPbt8WOggmjyMAje8UNfBtUEmSaOfOnRodHW20nT8wYUni6h8c0b0btqlYikPHKYfFSe6U0CFQHgpA42voi/8GBwfZ8SN14iTRhu27QscoSyQ/JnQGlIcC0Pga+la0QqEQOgIQxK6h0dARypLIG3ruAQWgGXArGoCaM4+ODJ0B5aEANLhGf/Z/LpcLHQEIYlp7PnSE8lhjzz2gADQ8M2vo53J3dHQoivgYIl2ymUjzZjb0pitJDf8HSDtuA2x8DX0fdCaTUWdnpwYGBlQsFrkgEE0tE5mmtec1b+ZU5bINfRugJKcANDgKwFOcfPLJb8jlch/LZDJHRVHUalbdO+y2beM22iiKNG3atNAxJmXx4sXlNpaipAFJfZJ2mtm9ku6RtNbdb1q5cuWWcjOGtHvxy+bELfEplvgxbnaUpCM19gTFTo2VV84BNSxrXX3UoWV9/o991kGVCrNXibuKpXh0pFC6eyQuXPKcm+7+SVUHbDAUgD1OPPHEaW1tbTfncrljqr3TB54gp7EdYpekw9392Cf8ni9evHitma1MkuS7q1atui1MxInpf/UJJyjJ/LVLPbHiY+QyZ5tCAJGZWnPZ1tZc9kXTvPXHDy984R8HktLLjrlh7UDobPWAAqCxnX97e3tvLpfj2e6oJybpee7+PDO7oKen5y4z+0Y+n//qT3/6092hwz3R9qUnTstEeqekt3mi50qcykF9MTNNb8s/P1sorlt76jGHUgK4CFCSlM/nf8POH/XOzI6WdPnIyMjDixcvXr5s2bLgn9n+JS+dsXPZiZdkIvVKulzScwNHAvaroyXXNdVyvw6dox6kvgCcfPLJb2hpaWnoZ+kjdbokfbxYLD7Q09Nz/vLly2u+HbtkO1/1kjd5Nr7HpI+JNyOigUxta3nBPa84+rWhc4SW+gKQy+U+xjl/NKgZZvYvN998841Lly59Vq0G7X/NS4/oW/aSX5nbtySbXatxgUoxM7VlWz8WOkdoqS8AmUzmqNAZgDKdHMfxfy9evPivqj3Qzle95PUeJ7ea7GXVHguopnwuk/ojv6kvAFEUNdTrRIF9mCrpu/+66pCpXqWXQxaumfO35vYjjd3CBzS0XMZS/zrvsu8CKKz4fENf7vuqz/widASgYn5++8yOgeFIf7dsg7KZCm2aLpXuna6kP/OGyqwQCC+KImv0/VfLkvPLavupPwIANJsb7urS//nRYSrFFTgS4FJxbaeSrQ3+3HoAT0MBAJrQrX+aps/94hkq63SAS/F90+U7U3+kFGhKFACgSd1wV6e+vrp70svHD01VvIVv/kCzogAATexHt8zWDXdN/Jq9ZFur4kfaq5AIQL2gAABN7v+uOESb+sZ/s4sPZ1W6f3oVEwGoBxQAoMkNjmb02Z8/Q+N607JLpfumSiUejgU0OwoAkAJrN3To+jsP/LTeZHObfBePxgDSgLcBoq5ks1m1tOaVy7UoiiI1+2Oa3V1JkqhYGNXo6KjiuFS1sb6x5iCd9Ox+Tckne/+BYqRS79SqjS9JmZacWjqmKJPPK8pkZFFzfwfxJFESxyqNjKg4MKi4WAgdCfiz5t760FA6OqZq2vQu5fNtymQyTb/zl8aeSZ7JZJRva9f0zi61d0yp2lh9Q1n97PZ9P7o/frRdKlbp79ykthkzNKW7Wy1TpyqTyzX9zl+SLIqUyeXUOnWqphzUrbauLqlKT2oEJoojAFVgZppz0CGaOWtsst2+bau2bHxEPq6TsOk0bVqnsrlc6BjBPVZ+du/qr8r6/+vWWXrdCdvU1hI/6dc9NsWPtlVlTJnUMXuOsnluKWyZOlVRLqfBLVslMR/slZmKBx2qZOYcSVK0fYtyG9dpfBexYCIoABXUms9r4emv1kmvXKTOrhlP+r2+nTt08w3X6YYVP9foyEighPWpY8pUdv5PkMu1qKNjigYHByq+7t0jGV17R5de/5JtT/r1ZGObVKrON/K2ri52/k+QzefVNqNTwzt2ho5SV7w1r8HFb9TgKWco6Zz5pN+Ldm5T+03XaMrKH8pGmT8rpfmPwdXIQfOeoY/870/r9Ned+bSdvyR1ds3QGa8/Sx/+xOU6aN4zAiSsT9lsVq2t7ByeqnXPkYBqWPGHp38+k83Vuec/05JTy5TqndZoVC1Txk6DYEzpkPnauvyr2v2ac5+285ekpGuWBl5zrrZ+/CsqHTK/9gGbFAWgAmbOnqP3feTjmjl7zgF/dtacufrAxZdo1pzJP6GtmbSw89+n1nx1Dsmv357XnzY9/vfuA1n5UHXKRkvHFHHOe+9yHR2hI9SFeFa3tl/4KcWzDjwnxrMP0vYPfVql2QfXIFnzowCUycz01vdeoClTp417mfaOKXrTu96fiovcDqQlxy1n+5Kr4jfEG+56/JbAZEuVzv1LHPrfj2wbfzcy086//aiSKeN/8FTSMVX9b/+IxPxZNgpAmV5w3Ev0jPnPnPByhz3r2Xr+sSdUIVFjScOV4JOViarzrVyS7nj48dv9kp3VK2GW5TKjfYmynAIYOfZkFQ979oSXKzzzKI286GVVSJQuzL5lOu6kl0962WNPPLmCSRoTHX7fqnnN80Nb8uofyUiFSD7MTjoIrmrX8AkLylj21MoFSSkKQJkOPfxZk152/rMm3nybTZLs46E0UJLEB/6hSXKX7trcoWRXrqpNw0vVe7BRo0uq+NCnRlE8/MjJL/vMoyqYJJ0oAGWa1jnxN61VYtlmUSiMho5Qt4qF6j41rndHq3youoehi9zyuk+lET77yfQDP556n8t2Tn5ZjKEAlCmTmfzh03KWbRajo0yC+zJS5fudH+lvrdrV/48pDgxWdf2NrDBQ+ec8NBrPTL6AlrMsxlAAEFQclzQyMhw6Rt0ZGRlWElfvFIAkPdLfIh+ubgGIiwUVdu+u6hiNqLB7t5JiMXQMpBwFAMENDQ6oyEtS/qxULGp4qPrfnHeNZqr29L8nGt7ZpxKnAv6sNDKi4b6+0DEACgDqw+5d/RrlSIBGRoa1e3d/Td4bMVLMyONa3IfhGtyyVYUBjgQUdu/W4Nat3AGAusBJaNSNwcEBjYwMqzXfplwupyhq/jcCjr0OOFaxUNDI6EjVD/s/0VAxkjK1+g7gGt6xU4XdA8p1dCjblleUzaXj37dUVGlkVIWBAQ77o65QAFBX4jjWUBVegoOnK8ZW82OAcbGouK9P4gg4EBynAAAASCEKAAAAKUQBAAAghSgAAACkEAUAAIAUogAAAJBCFAAAAFKIAgAAQApRAAAASCEKAAAAKUQBAAAghSgAAACkEAUAAIAUogAAAJBCFAAAAFKIAgAAQApRAAAASCEKAAAAKUQBAAAghSgAAACkEAUAAIAUogAAAJBCFAAAAFKIAgAAQApRAAAASCEKAAAAKUQBAAAghSgAAACkEAUAAIAUogAAAJBCFAAAAFIoW+4Khu75XSVyBLNt27aylv/Fr+6pUBIASJdy589j/7SxvOUbfP9VLo4AAACQQhQAAABSiAIAAEAKUQAAAEghCgAAAClEAQAAIIUoAAAApBAFAACAFKIAAACQQhQAAABSiAIAAEAKUQAAAEghCgAAAClEAQAAIIUoAAAApBAFAACAFKIAAACQQhQAAABSiAIAAEAKUQAAAEghCgAAAClEAQAAIIUoAAAApBAFAACAFKIAAACQQhQAAABSiAIAAEAKUQAAAEghCgAAAClEAQAAIIUoAAAApBAFAACAFKIAAACQQhQAAABSiAIAAEAKUQAAAEghCgAAAClEAQAAIIUoAAAApBAFAACAFKIAAACQQhQAAABSiAIAAEAKUQAAAEghCkCZkrgUZFkAaHRWxhxYzrIYQwEo08jgrkkvOzww+WUBoNHlBvomv+zuyS+LMRSAMm17tHfyyz7yYOWCAECDaV9//6SXnbL+3gomSScKQJkevvu2yS97z+0VTAIAjWXGnb+e9LKdd95cwSTpRAEo04b7/qDtG3snvNy2Rx7UI/f/T8XzAECj6Lz7VrU/8sCEl+tYf58675n8ly+MoQCUyd31659cqZGhgXEvUxge1M0/+6bcvYrJAKDOueuZ3/ucshO4lio7tFvz//OLEvNn2SgAFTDQv12rv/svGujbdsCf3b1zq1Z957Pj+lkAaHYtfVt15DcuUcuOzQf82dYdm3TklR9X6zh+FgeWDR2gWfRtfVRXX/lPOuqEhTrixS9X+9SuJ/3+0O6deuCOX+nuW65XXCwESgkA9Se/Zb2O/vKHtOVly7TthEUqTJv1pN9v2bVNs267TnN+/QtFxdFAKZsPBaCCSsVR3XnzNVr7m2s1bcZcdUyfIUka7N+h/u2bAqcDgPoVFUfU/cv/VPeNP9LIrINV6JwtaewIQX7rI4HTNScKQBW4u/q3b2KnDwAT5a781kfY6dcA1wAAAJBCFAAgvUYlcUEKkFIUACClzGy3pPHfvwqgqVAAgJRy992SdofOASAMCgCQUu6+TRIPpABSigIApJSZ3SvpvtA5AITBbYBAet1r7hk3C50DQAAUACCl3H2tyzgKCKQUBQBIp6RYLN6UsUwU52KXxGEAIGVSv9Efe+yxuyRNDZ1jsmbNmnXgHwKewsz+e8WKFcdKUt+yk/4o+fNCZ0Lj+f2fNoaOUI5dC+9ZNz10iJA4/CetDx0AqDV3v+6x/23SqpBZgEDWhQ4QGgWAyQ8p5O5XPf6/k6v297NAc7KVoROElvoCEEXR1yTFoXMAteLud61ateqOx/5/59W33CbZnSEzATUWJxm/MnSI0FJfAG677bY7JX0ldA6ghvYy8fm3ah8DCObLp61dd1foEKGlvgBI0ujo6AWSrg+dA6iBHW1tbVc89ReLmexXJe0MkAeoteumdcy+MHSIekABkLR27drC6OjoGZK+JE4HoIm5+7/89Kc/fdrz/2f/9Ne7XfpiiExAjcSSvjCtY/YZx99+ezF0mHqQ+tsAn+qFL3zhMZlM5jxJPZLmS5oSNtH+cRsgJmBzkiTPue666/r39pt9y17eJRXulWx2rYOhMTXAbYADknolW5lk/EoO+z8ZBaDB9fT0nG9mnxVHc3AAZvamFStW/Pv+fmbnshPfZnu9RgB4Epfs4s5f/Pay0EEweRSAJrBkyZJz3f1KSbnQWVC3bly5cuWpknx/P+SS9S078SaTTq5NLDSgoklvm/6L3307dBCUh2+NTWDFihX/bmZniHe7Y+/6kiR5qw6w85ckk9ySzJsl7fU0AVJv0BJ7LTv/5kABaBIrVqy4TmPXLWwKnQV1xaMoOu+66657cLwLdF5z858kf0c1Q6HxuLTRomTB9Gt+e03oLKgMCkATWbly5e/iOH6ReLoh9jCzy6+99tofTXS5zl/c8gNz/2w1MqEhrcgWMy+a/rNbbw0dBJVDAWgy119//eaVK1cucfcPSuJWl3S76qUvfenFk1142tW3XGjSNyuYB42n5GaXTD/hd2dMXXnzltBhUFlcBNjEenp6Tpb0HTM7LHQW1NzPt2/f/obby7zf2Y87Ltffnf2JpDMqlAuNozdSdM60X/zm5tBBUB0cAWhiq1at+nU+nz9a0iWSRkPnQc18uxI7f0my228vTh9se62kr1cgFxpD0U1fKGayL2Dn39w4ApASixYtOjKbzX7B3ZeEzoKqcTO7fMWKFRdpHFf8T2jFkvUvO/FTkniEalPza83sA9N//rv7QydB9VEAUub0009/QxzH/9vMjg6dBRXVF0XReZO54G9Cg5xx4l/IdKWk6dUcB7Vl0tok8o92/eyWn4TOgtrhFEDKXHvttT86+eSTn+/ub5B0S+g8qIgbJR1b7Z2/JHVe/bv/lJJjTbqp2mOhJm7xyF8/7YTfvYCdf/pwBCDlenp6FpnZRZIWic9Do9lsZh/e83jfih7yP5CxJwa+5E1m9im55tRybJTNJV2vxC/tvOaW1aHDIBwmfEiSzjjjjMOKxeI5ks7h9EDd2+7un3f3L+zrxT61svN1L+qMiq0fcOl8STNCZsH+mbTWTd/xJHNV19U3Pxw6D8KjAOBpTjvttBdHUXS2pNMlHSM+J/XiTklfLxQKV9xwww0DocM80ZYzT52SGx55Z+T+Nh/7zCA8l3SnTNd6klzVdfWtd4QOhPrCxI79Wrp06ew4jl9pZqcmSbLAzI4S147USiLpfyStcverVq1a1RAT+M6lL32xRcnZGns09fPF56VWEpPuTmRrzP2GKFP65bSf3b4tdCjULwoAJuTUU0/NZ7PZZ2ez2WcnSXKkpGdLeobGDv92SJqy57/OgDEbSUFj7yzvk7RD0r2S7nH3tcVi8aYbbrihoSfwXa8+blac5E6JXEd7pOfK/UiNfVY6NfY5aQmbsGHslDSosc/KoMY+K+slu8+l+12l+7qS2ffbNdfwvA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEP5/0EjtgGQvFDHAAAAAElFTkSuQmCC");
}

.mestre-accordion-icon--pdf {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAACAASURBVHic7N15YF1lnT7w53vOuTe5N3tyszUtFAoUym5FBQHLTlnaJiUuIFAoFNomrA6CwxJ1VGQcQbooOKOo4/jDDC3CMDAgCIgIM8NOkWFHLHSnbbYmufe8vz/SlDbNcnPvOec9y/P5R5vce85jbfI+933PeY+AiHxNLVgQQ3xNNWyjBqZVA1uVQ1AOZVdAUA4Y5YBdBkgRgCSAIkDigCqDggWRsiFHLAYQG3KafkA6h7xuM4AMIFsA1QegC0A3oLogshkKmwFsBmQzYH8Mhc0wsA4qsx6preuk7fG0O38jROQE0R2AKMpUa3M1YE+EUpMgsgeAibDVRIhqAFADSDWAas0xc7UewDpArQfwN4ixGsDfALyPTOYDpDN/kzvv36A3IlF0sQAQuUg1N5uoxR5Q6X0gmAIlA/8J7ANgCoCE5oi69QDyFqDeBuQtiHoLkLdhZt5C+WF/lbY2W3dAorBiASByiGqZNQESmwaFAwE1DcCBAA4DUKQ5WlD1AeotwFgFqNcAtQrKeA3rjNelvT2jOxxR0LEAEI2TWrAghtjG/WDY02Eb0yFqOoDDMbD+Tu7rB9SbEHkOSp6DbT+HdPp5ufP+bt3BiIKEBYBoFANT+H3ToMzPQvA5QD4DqAMAWLqz0S7SELwG4L+h8AwM9SwqD32NSwhEI2MBINqJap1ZCjt5NKA+D+BIAJ+GoER3LsqF2grB/0DhGUD9CUn7Kbnlvg7dqYj8ggWAIk1dM6sEPbHPAjgRSh0N4DPY/RY5CocMoP4PkKcA9Xv0pf/AuxAoylgAKFLUlc0J9KWPBnASxDgJUIeCPwdRZQN4CcAjEHkEHSVPyV13bdMdisgr/MVHoadaGw+FklMAnATgaACFmiORP/UA6o8AHgHs/5Klv3tFdyAiN7EAUOioefMKUdJxNGycCVFzAOyhOxMF0vsA/gsi/4GOkkc4O0BhwwJAoaAWN1bBMGYDmAWlTgTvvSdndQF4GIL7YJn3ya3tm3QHIsoXCwAFllpwZgoF1mlQRjOgTgEv3iNvZAA8A0g7LPVbuW3FR7oDEeWCBYACRV0+qxYZ64sQfBEKRwEwdGeiSMsA+BOU+i0M67eypH297kBE2WIBIN9TVzYn0J8+AzDO4yd98rHBmYFfItn/G+45QH7HAkC+pNpmWFhfcSoMnAslZ4IPzaFg6QZwHwT/ijXmQ3x2AfkRCwD5irq8eSoyma8AuAC8ep/C4SMoaYeNf5Ef3/Oy7jBEg1gASLuB3fjML0PJBRjYfpcorP4E4OewzbtleXun7jAUbSwApI1qmbs/BPOgsABQFbrzEHlGoQOC30DUclmy8iXdcSiaWADIU6qtOY4N6dmALABwou48RPrJcwDuRMz4ldza3qM7DUUHCwB5QrXMmgCYi7YP/NW68xBFyGaIuh3pvtvkxw98rDsMBRMLAI2bWtxYBZFWAJcDKNedhyjCOiGyDJZxCx9RTOPFAkBZUwvOTCEeawFwBfiJn8hPOqHkZ7D6vys/um+t7jAUDCwANCa1qLkYkl4MkevAgZ/IzwZmBHqN78md7Vt0hyF/YwGgEQ3s2mfPA9S3ANTqzkNEWdsIpf4RXWU/4l0DNBIWANqNapthYWPFBVByI4CJuvMQUc7+CpFvYo3xCz6SmIZiAaBdqNa5J0Lhh4A6WHcWInLM64B9lSy990HdQcg/WAAIAKBam6dBZf4RwGm6sxCRW+Q/IJkrZMm9b+tOQvqxAEScurS5AWbmHyA4D4ChOw8Rua4XwI8gPd+RJQ9u1R2G9GEBiCi1YEEM8Y2LoNS3ISjRnYeIPLcRkG9jrbGU1wdEEwtABKnFZ50AydwOyDTdWYhIuxegcIUsW/Gk7iDkLRaACFGtc6ZAmd8DVLPuLETkN/IfgHGZLG1/V3cS8gYLQASoBQtiKNjwd1C4AUCh7jxE5Fs9ANqQ2vRDaXs8rTsMuYsFIOTUojmHwTD/GVDTdWchooAQvIwMLpLlK/5HdxRyDwtASKkrmxNI2zdBqa8BMHXnIaLASUPJciSS35Af/KpLdxhyHgtACKnFTcdC8FMA++nOQkSB9w5ELpEl9/xedxByFgtAiKgr5pQjbXwfwMXg/7dE5Chph7IXyrKVG3UnIWdwkAgJ1Tr3TCj1YwANurMQUWithahrZMnKX+oOQvljAQg4dWlzAyz7J4A6Q3cWIooIkd/BVAvlthUf6Y5CuWMBCDC1uKlx+1p/le4sRBQ5m6HUQlm28v/pDkK5YQEIIHVlcwJ99s0QdZnuLEQUcYJfIWMukuXtnbqj0PiwAASMapn7aUD9GrzCn4j8410odY4sW/ln3UEoeywAAaEAQcvcywB1C4C47jxEREOkAXwHa81v8+FCwcACEADq8uY9kMn8EsAXdGchIhrDnwHzHD5TwP/4/HefU61NZyGTeQEc/IkoGI4EMi+o1sZzdAeh0XEGwKdU68xSILEUCufqzkJElBOFu6DMVl4g6E8sAD6kLm+eikx6BSDTdGchIsrTG1DSJMvuWaU7CO2KSwA+o1qaZiGTeZaDPxGFxH6A+rNqbTpLdxDaFWcAfEI1N5uos78Dpa4B/38hovBRULIE1RuvlrbH07rDEAcaX1ALzkwhHvs3ACfpzkJE5LInYKa/JD+6b63uIFHHAqCZWtz0KQD3QDBZdxYiIo/8DUrOkmX3PKs7SJTxGgCNVGvjeRA8xcGfiCJmIkQ9oVobL9YdJMo4A6CBap1ZAJVcAij+4yeiaBP8CpZ5idza3qM7StSwAHhMtcyaALHuhcIRurMQEfnEs7DNObK8fY3uIFHCAuAhdVnjQbDlAQB76M5CRBQSb8GQ0+T2e97UHSRMeA2Ag1TrnM/AVM+Agz8RkZP2ga3+qC6bM113kDBhAXCYWjh3b5jqAQD7685CRBQSa0d/EQtA1kzDQKqC96g7pa62EjFrlEGNdjFWWe+vrsfaL16yy9dYAvKyDwz7H3WHyEXgCoBa3NQIYL7uHGHR3zAF3Z89ZewXcm/FcSlOFqAoyQmqfBUlE6go595e4zLKTN6gjaedje6ph+zyNZaAfKhL1eLG2bpTjFegCoC6tLkBgp/qzhEWyrTQMeci3uLnkuqKYhgGm1OuDMPAhAZO/bvCMLD60pugYrs+5ZMlIA+G/LO6oqled4zxCNZv/pi9DECV7hhh0X3sLKRrJuqOEVqmyaWAfNTUVCIe42Oo3dLbMBnr51y429dZAnKkkEI6WB9QA1MA1OLGL0OpwE2x+FW6egK6jz5Dd4zQKykqRDLBpYDxKkwUoKqyTHeM0FvfeAG2Tdpnt6+zBOTsdNXSdLbuENkKRAFQVzZXQiQ0+y9rJ4KO2RdBWfx05YXqSi4FjIchgkkTxrgolRyhrBg+XHjDsBcOsgTk7HZ1+axA/AMORAFAf/qHAALxFxoE3Ueeiv5J++qOERmWaaCqnEsB2aqurkS8gOXUK937HIRNp31l2O+xBOSkCnYsENvT+74AqMuajgPkPN05wiJTXo2u45p0x4ic0uJCJAo5qI2lsDCOVKpcd4zIWfvlheirmzTs91gCcqDUbNXadJbuGGPxdQFQC85MwsZPwZvQnCGCjlkXQsX50BodaiqLYWRxi1ZUGSJomMiJPh3seCFWX3LDiLcQsgTkQGGpWnj68Hur+4SvCwAKrG8DmKI7Rlj0fGoG+qYcpDtGZFmWicry5NgvjKhUqhyFcV4wqUvXgdOx6biRr7NmCRi3WpiF39UdYjS+LQBqUdMRUHL52K+kbNjF5eg8KRSPsA60spIECrm+vZuCgjhSKV9/WIqEteddiXTVyLMwLAHjpRaoy846SneKkfiyAKi2GRYM3AGA+886pOOM86ESvBDND2oqiyFcCthBBGiYUMu/Ex/IJIux+qLrRn8NS8B4GLDtO9SCBb5s/b4sANhYeQ2Aw3XHCIttB30OvQd8WncM2i4WM1FZxqWAQVWVFUhwrwTf6Jh+DLYcddKor2EJGJeDEFt/le4Qw/FdAVCtc6ZA4QbdOcLCThaj87Sv6o5BQ5SVJlAQ5wNu4vEYqqs59e83H82/FunS0f9/YQkYB5Eb1eKmPXXHGMp3BQC2cSsAXqbukM5Tvwq7iDuq+Y0AqKkqzua5LeElgob6am6S5EPpknKsOe+KMV/HEpC1JIAf6A4xlK8KgGo962QIztSdIyz69j0U2w79vO4YNIJ4zEJ5aXSXAiorSpEsSuiOQSPYfOwZ6Jh+7JivYwnIkuAs1TI3i0evesc3BUC1NcdhZ27XnSMsVKwAHaefrzsGjaGiLBnJpYBYPIa6Gj7Xy+8+nP91ZBJjl1SWgGypW/10QaBvCgDWZ66GyFTdMcKi8+QvIVPBR6n6nWDgWQGRWgoQQcOEagin/n2vP1WHtV9pyeq1LAFZOQCxja26QwzyRQFQlzY3QPAN3TnCon/Svug54kTdMShLBXELZSXRmQqvKC9GUTI6/3uDbtPJzejaP7ubslgCsiD2TX55WJAvCgCs9HcAFOuOEQbKiqFj9kUjbulJ/lRZlkQ8Fv5tL2IxC/V1nPoPFMPA6oU3wM5yl0aWgLFIKTLWt3SnAHxQAFRr46GAnKs7R1h0zWhEunqC7hg0TiKC6soS3TFcJQAm1KcgEv6iEzZ99Xti/dyLs349S8CY5quW2QfrDqG9AEDJD3yRIwTSdZPQfdRpumNQjgoLwr0UUFZWguJi7kYZVBtmn4eevfbP+vUsAaMyAfM23SG0DrxqceMZALhY7QTDxNY5FwMmP10FWVV5EjErfP8fWpaFuvqU7hiUB2VYWL2wDcrM/q4VloBRHa/7tkBtBUC1zbAgcouu84dN9+dnIl2/l+4YlKeBpYDwXQ5TX5+CaXCiL+i2Td4XG88Y386iLAGjUT9Qzc3aGr++n8gNVRcCOEDb+UMkU1WPrhmNumOQQxKFMZQWh2czzLLSIpSWcOo/LNZ+8VL0Thzfhw2WgBEdhLqMtmvgtBQANW9eIaCu13Hu0BHB1lkXQll8mEqYVJUXwbKC/4nZMk3U1dXojkEOUrEYVl96IzDOGR2WgBEotKnWmQU6Tq3nN0zxlhYAk7ScO2R6jjgB/ZOzvzCHgsEwBDUhuCugti4ViiJDu+re7xBsPHHuuN/HEjCsPYHCS3Sc2POfTHXNrBJA/s7r84aRXVKBzhOadccglyQKYygp0vLBwBElJUUoLwvf9Qw0YN3Zreivqhv3+1gChqHk+oGx0VveV/Mu6xoAnBN0QMeZ86AKo/swmShIVRTDMoP3Cdo0DTTU88c8zDLJIqxe8Pe5vZclYKhq9FiXe31ST3+zqAVnpgB4/j8yjLYdehR6p35KdwxymWEIUgG8K6C2NgWTU/+h13n4Udh8zMyc3ssSMITC19TC0yu8PKW3P6EF8a9BEPyFTc3sohJ0nnKO7hjkkaJEHMXJ4CwFFBUnUVHOH/OoWDPva8iU5TZusQTsogxW/AovT+hZAVCLG6tgq0VenS/MOmeeC7uoVHcM8lCqsghmAJYCDNNEwwQ+hTJK0iXl+HDe13J+P0vAThSu8HIWwLvfKCJX89N//vr2OwzbDj5SdwzymGkYSFX4/176upoKxKzsd4qjcNjy+VOx9Yjjcn4/S8AgKYVZ4NkyuScFQF3ZXAmF7B4qTSNSBYXYeuYFumOQJsXJAhQl/bvfQyJZiIqKMt0xSJMPL7oWmWTun/FYAnbwbBbAmxmA/vRV/PSfv86Tz4ZdWqk7BmlUXVEMw/Dfo54Nw8DEBl71H2XpihTWntOa1zFYAgAAZTALLvPiRK4XANU6sxSQxW6fJ+z6Jx+AnukzdMcgzUzTn0sBNdUViMdiumOQZptObELXwZ/N6xgsAQAgl6tFza7f/uP+DIBKLgJQ7vp5QkxZcWydPR8Q/33yI++VFBUiWeifpYBEogBVVfwRJwAi+Nsl18MuyO+x1iwBqgJGxvX1XlcLwMD+xsqTqYww6zp+LjKVtbpjkI9UV/ljKcAQwcQJ/LdJn+ivmYB1zQvyPg5LAK5UbTNcvaLW5RmAxDwA9e6eI9zS9Xui+0itj4wmH7JMA1Xl+pcCUtWViBdw6p92tfGMc9Czz4F5HyfiJWAvbKhw9TGvrhUA1dxsQuFqt44fCYaJrbMvBgxtj4smHystLkSiUN/gW1gYR3WKU/+0O2WYWH3pjVBW/v8+I10CxN3n5rg3A1CXaQSwr2vHj4CuY89Eun5P3THIx6ori2FouDbEEEHDRE7908i27bEP1s8+35FjRbYEKByhFjUe7dbh3SsACle5duwIyKTq0X3MLN0xyOdilomKcu8fCFWVKkdh3D8XIpI/rZ97EXonTnHkWJEtAYa4NpPuSgFQl82ZDoDb1eVKBFtnX+TI9BmFX3lJAoUersMXFMRRnfL0mSUUUMqKYfWiG6AcWsaMaAmYrRY1HuDGgd2ZAbANfvrPQ/fnTkH/HvvpjkEBUlNZDPFgKUAEaJhQ68m5KBy69zkYm079omPHi2AJEBiGK3fTOV4AVMusCQDOcvq4UZEpT6Hr+Lm6Y1BAxGImKsrcXwqorKxAIsGpfxqftWe3oK9uomPHi14JUPPU5bMcv+jG+RkAZS0GwN8QOeqYNR8qXqg7BgVQeWkCBXH3bhuOx2OoqebUP42fHS/E6gXXO7qZWcRKQCEy1qVOH9TRAqBaZxZAcLGTx4ySbYcfi74pB+mOQQElAGqqit3ZMFIEDfXVvth8iIKp66Aj8PGMMx09ZsRKwKKBzfWc4+wMgEo2A+DDwHNgF5eh45SzdceggIvHLJSXOr8UUFlRimRRftu7Eq05/2qkK519aFSESkANkGxy8oAOFwC10NHjRUjHGedDJfTv7EbBV1GaRDzm3FJALGahroZPoaT8ZZLFWH3xdc4fNyolQClHlwEcKwBq4dxDIDjKqeNFSe+0I9B7wBG6Y1BIiDi3FCAiaGiogRjePDmcwq9j+rHY+tnjHT9uRErAseqyRsfWiZ37qTbBT/85UIUJdMw8V3cMCpmCuIWykvyn7MvKS1CU5NQ/OevD2rbrVQAAIABJREFU+dciU1Tq+HEjUQIyhmPX2TlSAAaeW2xzATsHHad+FXYpr6wm51WWJRGP5b4BSyxmYUIdp/7JeenyKqw590pXjh36EiDqfPW1cx1ZL3ZmBsBMfwUQ5+tcyPXtNQ3bDjtGdwwKKRFBdWVJbu8FUF+fgggfREXu+Pj4Weg81J0NY0NeAsrQ29XsxIGcKQBKLnTkOBGiYgXomHWho/fFEg1VWJDbUkBpWQlKinlRKrlr9YK/h13ozgZWoS4BChc4cZi8C4C6vHkqgM86kCVSuk5sRqaST1Mj91WVJxGzsv8kb1kW6utTLiYiGtBfXY+1X3bv8rEQl4Bj1KLmffI9SP4zAOn0fAzMGFKW+idOQfdnTtIdgyJiYCmgOOvX19enYPKqf/LIxlO/jK79D3Xt+CEtAQIjPS/fg+T1U67aZlgQ+Wq+IaJEmRY6Zl8M8BcseShRGENp8dhbTJeWFqO0hFP/5CHDwIeX3AjbxcdLh7MEyDzV3JzXRTr5jUIbq2YCqM/rGBHT/YXZSNc06I5BEVRVXgTLHPlH3jJN1NdxI0/yXm/DZGyY4+6lZCEsAQ2otU/M5wD5FQAF3sA+DunaSeg++gzdMSiiDGP0pYDauipYFmemSI/1TRegZ/JUV88RuhKgVF5jcM4/7eqaWSWA4miWLcNAx+yLoEz3ntZGNJZkIo6Sot2fJ1JSXITystxuGSRygjIsfLjoJijD3d+RoSoBgjkD+/DkJve63xVrAsAtwrLUfeSp6G/YW3cMIqQqindZCjBNAw0TnH1AC1EueiZPxcYzvuL6eUJUAopg2jk/YjH3AiDc+S9bmYpqdB3n6EOciHJmGILUTksBtbUpmJz6J59Y98WF6Kub5Pp5QlMCbJVzY8rpp15d2lgDiPNPcwgjEXTMmg8Vc/QxzkR5KUrEUZwsQFFREhXlnPon/7DjBVh96Q2ebJIWihIgOFUtbqzK5a251f4YvgyAi9lZ6Jl+HPr2PlB3DKLdpCqK0NDAq/7Jf7qmTcemExo9OVcISkAMgpy2Bs6tACj5Yk7vixi7pAKdJ31JdwyiYZmmgZjFHk/+tParVyBd5c1uqcEvAeJNAVCLmusAuPMEh5DpOON8KJf2uSYiCrNMsgirL/6Gd+cLdgn4wsDS/PiMfwbAyDTl9L6I2Xbwkejdf7ruGEREgdXxqaOx5ahTPDtfgEuACVNmjfdNuQzkc3N4T6TYyWJ0zuQOyURE+fpo/jXIlFV4dr7AlgBj/GPzuArA9isNjx3vSaKmc+a5sItKdccgIgq8dEk5Pjr3Kk/PGcgSoHCCWnj6uJrS+GYABLPAq/9H1bfvodh2yFG6YxARhcbmY09Dx6e/4Ok5A1gCYjAKxrU77ziXAGTO+F4fLaqgEFvPvEB3DCKi0Fl98XXIJL3dsyKAJWBc1wFkXQBU68wCANz8ZxSdJ34ZdllO+zEQEdEo0hXVWHf2Is/PG6gSIDh1+1idlexnAOzkCQByfuhA2PVP2hc9R7AfERG5ZeOJZ6HrgE95ft4AlYBiIHlMti/OvgAYfPLfSJQVQ8fsizzZupKIKDMA6svvR923N67VOt1RcFQAAECom6xrACotMgDwz8P+CeL9rEASQkTUj5KqfB3S5f5pcvd3duU7ClXHCgEAAFQXXQegBXOC7hhERDRsV6hXzRo9PXrg2siPUuAfgdoLiAGw08TmBuebd1aWmWwNERE1kr8+dhwA3Sa1GJCrBw0ybbsRhoEAQgAAQAbewnglRPYQ+LSBfQ5FBM4AAABZGJz+M0R+iGEgAhQgCJpW+vcB8vN7dazLAByE3FsLkWbNmmVcBWA2gPEWgJwBIPniVQDU1sTnAbAZwfXSL0bJ1QCGmWwNQP4uBYAFwB1S7f1FwAZA6nUoTafw9MEAfAWhBwGIDdcnkX+3rQmQ5fZ7IYzjuR/t7uuqY6oAEAYiQC1I/RKVNVDqMjjjfQBrIHSRSE+b1QKgmM2gWBoA5gAoRjLK7QDeA6CQ+SXQ7WkAjrC7fY/4CkN/jgLA7hOPH/X2rQkQZbY1AZL3ABQxv/oSQDEWgBIAX4DUA4C5EPOdD7A5gGpmJ8reXgLwP0ABrwNwLfz+5t32aQAFyA0A/kbqAUCJBPZsQBfWb8vN/CEAJhgfAG0CGG4BOA/A7gS2h4gBOAXFpv4drE8gfwKUQH+R3ebtVQCaJgWgAAAwHkBOADDrpH9JDr5Eel3t9zR3v7fCvjUBkgAAADAIQAcAXA4g2+zzlv42AZIAAAAwBEAOAEgMfwR+4uYFAA4BWAbgj0g+0BaAowDmnNTmY1UAmjcAQwAAYCQAXwNYBwAAbAIQ4vW7k7uu0Z4yARIAAIBBAP4GYAaAHwBwEgAAwKoAOANAf2AgzN0vDwAyAACAiQCeA1AB4HkA4wA0AaBPKuVg5k1ANANAJQAwAUABAAAwEEAbgMw3MzuB5ALQBJALQDKA4gEMBFAjN11AwAAcA5A74k9vwvADgA9AOQCMATAbAB/AZAGQDbz7jgAMiQAAABmAHgPQBnzP38I4A2A8wB8BMA4M5sLAEmM3XkDAABwDkC9I9b5LwAbAawB0AnAfQC6Q+QbM58EgAQAAMAcAG8CaATQFuJ+PpCRl6iWAgCZAAQBmAbgxQBmA7jvha6XmQVAAQAmA3gBQBmA+RDrR9n7O7u7L3v7vRUAkgAAABgE4G0A7gVQHmKeUwBsgmRJfyoAMgAAAHMA3AbwH4C1AOoBtGOPIY7j+QH5lgBIAAAAzABwG4CjAewFcBOApgB9AHaPuuMJgAQAAMAcANsAnA5gM4A2AIsBdARoBuA3AOqkVgAkgAAABgH4CEAZgL4KwAfAdgP4A8A2qfGvAMgAQAAMAfArgD8D8A7AKwA0B0iPwJgBEB3iHkPQAEAAIB5AB4C0A7gJQBtAO4HUAtA5oh8QwBkAAAADAHwGoAyAK0A3gGQH8J8jwA4CGD5sV0BSAIAAGAEgEMB7AbwAoByANsA3Awx/6n7XgBIAAAAzABQCeB0APsA7ATQGmJ+NwAyAAAAdwDcA2A9gM0A5gHoBJGvAQAA2AwgFsAXAGwG0B8iPw7gj1L5KgAyAAAAdwC4D8BTAN4B0AtgJ4AzEPOHAbB3M57bAkgCAABgBIDXAQwBsBPAUQAfA9gM4A8AeqfSrwMgAQAAMAfAZQB2AfgwQCuA7RC5F8CRAHYCeBzAOABJAACAeQA+BLAJQF2I/Z8A0AOgf2rPZQDmxWw5ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAACuAtgAoD5E/j8A/AdA+Yg8C4B1MZsNQJwFIGMAAADuAfA9gPoQ+f8D8B8A5SPyLAA2xGw9ADEWgCIAAAAAElFTkSuQmCC");
}

#teacherMestreQuickPanel #adminMestreContent > .grid-form.two {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
  gap: 18px;
}

#teacherMestreQuickPanel #adminMestreContent > .grid-form.two > label {
  min-width: 0;
}

#teacherMestreQuickPanel #adminMestreContent > .toolbar {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 12px;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  overflow: visible !important;
}

#teacherMestreQuickPanel #adminMestreContent > .toolbar > * {
  flex: 0 0 auto;
}

#teacherMestreQuickPanel #adminMestreContent > .table-wrapper {
  margin-top: 0 !important;
}

#planningPanel {
  overflow: visible;
}

/* Override final dos acordeões do Momento do Mestre no admin */
#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-toggle,
#teacherMestreTabContent #planningPanel > .panel-collapse-toggle {
  min-height: 88px;
  padding: 20px 24px;
  align-items: center;
}

#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-toggle .panel-collapse-head,
#teacherMestreTabContent #planningPanel > .panel-collapse-toggle .panel-collapse-head {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  width: 100%;
  text-align: left;
}

#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-toggle .panel-collapse-head > div,
#teacherMestreTabContent #planningPanel > .panel-collapse-toggle .panel-collapse-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-toggle h2,
#teacherMestreTabContent #planningPanel > .panel-collapse-toggle h2 {
  font-size: 1.02rem;
  line-height: 1.2;
}

#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-toggle .panel-collapse-sub,
#teacherMestreTabContent #planningPanel > .panel-collapse-toggle .panel-collapse-sub {
  font-size: 0.82rem;
  line-height: 1.45;
}

#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-toggle .panel-collapse-icon,
#teacherMestreTabContent #planningPanel > .panel-collapse-toggle .panel-collapse-icon {
  flex: 0 0 auto;
  align-self: center;
}

.mestre-accordion-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 14px;
  background-color: rgba(255, 248, 244, 0.98);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 22px 22px;
  border: 1px solid rgba(135, 36, 65, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.mestre-accordion-icon--execution {
  background-image: url("assets/icons/concorrencia.png") !important;
}

.mestre-accordion-icon--pdf {
  background-image: url("assets/icons/artes-marciais.png") !important;
}

#planningPanel .history-list {
  display: grid;
  gap: 14px;
}

.mestre-reference-shell {
  display: grid;
  gap: 16px;
}

.mestre-reference-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  border: 1px solid rgba(162, 178, 202, 0.32);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
}

.mestre-reference-copy {
  display: grid;
  gap: 6px;
}

.mestre-reference-copy h3,
.mestre-activity-head h3 {
  margin: 0;
  font-size: 1.04rem;
}

.mestre-reference-status {
  margin: 0;
  font-size: 0.9rem;
  color: var(--shell-muted);
}

.mestre-reference-status.is-available {
  color: #208a5a;
}

.mestre-reference-status.is-empty {
  color: var(--shell-muted);
}

.mestre-execution-item {
  display: grid;
  gap: 10px;
  padding: 18px 20px;
  border: 1px solid rgba(162, 178, 202, 0.28);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.mestre-execution-item p {
  margin: 0;
}

.mestre-execution-item-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.mestre-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 0.74rem;
  font-weight: 700;
}

.mestre-chip--ok {
  background: linear-gradient(180deg, rgba(20, 122, 74, 0.16) 0%, rgba(20, 122, 74, 0.12) 100%);
  color: #147a4a;
  border: 1px solid rgba(20, 122, 74, 0.18);
}

.mestre-chip--pending {
  background: linear-gradient(180deg, rgba(192, 45, 62, 0.12) 0%, rgba(192, 45, 62, 0.08) 100%);
  color: #b42334;
  border: 1px solid rgba(192, 45, 62, 0.14);
}

.mestre-chip--neutral {
  background: rgba(38, 84, 142, 0.1);
  color: #244c82;
}

.mestre-chip--selected {
  background: linear-gradient(180deg, rgba(20, 122, 74, 0.16) 0%, rgba(20, 122, 74, 0.12) 100%);
  color: #147a4a;
  border: 1px solid rgba(20, 122, 74, 0.18);
}

#mestreAdminExecutionBoard {
  display: grid;
  gap: 18px;
}

.mestre-admin-board-head h3 {
  margin: 0 0 6px 0;
  font-size: 1.02rem;
}

.mestre-admin-board-head p {
  margin: 0;
}

.mestre-admin-board-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

.mestre-month-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 18px 18px;
  border: 1px solid rgba(162, 178, 202, 0.32);
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
  box-shadow: 0 14px 30px rgba(16, 31, 61, 0.06);
  height: auto;
  align-self: start;
}

.mestre-month-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.mestre-month-head h3 {
  margin: 4px 0 0 0;
  font-size: 1rem;
}

.mestre-month-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.mestre-month-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 154px;
  padding: 10px;
  border: 1px solid rgba(183, 196, 216, 0.42);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(251, 253, 255, 0.92) 0%, rgba(245, 249, 255, 0.88) 100%);
}

.mestre-month-body.is-empty {
  justify-content: center;
}

.mestre-month-records {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0 4px 0 0;
  max-height: 320px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(113, 134, 165, 0.4) transparent;
}

.mestre-month-records::-webkit-scrollbar {
  width: 8px;
}

.mestre-month-records::-webkit-scrollbar-track {
  background: transparent;
}

.mestre-month-records::-webkit-scrollbar-thumb {
  background: rgba(113, 134, 165, 0.35);
  border-radius: 999px;
}

.mestre-month-records::-webkit-scrollbar-thumb:hover {
  background: rgba(76, 101, 139, 0.48);
}

.mestre-month-record {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid rgba(181, 194, 214, 0.3);
  box-shadow: none;
}

.mestre-month-record p {
  margin: 0;
}

.mestre-month-record-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.84rem;
  color: var(--shell-muted);
}

.mestre-month-record-head strong {
  color: #36527d;
  font-size: 0.98rem;
}

.mestre-month-record > p:first-of-type {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 0.84rem;
  color: var(--shell-muted);
}

.mestre-month-record > p:nth-of-type(2) {
  padding: 9px 11px;
  border-radius: 10px;
  background: rgba(244, 247, 252, 0.72);
  color: #0d2347;
  line-height: 1.45;
  max-height: 110px;
  overflow-y: auto;
  overflow-wrap: anywhere;
  word-break: break-word;
  scrollbar-width: thin;
  scrollbar-color: rgba(113, 134, 165, 0.34) transparent;
}

.mestre-month-record > p:nth-of-type(2)::-webkit-scrollbar {
  width: 6px;
}

.mestre-month-record > p:nth-of-type(2)::-webkit-scrollbar-track {
  background: transparent;
}

.mestre-month-record > p:nth-of-type(2)::-webkit-scrollbar-thumb {
  background: rgba(113, 134, 165, 0.34);
  border-radius: 999px;
}

.mestre-month-record > p:last-of-type {
  padding-top: 2px;
  font-size: 0.85rem;
  color: #4c607f;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.mestre-month-empty {
  display: flex;
  align-items: center;
  min-height: 92px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px dashed rgba(174, 190, 214, 0.65);
  background: rgba(255, 255, 255, 0.78);
  color: #5a7194;
  font-size: 0.92rem;
  line-height: 1.45;
}

.mestre-admin-status-stack,
.mestre-admin-reference-cell {
  display: grid;
  gap: 0;
}

.mestre-admin-status-stack .badge {
  width: fit-content;
  min-width: 132px;
  justify-content: center;
}

.mestre-admin-row--selected {
  background: rgba(20, 122, 74, 0.04);
}

.mestre-activity-board {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.mestre-activity-card {
  display: grid;
  gap: 14px;
  padding: 18px 20px;
  border: 1px solid rgba(162, 178, 202, 0.28);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.mestre-activity-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.mestre-activity-head p,
.mestre-activity-copy p {
  margin: 0;
}

.mestre-activity-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: var(--shell-muted);
  font-size: 0.84rem;
}

.mestre-activity-copy {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.mestre-activity-copy strong {
  display: block;
  margin-bottom: 6px;
}

.mestre-admin-empty {
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px dashed rgba(168, 184, 207, 0.7);
  background: rgba(248, 250, 253, 0.92);
  color: var(--shell-muted);
}

.mestre-admin-board-head {
  display: none;
}

/* Momento do Mestre - visual refinement only */
#tab-mestre {
  --mestre-ink: #172033;
  --mestre-muted: #647084;
  --mestre-line: rgba(211, 219, 231, 0.82);
  --mestre-wine: #8f1833;
  --mestre-soft: rgba(143, 24, 51, 0.07);
  display: grid;
  gap: 16px;
}

#tab-mestre .page-intro {
  margin-bottom: 14px !important;
}

#tab-mestre .page-title {
  letter-spacing: -0.04em;
}

#tab-mestre .page-description {
  max-width: 760px;
  color: var(--mestre-muted);
  line-height: 1.45;
}

#tab-mestre .iin-kpi-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  max-width: none;
  margin-bottom: 2px;
}

#tab-mestre .iin-kpi-grid > .premium-card {
  position: relative;
  min-height: 104px;
  padding: 14px 16px !important;
  align-items: center !important;
  border: 1px solid var(--mestre-line);
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% 12%, rgba(143, 24, 51, 0.08), transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.96) 100%);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.055);
  overflow: hidden;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

#tab-mestre .iin-kpi-grid > .premium-card:hover,
#teacherMestreTabContent .premium-card:hover,
#teacherMestreQuickPanel:hover {
  transform: translateY(-2px);
  border-color: rgba(143, 24, 51, 0.16);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

#tab-mestre .iin-kpi-grid .page-eyebrow {
  margin: 0;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
}

#tab-mestre .iin-kpi-grid h3 {
  margin: 2px 0 !important;
  color: var(--mestre-ink);
  font-size: 1.42rem !important;
  line-height: 1.05;
}

#tab-mestre .iin-kpi-grid .muted {
  font-size: 0.72rem !important;
  line-height: 1.3;
}

#tab-mestre .kpi-icon-box {
  width: 34px !important;
  height: 34px !important;
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

#tab-mestre .kpi-icon-box img,
#tab-mestre .kpi-icon-box svg {
  width: 16px !important;
  height: 16px !important;
}

#teacherMestreTabContent {
  gap: 14px !important;
}

#teacherMestreQuickPanel,
#teacherMestreTabContent #planningPanel,
#teacherMestreAdminHost,
.mestre-admin-activity-shell {
  border: 1px solid var(--mestre-line);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,250,252,0.96) 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.mestre-reference-shell {
  gap: 10px;
}

.mestre-reference-card {
  min-height: 94px;
  padding: 14px 16px;
  border-radius: 18px;
  border-color: var(--mestre-line);
  background:
    radial-gradient(circle at top right, rgba(143, 24, 51, 0.075), transparent 34%),
    linear-gradient(180deg, #fff 0%, #f8fafc 100%);
  box-shadow: none;
}

.mestre-reference-copy {
  gap: 3px;
}

.mestre-reference-copy .page-eyebrow {
  margin: 0;
  color: var(--mestre-wine);
  font-size: 0.68rem;
}

.mestre-reference-copy h3 {
  color: var(--mestre-ink);
  font-size: 1.04rem;
  letter-spacing: -0.02em;
}

.mestre-reference-status {
  font-size: 0.82rem;
  line-height: 1.35;
}

.mestre-reference-card .toolbar,
#teacherMestreTools .toolbar {
  margin: 0;
  align-self: center;
}

.mestre-reference-card .ghost,
#teacherMestreOpen {
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  border-color: rgba(143, 24, 51, 0.16);
  background: rgba(143, 24, 51, 0.065);
  color: var(--mestre-wine);
  font-size: 0.78rem;
  font-weight: 800;
}

#teacherMestreTabContent #planningPanel > .panel-collapse-toggle,
#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-toggle {
  min-height: 70px;
  padding: 16px 18px;
  border-radius: 22px 22px 0 0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

#teacherMestreTabContent #planningPanel > .panel-collapse-toggle h2,
#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-toggle h2 {
  color: var(--mestre-ink);
  font-size: 0.98rem;
  letter-spacing: -0.015em;
}

#teacherMestreTabContent #planningPanel > .panel-collapse-toggle .panel-collapse-sub,
#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-toggle .panel-collapse-sub {
  color: var(--mestre-muted);
  font-size: 0.78rem;
}

.mestre-accordion-icon {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
  border-radius: 12px;
  background-size: 17px 17px;
  background-color: rgba(143, 24, 51, 0.06);
  border-color: rgba(143, 24, 51, 0.12);
}

#teacherMestreTabContent #planningPanel > .panel-collapse-content,
#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-content {
  padding: 0 18px 18px;
}

#planningPanelContent,
#teacherMestreTabContent #planningPanel .panel-collapse-content {
  gap: 14px;
}

#planningForm.grid-form.two {
  grid-template-columns: minmax(180px, 0.8fr) minmax(220px, 1.2fr);
  gap: 12px;
  align-items: start;
}

#planningForm label {
  display: grid;
  gap: 6px;
  color: #334155;
  font-size: 0.82rem;
  font-weight: 800;
}

#planningForm input,
#planningForm textarea {
  min-height: 42px;
  border-radius: 14px;
  border-color: var(--mestre-line);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
}

#planningForm textarea {
  min-height: 92px;
  resize: vertical;
  line-height: 1.45;
}

#planningSubmitBtn {
  grid-column: 1 / -1;
  justify-self: start;
  min-height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  box-shadow: 0 12px 24px rgba(143, 24, 51, 0.16);
}

#planningListTitle {
  margin: 4px 0 0 !important;
  color: var(--mestre-muted);
  font-size: 0.78rem !important;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

#planningPanel .history-list,
#planningList {
  gap: 10px;
}

.mestre-execution-item,
.mestre-activity-card,
.mestre-month-card {
  border-color: var(--mestre-line);
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.mestre-execution-item {
  gap: 8px;
  padding: 14px 16px;
  border-radius: 16px;
}

.mestre-execution-item:hover,
.mestre-activity-card:hover,
.mestre-month-card:hover {
  transform: translateY(-2px);
  border-color: rgba(143, 24, 51, 0.14);
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.075);
}

.mestre-execution-item-head,
.mestre-activity-head,
.mestre-month-head,
.mestre-month-record-head {
  align-items: center;
}

.mestre-chip {
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 0.68rem;
  letter-spacing: 0.02em;
  box-shadow: none;
}

.mestre-chip--pending {
  background: rgba(180, 35, 52, 0.075);
  color: #9f1d30;
  border-color: rgba(180, 35, 52, 0.14);
}

.mestre-chip--ok {
  background: rgba(20, 122, 74, 0.095);
  color: #147a4a;
  border-color: rgba(20, 122, 74, 0.15);
}

#mestreAdminExecutionBoard {
  gap: 14px;
}

.mestre-admin-board-grid {
  gap: 14px;
}

.mestre-month-card {
  gap: 10px;
  padding: 15px;
  border-radius: 18px;
}

.mestre-month-head h3 {
  margin: 2px 0 0;
  color: var(--mestre-ink);
  font-size: 0.96rem;
}

.mestre-month-badges {
  gap: 6px;
}

.mestre-month-toolbar .ghost,
.mestre-month-toolbar button {
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 0.76rem;
}

.mestre-month-body {
  min-height: 118px;
  padding: 8px;
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.72);
}

.mestre-month-records {
  gap: 8px;
  max-height: 240px;
}

.mestre-month-record {
  gap: 6px;
  padding: 10px 12px;
  border-radius: 12px;
}

.mestre-month-empty,
.mestre-admin-empty {
  min-height: 72px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.84);
}

.mestre-activity-board {
  gap: 12px;
  margin-top: 12px;
}

.mestre-activity-card {
  gap: 12px;
  padding: 15px 16px;
  border-radius: 16px;
}

.mestre-activity-copy {
  gap: 12px;
}

@media (max-width: 1180px) {
  #tab-mestre .iin-kpi-grid,
  .mestre-admin-board-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  #tab-mestre {
    gap: 12px;
  }

  #tab-mestre .iin-kpi-grid,
  .mestre-admin-board-grid,
  #planningForm.grid-form.two,
  .mestre-activity-copy {
    grid-template-columns: 1fr;
  }

  #tab-mestre .iin-kpi-grid > .premium-card {
    min-height: 92px;
  }

  .mestre-reference-card,
  .mestre-month-head,
  .mestre-activity-head,
  .mestre-execution-item-head,
  .mestre-month-record-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .mestre-reference-card .toolbar,
  #teacherMestreOpen,
  #planningSubmitBtn,
  .mestre-month-toolbar button {
    width: 100%;
  }
}

#tab-mestre {
  --mestre-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(248, 250, 252, 0.97) 100%);
  --mestre-surface-soft: rgba(246, 248, 251, 0.92);
  --mestre-surface-muted: rgba(242, 246, 250, 0.92);
  --mestre-shadow-soft: 0 10px 26px rgba(15, 23, 42, 0.05);
  --mestre-shadow-hover: 0 16px 34px rgba(15, 23, 42, 0.08);
  --mestre-radius-lg: 20px;
  --mestre-radius-md: 15px;
  gap: 14px;
}

#tab-mestre .mestre-page-intro {
  margin-bottom: 10px !important;
}

#tab-mestre .page-description {
  max-width: 72ch;
  font-size: 0.9rem;
}

#tab-mestre .iin-kpi-grid {
  gap: 10px;
}

#tab-mestre .mestre-kpi-card {
  min-height: 94px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
}

#tab-mestre .mestre-kpi-card::after {
  content: "";
  position: absolute;
  inset: auto 14px 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(143, 24, 51, 0.16), rgba(143, 24, 51, 0.02));
}

#tab-mestre .mestre-kpi-card h3 {
  font-size: 1.34rem !important;
}

#tab-mestre .mestre-kpi-card .muted {
  max-width: 18ch;
}

#tab-mestre .mestre-kpi-card .kpi-icon-box {
  width: 32px !important;
  height: 32px !important;
  border-radius: 11px;
}

#tab-mestre .mestre-kpi-card .kpi-icon-box img,
#tab-mestre .mestre-kpi-card .kpi-icon-box svg {
  width: 15px !important;
  height: 15px !important;
}

#teacherMestreTabContent {
  gap: 12px !important;
}

#teacherMestreQuickPanel,
#teacherMestreTabContent #planningPanel,
#teacherMestreAdminHost,
.mestre-admin-activity-shell {
  border-radius: var(--mestre-radius-lg);
  background: var(--mestre-surface);
  box-shadow: var(--mestre-shadow-soft);
}

#teacherMestreQuickPanel:hover,
#teacherMestreTabContent #planningPanel:hover,
#teacherMestreAdminHost:hover,
.mestre-admin-activity-shell:hover {
  box-shadow: var(--mestre-shadow-hover);
}

#teacherMestreQuickPanel.mestre-quick-panel {
  padding: 16px !important;
}

#teacherMestreQuickPanel .mestre-section-head {
  margin-bottom: 4px;
}

.mestre-reference-shell {
  gap: 8px;
}

.mestre-reference-card.mestre-reference-card--hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 12px 14px;
  border-radius: 16px;
  background:
    radial-gradient(circle at top right, rgba(143, 24, 51, 0.08), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.mestre-reference-copy {
  gap: 2px;
}

.mestre-reference-copy h3 {
  font-size: 0.98rem;
}

.mestre-reference-copy .muted,
.mestre-reference-status {
  font-size: 0.76rem;
  line-height: 1.35;
}

.mestre-reference-side {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
}

.mestre-reference-status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(15, 23, 42, 0.04);
  color: #516075;
}

.mestre-reference-status-badge--ok {
  background: rgba(20, 122, 74, 0.1);
  color: #147a4a;
  border-color: rgba(20, 122, 74, 0.16);
}

.mestre-reference-status-badge--pending {
  background: rgba(180, 35, 52, 0.075);
  color: #9f1d30;
  border-color: rgba(180, 35, 52, 0.14);
}

.mestre-reference-toolbar,
.mestre-reference-card .toolbar {
  margin: 0;
}

.mestre-reference-toolbar .ghost,
#teacherMestreOpen {
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
  background: rgba(143, 24, 51, 0.055);
}

#teacherMestreTabContent #planningPanel > .panel-collapse-toggle,
#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-toggle {
  min-height: 60px;
  padding: 14px 16px;
  border-radius: 20px 20px 0 0;
}

#teacherMestreTabContent #planningPanel > .panel-collapse-content,
#teacherMestreQuickPanel #adminMestreContent > .panel-collapse-content {
  padding: 0 16px 16px;
}

.mestre-accordion-head {
  gap: 10px;
}

.mestre-accordion-icon {
  width: 30px;
  height: 30px;
  flex-basis: 30px;
  border-radius: 10px;
  background-size: 15px 15px;
}

#planningForm.grid-form.two {
  grid-template-columns: minmax(160px, 0.7fr) minmax(220px, 1.3fr);
  gap: 10px;
}

#planningForm label {
  gap: 5px;
  font-size: 0.76rem;
}

#planningForm input,
#planningForm textarea {
  min-height: 38px;
  border-radius: 12px;
  padding: 0 11px;
  font-size: 0.84rem;
}

#planningForm textarea {
  min-height: 74px;
  padding-top: 9px;
  padding-bottom: 9px;
}

#planningSubmitBtn {
  min-height: 36px;
  padding: 0 16px;
  box-shadow: 0 10px 20px rgba(143, 24, 51, 0.14);
}

#planningPanel .history-list,
#planningList {
  gap: 8px;
}

.mestre-execution-item {
  gap: 6px;
  padding: 11px 12px;
  border-radius: 14px;
}

.mestre-execution-item-head {
  align-items: flex-start;
  gap: 10px;
}

.mestre-execution-item-title {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.mestre-execution-item-title strong {
  font-size: 0.88rem;
  color: var(--mestre-ink);
}

.mestre-execution-item-subtitle,
.mestre-execution-item-meta,
.mestre-execution-item-copy p,
.mestre-execution-item-copy .muted {
  font-size: 0.75rem;
  line-height: 1.4;
}

.mestre-execution-item-copy {
  display: grid;
  gap: 6px;
}

.mestre-execution-item-copy p {
  margin: 0;
}

#mestreAdminExecutionBoard {
  gap: 12px;
}

.mestre-admin-board-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 2px;
}

.mestre-admin-board-head h3 {
  font-size: 0.96rem;
  letter-spacing: -0.02em;
}

.mestre-admin-board-head p {
  max-width: 64ch;
  font-size: 0.78rem;
  line-height: 1.4;
}

.mestre-admin-board-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.mestre-month-card {
  gap: 8px;
  padding: 13px;
  border-radius: 16px;
  background:
    radial-gradient(circle at top right, rgba(143, 24, 51, 0.055), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
}

.mestre-month-head {
  align-items: flex-start;
  gap: 10px;
}

.mestre-month-head > div:first-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.mestre-month-head .page-eyebrow {
  margin: 0;
  font-size: 0.64rem;
  letter-spacing: 0.08em;
}

.mestre-month-head h3 {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.2;
}

.mestre-month-subtitle {
  margin: 0;
  color: var(--mestre-muted);
  font-size: 0.72rem;
  line-height: 1.35;
}

.mestre-month-badges {
  justify-content: flex-end;
  gap: 5px;
}

.mestre-month-toolbar {
  display: flex;
  justify-content: flex-start;
}

.mestre-month-toolbar .ghost,
.mestre-month-toolbar button {
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  background: rgba(15, 23, 42, 0.04);
  border-color: rgba(211, 219, 231, 0.9);
  color: #39516f;
}

.mestre-month-body {
  min-height: 92px;
  padding: 7px;
  border-radius: 12px;
  background: var(--mestre-surface-muted);
}

.mestre-month-records {
  gap: 7px;
  max-height: 214px;
  padding-right: 2px;
}

.mestre-month-record {
  gap: 5px;
  padding: 9px 10px;
  border-radius: 11px;
  border-color: rgba(211, 219, 231, 0.78);
}

.mestre-month-record-head {
  gap: 8px;
  font-size: 0.74rem;
}

.mestre-month-record-head strong {
  font-size: 0.82rem;
}

.mestre-month-record-meta,
.mestre-month-record > p:first-of-type,
.mestre-month-record > p:last-of-type {
  font-size: 0.72rem;
}

.mestre-month-record > p:nth-of-type(2) {
  max-height: 74px;
  padding: 7px 9px;
  border-radius: 9px;
  font-size: 0.76rem;
  line-height: 1.42;
}

.mestre-month-empty {
  display: grid;
  align-content: center;
  gap: 4px;
  min-height: 72px;
  padding: 12px;
  border-radius: 12px;
  text-align: left;
}

.mestre-month-empty strong {
  font-size: 0.8rem;
  color: var(--mestre-ink);
}

.mestre-month-empty p {
  margin: 0;
  font-size: 0.74rem;
  line-height: 1.4;
}

.mestre-admin-activity-shell .panel-title-row {
  margin-bottom: 6px;
}

.mestre-admin-activity-shell .muted {
  font-size: 0.78rem;
}

.mestre-activity-board {
  gap: 10px;
}

.mestre-activity-card {
  gap: 10px;
  padding: 12px 13px;
  border-radius: 14px;
}

.mestre-activity-head h3 {
  font-size: 0.9rem;
}

.mestre-activity-meta {
  gap: 8px;
  font-size: 0.75rem;
}

.mestre-activity-copy {
  gap: 10px;
}

.mestre-activity-copy strong {
  margin-bottom: 4px;
  font-size: 0.78rem;
}

.mestre-activity-copy p {
  font-size: 0.76rem;
  line-height: 1.42;
}

.mestre-admin-empty,
#planningPanel .empty,
#planningList .empty {
  min-height: 68px;
  padding: 12px 14px;
  border-radius: 13px;
  font-size: 0.78rem;
  line-height: 1.45;
  background: rgba(248, 250, 252, 0.88);
}

@media (max-width: 1180px) {
  .mestre-admin-board-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  #tab-mestre .mestre-reference-card.mestre-reference-card--hero,
  .mestre-month-head,
  .mestre-execution-item-head,
  .mestre-activity-head {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: flex-start;
  }

  .mestre-reference-card.mestre-reference-card--hero {
    grid-template-columns: 1fr;
  }

  .mestre-reference-side,
  .mestre-reference-toolbar {
    justify-self: stretch;
  }

  .mestre-reference-toolbar .ghost,
  #teacherMestreOpen,
  .mestre-month-toolbar button,
  #planningSubmitBtn {
    width: 100%;
  }
}

.attendance-final-bar {
  background: #fbfcfe;
  border: 1px solid var(--shell-border);
}

.retencao-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 18px;
}

#retencaoAlunosBoard {
  display: block;
  min-height: 260px;
}

.retencao-kpi-card,
.retencao-panel {
  border: 1px solid rgba(204, 214, 229, 0.9);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 253, 0.96));
}

.retencao-kpi-card--risk {
  box-shadow: inset 0 1px 0 rgba(190, 54, 54, 0.08);
}

.retencao-kpi-card--warn {
  box-shadow: inset 0 1px 0 rgba(207, 148, 39, 0.08);
}

.retencao-kpi-card--contact {
  box-shadow: inset 0 1px 0 rgba(41, 112, 79, 0.08);
}

.retencao-kpi-label {
  display: block;
  margin-bottom: 10px;
  color: var(--shell-muted);
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.retencao-kpi-value {
  display: block;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  line-height: 1;
  color: #132238;
}

.retencao-kpi-note {
  margin: 10px 0 0;
  color: var(--shell-muted);
}

.retencao-toolbar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}

.retencao-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.retencao-hero__copy {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.retencao-hero__copy .panel-title-row {
  align-items: center;
}

.retencao-hero__copy h2 {
  margin: 0;
}

.retencao-hero__badge,
.retencao-quick-contact__badge {
  flex: 0 0 auto;
  border: 1px solid rgba(196, 209, 227, 0.86);
  background: rgba(247, 250, 254, 0.9);
  color: #32506f;
}

.retencao-filter-card {
  display: grid;
  gap: 14px;
  margin: 0 0 18px;
  padding: 16px 18px 18px;
  border-radius: 20px;
  border: 1px solid rgba(205, 216, 231, 0.88);
  background: linear-gradient(180deg, rgba(249, 251, 254, 0.95), rgba(244, 248, 252, 0.92));
}

.retencao-filter-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.retencao-filter-card__head strong {
  color: #132238;
  font-size: 0.92rem;
}

.retencao-pipeline-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 16px;
}

.retencao-pipeline-tab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 52px;
  padding: 0 16px;
  border-radius: 18px;
  border: 1px solid rgba(205, 216, 231, 0.88);
  background: linear-gradient(180deg, rgba(250, 252, 255, 0.96), rgba(244, 248, 252, 0.92));
  color: #36506b;
  font-weight: 700;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.retencao-pipeline-tab strong {
  color: #102238;
  font-size: 0.94rem;
}

.retencao-pipeline-tab.is-active {
  border-color: rgba(120, 208, 148, 0.44);
  background: linear-gradient(135deg, rgba(230, 252, 238, 0.98), rgba(212, 246, 224, 0.92));
  box-shadow: 0 14px 28px rgba(22, 124, 67, 0.1);
}

.retencao-quick-contact {
  margin: 18px 0 18px;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid rgba(186, 220, 199, 0.72);
  background:
    linear-gradient(180deg, rgba(249, 253, 250, 0.98), rgba(240, 250, 245, 0.95)),
    radial-gradient(circle at top right, rgba(66, 183, 111, 0.12), transparent 42%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 20px 44px rgba(33, 89, 57, 0.08);
}

.retencao-quick-contact .panel-title-row {
  align-items: flex-start;
  gap: 14px;
}

.retencao-quick-contact h3 {
  margin: 0;
}

.retencao-quick-contact-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(340px, 1.05fr);
  gap: 18px;
  align-items: stretch;
  margin-top: 14px;
}

.retencao-quick-contact__column {
  display: grid;
  gap: 12px;
}

.retencao-quick-contact-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  margin-top: 2px;
}

.retencao-quick-contact__note {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 8px 0 0;
  max-width: 72ch;
}

.retencao-demo-badge {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(176, 43, 43, 0.08);
  color: #9e2020;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.retencao-field {
  display: grid;
  gap: 8px;
  color: #223854;
  font-size: 0.88rem;
  font-weight: 700;
}

.retencao-field--student select,
.retencao-field--message textarea,
.retencao-toolbar select {
  border-radius: 18px;
  border: 1px solid rgba(196, 209, 226, 0.9);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52);
}

.retencao-field--student select {
  min-height: 52px;
  padding: 0 18px;
  font-size: 0.96rem;
}

.retencao-field--message textarea {
  min-height: 124px;
  max-height: 164px;
  padding: 14px 16px;
  line-height: 1.48;
  resize: vertical;
}

.retencao-contact-student-meta {
  min-height: 42px;
  padding: 4px 2px 0;
  display: grid;
  gap: 6px;
}

.retencao-contact-student-meta--card {
  min-height: 118px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(184, 218, 196, 0.72);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.retencao-contact-student-meta__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.retencao-contact-student-meta strong {
  color: #17304d;
  font-size: 0.95rem;
  font-weight: 700;
}

.retencao-contact-student-meta span {
  color: #667a97;
  font-size: 0.84rem;
  line-height: 1.4;
}

.retencao-contact-feedback {
  margin: 0;
  color: #5f7391;
  font-size: 0.88rem;
  line-height: 1.45;
}

#tab-retencao .retencao-contact-send-btn,
#tab-retencao .retentions-whatsapp-send,
#tab-retencao .retencao-contact-send-btn.primary {
  min-width: 214px;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 18px;
  border: 1px solid rgba(34, 197, 94, 0.28);
  background: linear-gradient(135deg, rgba(220, 252, 231, 0.92), rgba(187, 247, 208, 0.78));
  color: #1a6b42;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  box-shadow: 0 12px 28px rgba(22, 163, 74, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(14px);
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease, opacity 180ms ease, border-color 180ms ease;
}

.retencao-contact-send-btn svg,
.retencao-wa-btn svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

.retencao-contact-send-btn__icon,
.retencao-wa-btn__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #25d366;
}

.retencao-contact-send-btn__icon {
  width: 22px;
  height: 22px;
}

#tab-retencao .retencao-contact-send-btn:hover:not([disabled]),
#tab-retencao .retentions-whatsapp-send:hover:not([disabled]),
#tab-retencao .retencao-contact-send-btn.primary:hover:not([disabled]),
.retencao-wa-btn:hover:not([disabled]) {
  transform: translateY(-1px);
  filter: saturate(1.04);
}

#tab-retencao .retencao-contact-send-btn:hover:not([disabled]),
#tab-retencao .retentions-whatsapp-send:hover:not([disabled]),
#tab-retencao .retencao-contact-send-btn.primary:hover:not([disabled]) {
  border-color: rgba(34, 197, 94, 0.4);
  box-shadow: 0 16px 32px rgba(22, 163, 74, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.retencao-results-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 16px 0 14px;
}

.retencao-results-head strong {
  color: #132238;
  font-size: 0.95rem;
}

.retencao-results-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 12px;
}

.retencao-student-card {
  display: grid;
  gap: 8px;
  padding: 13px 14px 12px;
  border-radius: 20px;
  border: 1px solid rgba(212, 220, 232, 0.88);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(247, 250, 253, 0.97));
  box-shadow: 0 14px 32px rgba(17, 34, 58, 0.055);
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.retencao-student-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 40px rgba(17, 34, 58, 0.085);
  border-color: rgba(181, 199, 221, 0.98);
}

.retencao-student-card:focus-visible {
  outline: none;
  border-color: rgba(126, 174, 153, 0.98);
  box-shadow: 0 0 0 4px rgba(62, 152, 108, 0.12), 0 20px 40px rgba(17, 34, 58, 0.08);
}

.retencao-student-card.is-expanded {
  border-color: rgba(141, 203, 171, 0.92);
  box-shadow: 0 24px 46px rgba(20, 78, 51, 0.1);
}

.retencao-student-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.retencao-student-card__identity {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.retencao-student-card__identity strong {
  color: #12233a;
  font-size: 0.97rem;
  line-height: 1.24;
}

.retencao-student-card__identity span {
  color: #6f7f95;
  font-size: 0.84rem;
}

.retencao-student-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.retencao-soft-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.retencao-soft-badge--warn {
  border-color: rgba(238, 189, 108, 0.55);
  background: rgba(255, 244, 223, 0.96);
  color: #b06b0d;
}

.retencao-soft-badge--history {
  border-color: rgba(197, 208, 223, 0.7);
  background: rgba(241, 246, 251, 0.96);
  color: #70819a;
}

.retencao-soft-badge--muted {
  border-color: rgba(214, 220, 230, 0.74);
  background: rgba(246, 248, 252, 0.96);
  color: #76859a;
}

.retencao-soft-badge--pending {
  border-color: rgba(202, 211, 223, 0.74);
  background: rgba(244, 247, 252, 0.96);
  color: #6d7f95;
}

.retencao-soft-badge--contacted,
.retencao-soft-badge--ok {
  border-color: rgba(167, 220, 183, 0.72);
  background: rgba(235, 250, 241, 0.98);
  color: #26734b;
}

.retencao-student-card__metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  color: #52657d;
  font-size: 0.8rem;
  line-height: 1.35;
}

.retencao-student-card__metrics span {
  white-space: nowrap;
}

.retencao-student-card__phone {
  margin: 0;
  color: #7d8ba1;
  font-size: 0.79rem;
}

.retencao-student-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.retencao-student-card__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.retencao-student-card__details {
  display: grid;
  gap: 14px;
  padding-top: 0;
  border-top: 0 solid rgba(221, 228, 237, 0.95);
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  pointer-events: none;
  transition: opacity 180ms ease, max-height 220ms ease, padding-top 180ms ease, border-top-width 180ms ease;
}

.retencao-student-card__details.is-open {
  padding-top: 16px;
  border-top-width: 1px;
  opacity: 1;
  max-height: 420px;
  pointer-events: auto;
}

.retencao-student-card__details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.retencao-student-card__details-grid div {
  display: grid;
  gap: 4px;
}

.retencao-student-card__details-grid small,
.retencao-student-card__details-meta span {
  color: #728198;
  font-size: 0.79rem;
}

.retencao-student-card__details-grid strong {
  color: #17304d;
  font-size: 0.96rem;
}

.retencao-student-card__reason {
  margin: 0;
  color: #4f6078;
  font-size: 0.88rem;
  line-height: 1.5;
}

.retencao-student-card__details-meta {
  display: grid;
  gap: 6px;
}

.retencao-wa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 36px;
  padding: 0 10px;
  border-radius: 13px;
  border: 1px solid rgba(184, 215, 196, 0.86);
  background: rgba(241, 250, 244, 0.94);
  color: #1f7a48;
  font-size: 0.79rem;
  font-weight: 700;
  white-space: nowrap;
  transition: transform 180ms ease, box-shadow 180ms ease, opacity 180ms ease, border-color 180ms ease, background 180ms ease;
}

.retencao-followup-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 10px;
  border-radius: 13px;
  border: 1px solid rgba(196, 208, 224, 0.86);
  background: rgba(249, 251, 254, 0.96);
  color: #49627d;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.retencao-followup-btn--muted {
  background: rgba(243, 246, 251, 0.96);
  color: #70819a;
}

.retencao-status-badge {
  min-width: 0;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
}

.retencao-status-badge--warn {
  border: 1px solid rgba(241, 193, 118, 0.54);
  background: rgba(255, 245, 228, 0.96);
  color: #aa6d11;
}

.retencao-status-badge--crit {
  border: 1px solid rgba(240, 170, 170, 0.52);
  background: rgba(255, 241, 241, 0.98);
  color: #b04a4a;
}

.retencao-status-badge--ok {
  border: 1px solid rgba(179, 217, 191, 0.7);
  background: rgba(238, 249, 242, 0.98);
  color: #2e7a4e;
}

.retencao-empty {
  padding: 18px 0 4px;
}

.retencao-empty strong {
  color: #1d314b;
}

.retencao-empty p {
  color: #6a7c93;
}
@media (max-width: 980px) {
  .app-sidebar {
    width: min(84vw, 310px);
  }

  .hero-inner {
    padding: 0 18px;
  }

  .container.app-content {
    padding: 26px 18px 36px;
  }

  #tab-mestre .iin-kpi-grid,
  .mestre-admin-board-grid,
  .retencao-kpi-grid,
  .retencao-quick-contact-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .retencao-toolbar,
  .retencao-results-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .retencao-pipeline-tabs {
    grid-template-columns: minmax(0, 1fr);
  }

  #tab-admin .admin-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .hero-inner {
    min-height: 64px;
  }

  .topbar-breadcrumb-page {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .panel,
  .metric-card {
    padding: 22px;
  }

  .page-priority-badge {
    align-self: flex-start;
  }

  .retencao-quick-contact-actions,
  .retencao-results-head {
    flex-direction: column;
    align-items: stretch;
  }

  .retencao-hero,
  .retencao-filter-card__head,
  .retencao-quick-contact-actions {
    grid-template-columns: minmax(0, 1fr);
    display: grid;
  }

  .retencao-contact-student-meta__head {
    align-items: flex-start;
  }

  .retencao-contact-send-btn,
  .retencao-wa-btn {
    width: 100%;
  }

  .retencao-student-card__footer {
    flex-direction: column;
    align-items: stretch;
  }

  .retencao-student-card__actions {
    justify-content: stretch;
  }

  .retencao-student-card__metrics {
    grid-template-columns: 1fr;
  }

  #tab-admin .admin-kpi-grid,
  #tab-fila .fila-metrics-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #teacherMestreQuickPanel #adminMestreContent > .grid-form.two {
    grid-template-columns: minmax(0, 1fr);
  }

  #teacherMestreQuickPanel #adminMestreContent > .toolbar > button,
  #teacherMestreQuickPanel #adminMestreContent > .toolbar > .primary,
  #teacherMestreQuickPanel #adminMestreContent > .toolbar > .ghost {
    width: 100%;
  }

  .mestre-execution-item-head,
  .mestre-month-head,
  .mestre-month-record-head {
    grid-template-columns: minmax(0, 1fr);
    display: grid;
  }

  .mestre-month-badges {
    justify-content: flex-start;
  }

  .mestre-month-records {
    max-height: 280px;
  }

  .mestre-month-record > p:nth-of-type(2) {
    max-height: 104px;
  }

  .mestre-reference-card,
  .mestre-activity-head,
  .mestre-activity-copy {
    grid-template-columns: minmax(0, 1fr);
    display: grid;
  }
}




@media (max-width: 760px) {
  .retencao-student-card__details-grid {
    grid-template-columns: 1fr;
  }

  .retencao-student-card__summary {
    flex-direction: column;
    align-items: flex-start;
  }

  .retencao-student-card__footer {
    justify-content: stretch;
  }
}

#tab-prestacao .prestacao-page {
  display: grid;
  gap: 24px;
}

#tab-prestacao .prestacao-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

#tab-prestacao .prestacao-header__copy {
  display: grid;
  gap: 10px;
}

#tab-prestacao .prestacao-header__copy .page-title,
#tab-prestacao .prestacao-header__copy .page-description {
  margin: 0;
}

#tab-prestacao .prestacao-header__copy .page-description {
  max-width: 760px;
}

#tab-prestacao .prestacao-header__badge {
  align-self: flex-start;
}

#tab-prestacao .prestacao-loading-state {
  display: grid;
}

#tab-prestacao .prestacao-loading-card {
  border-radius: 28px;
  border: 1px solid rgba(191, 210, 235, 0.72);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 249, 255, 0.94));
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.75);
  padding: 24px;
  display: grid;
  gap: 8px;
}

#tab-prestacao .prestacao-loading-card strong,
#tab-prestacao .prestacao-loading-card p {
  margin: 0;
}

#tab-prestacao .prestacao-loading-card--error {
  border-color: rgba(244, 114, 182, 0.24);
  background: linear-gradient(180deg, rgba(255, 250, 251, 0.98), rgba(255, 241, 242, 0.96));
}

#tab-prestacao .prestacao-filters,
#tab-prestacao .prestacao-actions,
#tab-prestacao .prestacao-print-area,
#tab-prestacao .prestacao-document,
#tab-prestacao .prestacao-kpi-card {
  border: 1px solid rgba(191, 210, 235, 0.7);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 249, 255, 0.94));
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

#tab-prestacao .prestacao-filters,
#tab-prestacao .prestacao-actions,
#tab-prestacao .prestacao-print-area {
  border-radius: 28px;
  padding: 24px;
}

#tab-prestacao .prestacao-filters {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

#tab-prestacao .prestacao-filters--triple {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#tab-prestacao .prestacao-filter {
  display: grid;
  gap: 8px;
}

#tab-prestacao .prestacao-filter > span {
  color: #315174;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-filter input,
#tab-prestacao .prestacao-filter select {
  min-height: 48px;
  border-radius: 16px;
  border: 1px solid rgba(191, 210, 235, 0.88);
  background: rgba(255, 255, 255, 0.88);
}

#tab-prestacao .prestacao-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 280px));
  justify-content: center;
  gap: 18px;
  align-items: stretch;
}

#tab-prestacao .prestacao-kpi-card {
  border-radius: 26px;
  padding: 20px 22px 18px;
  display: grid;
  gap: 12px;
  min-height: 184px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 255, 0.9));
  border: 1px solid rgba(205, 218, 235, 0.82);
  box-shadow: 0 16px 36px rgba(22, 43, 77, 0.08);
}

#tab-prestacao .prestacao-kpi-card__top {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
}

#tab-prestacao .prestacao-kpi-card__icon {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: rgba(59, 130, 246, 0.12);
}

#tab-prestacao .prestacao-kpi-card__icon svg {
  width: 26px;
  height: 26px;
  display: block;
  fill: currentColor;
}

#tab-prestacao .prestacao-kpi-card__content {
  display: grid;
  gap: 8px;
}

#tab-prestacao .prestacao-kpi-card span {
  color: #6d83a0;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-kpi-card strong {
  color: #0f2747;
  font-size: 2.1rem;
  line-height: 1.05;
  letter-spacing: -0.03em;
}

#tab-prestacao .prestacao-kpi-card small {
  color: #6f86a3;
  font-size: 0.95rem;
  line-height: 1.5;
}

#tab-prestacao .prestacao-kpi-card--wide-value strong {
  font-size: 1.15rem;
  line-height: 1.28;
}

#tab-prestacao .prestacao-kpi-card--blue {
  border-color: rgba(127, 174, 255, 0.55);
}

#tab-prestacao .prestacao-kpi-card--blue .prestacao-kpi-card__icon {
  background: rgba(59, 130, 246, 0.14);
  color: #2563eb;
}

#tab-prestacao .prestacao-kpi-card--purple {
  border-color: rgba(201, 162, 255, 0.58);
}

#tab-prestacao .prestacao-kpi-card--purple .prestacao-kpi-card__icon {
  background: rgba(168, 85, 247, 0.14);
  color: #9333ea;
}

#tab-prestacao .prestacao-kpi-card--orange {
  border-color: rgba(255, 187, 127, 0.6);
}

#tab-prestacao .prestacao-kpi-card--orange .prestacao-kpi-card__icon {
  background: rgba(249, 115, 22, 0.14);
  color: #f97316;
}

#tab-prestacao .prestacao-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

#tab-prestacao .prestacao-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

#tab-prestacao .prestacao-section-title,
#tab-prestacao .prestacao-section-note {
  margin: 0;
}

#tab-prestacao .prestacao-section-title {
  color: #0f2747;
  font-size: 1.22rem;
  line-height: 1.2;
}

#tab-prestacao .prestacao-section-note {
  color: #69819f;
  font-size: 0.95rem;
}

#tab-prestacao .prestacao-groups,
#tab-prestacao .prestacao-preview-shell {
  border-radius: 28px;
  border: 1px solid rgba(191, 210, 235, 0.7);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 249, 255, 0.94));
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.75);
  padding: 24px;
}

#tab-prestacao .prestacao-group-list {
  display: grid;
  gap: 16px;
}

#tab-prestacao .prestacao-group {
  border-radius: 24px;
  border: 1px solid rgba(191, 210, 235, 0.72);
  background: rgba(255, 255, 255, 0.92);
  overflow: hidden;
}

#tab-prestacao .prestacao-group--empty,
#tab-prestacao .prestacao-group__empty {
  padding: 18px 20px;
  color: #5f7692;
  font-size: 0.96rem;
  line-height: 1.55;
}

#tab-prestacao .prestacao-group__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  padding: 22px 24px;
  align-items: center;
}

#tab-prestacao .prestacao-group__summary {
  display: grid;
  gap: 14px;
}

#tab-prestacao .prestacao-group__pillset {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#tab-prestacao .prestacao-group__pill {
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(219, 234, 254, 0.7);
  color: #21446e;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-group__headline {
  display: grid;
  gap: 4px;
}

#tab-prestacao .prestacao-group__headline h3,
#tab-prestacao .prestacao-group__headline p {
  margin: 0;
}

#tab-prestacao .prestacao-group__headline h3 {
  color: #0f2747;
  font-size: 1.18rem;
}

#tab-prestacao .prestacao-group__headline p {
  color: #647b99;
  font-size: 0.95rem;
}

#tab-prestacao .prestacao-group__meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

#tab-prestacao .prestacao-group__meta-grid span {
  min-height: 68px;
  border-radius: 18px;
  border: 1px solid rgba(191, 210, 235, 0.6);
  background: rgba(247, 250, 255, 0.82);
  padding: 12px 14px;
  display: grid;
  gap: 6px;
  color: #21446e;
  font-size: 0.95rem;
  font-weight: 700;
}

#tab-prestacao .prestacao-group__meta-grid strong {
  color: #6a84a6;
  font-size: 0.74rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-group__actions,
#tab-prestacao .prestacao-student-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

#tab-prestacao .prestacao-group__body {
  padding: 0 24px 24px;
  border-top: 1px solid rgba(191, 210, 235, 0.7);
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.8), rgba(255, 255, 255, 0.96));
}

#tab-prestacao .prestacao-student-list {
  display: grid;
  gap: 12px;
  padding-top: 18px;
}

#tab-prestacao .prestacao-student-card {
  border-radius: 20px;
  border: 1px solid rgba(191, 210, 235, 0.72);
  background: rgba(255, 255, 255, 0.96);
  padding: 16px 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

#tab-prestacao .prestacao-student-card.is-selected,
#tab-prestacao .prestacao-saved-report-card.is-active {
  border-color: rgba(59, 130, 246, 0.55);
  box-shadow: 0 18px 34px rgba(59, 130, 246, 0.12);
}

#tab-prestacao .prestacao-student-card__main {
  display: grid;
  gap: 8px;
}

#tab-prestacao .prestacao-select-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #315174;
  font-size: 0.82rem;
  font-weight: 700;
}

#tab-prestacao .prestacao-select-toggle input {
  width: 16px;
  height: 16px;
  accent-color: #2563eb;
}

#tab-prestacao .prestacao-student-card__main strong {
  color: #102b4d;
  font-size: 1rem;
}

#tab-prestacao .prestacao-student-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#tab-prestacao .prestacao-student-card__meta span,
#tab-prestacao .prestacao-preview-meta span {
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  background: rgba(236, 244, 255, 0.95);
  color: #325376;
  font-size: 0.84rem;
  font-weight: 700;
}

#tab-prestacao .prestacao-preview-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

#tab-prestacao .prestacao-action-btn {
  min-height: 46px;
  padding: 0 18px;
  border-radius: 16px;
  border: 1px solid rgba(191, 210, 235, 0.92);
  background: rgba(255, 255, 255, 0.9);
  color: #17355b;
  font-weight: 700;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.07);
}

#tab-prestacao .prestacao-action-btn--primary {
  background: linear-gradient(135deg, rgba(219, 234, 254, 0.96), rgba(191, 219, 254, 0.86));
  border-color: rgba(96, 165, 250, 0.32);
}

#tab-prestacao .prestacao-action-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.1);
}

#tab-prestacao .prestacao-print-area {
  overflow: visible;
  height: auto;
  max-height: none;
  transform: none;
  border-radius: 0;
  padding: 18px;
  background: transparent;
  box-shadow: none;
  border: 0;
}

#tab-prestacao .prestacao-print-area.is-ready {
  display: block;
  visibility: visible;
  opacity: 1;
  height: auto;
  max-height: none;
  overflow: visible;
}

#tab-prestacao .prestacao-document {
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto;
  border-radius: 8px;
  padding: 12mm 12mm 11mm;
  display: grid;
  gap: 14px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.18);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
  break-inside: avoid;
  page-break-inside: avoid;
}

#tab-prestacao .prestacao-document--empty {
  min-height: auto;
}

#tab-prestacao .prestacao-document__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

#tab-prestacao .prestacao-document__brand {
  display: flex;
  align-items: center;
  gap: 16px;
}

#tab-prestacao .prestacao-document__logo {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.96), rgba(31, 41, 55, 0.9));
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.08em;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.18);
}

#tab-prestacao .prestacao-document__brand-copy {
  display: grid;
  gap: 4px;
}

#tab-prestacao .prestacao-document__brand-copy span,
#tab-prestacao .prestacao-document__meta-label {
  color: #62809e;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-document__brand-copy strong,
#tab-prestacao .prestacao-document__title {
  color: #0f2747;
}

#tab-prestacao .prestacao-document__eyebrow {
  color: #475569;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-document__title {
  margin: 0;
  font-size: 1.38rem;
  line-height: 1.15;
}

#tab-prestacao .prestacao-document__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding: 10px 0 2px;
  border-top: 1px solid rgba(148, 163, 184, 0.4);
  border-bottom: 1px solid rgba(148, 163, 184, 0.4);
}

#tab-prestacao .prestacao-document__hero-copy {
  display: grid;
  gap: 6px;
}

#tab-prestacao .prestacao-document__lead {
  margin: 0;
  color: #475569;
  font-size: 0.95rem;
  line-height: 1.55;
}

#tab-prestacao .prestacao-document__stamp {
  padding: 8px 14px;
  border: 1px solid rgba(15, 23, 42, 0.22);
  color: #17355b;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 999px;
  background: rgba(241, 245, 249, 0.85);
}

#tab-prestacao .prestacao-document__meta {
  display: grid;
  gap: 10px;
  justify-items: end;
  text-align: right;
}

#tab-prestacao .prestacao-document__meta strong {
  color: #17355b;
  font-size: 0.95rem;
}

#tab-prestacao .prestacao-document__section {
  display: grid;
  gap: 0;
  break-inside: avoid;
  page-break-inside: avoid;
}

#tab-prestacao .prestacao-document__section--split {
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

#tab-prestacao .prestacao-document__section-title {
  background: #0f172a;
  color: #fff;
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-document__summary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  border: 1px solid rgba(15, 23, 42, 0.18);
  border-top: 0;
  padding: 12px;
}

#tab-prestacao .prestacao-document__summary-note {
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: rgba(248, 250, 252, 0.96);
}

#tab-prestacao .prestacao-document__summary-note strong {
  color: #17355b;
  font-size: 0.92rem;
}

#tab-prestacao .prestacao-document__summary-note p {
  margin: 0;
  color: #475569;
  font-size: 0.9rem;
  line-height: 1.55;
}

#tab-prestacao .prestacao-document__table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid rgba(15, 23, 42, 0.18);
  border-top: 0;
  font-size: 0.93rem;
}

#tab-prestacao .prestacao-document__table th,
#tab-prestacao .prestacao-document__table td {
  padding: 9px 10px;
  border-top: 1px solid rgba(15, 23, 42, 0.14);
  border-left: 1px solid rgba(15, 23, 42, 0.12);
  text-align: left;
  vertical-align: top;
}

#tab-prestacao .prestacao-document__table th:first-child,
#tab-prestacao .prestacao-document__table td:first-child {
  border-left: 0;
}

#tab-prestacao .prestacao-document__table thead th {
  background: rgba(241, 245, 249, 0.95);
  color: #0f172a;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-document__table tbody th {
  width: 30%;
  color: #334155;
  background: rgba(248, 250, 252, 0.95);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-document__table--compact tbody td,
#tab-prestacao .prestacao-document__table--compact tbody th {
  font-size: 0.87rem;
}

#tab-prestacao .prestacao-document__notice {
  padding: 14px 16px;
  border: 1px dashed rgba(100, 116, 139, 0.58);
  background: rgba(248, 250, 252, 0.92);
  color: #475569;
  line-height: 1.65;
  font-size: 0.92rem;
}

#tab-prestacao .prestacao-annex {
  display: grid;
  gap: 0;
  margin-top: 28px;
  break-before: auto;
  page-break-before: auto;
}

#tab-prestacao .prestacao-annex-entry {
  display: grid;
  gap: 0;
  break-inside: avoid;
  page-break-inside: avoid;
}

#tab-prestacao .prestacao-annex-entry + .prestacao-annex-entry {
  break-before: page;
  page-break-before: always;
}

#tab-prestacao .prestacao-form-page {
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto;
  padding: 8mm 10mm 9mm;
  box-sizing: border-box;
  height: auto;
  max-height: none;
  transform: none;
  display: grid;
  gap: 5px;
  color: #111;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.14);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
  break-inside: avoid;
  page-break-inside: avoid;
  font-family: "Arial Narrow", Arial, sans-serif;
}

#tab-prestacao .prestacao-form-page--continuation {
  break-before: page;
  page-break-before: always;
}

#tab-prestacao .prestacao-oficial-page {
  position: relative;
}

#tab-prestacao .prestacao-oficial__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34mm;
  gap: 14px;
  align-items: start;
}

#tab-prestacao .prestacao-oficial__logos {
  display: grid;
  grid-template-columns: 1.05fr 1.3fr 0.85fr;
  gap: 10px;
  align-items: center;
}

#tab-prestacao .prestacao-oficial__logo-card {
  min-height: 82px;
  display: grid;
  place-items: center;
  padding: 6px 8px;
  background: #fff;
}

#tab-prestacao .prestacao-oficial__logo-card--fallback {
  border: 0;
}

#tab-prestacao .prestacao-oficial__logo-image {
  width: 100%;
  max-width: 100%;
  max-height: 68px;
  object-fit: contain;
  display: block;
}

#tab-prestacao .prestacao-oficial__logo-card--iin .prestacao-oficial__logo-image {
  max-height: 76px;
}

#tab-prestacao .prestacao-oficial__logo-copy {
  display: grid;
  justify-items: center;
  align-content: center;
  width: 100%;
  text-align: center;
  color: #111;
}

#tab-prestacao .prestacao-oficial__logo-copy--gov {
  gap: 3px;
}

#tab-prestacao .prestacao-oficial__logo-copy-top {
  font-size: 10px;
  line-height: 1.1;
}

#tab-prestacao .prestacao-oficial__logo-copy--gov strong {
  font-size: 13px;
  line-height: 1.08;
  font-weight: 700;
}

#tab-prestacao .prestacao-oficial__logo-copy-bottom {
  font-size: 9px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-oficial__logo-copy--gov em {
  color: #0b4f9c;
  font-size: 16px;
  line-height: 1;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-oficial__logo-copy--light {
  gap: 2px;
  color: #0aa8a8;
}

#tab-prestacao .prestacao-oficial__logo-light-mark {
  width: 46px;
  height: 46px;
  border: 3px solid currentColor;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 30px;
  line-height: 1;
  font-weight: 800;
}

#tab-prestacao .prestacao-oficial__logo-copy--light strong {
  font-size: 26px;
  line-height: 1;
  font-weight: 800;
}

#tab-prestacao .prestacao-oficial__photo {
  width: 100%;
  min-height: 53mm;
  border: 2px solid #111;
  display: grid;
  place-items: center;
  padding: 0;
  font-size: 13px;
  font-weight: 700;
  color: #111;
  text-transform: uppercase;
  background: #fff;
}

#tab-prestacao .prestacao-oficial__photo-frame {
  width: 100%;
  height: 100%;
  min-height: 53mm;
  display: grid;
  place-items: center;
  overflow: hidden;
}

#tab-prestacao .prestacao-oficial__photo-frame span {
  font-size: 15px;
  letter-spacing: 0.08em;
}

#tab-prestacao .prestacao-oficial__photo-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#tab-prestacao .prestacao-oficial__title-wrap {
  display: grid;
  gap: 6px;
}

#tab-prestacao .prestacao-oficial__title-wrap--compact {
  gap: 4px;
}

#tab-prestacao .prestacao-oficial__title {
  margin: 0;
  text-align: center;
  font-size: 32px;
  line-height: 1;
  letter-spacing: 0.01em;
  font-weight: 900;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-oficial__notice {
  margin: 0;
  font-size: 10.9px;
  line-height: 1.35;
  font-style: italic;
  font-weight: 700;
}

#tab-prestacao .prestacao-oficial__project {
  margin: 6px 0 2px;
  text-align: center;
  font-size: 18px;
  line-height: 1.06;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-oficial__banner-wrap {
  margin-top: 4px;
}

#tab-prestacao .prestacao-oficial__banner {
  position: relative;
  background: #000;
  color: #fff;
  text-align: center;
  padding: 6px 18px 7px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-oficial__banner::before,
#tab-prestacao .prestacao-oficial__banner::after {
  content: "";
  position: absolute;
  top: 0;
  width: 12px;
  height: 100%;
  background: #000;
}

#tab-prestacao .prestacao-oficial__banner::before {
  left: -8px;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

#tab-prestacao .prestacao-oficial__banner::after {
  right: -8px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

#tab-prestacao .prestacao-oficial__table {
  display: grid;
  gap: 0;
  border: 1px solid #1a1a1a;
  break-inside: avoid;
  page-break-inside: avoid;
}

#tab-prestacao .prestacao-oficial__row {
  display: grid;
  gap: 0;
  border-top: 1px solid #1a1a1a;
}

#tab-prestacao .prestacao-oficial__row:first-child,
#tab-prestacao .prestacao-oficial__block:first-child,
#tab-prestacao .prestacao-oficial__signature:first-child {
  border-top: 0;
}

#tab-prestacao .prestacao-oficial__row--one {
  grid-template-columns: minmax(0, 1fr);
}

#tab-prestacao .prestacao-oficial__row--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#tab-prestacao .prestacao-oficial__row--birth {
  grid-template-columns: 1.6fr 0.6fr 1.6fr;
}

#tab-prestacao .prestacao-oficial__row--docs {
  grid-template-columns: 1.3fr 0.9fr 0.4fr 1fr;
}

#tab-prestacao .prestacao-oficial__row--address {
  grid-template-columns: 2.1fr 0.4fr 0.7fr;
}

#tab-prestacao .prestacao-oficial__row--district,
#tab-prestacao .prestacao-oficial__row--school,
#tab-prestacao .prestacao-oficial__row--days {
  grid-template-columns: 1.4fr 0.75fr 1fr;
}

#tab-prestacao .prestacao-oficial__row--study {
  grid-template-columns: 1.05fr 1.8fr;
}

#tab-prestacao .prestacao-oficial__row--nucleus {
  grid-template-columns: 1.2fr 1fr;
}

#tab-prestacao .prestacao-oficial__row--guardian {
  grid-template-columns: 0.8fr 0.9fr 1fr 1.2fr;
}

#tab-prestacao .prestacao-oficial__row--social {
  grid-template-columns: 1.3fr 0.7fr;
}

#tab-prestacao .prestacao-oficial__row--health-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

#tab-prestacao .prestacao-oficial__row--parq {
  grid-template-columns: 1.78fr 0.72fr;
}

#tab-prestacao .prestacao-oficial__field,
#tab-prestacao .prestacao-oficial__block,
#tab-prestacao .prestacao-oficial__signature {
  min-height: 31px;
  padding: 5px 7px 6px;
  display: grid;
  align-content: start;
  gap: 3px;
  border-left: 1px solid #1a1a1a;
}

#tab-prestacao .prestacao-oficial__row > :first-child {
  border-left: 0;
}

#tab-prestacao .prestacao-oficial__label {
  color: #111;
  font-size: 9.6px;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-oficial__value,
#tab-prestacao .prestacao-oficial__paragraph,
#tab-prestacao .prestacao-oficial__inline-note {
  color: #111;
  font-size: 12.6px;
  line-height: 1.18;
  font-weight: 600;
}

#tab-prestacao .prestacao-oficial__value--question {
  font-size: 11.6px;
  line-height: 1.26;
}

#tab-prestacao .prestacao-oficial__field--inline {
  min-height: 27px;
}

#tab-prestacao .prestacao-oficial__options {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

#tab-prestacao .prestacao-oficial__options--dense {
  gap: 6px 12px;
}

#tab-prestacao .prestacao-oficial__options--stack {
  gap: 5px 14px;
}

#tab-prestacao .prestacao-oficial__option {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  line-height: 1.12;
  color: #111;
}

#tab-prestacao .prestacao-oficial__box {
  width: 13px;
  height: 13px;
  border: 1px solid #111;
  display: inline-grid;
  place-items: center;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  flex: 0 0 auto;
}

#tab-prestacao .prestacao-oficial__inline-note {
  padding-top: 1px;
  font-size: 11.2px;
  line-height: 1.28;
}

#tab-prestacao .prestacao-oficial__inline-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  font-size: 11.8px;
  line-height: 1.25;
}

#tab-prestacao .prestacao-oficial__inline-grid strong {
  font-size: 12.6px;
}

#tab-prestacao .prestacao-oficial__block {
  border-top: 1px solid #1a1a1a;
  border-left: 0;
  min-height: 47px;
}

#tab-prestacao .prestacao-oficial__block--short {
  min-height: 44px;
}

#tab-prestacao .prestacao-oficial__block--medium {
  min-height: 76px;
}

#tab-prestacao .prestacao-oficial__paragraph {
  margin: 0;
  font-size: 11.2px;
  line-height: 1.34;
  font-weight: 500;
}

#tab-prestacao .prestacao-oficial__signature {
  border-top: 1px solid #1a1a1a;
  border-left: 0;
  gap: 10px;
  padding-top: 11px;
}

#tab-prestacao .prestacao-oficial__signature span {
  font-size: 9.4px;
  font-weight: 700;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-oficial__signature strong {
  font-size: 13px;
  color: #111;
}

#tab-prestacao .prestacao-oficial__footer-note {
  padding: 0 7px 2px;
  font-size: 9.2px;
  line-height: 1.24;
  color: #404040;
}

@media (max-width: 1180px) {
  #tab-prestacao .prestacao-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #tab-prestacao .prestacao-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #tab-prestacao .prestacao-group__meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #tab-prestacao .prestacao-document__section--split,
  #tab-prestacao .prestacao-document__summary-grid {
    grid-template-columns: 1fr;
  }

  #tab-prestacao .prestacao-oficial__header,
  #tab-prestacao .prestacao-oficial__logos,
  #tab-prestacao .prestacao-oficial__row--two,
  #tab-prestacao .prestacao-oficial__row--birth,
  #tab-prestacao .prestacao-oficial__row--docs,
  #tab-prestacao .prestacao-oficial__row--address,
  #tab-prestacao .prestacao-oficial__row--district,
  #tab-prestacao .prestacao-oficial__row--study,
  #tab-prestacao .prestacao-oficial__row--school,
  #tab-prestacao .prestacao-oficial__row--nucleus,
  #tab-prestacao .prestacao-oficial__row--days,
  #tab-prestacao .prestacao-oficial__row--guardian,
  #tab-prestacao .prestacao-oficial__row--social,
  #tab-prestacao .prestacao-oficial__row--health-four,
  #tab-prestacao .prestacao-oficial__row--parq,
  #tab-prestacao .prestacao-oficial__inline-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  #tab-prestacao .prestacao-header,
  #tab-prestacao .prestacao-document__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  #tab-prestacao .prestacao-kpis {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  #tab-prestacao .prestacao-kpi-card {
    min-height: auto;
    padding: 18px;
  }

  #tab-prestacao .prestacao-kpi-card__top {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
  }

  #tab-prestacao .prestacao-kpi-card__icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
  }

  #tab-prestacao .prestacao-kpi-card strong {
    font-size: 1.8rem;
  }

  #tab-prestacao .prestacao-kpi-card--wide-value strong {
    font-size: 1.05rem;
  }

  #tab-prestacao .prestacao-form-page {
    width: 100%;
    min-height: auto;
    padding: 18px;
  }

  #tab-prestacao .prestacao-oficial__header,
  #tab-prestacao .prestacao-oficial__logos {
    grid-template-columns: minmax(0, 1fr);
  }

  #tab-prestacao .prestacao-oficial__photo {
    min-height: 100px;
  }

  #tab-prestacao .prestacao-oficial__row--two,
  #tab-prestacao .prestacao-oficial__row--birth,
  #tab-prestacao .prestacao-oficial__row--docs,
  #tab-prestacao .prestacao-oficial__row--address,
  #tab-prestacao .prestacao-oficial__row--district,
  #tab-prestacao .prestacao-oficial__row--study,
  #tab-prestacao .prestacao-oficial__row--school,
  #tab-prestacao .prestacao-oficial__row--nucleus,
  #tab-prestacao .prestacao-oficial__row--days,
  #tab-prestacao .prestacao-oficial__row--guardian,
  #tab-prestacao .prestacao-oficial__row--social,
  #tab-prestacao .prestacao-oficial__row--health-four,
  #tab-prestacao .prestacao-oficial__row--parq,
  #tab-prestacao .prestacao-oficial__inline-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #tab-prestacao .prestacao-document__hero,
  #tab-prestacao .prestacao-document__section--split,
  #tab-prestacao .prestacao-document__summary-grid,
  #tab-prestacao .prestacao-filters {
    grid-template-columns: minmax(0, 1fr);
  }

  #tab-prestacao .prestacao-group__header,
  #tab-prestacao .prestacao-student-card,
  #tab-prestacao .prestacao-saved-report-card {
    grid-template-columns: minmax(0, 1fr);
  }

  #tab-prestacao .prestacao-group__meta-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #tab-prestacao .prestacao-group__actions,
  #tab-prestacao .prestacao-student-card__actions,
  #tab-prestacao .prestacao-section-head {
    justify-content: flex-start;
  }

  #tab-prestacao .prestacao-filters,
  #tab-prestacao .prestacao-actions,
  #tab-prestacao .prestacao-print-area,
  #tab-prestacao .prestacao-document,
  #tab-prestacao .prestacao-groups,
  #tab-prestacao .prestacao-preview-shell {
    padding: 20px;
  }

  #tab-prestacao .prestacao-document__meta {
    justify-items: start;
    text-align: left;
  }
}

@media print {
  @page {
    size: A4 portrait;
    margin: 0;
  }

  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }

  body * {
    visibility: hidden !important;
  }

  #tab-prestacao .prestacao-print-area,
  #tab-prestacao .prestacao-print-area * {
    visibility: visible !important;
  }

  #tab-prestacao .prestacao-print-area,
  #tab-prestacao .prestacao-print-area.is-ready {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 210mm !important;
    min-width: 210mm !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
    transform: none !important;
    contain: none !important;
    display: block !important;
    z-index: 999999 !important;
  }

  #tab-prestacao .prestacao-annex,
  #tab-prestacao .prestacao-annex-entry,
  #tab-prestacao .prestacao-preview-shell,
  #tab-prestacao #prestacaoContasRoot,
  #tab-prestacao .prestacao-page {
    visibility: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    transform: none !important;
    contain: none !important;
    gap: 0 !important;
  }

  #tab-prestacao .prestacao-annex {
    margin-top: 0 !important;
    break-before: auto !important;
    page-break-before: auto !important;
  }

  #tab-prestacao .prestacao-annex-entry + .prestacao-annex-entry {
    break-before: page !important;
    page-break-before: always !important;
  }

  #tab-prestacao .prestacao-form-page {
    width: 210mm !important;
    min-width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    margin: 0 !important;
    padding: 8mm 10mm 9mm !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    border-radius: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    opacity: 1 !important;
    transform: none !important;
    contain: none !important;
    display: grid !important;
    align-content: start !important;
    gap: 5px !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  #tab-prestacao .prestacao-annex-entry > .prestacao-form-page:first-child {
    break-after: page !important;
    page-break-after: always !important;
  }

  #tab-prestacao .prestacao-annex-entry > .prestacao-form-page--continuation {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  #tab-prestacao .prestacao-annex-entry:last-child > .prestacao-form-page:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  #tab-prestacao .prestacao-oficial__header,
  #tab-prestacao .prestacao-oficial__title-wrap,
  #tab-prestacao .prestacao-oficial__banner-wrap,
  #tab-prestacao .prestacao-oficial__table,
  #tab-prestacao .prestacao-oficial__row,
  #tab-prestacao .prestacao-oficial__field,
  #tab-prestacao .prestacao-oficial__block,
  #tab-prestacao .prestacao-oficial__signature,
  #tab-prestacao .prestacao-oficial__options,
  #tab-prestacao .prestacao-oficial__inline-grid {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  #tab-prestacao .prestacao-oficial__header {
    grid-template-columns: minmax(0, 1fr) 34mm !important;
    gap: 14px !important;
  }

  #tab-prestacao .prestacao-oficial__logos {
    grid-template-columns: 1.05fr 1.3fr 0.85fr !important;
    gap: 10px !important;
    align-items: center !important;
  }

  #tab-prestacao .prestacao-oficial__logo-card {
    min-height: 82px !important;
    padding: 6px 8px !important;
  }

  #tab-prestacao .prestacao-oficial__logo-image {
    max-height: 68px !important;
  }

  #tab-prestacao .prestacao-oficial__logo-card--iin .prestacao-oficial__logo-image {
    max-height: 76px !important;
  }

  #tab-prestacao .prestacao-oficial__logo-copy-top {
    font-size: 10px !important;
  }

  #tab-prestacao .prestacao-oficial__logo-copy--gov strong {
    font-size: 13px !important;
  }

  #tab-prestacao .prestacao-oficial__logo-copy-bottom {
    font-size: 9px !important;
  }

  #tab-prestacao .prestacao-oficial__logo-copy--gov em {
    font-size: 16px !important;
  }

  #tab-prestacao .prestacao-oficial__logo-light-mark {
    width: 46px !important;
    height: 46px !important;
    font-size: 30px !important;
  }

  #tab-prestacao .prestacao-oficial__logo-copy--light strong {
    font-size: 26px !important;
  }

  #tab-prestacao .prestacao-oficial__photo {
    min-height: 53mm !important;
    padding: 0 !important;
  }

  #tab-prestacao .prestacao-oficial__photo-frame {
    min-height: 53mm !important;
  }

  #tab-prestacao .prestacao-oficial__title {
    font-size: 32px !important;
    line-height: 1 !important;
  }

  #tab-prestacao .prestacao-oficial__notice {
    font-size: 10.9px !important;
    line-height: 1.35 !important;
  }

  #tab-prestacao .prestacao-oficial__project {
    margin-top: 6px !important;
    font-size: 18px !important;
    line-height: 1.06 !important;
  }

  #tab-prestacao .prestacao-oficial__banner {
    padding: 6px 18px 7px !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }

  #tab-prestacao .prestacao-oficial__field,
  #tab-prestacao .prestacao-oficial__block,
  #tab-prestacao .prestacao-oficial__signature {
    min-height: 31px !important;
    padding: 5px 7px 6px !important;
    gap: 3px !important;
  }

  #tab-prestacao .prestacao-oficial__block {
    min-height: 47px !important;
  }

  #tab-prestacao .prestacao-oficial__block--short {
    min-height: 44px !important;
  }

  #tab-prestacao .prestacao-oficial__block--medium {
    min-height: 76px !important;
  }

  #tab-prestacao .prestacao-oficial__label {
    font-size: 9.6px !important;
    line-height: 1.12 !important;
  }

  #tab-prestacao .prestacao-oficial__value,
  #tab-prestacao .prestacao-oficial__paragraph,
  #tab-prestacao .prestacao-oficial__inline-note {
    font-size: 12.6px !important;
    line-height: 1.18 !important;
    font-weight: 600 !important;
  }

  #tab-prestacao .prestacao-oficial__value--question {
    font-size: 11.6px !important;
    line-height: 1.26 !important;
  }

  #tab-prestacao .prestacao-oficial__options {
    gap: 10px !important;
  }

  #tab-prestacao .prestacao-oficial__option {
    gap: 5px !important;
    font-size: 11.5px !important;
    line-height: 1.12 !important;
  }

  #tab-prestacao .prestacao-oficial__box {
    width: 13px !important;
    height: 13px !important;
    font-size: 9px !important;
  }

  #tab-prestacao .prestacao-oficial__inline-note {
    padding-top: 1px !important;
    font-size: 11.2px !important;
  }

  #tab-prestacao .prestacao-oficial__inline-grid {
    gap: 6px !important;
    font-size: 11.8px !important;
    line-height: 1.25 !important;
  }

  #tab-prestacao .prestacao-oficial__inline-grid strong {
    font-size: 12.6px !important;
  }

  #tab-prestacao .prestacao-oficial__signature {
    gap: 10px !important;
    padding-top: 11px !important;
  }

  #tab-prestacao .prestacao-oficial__signature span,
  #tab-prestacao .prestacao-oficial__footer-note {
    font-size: 9.2px !important;
    line-height: 1.24 !important;
  }

  #tab-prestacao .prestacao-oficial__signature strong {
    font-size: 13px !important;
    line-height: 1 !important;
  }

  #tab-prestacao .prestacao-document__hero,
  #tab-prestacao .prestacao-document__section,
  #tab-prestacao .prestacao-document__summary-grid {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

#tab-prestacao .prestacao-saved-report-list {
  display: grid;
  gap: 14px;
}

#tab-prestacao .prestacao-saved-report-card {
  border-radius: 20px;
  border: 1px solid rgba(191, 210, 235, 0.72);
  background: rgba(255, 255, 255, 0.96);
  padding: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

#tab-prestacao .prestacao-saved-report-card__main {
  display: grid;
  gap: 8px;
}

#tab-prestacao .prestacao-saved-report-card__main strong {
  color: #102b4d;
  font-size: 1rem;
}

#tab-prestacao .prestacao-form-page.print-page {
  height: 297mm;
  min-height: 297mm;
  max-height: 297mm;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  gap: 3mm;
}

#tab-prestacao .prestacao-oficial__page-body {
  display: flex;
  flex-direction: column;
  gap: 2.2mm;
  flex: 1 1 auto;
  min-height: 0;
}

#tab-prestacao .prestacao-oficial__header--compact {
  grid-template-columns: minmax(0, 1fr) 26mm;
  gap: 10px;
}

#tab-prestacao .prestacao-oficial__header--no-photo .prestacao-oficial__photo {
  display: none;
}

#tab-prestacao .prestacao-oficial__header-meta {
  min-height: 28mm;
  border: 1px solid #111;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 2px;
  padding: 4px;
  text-align: center;
  text-transform: uppercase;
}

#tab-prestacao .prestacao-oficial__header-meta span {
  font-size: 9px;
  font-weight: 700;
  line-height: 1.15;
}

#tab-prestacao .prestacao-oficial__header-meta strong {
  font-size: 12px;
  line-height: 1.1;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__title-wrap {
  gap: 4px;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__title {
  font-size: 26px;
  line-height: 1;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__notice {
  font-size: 9.2px;
  line-height: 1.22;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__project {
  margin: 2px 0 0;
  font-size: 14px;
  line-height: 1.06;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__banner-wrap {
  margin-top: 0;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__banner {
  padding: 4px 14px 5px;
  font-size: 10px;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__table,
#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__row,
#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__field,
#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__block,
#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__signature,
#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__footer-note {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__field,
#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__block,
#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__signature {
  min-height: 24px;
  padding: 3px 5px 4px;
  gap: 2px;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__block {
  min-height: 34px;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__block--short {
  min-height: 30px;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__block--medium {
  min-height: 54px;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__label {
  font-size: 8.1px;
  line-height: 1.15;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__value,
#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__paragraph,
#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__inline-note,
#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__inline-grid,
#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__option {
  font-size: 10px;
  line-height: 1.24;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__value--question {
  font-size: 9.1px;
  line-height: 1.22;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__options {
  gap: 4px 8px;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__inline-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__box {
  width: 10px;
  height: 10px;
  font-size: 7px;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__row--guardian {
  grid-template-columns: 1.05fr 0.9fr 1fr 1.15fr;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__row--parq {
  grid-template-columns: 1.64fr 0.56fr;
}

#tab-prestacao .prestacao-form-page.print-page.page-2 .prestacao-oficial__row--health-four {
  grid-template-columns: 0.75fr 0.7fr 0.7fr 0.9fr;
}

#tab-prestacao .prestacao-form-page.print-page.page-2 .prestacao-oficial__signature--locked,
#tab-prestacao .prestacao-form-page.print-page.page-2 .prestacao-oficial__table--anamnese,
#tab-prestacao .prestacao-form-page.print-page.page-2 .prestacao-oficial__table--authorization {
  break-inside: avoid;
  page-break-inside: avoid;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__footer-note--institutional {
  display: grid;
  gap: 2px;
  padding: 4px 5px 5px;
  border-top: 1px solid #1a1a1a;
  font-size: 8.4px;
  line-height: 1.2;
}

#tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__footer-note--institutional strong {
  font-size: 8.8px;
  line-height: 1.15;
}

@media print {
  #tab-prestacao .prestacao-print-area,
  #tab-prestacao .prestacao-print-area.is-ready {
    position: static !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    margin: 0 !important;
    transform: none !important;
    zoom: 1 !important;
  }

  #tab-prestacao .prestacao-annex,
  #tab-prestacao .prestacao-annex-entry {
    display: block !important;
  }

  #tab-prestacao .prestacao-annex-entry {
    margin: 0 !important;
    padding: 0 !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  #tab-prestacao .prestacao-annex-entry + .prestacao-annex-entry {
    break-before: page !important;
    page-break-before: always !important;
  }

  #tab-prestacao .prestacao-form-page.print-page {
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    margin: 0 !important;
    padding: 7mm 8mm 7mm !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    transform: none !important;
    zoom: 1 !important;
    box-shadow: none !important;
    border: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2.5mm !important;
    break-after: page !important;
    page-break-after: always !important;
    break-before: auto !important;
    page-break-before: auto !important;
  }

  #tab-prestacao .prestacao-form-page.print-page.page-2 {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  #tab-prestacao .prestacao-annex-entry:not(:last-child) .prestacao-form-page.print-page.page-2 {
    break-after: page !important;
    page-break-after: always !important;
  }

  #tab-prestacao .prestacao-form-page.print-page * {
    transform: none !important;
    letter-spacing: normal !important;
  }

  #tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__table,
  #tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__row,
  #tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__field,
  #tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__block,
  #tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__paragraph,
  #tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__value,
  #tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__option,
  #tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__footer-note,
  #tab-prestacao .prestacao-form-page.print-page .prestacao-oficial__signature {
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    white-space: normal !important;
  }
}
.historico-logs {
  display: grid;
  gap: 18px;
}

.historico-logs__panel {
  overflow: hidden;
}

.historico-logs__intro {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.historico-logs__note {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.historico-logs__hero-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.historico-logs__hero-actions .ghost[disabled] {
  opacity: 0.65;
  cursor: not-allowed;
}

.historico-logs__toolbar {
  margin-top: 16px;
  gap: 10px;
  flex-wrap: wrap;
}

.historico-logs__section-copy {
  margin: 0 0 14px;
  color: var(--muted);
}

.historico-logs__cards {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.historico-logs__card {
  display: grid;
  gap: 8px;
  min-height: 132px;
  align-content: start;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, filter 0.18s ease;
  background:
    radial-gradient(circle at top right, rgba(194, 39, 57, 0.08), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 247, 251, 0.98));
}

.historico-logs__card--filter {
  cursor: pointer;
}

.historico-logs__card--filter:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.14) !important;
  filter: saturate(1.04);
}

.historico-logs__card--filter.is-active {
  transform: translateY(-2px);
  box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.09), 0 22px 48px rgba(15, 23, 42, 0.16) !important;
}

.historico-logs__card-label {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.historico-logs__card-value {
  font-size: clamp(1.9rem, 2.2vw, 2.5rem);
  line-height: 1;
  color: var(--text);
}

.historico-logs__alerts {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.historico-logs__alert-card {
  border-radius: 18px;
  padding: 16px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 247, 251, 0.96));
}

.historico-logs__alert-card[data-tone="danger"] {
  border-color: rgba(179, 29, 47, 0.18);
  background: linear-gradient(180deg, rgba(255, 245, 246, 0.98), rgba(255, 250, 250, 0.98));
}

.historico-logs__alert-card[data-tone="warn"] {
  border-color: rgba(210, 138, 0, 0.18);
  background: linear-gradient(180deg, rgba(255, 249, 238, 0.98), rgba(255, 252, 245, 0.98));
}

/* Prestação de Contas: ficha oficial A4 final */
#tab-prestacao .prestacao-annex-entry.ficha-sheet {
  display: block;
  break-inside: auto;
  page-break-inside: auto;
}

#tab-prestacao .ficha-page {
  width: 210mm;
  height: 297mm;
  min-height: 297mm;
  max-height: 297mm;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 6.5mm 7.5mm 6.5mm;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 2.2mm;
  background: #fff;
  position: relative;
}

#tab-prestacao .ficha-page.page-1 {
  break-after: page;
  page-break-after: always;
}

#tab-prestacao .ficha-page.page-2 {
  break-after: auto;
  page-break-after: auto;
}

#tab-prestacao .prestacao-annex-entry.ficha-sheet:not(:last-child) .ficha-page.page-2 {
  break-after: page;
  page-break-after: always;
}

#tab-prestacao .prestacao-annex-entry.ficha-sheet:last-child .ficha-page.page-2 {
  break-after: auto;
  page-break-after: auto;
}

#tab-prestacao .ficha-page .prestacao-oficial__page-body {
  display: flex;
  flex-direction: column;
  gap: 1.8mm;
  flex: 1 1 auto;
  min-height: 0;
}

#tab-prestacao .ficha-page .prestacao-oficial__header,
#tab-prestacao .ficha-page .prestacao-oficial__table,
#tab-prestacao .ficha-page .prestacao-oficial__row,
#tab-prestacao .ficha-page .prestacao-oficial__field,
#tab-prestacao .ficha-page .prestacao-oficial__block,
#tab-prestacao .ficha-page .prestacao-oficial__signature,
#tab-prestacao .ficha-page .prestacao-oficial__footer-note {
  break-inside: auto;
  page-break-inside: auto;
  min-width: 0;
  max-width: 100%;
}

#tab-prestacao .ficha-page .prestacao-oficial__header {
  grid-template-columns: minmax(0, 1fr) 31mm;
  gap: 10px;
}

#tab-prestacao .ficha-page .prestacao-oficial__header--compact {
  grid-template-columns: minmax(0, 1fr) 24mm;
  gap: 8px;
}

#tab-prestacao .ficha-page .prestacao-oficial__photo,
#tab-prestacao .ficha-page .prestacao-oficial__photo-frame {
  min-height: 44mm;
}

#tab-prestacao .ficha-page .prestacao-oficial__logo-card {
  min-height: 62px;
  padding: 4px 6px;
}

#tab-prestacao .ficha-page .prestacao-oficial__logo-image {
  max-height: 50px;
}

#tab-prestacao .ficha-page .prestacao-oficial__logo-card--iin .prestacao-oficial__logo-image {
  max-height: 58px;
}

#tab-prestacao .ficha-page .prestacao-oficial__title-wrap {
  gap: 3px;
}

#tab-prestacao .ficha-page .prestacao-oficial__title {
  font-size: 22px;
  line-height: 1;
}

#tab-prestacao .ficha-page .prestacao-oficial__notice {
  font-size: 8.3px;
  line-height: 1.2;
}

#tab-prestacao .ficha-page .prestacao-oficial__project {
  margin: 1px 0 0;
  font-size: 12px;
  line-height: 1.05;
}

#tab-prestacao .ficha-page .prestacao-oficial__banner-wrap {
  margin-top: 0;
}

#tab-prestacao .ficha-page .prestacao-oficial__banner {
  padding: 3px 11px 4px;
  font-size: 9px;
  line-height: 1;
}

#tab-prestacao .ficha-page .prestacao-oficial__banner::before,
#tab-prestacao .ficha-page .prestacao-oficial__banner::after {
  width: 8px;
}

#tab-prestacao .ficha-page .prestacao-oficial__banner::before {
  left: -5px;
}

#tab-prestacao .ficha-page .prestacao-oficial__banner::after {
  right: -5px;
}

#tab-prestacao .ficha-page .prestacao-oficial__field,
#tab-prestacao .ficha-page .prestacao-oficial__block,
#tab-prestacao .ficha-page .prestacao-oficial__signature {
  min-height: 20px;
  padding: 2.5px 4px 3px;
  gap: 1.5px;
  align-content: start;
  overflow: hidden;
}

#tab-prestacao .ficha-page .prestacao-oficial__block {
  min-height: 26px;
}

#tab-prestacao .ficha-page .prestacao-oficial__block--short {
  min-height: 24px;
}

#tab-prestacao .ficha-page .prestacao-oficial__block--medium {
  min-height: 42px;
}

#tab-prestacao .ficha-page .prestacao-oficial__label {
  font-size: 7.3px;
  line-height: 1.12;
}

#tab-prestacao .ficha-page .prestacao-oficial__value,
#tab-prestacao .ficha-page .prestacao-oficial__paragraph,
#tab-prestacao .ficha-page .prestacao-oficial__inline-note,
#tab-prestacao .ficha-page .prestacao-oficial__inline-grid,
#tab-prestacao .ficha-page .prestacao-oficial__option,
#tab-prestacao .ficha-page .prestacao-oficial__footer-note,
#tab-prestacao .ficha-page .prestacao-oficial__header-meta,
#tab-prestacao .ficha-page .prestacao-oficial__signature span {
  font-size: 8.5px;
  line-height: 1.18;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

#tab-prestacao .ficha-page .prestacao-oficial__value--question {
  font-size: 8px;
  line-height: 1.16;
}

#tab-prestacao .ficha-page .prestacao-oficial__option {
  gap: 4px;
}

#tab-prestacao .ficha-page .prestacao-oficial__options {
  gap: 3px 7px;
}

#tab-prestacao .ficha-page .prestacao-oficial__options--dense {
  gap: 3px 6px;
}

#tab-prestacao .ficha-page .prestacao-oficial__options--stack {
  gap: 2px 8px;
}

#tab-prestacao .ficha-page .prestacao-oficial__box {
  width: 9px;
  height: 9px;
  font-size: 6px;
}

#tab-prestacao .ficha-page .prestacao-oficial__inline-grid {
  gap: 3px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

#tab-prestacao .ficha-page .prestacao-oficial__inline-grid strong,
#tab-prestacao .ficha-page .prestacao-oficial__signature strong {
  font-size: 9px;
  line-height: 1.12;
}

#tab-prestacao .ficha-page .prestacao-oficial__row--birth {
  grid-template-columns: 1.3fr 0.55fr 1.15fr;
}

#tab-prestacao .ficha-page .prestacao-oficial__row--docs {
  grid-template-columns: 1.05fr 0.85fr 0.38fr 0.95fr;
}

#tab-prestacao .ficha-page .prestacao-oficial__row--address {
  grid-template-columns: 1.85fr 0.38fr 0.65fr;
}

#tab-prestacao .ficha-page .prestacao-oficial__row--district,
#tab-prestacao .ficha-page .prestacao-oficial__row--school,
#tab-prestacao .ficha-page .prestacao-oficial__row--days {
  grid-template-columns: 1.2fr 0.62fr 0.9fr;
}

#tab-prestacao .ficha-page .prestacao-oficial__row--study {
  grid-template-columns: 0.95fr 1.45fr;
}

#tab-prestacao .ficha-page .prestacao-oficial__row--guardian {
  grid-template-columns: 0.88fr 0.88fr 0.96fr 1.08fr;
}

#tab-prestacao .ficha-page .prestacao-oficial__row--social {
  grid-template-columns: 1.08fr 0.62fr;
}

#tab-prestacao .ficha-page .prestacao-oficial__row--parq {
  grid-template-columns: 1.62fr 0.56fr;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__row--health-four {
  grid-template-columns: 0.72fr 0.62fr 0.62fr 0.86fr;
}

#tab-prestacao .ficha-page .prestacao-oficial__signature {
  gap: 6px;
  padding-top: 6px;
}

#tab-prestacao .ficha-page .prestacao-oficial__footer-note--institutional {
  display: grid;
  gap: 1px;
  padding: 3px 4px 4px;
  border-top: 1px solid #1a1a1a;
}

#tab-prestacao .ficha-page .prestacao-oficial__footer-note--institutional strong {
  font-size: 8px;
  line-height: 1.14;
}

@media print {
  #tab-prestacao .prestacao-print-area,
  #tab-prestacao .prestacao-print-area.is-ready {
    position: static !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    zoom: 1 !important;
    contain: none !important;
    display: block !important;
  }

  #tab-prestacao .prestacao-annex,
  #tab-prestacao .prestacao-annex-entry.ficha-sheet {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  #tab-prestacao .prestacao-annex-entry.ficha-sheet + .prestacao-annex-entry.ficha-sheet {
    break-before: page !important;
    page-break-before: always !important;
  }

  #tab-prestacao .ficha-page {
    width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    margin: 0 !important;
    padding: 6.5mm 7.5mm 6.5mm !important;
    border: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2.2mm !important;
    transform: none !important;
    zoom: 1 !important;
    position: relative !important;
  }

  #tab-prestacao .ficha-page,
  #tab-prestacao .ficha-page * {
    letter-spacing: normal !important;
    transform: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
}

/* Prestação de Contas: fechamento de paginação final */
#tab-prestacao .ficha-page.page-2 {
  padding: 5.2mm 6.2mm 5mm;
  gap: 1.4mm;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__page-body {
  gap: 1.15mm;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__header {
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__logos {
  grid-template-columns: 1fr 1.12fr 0.76fr;
  gap: 7px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__logo-card {
  min-height: 42px;
  padding: 2px 4px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__logo-image {
  max-height: 34px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__logo-card--iin .prestacao-oficial__logo-image {
  max-height: 40px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__title-wrap,
#tab-prestacao .ficha-page.page-2 .prestacao-oficial__title-wrap--compact {
  gap: 2px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__title {
  font-size: 17px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__project {
  font-size: 9.8px;
  margin: 0;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__banner {
  padding: 2px 9px 3px;
  font-size: 7.8px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__field,
#tab-prestacao .ficha-page.page-2 .prestacao-oficial__block,
#tab-prestacao .ficha-page.page-2 .prestacao-oficial__signature {
  min-height: 16px;
  padding: 2px 3px 2px;
  gap: 1px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__block {
  min-height: 21px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__block--short {
  min-height: 18px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__block--medium {
  min-height: 31px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__label {
  font-size: 6.6px;
  line-height: 1.08;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__value,
#tab-prestacao .ficha-page.page-2 .prestacao-oficial__paragraph,
#tab-prestacao .ficha-page.page-2 .prestacao-oficial__inline-note,
#tab-prestacao .ficha-page.page-2 .prestacao-oficial__inline-grid,
#tab-prestacao .ficha-page.page-2 .prestacao-oficial__option,
#tab-prestacao .ficha-page.page-2 .prestacao-oficial__footer-note,
#tab-prestacao .ficha-page.page-2 .prestacao-oficial__signature span {
  font-size: 7.5px;
  line-height: 1.08;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__value--question {
  font-size: 7px;
  line-height: 1.08;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__options {
  gap: 2px 5px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__option {
  gap: 3px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__box {
  width: 8px;
  height: 8px;
  font-size: 5px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__row--health-four {
  grid-template-columns: 0.7fr 0.58fr 0.58fr 0.84fr;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__row--parq {
  grid-template-columns: 1.56fr 0.5fr;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__row--guardian {
  grid-template-columns: 0.98fr 0.78fr 0.82fr 1fr;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__signature {
  gap: 4px;
  padding-top: 4px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__signature strong,
#tab-prestacao .ficha-page.page-2 .prestacao-oficial__inline-grid strong {
  font-size: 7.8px;
  line-height: 1.05;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__footer-note--institutional {
  gap: 1px;
  padding: 2px 3px 3px;
}

#tab-prestacao .ficha-page.page-2 .prestacao-oficial__footer-note--institutional strong {
  font-size: 7.2px;
}

@media print {
  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }

  body {
    display: block !important;
  }

  body > *:not(#tab-prestacao) {
    display: none !important;
  }

  #tab-prestacao {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  #tab-prestacao > :not(#prestacaoContasRoot) {
    display: none !important;
  }

  #tab-prestacao #prestacaoContasRoot {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  #tab-prestacao #prestacaoContasRoot > :not(.prestacao-preview-shell) {
    display: none !important;
  }

  #tab-prestacao .prestacao-preview-shell {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  #tab-prestacao .prestacao-preview-shell > :not(.prestacao-print-area) {
    display: none !important;
  }

  #tab-prestacao .prestacao-print-area,
  #tab-prestacao .prestacao-print-area.is-ready {
    display: block !important;
    position: static !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
    border: 0 !important;
    box-shadow: none !important;
    contain: none !important;
  }

  #tab-prestacao .prestacao-annex,
  #tab-prestacao .prestacao-annex-entry.ficha-sheet {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: auto !important;
    page-break-after: auto !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  #tab-prestacao .prestacao-print-area .prestacao-annex-entry > :not(.ficha-page) {
    display: none !important;
  }

  #tab-prestacao .prestacao-form-page {
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: auto !important;
    page-break-after: auto !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  #tab-prestacao .prestacao-form-page--continuation {
    break-before: auto !important;
    page-break-before: auto !important;
  }

  #tab-prestacao .ficha-page {
    display: flex !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    margin: 0 !important;
    padding: 6.2mm 7mm 6mm !important;
    box-sizing: border-box !important;
    background: #fff !important;
    overflow: hidden !important;
    position: relative !important;
    flex-direction: column !important;
    gap: 1.8mm !important;
  }

  #tab-prestacao .ficha-page.page-1 {
    break-after: page !important;
    page-break-after: always !important;
  }

  #tab-prestacao .ficha-page.page-2 {
    break-after: auto !important;
    page-break-after: auto !important;
    padding: 4.8mm 5.8mm 4.8mm !important;
    gap: 1mm !important;
  }

  #tab-prestacao .prestacao-annex-entry.ficha-sheet:not(:last-child) .ficha-page.page-2 {
    break-after: page !important;
    page-break-after: always !important;
  }

  #tab-prestacao .prestacao-annex-entry.ficha-sheet:last-child .ficha-page.page-2 {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__page-body {
    gap: 0.9mm !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__header {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 3px !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__logos {
    grid-template-columns: 1fr 1.08fr 0.72fr !important;
    gap: 6px !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__logo-card {
    min-height: 36px !important;
    padding: 1px 3px !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__logo-image {
    max-height: 30px !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__logo-card--iin .prestacao-oficial__logo-image {
    max-height: 34px !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__title {
    font-size: 15px !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__project {
    font-size: 8.8px !important;
    margin: 0 !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__banner {
    padding: 2px 8px 2px !important;
    font-size: 7.1px !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__field,
  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__block,
  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__signature {
    min-height: 14px !important;
    padding: 1.5px 2.5px !important;
    gap: 0.5px !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__block {
    min-height: 17px !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__block--short {
    min-height: 16px !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__block--medium {
    min-height: 25px !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__label {
    font-size: 6.1px !important;
    line-height: 1.02 !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__value,
  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__paragraph,
  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__inline-note,
  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__inline-grid,
  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__option,
  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__footer-note,
  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__signature span {
    font-size: 6.8px !important;
    line-height: 1.03 !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__value--question {
    font-size: 6.6px !important;
    line-height: 1.03 !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__options {
    gap: 1px 4px !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__box {
    width: 7px !important;
    height: 7px !important;
    font-size: 4.5px !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__row--health-four {
    grid-template-columns: 0.68fr 0.56fr 0.56fr 0.8fr !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__row--parq {
    grid-template-columns: 1.5fr 0.48fr !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__row--guardian {
    grid-template-columns: 0.94fr 0.74fr 0.78fr 0.96fr !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__signature {
    padding-top: 2px !important;
    gap: 2px !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__signature strong,
  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__inline-grid strong {
    font-size: 7px !important;
    line-height: 1 !important;
  }

  #tab-prestacao .ficha-page.page-2 .prestacao-oficial__footer-note--institutional {
    padding: 2px !important;
    gap: 0 !important;
  }
}

.historico-logs__alert-card p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 0.92rem;
}

/* Prestação de Contas: template isolado de impressão */
#tab-prestacao .iin-print-root {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
}

#tab-prestacao .iin-print-record {
  display: block;
  margin: 0;
  padding: 0;
}

#tab-prestacao .iin-print-sheet {
  width: 210mm;
  height: 297mm;
  min-height: 297mm;
  max-height: 297mm;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 6.2mm 7mm 6mm;
  background: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 1.8mm;
  position: relative;
}

#tab-prestacao .iin-print-sheet.page-1 {
  break-after: page;
  page-break-after: always;
}

#tab-prestacao .iin-print-sheet.page-2 {
  break-after: auto;
  page-break-after: auto;
}

#tab-prestacao .iin-print-record:not(:last-child) .iin-print-sheet.page-2 {
  break-after: page;
  page-break-after: always;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__page-body {
  display: flex;
  flex-direction: column;
  gap: 1.4mm;
  flex: 1 1 auto;
  min-height: 0;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__field,
#tab-prestacao .iin-print-sheet .prestacao-oficial__block,
#tab-prestacao .iin-print-sheet .prestacao-oficial__signature {
  min-height: 18px;
  padding: 2px 3px;
  gap: 1px;
  overflow: hidden;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__block {
  min-height: 22px;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__block--short {
  min-height: 20px;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__block--medium {
  min-height: 30px;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__label {
  font-size: 6.8px;
  line-height: 1.08;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__value,
#tab-prestacao .iin-print-sheet .prestacao-oficial__paragraph,
#tab-prestacao .iin-print-sheet .prestacao-oficial__inline-note,
#tab-prestacao .iin-print-sheet .prestacao-oficial__inline-grid,
#tab-prestacao .iin-print-sheet .prestacao-oficial__option,
#tab-prestacao .iin-print-sheet .prestacao-oficial__footer-note,
#tab-prestacao .iin-print-sheet .prestacao-oficial__signature span {
  font-size: 7.4px;
  line-height: 1.08;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__value--question {
  font-size: 7px;
  line-height: 1.08;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__options {
  gap: 2px 5px;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__option {
  gap: 3px;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__box {
  width: 8px;
  height: 8px;
  font-size: 5px;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__title {
  font-size: 19px;
  line-height: 1;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__notice {
  font-size: 7.6px;
  line-height: 1.14;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__project {
  margin: 0;
  font-size: 10px;
  line-height: 1.04;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__banner {
  padding: 2px 8px 3px;
  font-size: 7.3px;
  line-height: 1;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__header {
  grid-template-columns: minmax(0, 1fr) 28mm;
  gap: 8px;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__photo,
#tab-prestacao .iin-print-sheet .prestacao-oficial__photo-frame {
  min-height: 40mm;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__logo-card {
  min-height: 44px;
  padding: 2px 4px;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__logo-image {
  max-height: 33px;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__logo-card--iin .prestacao-oficial__logo-image {
  max-height: 38px;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__row--guardian {
  grid-template-columns: 0.94fr 0.78fr 0.82fr 1fr;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__row--health-four {
  grid-template-columns: 0.68fr 0.56fr 0.56fr 0.8fr;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__row--parq {
  grid-template-columns: 1.5fr 0.48fr;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__signature {
  padding-top: 2px;
  gap: 2px;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__signature strong,
#tab-prestacao .iin-print-sheet .prestacao-oficial__inline-grid strong {
  font-size: 7px;
  line-height: 1;
}

#tab-prestacao .iin-print-sheet .prestacao-oficial__footer-note--institutional {
  display: grid;
  gap: 0;
  padding: 2px;
}

#tab-prestacao .iin-print-sheet.page-2 {
  padding: 4.8mm 5.8mm 4.8mm;
  gap: 1mm;
}

#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__page-body {
  gap: 0.9mm;
}

#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__header {
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
}

#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__logos {
  grid-template-columns: 1fr 1.08fr 0.72fr;
  gap: 6px;
}

#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__title {
  font-size: 15px;
}

#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__project {
  font-size: 8.8px;
}

#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__field,
#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__block,
#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__signature {
  min-height: 14px;
  padding: 1.5px 2.5px;
  gap: 0.5px;
}

#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__block {
  min-height: 17px;
}

#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__block--short {
  min-height: 16px;
}

#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__block--medium {
  min-height: 25px;
}

#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__label {
  font-size: 6.1px;
  line-height: 1.02;
}

#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__value,
#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__paragraph,
#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__inline-note,
#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__inline-grid,
#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__option,
#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__footer-note,
#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__signature span {
  font-size: 6.8px;
  line-height: 1.03;
}

#tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__value--question {
  font-size: 6.6px;
}

@media print {
  @page {
    size: A4 portrait;
    margin: 0;
  }

  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }

  body > *:not(#tab-prestacao) {
    display: none !important;
  }

  #tab-prestacao {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  #tab-prestacao > :not(#prestacaoContasRoot) {
    display: none !important;
  }

  #tab-prestacao #prestacaoContasRoot > :not(.prestacao-preview-shell) {
    display: none !important;
  }

  #tab-prestacao .prestacao-preview-shell > :not(.prestacao-print-area) {
    display: none !important;
  }

  #tab-prestacao .prestacao-print-area,
  #tab-prestacao .prestacao-print-area.is-ready {
    display: block !important;
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    contain: none !important;
  }

  #tab-prestacao .prestacao-print-area > :not(.iin-print-root) {
    display: none !important;
  }

  #tab-prestacao .iin-print-root,
  #tab-prestacao .iin-print-record {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: auto !important;
    page-break-after: auto !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  #tab-prestacao .iin-print-sheet {
    display: flex !important;
    width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    position: relative !important;
    background: #fff !important;
    transform: none !important;
  }

  #tab-prestacao .iin-print-sheet.page-1 {
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: page !important;
    page-break-after: always !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 {
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }

  #tab-prestacao .iin-print-record:not(:last-child) .iin-print-sheet.page-2 {
    break-after: page !important;
    page-break-after: always !important;
  }

  #tab-prestacao .iin-print-sheet * {
    transform: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__page-body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    gap: 1.4mm !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__header {
    grid-template-columns: minmax(0, 1fr) 28mm !important;
    gap: 8px !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__photo,
  #tab-prestacao .iin-print-sheet .prestacao-oficial__photo-frame {
    min-height: 40mm !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__logo-card {
    min-height: 44px !important;
    padding: 2px 4px !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__logo-image {
    max-height: 33px !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__logo-card--iin .prestacao-oficial__logo-image {
    max-height: 38px !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__title {
    font-size: 19px !important;
    line-height: 1 !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__notice {
    font-size: 7.6px !important;
    line-height: 1.14 !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__project {
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1.04 !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__banner {
    padding: 2px 8px 3px !important;
    font-size: 7.3px !important;
    line-height: 1 !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__field,
  #tab-prestacao .iin-print-sheet .prestacao-oficial__block,
  #tab-prestacao .iin-print-sheet .prestacao-oficial__signature {
    min-height: 18px !important;
    padding: 2px 3px !important;
    gap: 1px !important;
    overflow: hidden !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__block {
    min-height: 22px !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__block--short {
    min-height: 20px !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__block--medium {
    min-height: 30px !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__label {
    font-size: 6.8px !important;
    line-height: 1.08 !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__value,
  #tab-prestacao .iin-print-sheet .prestacao-oficial__paragraph,
  #tab-prestacao .iin-print-sheet .prestacao-oficial__inline-note,
  #tab-prestacao .iin-print-sheet .prestacao-oficial__inline-grid,
  #tab-prestacao .iin-print-sheet .prestacao-oficial__option,
  #tab-prestacao .iin-print-sheet .prestacao-oficial__footer-note,
  #tab-prestacao .iin-print-sheet .prestacao-oficial__signature span {
    font-size: 7.4px !important;
    line-height: 1.08 !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__value--question {
    font-size: 7px !important;
    line-height: 1.08 !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__options {
    gap: 2px 5px !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__option {
    gap: 3px !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__box {
    width: 8px !important;
    height: 8px !important;
    font-size: 5px !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__row--guardian {
    grid-template-columns: 0.94fr 0.78fr 0.82fr 1fr !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__row--health-four {
    grid-template-columns: 0.68fr 0.56fr 0.56fr 0.8fr !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__row--parq {
    grid-template-columns: 1.5fr 0.48fr !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__signature {
    padding-top: 2px !important;
    gap: 2px !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__signature strong,
  #tab-prestacao .iin-print-sheet .prestacao-oficial__inline-grid strong {
    font-size: 7px !important;
    line-height: 1 !important;
  }

  #tab-prestacao .iin-print-sheet .prestacao-oficial__footer-note--institutional {
    display: grid !important;
    gap: 0 !important;
    padding: 2px !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 {
    padding: 4.8mm 5.8mm 4.8mm !important;
    gap: 1mm !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__page-body {
    gap: 0.9mm !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__header {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 3px !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__logos {
    grid-template-columns: 1fr 1.08fr 0.72fr !important;
    gap: 6px !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__title {
    font-size: 15px !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__project {
    font-size: 8.8px !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__field,
  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__block,
  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__signature {
    min-height: 14px !important;
    padding: 1.5px 2.5px !important;
    gap: 0.5px !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__block {
    min-height: 17px !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__block--short {
    min-height: 16px !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__block--medium {
    min-height: 25px !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__label {
    font-size: 6.1px !important;
    line-height: 1.02 !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__value,
  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__paragraph,
  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__inline-note,
  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__inline-grid,
  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__option,
  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__footer-note,
  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__signature span {
    font-size: 6.8px !important;
    line-height: 1.03 !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 .prestacao-oficial__value--question {
    font-size: 6.6px !important;
  }
}

.historico-logs__alert-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.historico-logs__alert-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 34px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  font-weight: 800;
}

.historico-logs__user-report {
  display: grid;
  gap: 14px;
}

.historico-logs__user-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.historico-logs__mini-label {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

@media print {
  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }

  body,
  body * {
    visibility: visible !important;
  }

  body > *:not(#tab-prestacao) {
    display: none !important;
  }

  #tab-prestacao {
    display: block !important;
    visibility: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  #tab-prestacao > :not(#prestacaoContasRoot) {
    display: none !important;
  }

  #tab-prestacao #prestacaoContasRoot {
    display: block !important;
    visibility: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  #tab-prestacao #prestacaoContasRoot > :not(.prestacao-preview-shell) {
    display: none !important;
  }

  #tab-prestacao .prestacao-preview-shell {
    display: block !important;
    visibility: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  #tab-prestacao .prestacao-preview-shell > :not(.prestacao-print-area) {
    display: none !important;
  }

  #tab-prestacao .prestacao-print-area,
  #tab-prestacao .prestacao-print-area.is-ready {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    contain: none !important;
  }

  #tab-prestacao .prestacao-print-area > :not(.iin-print-root) {
    display: none !important;
  }

  #tab-prestacao .iin-print-root,
  #tab-prestacao .iin-print-root * {
    visibility: visible !important;
  }

  #tab-prestacao .iin-print-root {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    background: #fff !important;
  }

  #tab-prestacao .iin-print-record {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: auto !important;
    page-break-after: auto !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  #tab-prestacao .iin-print-sheet {
    display: flex !important;
    visibility: visible !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    background: #fff !important;
    overflow: hidden !important;
    position: relative !important;
    transform: none !important;
    break-before: auto !important;
    page-break-before: auto !important;
  }

  #tab-prestacao .iin-print-sheet.page-1 {
    break-after: page !important;
    page-break-after: always !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  #tab-prestacao .iin-print-record:not(:last-child) .iin-print-sheet.page-2 {
    break-after: page !important;
    page-break-after: always !important;
  }
}

.historico-logs__user-card {
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 16px 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 247, 251, 0.96));
  box-shadow: var(--shadow-soft);
}

.historico-logs__user-card[data-status="ativo_hoje"] {
  border-color: rgba(31, 138, 87, 0.22);
}

.historico-logs__user-card[data-status="acesso_pendente"] {
  border-color: rgba(210, 138, 0, 0.22);
}

.historico-logs__user-card[data-status="fora_do_nucleo"],
.historico-logs__user-card[data-status="localizacao_negada"] {
  border-color: rgba(179, 29, 47, 0.22);
}

.historico-logs__user-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.historico-logs__user-name {
  margin: 0;
  font-size: 1rem;
}

.historico-logs__user-meta {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.historico-logs__user-total {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--primary);
}

.historico-logs__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.historico-logs__chip {
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  background: var(--panel-muted);
  border: 1px solid var(--border);
  color: var(--text-soft);
  font-size: 0.82rem;
  font-weight: 600;
}

.historico-logs__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 32px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.historico-logs__pill--compact {
  min-height: 26px;
  padding: 4px 9px;
  font-size: 0.72rem;
}

.historico-logs__pill[data-tone="ok"] {
  background: rgba(31, 138, 87, 0.12);
  color: var(--green);
  border-color: rgba(31, 138, 87, 0.2);
}

.historico-logs__pill[data-tone="danger"] {
  background: rgba(179, 29, 47, 0.1);
  color: var(--danger);
  border-color: rgba(179, 29, 47, 0.16);
}

.historico-logs__pill[data-tone="warn"] {
  background: rgba(210, 138, 0, 0.12);
  color: var(--warn);
  border-color: rgba(210, 138, 0, 0.16);
}

.historico-logs__pill[data-tone="info"] {
  background: rgba(37, 69, 146, 0.1);
  color: var(--blue);
  border-color: rgba(37, 69, 146, 0.16);
}

.historico-logs__pill[data-tone="muted"] {
  background: rgba(97, 112, 138, 0.1);
  color: var(--muted);
  border-color: rgba(97, 112, 138, 0.12);
}

.historico-logs__pill[data-tone="neutral"] {
  background: rgba(15, 23, 42, 0.05);
  color: var(--text-soft);
  border-color: rgba(15, 23, 42, 0.08);
}

.historico-logs__empty {
  padding: 24px;
  border: 1px dashed var(--border-strong);
  border-radius: 16px;
  color: var(--muted);
  background: rgba(244, 247, 251, 0.72);
  text-align: center;
}

.historico-logs__filter-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 14px 0 18px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 247, 251, 0.95));
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
}

.historico-logs__filter-copy {
  display: grid;
  gap: 4px;
}

.historico-logs__filter-copy strong {
  font-size: 1rem;
  color: #0f172a;
}

.historico-logs__filter-description {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.historico-logs__filter-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.historico-logs__filter-count {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.06);
  color: #0f172a;
  font-size: 0.82rem;
  font-weight: 800;
}

.historico-logs__table-wrap {
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(15, 23, 42, 0.18) transparent;
}

.historico-logs__table {
  width: 100%;
  border-collapse: collapse;
  min-width: 1080px;
}

.historico-logs__table--daily {
  min-width: 980px;
}

.historico-logs__table--detail {
  min-width: 1420px;
}

.historico-logs__table th,
.historico-logs__table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
  font-size: 0.92rem;
}

.historico-logs__table th {
  color: var(--muted);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: rgba(244, 247, 251, 0.8);
  position: sticky;
  top: 0;
  z-index: 1;
}

.historico-logs__daily-row[data-status="ativo_hoje"] {
  background: rgba(31, 138, 87, 0.04);
}

.historico-logs__daily-row[data-status="acesso_pendente"] {
  background: rgba(210, 138, 0, 0.06);
}

.historico-logs__daily-row[data-status="fora_do_nucleo"],
.historico-logs__daily-row[data-status="localizacao_negada"] {
  background: rgba(179, 29, 47, 0.05);
}

.historico-logs__row-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.historico-logs__action-btn {
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 10px;
  font-size: 0.78rem;
}

.historico-logs__cell-wrap {
  white-space: normal;
  word-break: break-word;
  min-width: 150px;
}

.historico-logs__cell-wrap--detail {
  min-width: 320px;
}

.historico-logs__log-row {
  cursor: pointer;
  transition: background 0.16s ease;
}

.historico-logs__log-row:hover {
  background: rgba(15, 23, 42, 0.03);
}

.historico-logs__log-row.is-expanded {
  background: rgba(37, 69, 146, 0.04);
}

.historico-logs__log-detail-row td {
  padding: 0;
  background: rgba(244, 247, 251, 0.72);
}

.historico-logs__detail-panel {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  padding: 16px 18px;
}

.historico-logs__col--detail {
  width: 32%;
}

.historico-logs__col--area {
  width: 14%;
}

.historico-logs__col--status,
.historico-logs__col--geo,
.historico-logs__col--distance,
.historico-logs__col--accuracy {
  width: 8%;
}

@media (max-width: 900px) {
  .historico-logs__cards {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }

  .historico-logs__user-head {
    align-items: flex-start;
  }

  .historico-logs__intro {
    flex-direction: column;
  }

  .historico-logs__filters {
    grid-template-columns: 1fr;
  }

  .historico-logs__user-grid {
    grid-template-columns: 1fr;
  }

  .historico-logs__row-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .historico-logs__filter-summary {
    flex-direction: column;
    align-items: flex-start;
  }

  .historico-logs__filter-actions {
    justify-content: flex-start;
  }
}

.logs-print-area {
  position: fixed;
  top: 0;
  left: -300vw;
  width: 210mm;
  min-height: 297mm;
  opacity: 0;
  pointer-events: none;
  z-index: -1;
  overflow: hidden;
  display: block;
}

.logs-print-sheet {
  width: 210mm;
  max-width: 210mm;
  min-height: 297mm;
  margin: 0 auto;
  padding: 14mm 13mm 16mm;
  background:
    radial-gradient(circle at top right, rgba(163, 126, 56, 0.12), transparent 28%),
    linear-gradient(180deg, rgba(123, 16, 35, 0.06), rgba(123, 16, 35, 0) 22%),
    #ffffff;
  color: #161b22;
  font-family: "Segoe UI", "Arial", sans-serif;
  box-sizing: border-box;
}

.logs-print-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: 18px;
  align-items: stretch;
  margin-bottom: 18px;
}

.logs-print-brand,
.logs-print-docbox,
.logs-print-summary,
.logs-print-filters,
.logs-print-group {
  border: 1px solid rgba(113, 30, 44, 0.12);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 246, 242, 0.98));
  box-shadow: 0 18px 38px rgba(70, 22, 31, 0.08);
}

.logs-print-brand {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
}

.logs-print-brand-mark {
  flex: 0 0 88px;
  width: 88px;
  height: 88px;
  border-radius: 24px;
  background: linear-gradient(145deg, #ffffff, #f4ede3);
  border: 1px solid rgba(113, 30, 44, 0.14);
  display: flex;
  align-items: center;
  justify-content: center;
}

.logs-print-logo {
  width: 64px;
  height: 64px;
  object-fit: contain;
}

.logs-print-brand-copy h1 {
  margin: 4px 0 6px;
  font-size: 1.65rem;
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -0.04em;
  color: #571421;
}

.logs-print-brand-copy p {
  margin: 0;
  color: #5d6777;
  font-size: 0.92rem;
  line-height: 1.45;
}

.logs-print-kicker,
.logs-print-mini-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.7rem;
  font-weight: 800;
  color: #8f6a2b;
}

.logs-print-docbox {
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  background: linear-gradient(160deg, #5b1320, #861b2d 68%, #a57a2b 180%);
  color: #fff7e8;
}

.logs-print-docbox strong {
  font-size: 1rem;
  line-height: 1.35;
}

.logs-print-docbox span:last-child {
  font-size: 0.82rem;
  color: rgba(255, 247, 232, 0.86);
}

.logs-print-summary,
.logs-print-filters {
  padding: 16px 18px;
  margin-bottom: 14px;
}

.logs-print-summary-main h2 {
  margin: 6px 0 4px;
  font-size: 1.1rem;
  font-weight: 900;
  color: #151b24;
}

.logs-print-summary-main p {
  margin: 0;
  color: #5f6877;
  line-height: 1.55;
}

.logs-print-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.logs-print-summary-grid article {
  padding: 12px 13px;
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(247, 241, 233, 0.94), rgba(255, 255, 255, 0.98));
  border: 1px solid rgba(113, 30, 44, 0.08);
}

.logs-print-summary-grid span {
  display: block;
  margin-bottom: 5px;
  font-size: 0.73rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6c7380;
}

.logs-print-summary-grid strong {
  display: block;
  font-size: 0.96rem;
  line-height: 1.35;
  color: #151b24;
}

.logs-print-filters-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 12px;
}

.logs-print-filters-head strong {
  color: #4f1621;
  font-weight: 900;
}

.logs-print-chip-row,
.logs-print-entry-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.logs-print-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.38rem 0.75rem;
  border-radius: 999px;
  background: rgba(87, 20, 33, 0.08);
  border: 1px solid rgba(87, 20, 33, 0.1);
  color: #4d5564;
  font-size: 0.76rem;
  font-weight: 700;
}

.logs-print-chip--soft {
  background: rgba(143, 106, 43, 0.09);
  border-color: rgba(143, 106, 43, 0.12);
}

.logs-print-chip--meta {
  background: rgba(21, 27, 36, 0.04);
  border-color: rgba(21, 27, 36, 0.08);
}

.logs-print-content {
  display: grid;
  gap: 16px;
}

.logs-print-group {
  padding: 16px 18px 18px;
  break-inside: avoid;
  page-break-inside: avoid;
}

.logs-print-group-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(87, 20, 33, 0.09);
}

.logs-print-group-head h3 {
  margin: 5px 0 0;
  font-size: 1rem;
  font-weight: 900;
  color: #161b22;
}

.logs-print-group-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  padding: 0.5rem 0.85rem;
  border-radius: 999px;
  background: linear-gradient(160deg, #5b1320, #8c2030);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
}

.logs-print-group-list {
  display: grid;
  gap: 12px;
}

.logs-print-entry {
  border-radius: 18px;
  border: 1px solid rgba(87, 20, 33, 0.09);
  background: linear-gradient(180deg, #ffffff, #faf7f3);
  padding: 14px 15px;
  break-inside: avoid;
  page-break-inside: avoid;
}

.logs-print-entry[data-status="bloqueado"],
.logs-print-entry[data-status="negado"],
.logs-print-entry[data-status="erro"] {
  border-color: rgba(169, 53, 70, 0.22);
  background: linear-gradient(180deg, rgba(255, 247, 247, 0.98), rgba(255, 251, 251, 0.98));
}

.logs-print-entry-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.logs-print-entry-title strong {
  display: block;
  font-size: 0.98rem;
  font-weight: 900;
  color: #121821;
}

.logs-print-entry-title span {
  display: block;
  margin-top: 3px;
  color: #6a7280;
  font-size: 0.8rem;
  font-weight: 700;
}

.logs-print-entry-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 7px 12px;
  font-size: 0.77rem;
  color: #49505c;
  text-align: right;
}

.logs-print-entry-meta span {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.logs-print-entry-meta b {
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a6328;
}

.logs-print-entry-highlight {
  margin: 12px 0 10px;
  padding: 12px 13px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(87, 20, 33, 0.08), rgba(165, 122, 43, 0.08));
  border: 1px solid rgba(87, 20, 33, 0.08);
  font-size: 0.9rem;
  line-height: 1.5;
  font-weight: 800;
  color: #1f2730;
}

.logs-print-compare {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.logs-print-compare-row {
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(21, 27, 36, 0.03);
  border: 1px solid rgba(21, 27, 36, 0.07);
}

.logs-print-compare-row strong {
  display: block;
  margin-bottom: 8px;
  font-size: 0.8rem;
  color: #20262e;
}

.logs-print-compare-values {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.logs-print-compare-values div {
  padding: 9px 10px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(87, 20, 33, 0.08);
}

.logs-print-compare-values span {
  display: block;
  margin-bottom: 4px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8c672a;
}

.logs-print-compare-values b {
  display: block;
  font-size: 0.8rem;
  line-height: 1.45;
  color: #1b212a;
}

.logs-print-metadata {
  margin-top: 10px;
}

.logs-print-metadata pre {
  margin: 7px 0 0;
  padding: 12px;
  border-radius: 14px;
  background: #f5f7fa;
  border: 1px solid rgba(21, 27, 36, 0.08);
  color: #384150;
  font-family: "Consolas", "Courier New", monospace;
  font-size: 0.72rem;
  line-height: 1.55;
  white-space: pre-wrap;
  word-break: break-word;
}

.logs-print-empty {
  padding: 20px;
  border-radius: 18px;
  border: 1px dashed rgba(87, 20, 33, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 243, 237, 0.98));
  color: #5e6674;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 900px) {
  .logs-print-header,
  .logs-print-summary-grid,
  .logs-print-compare-values {
    grid-template-columns: 1fr;
  }

  .logs-print-entry-top {
    flex-direction: column;
  }

  .logs-print-entry-meta {
    grid-template-columns: 1fr;
    text-align: left;
  }
}

/* ===== HISTÓRICO DE LOGS - CARDS PREMIUM APPLE ===== */

.panel.historico-logs__card {
  background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%) !important;
  border: 1px solid rgba(148, 163, 184, 0.32) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08) !important;
  backdrop-filter: blur(14px);
}

/* Total de acessos */
.panel.historico-logs__card:nth-child(1) {
  background: linear-gradient(145deg, #eef2ff 0%, #ffffff 72%) !important;
  border-color: rgba(79, 70, 229, 0.22) !important;
}

/* Logins */
.panel.historico-logs__card:nth-child(2) {
  background: linear-gradient(145deg, #dcfce7 0%, #ffffff 72%) !important;
  border-color: rgba(22, 163, 74, 0.24) !important;
}

/* Ações registradas */
.panel.historico-logs__card:nth-child(3) {
  background: linear-gradient(145deg, #e0f2fe 0%, #ffffff 72%) !important;
  border-color: rgba(2, 132, 199, 0.22) !important;
}

/* Tentativas bloqueadas */
.panel.historico-logs__card:nth-child(4) {
  background: linear-gradient(145deg, #fef3c7 0%, #ffffff 72%) !important;
  border-color: rgba(217, 119, 6, 0.24) !important;
}

/* Usuários ativos */
.panel.historico-logs__card:nth-child(5) {
  background: linear-gradient(145deg, #f3e8ff 0%, #ffffff 72%) !important;
  border-color: rgba(126, 34, 206, 0.22) !important;
}

/* Entraram hoje */
.panel.historico-logs__card:nth-child(6) {
  background: linear-gradient(145deg, #dbeafe 0%, #ffffff 72%) !important;
  border-color: rgba(37, 99, 235, 0.22) !important;
}

/* Não acessaram hoje */
.panel.historico-logs__card:nth-child(7) {
  background: linear-gradient(145deg, #fee2e2 0%, #ffffff 72%) !important;
  border-color: rgba(220, 38, 38, 0.22) !important;
}

/* Fora do núcleo */
.panel.historico-logs__card:nth-child(8) {
  background: linear-gradient(145deg, #fff7ed 0%, #ffffff 72%) !important;
  border-color: rgba(234, 88, 12, 0.22) !important;
}

/* Localização negada */
.panel.historico-logs__card:nth-child(9) {
  background: linear-gradient(145deg, #f1f5f9 0%, #ffffff 72%) !important;
  border-color: rgba(71, 85, 105, 0.22) !important;
}

.panel.historico-logs__card-label {
  color: #52627a !important;
  font-weight: 800 !important;
  letter-spacing: 0.045em !important;
}

.panel.historico-logs__card-value {
  color: #0f172a !important;
  font-weight: 900 !important;
}

/* Ajustes dos cards clicáveis do Histórico de Logs */
.panel.historico-logs__card:nth-child(3) {
  background: linear-gradient(145deg, #ede9fe 0%, #ffffff 72%) !important;
  border-color: rgba(109, 40, 217, 0.22) !important;
}

.panel.historico-logs__card:nth-child(4) {
  background: linear-gradient(145deg, #e0f2fe 0%, #ffffff 72%) !important;
  border-color: rgba(2, 132, 199, 0.22) !important;
}

.panel.historico-logs__card:nth-child(5) {
  background: linear-gradient(145deg, #fef3c7 0%, #ffffff 72%) !important;
  border-color: rgba(217, 119, 6, 0.24) !important;
}

.panel.historico-logs__card:nth-child(6) {
  background: linear-gradient(145deg, #f3e8ff 0%, #ffffff 72%) !important;
  border-color: rgba(126, 34, 206, 0.22) !important;
}

.panel.historico-logs__card:nth-child(7) {
  background: linear-gradient(145deg, #dbeafe 0%, #ffffff 72%) !important;
  border-color: rgba(37, 99, 235, 0.22) !important;
}

.panel.historico-logs__card:nth-child(8) {
  background: linear-gradient(145deg, #fee2e2 0%, #ffffff 72%) !important;
  border-color: rgba(220, 38, 38, 0.22) !important;
}

.panel.historico-logs__card:nth-child(9) {
  background: linear-gradient(145deg, #fff7ed 0%, #ffffff 72%) !important;
  border-color: rgba(234, 88, 12, 0.22) !important;
}

.panel.historico-logs__card:nth-child(10) {
  background: linear-gradient(145deg, #f1f5f9 0%, #ffffff 72%) !important;
  border-color: rgba(71, 85, 105, 0.22) !important;
}

@media print {
  @page {
    size: A4 portrait;
    margin: 0;
  }

  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
  }

  body.historico-logs-printing * {
    visibility: hidden !important;
  }

  body.historico-logs-printing .logs-print-area,
  body.historico-logs-printing .logs-print-area * {
    visibility: visible !important;
  }

  body.historico-logs-printing .logs-print-area {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: 210mm !important;
    min-height: 297mm !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    background: #ffffff !important;
    overflow: visible !important;
    z-index: 9999 !important;
  }

  body.historico-logs-printing .logs-print-sheet {
    width: 210mm !important;
    max-width: 210mm !important;
    min-height: 297mm !important;
    margin: 0 !important;
    padding: 12mm 11mm 14mm !important;
    box-shadow: none !important;
    background: #ffffff !important;
    print-color-adjust: exact !important;
    -webkit-print-color-adjust: exact !important;
  }

  body.historico-logs-printing .logs-print-brand,
  body.historico-logs-printing .logs-print-docbox,
  body.historico-logs-printing .logs-print-summary,
  body.historico-logs-printing .logs-print-filters,
  body.historico-logs-printing .logs-print-group,
  body.historico-logs-printing .logs-print-entry,
  body.historico-logs-printing .logs-print-compare-row,
  body.historico-logs-printing .logs-print-summary-grid article,
  body.historico-logs-printing .logs-print-compare-values div {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    box-shadow: none !important;
  }

  body.historico-logs-printing .logs-print-group + .logs-print-group {
    margin-top: 8mm !important;
  }
}

@media print {
  @page {
    size: A4 portrait;
    margin: 0;
  }

  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #111 !important;
    overflow: visible !important;
    opacity: 1 !important;
    min-height: 0 !important;
    height: auto !important;
  }

  #tab-prestacao,
  #tab-prestacao #prestacaoContasRoot,
  #tab-prestacao .prestacao-preview-shell,
  #tab-prestacao .prestacao-print-area,
  #tab-prestacao .prestacao-print-area.is-ready,
  #tab-prestacao .iin-print-root,
  #tab-prestacao .iin-print-record,
  #tab-prestacao .iin-print-sheet {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    background: #fff !important;
    color: #111 !important;
    position: static !important;
    transform: none !important;
    box-shadow: none !important;
    border: 0 !important;
    contain: none !important;
  }

  #tab-prestacao > :not(#prestacaoContasRoot) {
    display: none !important;
  }

  #tab-prestacao #prestacaoContasRoot > :not(.prestacao-preview-shell) {
    display: none !important;
  }

  #tab-prestacao .prestacao-preview-shell > :not(.prestacao-print-area) {
    display: none !important;
  }

  #tab-prestacao .prestacao-print-area > :not(.iin-print-root) {
    display: none !important;
  }

  #tab-prestacao .iin-print-root,
  #tab-prestacao .iin-print-root * {
    visibility: visible !important;
    opacity: 1 !important;
    color: #111 !important;
  }

  #tab-prestacao .iin-print-root {
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  #tab-prestacao .iin-print-record {
    width: 210mm !important;
    margin: 0 !important;
    padding: 0 !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: auto !important;
    page-break-after: auto !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  #tab-prestacao .iin-print-sheet {
    display: block !important;
    visibility: visible !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 6.2mm 7mm 6mm !important;
    overflow: hidden !important;
    background: #fff !important;
    color: #111 !important;
    position: relative !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  #tab-prestacao .iin-print-sheet.page-1 {
    break-after: page !important;
    page-break-after: always !important;
  }

  #tab-prestacao .iin-print-sheet.page-2 {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  #tab-prestacao .iin-print-record:not(:last-child) .iin-print-sheet.page-2 {
    break-after: page !important;
    page-break-after: always !important;
  }

  #tab-prestacao .iin-print-record:last-child .iin-print-sheet.page-2 {
    break-after: auto !important;
    page-break-after: auto !important;
  }
}

#tab-gestao .students-table-wrap {
  border: 1px solid rgba(164, 179, 197, 0.24);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

#tab-gestao #gestaoArea > .panel:has(#visitorForm) {
  display: none !important;
}

/* Chamada premium workspace */
#tab-chamada {
  --attendance-bg: #081017;
  --attendance-bg-soft: #101821;
  --attendance-panel: rgba(12, 17, 24, 0.92);
  --attendance-panel-soft: rgba(18, 24, 32, 0.94);
  --attendance-surface: rgba(255, 255, 255, 0.05);
  --attendance-surface-strong: rgba(255, 255, 255, 0.09);
  --attendance-border: rgba(255, 255, 255, 0.12);
  --attendance-border-strong: rgba(207, 178, 122, 0.24);
  --attendance-ink: #f4efe8;
  --attendance-muted: #a7afbb;
  --attendance-gold: #cfb27a;
  --attendance-red: #cc6658;
  --attendance-green: #2fb877;
  --attendance-blue: #6d98ff;
  --attendance-amber: #f1b963;
  --attendance-violet: #9474ff;
  --attendance-shadow: 0 28px 70px rgba(0, 0, 0, 0.34);
  position: relative;
  display: block;
  padding: 0;
  background: transparent;
}

#tab-chamada > .page-intro {
  display: none !important;
}

#tab-chamada .attendance-premium-shell-v2 {
  display: grid;
  gap: 22px;
  padding: 20px;
  border-radius: 30px;
  background:
    radial-gradient(circle at top left, rgba(207, 178, 122, 0.14), transparent 25%),
    radial-gradient(circle at top right, rgba(109, 152, 255, 0.12), transparent 22%),
    linear-gradient(180deg, #0b1016 0%, #101720 52%, #0a0f15 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

#tab-chamada .attendance-hero-v2,
#tab-chamada .attendance-stage-v2,
#tab-chamada .attendance-search-v2,
#tab-chamada .attendance-board-v2,
#tab-chamada .attendance-side-card-v2 {
  border: 1px solid var(--attendance-border);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(17, 23, 31, 0.96), rgba(10, 14, 20, 0.98));
  box-shadow: var(--attendance-shadow);
}

#tab-chamada .attendance-hero-v2 {
  display: grid;
  gap: 18px;
  padding: 22px;
}

#tab-chamada .attendance-hero-v2__brand {
  display: flex;
  align-items: center;
  gap: 16px;
}

#tab-chamada .attendance-hero-v2__seal {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  font-size: 1.1rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  color: var(--attendance-gold);
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(135deg, rgba(207, 178, 122, 0.2), rgba(255, 255, 255, 0.04));
}

#tab-chamada .attendance-hero-v2__copy h2 {
  margin: 0;
  color: var(--attendance-ink);
  font-size: clamp(1.5rem, 2.3vw, 2.35rem);
  line-height: 1.02;
  letter-spacing: -0.05em;
}

#tab-chamada .attendance-hero-v2__copy p {
  margin: 8px 0 0;
  color: var(--attendance-muted);
  font-size: 0.96rem;
  line-height: 1.6;
  max-width: 760px;
}

#tab-chamada .attendance-hero-v2__eyebrow,
#tab-chamada .attendance-hero-v2__banner-label,
#tab-chamada .attendance-context-card span,
#tab-chamada .attendance-kpi-v2 span,
#tab-chamada .attendance-readonly-card span,
#tab-chamada .attendance-stage-v2__step,
#tab-chamada .attendance-search-input-v2 > span {
  display: inline-flex;
  color: var(--attendance-gold);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

#tab-chamada .attendance-hero-v2__banner {
  display: grid;
  gap: 14px;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(135deg, rgba(24, 31, 41, 0.92), rgba(13, 18, 25, 0.96));
}

#tab-chamada .attendance-hero-v2__banner-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

#tab-chamada #attendanceBannerTitle {
  display: block;
  margin-top: 7px;
  color: var(--attendance-ink);
  font-size: clamp(1.2rem, 2vw, 1.8rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

#tab-chamada .attendance-hero-v2__status {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.05);
  color: var(--attendance-ink);
  font-weight: 700;
}

#tab-chamada .attendance-hero-v2__path,
#tab-chamada .attendance-hero-v2__metrics,
#tab-chamada .attendance-readonly-grid {
  display: grid;
  gap: 12px;
}

#tab-chamada .attendance-hero-v2__path {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

#tab-chamada .attendance-context-card,
#tab-chamada .attendance-kpi-v2,
#tab-chamada .attendance-readonly-card {
  min-width: 0;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
}

#tab-chamada .attendance-context-card strong,
#tab-chamada .attendance-readonly-card strong,
#tab-chamada .attendance-kpi-v2 strong,
#tab-chamada .attendance-final-copy strong,
#tab-chamada .attendance-stage-v2__head h3,
#tab-chamada .nucleus-header h3,
#tab-chamada .student-name,
#tab-chamada .attendance-visitor-summary strong {
  color: var(--attendance-ink);
}

#tab-chamada .attendance-context-card strong,
#tab-chamada .attendance-readonly-card strong {
  display: block;
  margin-top: 8px;
  font-size: 0.98rem;
  line-height: 1.35;
}

#tab-chamada .attendance-context-card--highlight {
  border-color: var(--attendance-border-strong);
  background: linear-gradient(135deg, rgba(207, 178, 122, 0.16), rgba(255, 255, 255, 0.05));
}

#tab-chamada .attendance-hero-v2__warning,
#tab-chamada #attendanceUnlockHint,
#tab-chamada #attendanceActionStatus,
#tab-chamada #attendanceFinalStatus,
#tab-chamada #professorClassStatus {
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
  color: var(--attendance-muted);
}

#tab-chamada .attendance-hero-v2.is-blocked .attendance-hero-v2__warning {
  border-color: rgba(204, 102, 88, 0.25);
  background: rgba(204, 102, 88, 0.12);
  color: #ffd9d3;
}

#tab-chamada .attendance-hero-v2.is-ready .attendance-hero-v2__warning {
  border-color: rgba(47, 184, 119, 0.22);
  background: rgba(47, 184, 119, 0.12);
  color: #d1ffe8;
}

#tab-chamada .attendance-hero-v2__metrics {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

#tab-chamada .attendance-kpi-v2 strong {
  display: block;
  margin-top: 10px;
  font-size: 1.7rem;
  line-height: 1;
  letter-spacing: -0.05em;
}

#tab-chamada .attendance-kpi-v2--present { border-color: rgba(47, 184, 119, 0.24); }
#tab-chamada .attendance-kpi-v2--absent { border-color: rgba(204, 102, 88, 0.24); }
#tab-chamada .attendance-kpi-v2--justified { border-color: rgba(109, 152, 255, 0.24); }
#tab-chamada .attendance-kpi-v2--pending { border-color: rgba(241, 185, 99, 0.24); }
#tab-chamada .attendance-kpi-v2--visitors { border-color: rgba(148, 116, 255, 0.24); }

#tab-chamada .attendance-progress-v2 {
  display: grid;
  gap: 12px;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
}

#tab-chamada .attendance-progress-v2__copy {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}

#tab-chamada .attendance-progress-v2__copy strong {
  color: var(--attendance-ink);
  font-size: 1.2rem;
}

#tab-chamada .attendance-progress-v2__copy span {
  color: var(--attendance-muted);
}

#tab-chamada .attendance-progress-track {
  height: 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

#tab-chamada .attendance-progress-track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--attendance-red), var(--attendance-gold), var(--attendance-green));
  transition: width 260ms ease;
}

#tab-chamada .attendance-content-v2 {
  display: grid;
  grid-template-columns: 390px minmax(0, 1fr) 320px;
  gap: 22px;
  align-items: start;
}

#tab-chamada .attendance-stage-v2,
#tab-chamada .attendance-search-v2,
#tab-chamada .attendance-board-v2,
#tab-chamada .attendance-side-card-v2 {
  padding: 22px;
}

#tab-chamada .attendance-stage-v2__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

#tab-chamada .attendance-stage-v2__head--compact {
  margin-bottom: 14px;
}

#tab-chamada .attendance-stage-v2__head h3 {
  margin: 8px 0 6px;
  font-size: 1.25rem;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

#tab-chamada .attendance-stage-v2__head p,
#tab-chamada .class-meta,
#tab-chamada .student-class-info,
#tab-chamada .student-contact,
#tab-chamada .student-status,
#tab-chamada .attendance-final-copy span,
#tab-chamada .attendance-visitor-summary small,
#tab-chamada .attendance-board-v2 .empty {
  margin: 0;
  color: var(--attendance-muted);
  line-height: 1.55;
}

#tab-chamada .attendance-readonly-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 16px;
}

#tab-chamada .attendance-readonly-card--wide {
  grid-column: 1 / -1;
}

#tab-chamada .attendance-form-grid-v2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

#tab-chamada .attendance-field-v2,
#tab-chamada .attendance-search-input-v2 {
  display: grid;
  gap: 8px;
  color: var(--attendance-ink);
  font-weight: 700;
}

#tab-chamada .attendance-field-v2 input,
#tab-chamada .attendance-field-v2 select,
#tab-chamada .attendance-search-input-v2 input {
  width: 100%;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--attendance-ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

#tab-chamada .attendance-field-v2 input:focus,
#tab-chamada .attendance-field-v2 select:focus,
#tab-chamada .attendance-search-input-v2 input:focus {
  border-color: rgba(207, 178, 122, 0.42);
  box-shadow: 0 0 0 4px rgba(207, 178, 122, 0.12);
}

#tab-chamada .attendance-stage-v2__actions {
  margin-top: 16px;
}

#tab-chamada .attendance-stage-v2__actions .primary,
#tab-chamada #attendanceRegisterBtn {
  min-height: 52px;
  padding: 0 18px;
  border-radius: 16px;
  border: 0;
  background: linear-gradient(135deg, #e3c58a, #b88945);
  color: #131313;
  font-weight: 800;
  box-shadow: 0 16px 28px rgba(184, 137, 69, 0.24);
}

#tab-chamada .attendance-main-v2 {
  display: grid;
  gap: 18px;
}

#tab-chamada .attendance-board-v2__list,
#tab-chamada .attendance-student-list {
  display: grid;
  gap: 14px;
}

#tab-chamada .attendance-class-shell {
  display: grid;
  gap: 16px;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
}

#tab-chamada .nucleus-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

#tab-chamada .nucleus-header .badge,
#tab-chamada #attendanceProgressBadge,
#tab-chamada #professorNucleusBadge,
#tab-chamada .attendance-visitor-summary .badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.05);
  color: var(--attendance-ink);
}

#tab-chamada .attendance-student-card-v2,
#tab-chamada .attendance-student-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
}

#tab-chamada .attendance-student-card.is-pending,
#tab-chamada .attendance-student-card-v2[data-attendance-state="pendente"] {
  border-color: rgba(241, 185, 99, 0.24);
}

#tab-chamada .attendance-student-card.is-present,
#tab-chamada .attendance-student-card-v2[data-attendance-state="presente"] {
  border-color: rgba(47, 184, 119, 0.24);
  background: rgba(47, 184, 119, 0.08);
}

#tab-chamada .attendance-student-card.is-absent,
#tab-chamada .attendance-student-card-v2[data-attendance-state="falta"] {
  border-color: rgba(204, 102, 88, 0.24);
  background: rgba(204, 102, 88, 0.08);
}

#tab-chamada .attendance-student-card.is-justified,
#tab-chamada .attendance-student-card-v2[data-attendance-state="justificado"] {
  border-color: rgba(109, 152, 255, 0.24);
  background: rgba(109, 152, 255, 0.08);
}

#tab-chamada .attendance-student-card--visitor {
  border-color: rgba(148, 116, 255, 0.24);
}

#tab-chamada .attendance-student-card-v2__main,
#tab-chamada .attendance-student-card {
  min-width: 0;
}

#tab-chamada .attendance-student-card-v2__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.05);
  color: var(--attendance-ink);
  font-size: 0.82rem;
  font-weight: 700;
}

#tab-chamada .student-name {
  display: block;
  margin-bottom: 6px;
  font-size: 1.05rem;
  letter-spacing: -0.02em;
}

#tab-chamada .student-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

#tab-chamada .student-actions button {
  min-height: 52px;
  padding: 10px 8px;
  border-radius: 15px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.05);
  color: var(--attendance-ink);
  font-weight: 800;
}

#tab-chamada .student-actions button.is-selected,
#tab-chamada .student-actions button:hover:not(:disabled) {
  transform: translateY(-1px);
}

#tab-chamada .btn-present.is-selected {
  border-color: rgba(47, 184, 119, 0.32);
  background: rgba(47, 184, 119, 0.16);
}

#tab-chamada .btn-absent.is-selected {
  border-color: rgba(204, 102, 88, 0.32);
  background: rgba(204, 102, 88, 0.16);
}

#tab-chamada .btn-justified.is-selected {
  border-color: rgba(109, 152, 255, 0.32);
  background: rgba(109, 152, 255, 0.16);
}

#tab-chamada .attendance-action-short {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
}

#tab-chamada .attendance-action-label {
  display: block;
  margin-top: 4px;
  font-size: 0.7rem;
}

#tab-chamada .attendance-visitor-block {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid rgba(148, 116, 255, 0.2);
  background: rgba(148, 116, 255, 0.08);
}

#tab-chamada .attendance-visitor-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}

#tab-chamada .attendance-visitor-summary::-webkit-details-marker {
  display: none;
}

#tab-chamada .attendance-final-bar {
  position: sticky;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 18px;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(180deg, rgba(17, 23, 31, 0.96), rgba(10, 14, 20, 0.98));
}

#tab-chamada #attendanceRegisterBtn:disabled {
  background: rgba(255, 255, 255, 0.18);
  color: rgba(244, 239, 232, 0.55);
  box-shadow: none;
}

#tab-chamada .attendance-side-v2 {
  display: grid;
  gap: 18px;
}

#tab-chamada .attendance-visitor-host {
  min-height: 160px;
}

#tab-chamada .attendance-visitor-host > .panel {
  margin: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}

#tab-chamada .attendance-visitor-host .panel-title-row,
#tab-chamada .attendance-visitor-host #visitorMetricsBoard,
#tab-chamada .attendance-visitor-host #visitorsBadge,
#tab-chamada .attendance-visitor-host .visitor-list-shell {
  display: none !important;
}

#tab-chamada .attendance-visitor-host #visitorForm {
  display: grid !important;
  gap: 12px;
}

#tab-chamada .attendance-visitor-host #visitorForm label {
  color: var(--attendance-ink);
  font-weight: 700;
}

#tab-chamada .attendance-visitor-host #visitorForm input,
#tab-chamada .attendance-visitor-host #visitorForm select {
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.05);
  color: var(--attendance-ink);
}

#tab-chamada .attendance-visitor-host .visitor-form__actions,
#tab-chamada .attendance-visitor-host #visitorFormActions {
  justify-content: stretch;
}

#tab-chamada .attendance-visitor-host .visitor-form__actions .primary,
#tab-chamada .attendance-visitor-host #visitorForm button[type="submit"] {
  width: 100%;
  min-height: 48px;
  border-radius: 14px;
}

#tab-chamada .attendance-visitor-host #visitorFormStatus {
  margin-top: 10px;
}

@media (max-width: 1240px) {
  #tab-chamada .attendance-content-v2 {
    grid-template-columns: 1fr;
  }

  #tab-chamada .attendance-side-v2 {
    order: 4;
  }
}

@media (max-width: 980px) {
  #tab-chamada .attendance-hero-v2__path,
  #tab-chamada .attendance-hero-v2__metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  #tab-chamada .attendance-premium-shell-v2 {
    padding: 14px;
    border-radius: 22px;
  }

  #tab-chamada .attendance-hero-v2,
  #tab-chamada .attendance-stage-v2,
  #tab-chamada .attendance-search-v2,
  #tab-chamada .attendance-board-v2,
  #tab-chamada .attendance-side-card-v2 {
    padding: 16px;
    border-radius: 22px;
  }

  #tab-chamada .attendance-hero-v2__brand,
  #tab-chamada .attendance-progress-v2__copy,
  #tab-chamada .attendance-stage-v2__head,
  #tab-chamada .attendance-final-bar,
  #tab-chamada .attendance-student-card-v2__main,
  #tab-chamada .attendance-visitor-summary,
  #tab-chamada .nucleus-header {
    display: grid;
  }

  #tab-chamada .attendance-hero-v2__path,
  #tab-chamada .attendance-hero-v2__metrics,
  #tab-chamada .attendance-readonly-grid,
  #tab-chamada .student-actions {
    grid-template-columns: 1fr;
  }
}
#tab-gestao .gestao-student-form-panel {
  overflow: hidden;
  border: 1px solid rgba(186, 196, 208, 0.42);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.97));
  box-shadow: 0 20px 44px rgba(15, 23, 42, 0.055);
  margin-bottom: 0;
  position: relative;
}

#tab-gestao .gestao-student-form {
  gap: 14px;
}

#tab-gestao .gestao-student-form label {
  gap: 8px;
  color: #5b6d82;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#tab-gestao .gestao-student-form input,
#tab-gestao .gestao-student-form select {
  min-height: 46px;
  padding: 11px 14px;
  font-size: 0.92rem;
  border-radius: 15px;
  border: 1px solid rgba(171, 184, 200, 0.28);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.97));
  color: #16304e;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

#tab-gestao .gestao-student-form input:focus,
#tab-gestao .gestao-student-form select:focus {
  border-color: rgba(126, 108, 140, 0.34);
  box-shadow: 0 0 0 4px rgba(136, 119, 151, 0.08), 0 10px 22px rgba(15, 23, 42, 0.05);
}

#tab-gestao .gestao-form-section {
  grid-column: 1 / -1;
  position: relative;
  border: 1px solid rgba(182, 194, 209, 0.28);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.985);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.045);
  overflow: hidden;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

#tab-gestao .gestao-form-section::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: rgba(170, 187, 205, 0.46);
}

#tab-gestao .gestao-form-section[data-student-tone="main"]::before {
  background: rgba(152, 175, 198, 0.58);
}

#tab-gestao .gestao-form-section[data-student-tone="guardian"]::before {
  background: rgba(207, 175, 183, 0.56);
}

#tab-gestao .gestao-form-section[data-student-tone="address"]::before {
  background: rgba(209, 191, 156, 0.58);
}

#tab-gestao .gestao-form-section[data-student-tone="uniforms"]::before {
  background: rgba(166, 155, 182, 0.54);
}

#tab-gestao .gestao-form-section[data-student-tone="notes"]::before {
  background: rgba(162, 186, 175, 0.58);
}

#tab-gestao .gestao-form-section:hover {
  border-color: rgba(136, 154, 178, 0.34);
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.06);
  transform: translateY(-1px);
}

#tab-gestao .gestao-form-section__summary {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 20px;
  cursor: pointer;
  border: 0;
  text-align: left;
  background: rgba(250, 251, 252, 0.92);
  transition: background 180ms ease;
}

#tab-gestao .gestao-form-section__summary:hover {
  background: rgba(247, 249, 251, 0.98);
}

#tab-gestao .gestao-form-section__summary-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

#tab-gestao .gestao-form-section__eyebrow {
  color: #8a99aa;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

#tab-gestao .gestao-form-section__summary strong {
  color: #11243d;
  font-size: 0.98rem;
  letter-spacing: -0.02em;
}

#tab-gestao .gestao-form-section__description {
  color: #708196;
  font-size: 0.82rem;
  line-height: 1.45;
}

#tab-gestao .gestao-form-section__toggle {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  margin-right: 2px;
  border-right: 2px solid #73859b;
  border-bottom: 2px solid #73859b;
  transform: rotate(45deg);
  transition: transform 220ms ease, border-color 180ms ease;
}

#tab-gestao .gestao-form-section.is-open .gestao-form-section__toggle {
  transform: rotate(225deg);
  border-color: #50657d;
}

#tab-gestao .gestao-form-section__content {
  overflow: hidden;
  max-height: 0;
  transition: max-height 240ms ease;
}

#tab-gestao .gestao-form-section__body {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 4px 20px 20px;
}

#tab-gestao .gestao-student-form__actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 6px;
  padding: 16px 18px 2px;
  border-top: 1px solid rgba(188, 198, 212, 0.22);
  background: linear-gradient(180deg, rgba(250, 251, 252, 0.28), rgba(246, 248, 250, 0.64));
  border-radius: 18px;
}

#tab-gestao .gestao-student-form__submit {
  min-height: 48px;
  min-width: 180px;
  padding: 12px 22px;
  font-size: 0.92rem;
  border-radius: 16px;
  font-weight: 700;
  box-shadow: 0 12px 24px rgba(139, 24, 51, 0.18);
}

#tab-gestao .gestao-import-trigger {
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 14px;
  font-weight: 700;
  border-color: rgba(139, 24, 51, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 241, 243, 0.94));
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

#tab-gestao .gestao-import-trigger:hover {
  transform: translateY(-1px);
  border-color: rgba(139, 24, 51, 0.3);
  box-shadow: 0 14px 26px rgba(139, 24, 51, 0.12);
}

#tab-gestao .gestao-student-list-panel {
  overflow: hidden;
}

#tab-gestao .panel:has(#gestaoAlunosTableBody) {
  overflow: hidden;
  margin-top: 40px;
}

#tab-gestao .gestao-student-toolbar {
  align-items: center;
  padding: 14px 16px;
  border: 1px solid rgba(137, 160, 188, 0.14);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.96), rgba(255, 255, 255, 0.98));
}

#tab-gestao .gestao-student-toolbar > input {
  min-height: 42px;
  border-radius: 14px;
}

#tab-gestao .gestao-student-toolbar > select {
  min-height: 42px;
  border-radius: 14px;
}

#tab-gestao .students-table-wrap thead,
#tab-gestao .students-table > thead {
  display: none;
}

#tab-gestao .gestao-student-groups-cell {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#tab-gestao .gestao-student-accordion-shell,
#tab-gestao .gestao-student-accordion-list {
  display: grid;
  gap: 14px;
}

#tab-gestao .gestao-student-project-head {
  display: grid;
  gap: 4px;
  padding: 4px 8px 2px;
}

#tab-gestao .gestao-student-project-eyebrow {
  color: #6b7c93;
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#tab-gestao .gestao-student-project-title {
  color: #11243d;
  font-size: 1.08rem;
  letter-spacing: -0.03em;
}

#tab-gestao .gestao-student-project-meta {
  color: #6b7c93;
  font-size: 0.82rem;
}

#tab-gestao .gestao-nucleus-accordion {
  border: 1px solid rgba(137, 160, 188, 0.22);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(212, 230, 255, 0.3), rgba(255, 255, 255, 0) 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(243, 247, 252, 0.96));
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.05);
  overflow: hidden;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

#tab-gestao .gestao-nucleus-accordion:hover {
  transform: translateY(-1px);
  border-color: rgba(92, 128, 168, 0.28);
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08);
}

#tab-gestao .gestao-nucleus-accordion__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(180deg, rgba(249, 251, 255, 0.98), rgba(241, 246, 252, 0.95));
}

#tab-gestao .gestao-nucleus-accordion__summary::-webkit-details-marker {
  display: none;
}

#tab-gestao .gestao-nucleus-accordion__title-wrap {
  display: grid;
  gap: 5px;
}

#tab-gestao .gestao-nucleus-accordion__title {
  color: #11243d;
  font-size: 1.04rem;
  letter-spacing: -0.03em;
}

#tab-gestao .gestao-nucleus-accordion__sub {
  color: #6b7c93;
  font-size: 0.82rem;
}

#tab-gestao .gestao-nucleus-accordion__badge {
  min-width: 44px;
  justify-content: center;
  padding-inline: 12px;
  font-weight: 700;
}

#tab-gestao .gestao-nucleus-accordion__body {
  padding: 0 16px 16px;
}

#tab-gestao .gestao-turma-accordion-list {
  display: grid;
  gap: 10px;
}

#tab-gestao .gestao-turma-accordion {
  border: 1px solid rgba(137, 160, 188, 0.16);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.88);
  overflow: hidden;
}

#tab-gestao .gestao-turma-accordion__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(180deg, rgba(250, 252, 255, 0.94), rgba(244, 248, 252, 0.92));
}

#tab-gestao .gestao-turma-accordion__summary::-webkit-details-marker {
  display: none;
}

#tab-gestao .gestao-turma-accordion__title-wrap {
  display: grid;
  gap: 3px;
}

#tab-gestao .gestao-turma-accordion__title {
  color: #11243d;
  font-size: 0.95rem;
  letter-spacing: -0.02em;
}

#tab-gestao .gestao-turma-accordion__sub {
  color: #6b7c93;
  font-size: 0.78rem;
}

#tab-gestao .gestao-turma-accordion__badge {
  min-width: 40px;
  justify-content: center;
  padding-inline: 10px;
  font-weight: 700;
}

#tab-gestao .gestao-turma-accordion__body {
  padding: 0 12px 12px;
}

#tab-gestao .gestao-student-row-list {
  display: grid;
  gap: 10px;
}

#tab-gestao .gestao-student-row-card {
  display: grid;
  grid-template-columns: minmax(220px, 1.3fr) minmax(260px, 1.5fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(137, 160, 188, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 250, 252, 0.92));
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.04);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

#tab-gestao .gestao-student-row-card:hover {
  transform: translateY(-1px);
  border-color: rgba(121, 145, 174, 0.14);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(246, 249, 252, 0.96));
}

#tab-gestao .gestao-student-row-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#tab-gestao .gestao-student-inline-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(137, 160, 188, 0.16);
  background: rgba(248, 250, 252, 0.96);
  min-width: auto;
  max-width: 100%;
}

#tab-gestao .gestao-student-inline-chip strong {
  color: #6b7c93;
  font-size: 0.66rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

#tab-gestao .gestao-student-inline-chip span {
  color: #11243d;
  font-size: 0.79rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#tab-gestao .gestao-student-row-side {
  display: grid;
  justify-items: end;
  gap: 8px;
}

#tab-gestao .gestao-student-empty {
  padding: 22px;
  border-radius: 18px;
  border: 1px dashed rgba(137, 160, 188, 0.24);
  color: #6b7c93;
  text-align: center;
  background: rgba(248, 250, 252, 0.92);
}

#tab-gestao .students-table th,
#tab-gestao .students-table td {
  padding: 10px 14px;
  vertical-align: middle;
}

#tab-gestao .students-table th {
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

#tab-gestao .students-table tbody tr {
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

#tab-gestao .students-table tbody tr:hover td {
  background: rgba(15, 102, 173, 0.04);
}

.student-main-cell {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.student-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: linear-gradient(180deg, #f4f7fa 0%, #edf2f6 100%);
  border: 1px solid rgba(148, 163, 184, 0.16);
  box-shadow: none;
  color: #425466;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.student-avatar--sm {
  width: 34px;
  height: 34px;
  font-size: 0.8rem;
  flex: 0 0 auto;
}

.student-name,
.student-detail-card h4,
.student-detail-hero h4 {
  color: #11243d;
  font-weight: 700;
}

#tab-gestao .gestao-student-row-card .student-name {
  display: block;
  font-size: 0.98rem;
  line-height: 1.15;
  letter-spacing: -0.03em;
  margin-bottom: 2px;
}

.student-subtle,
.student-empty,
.student-detail-kicker {
  display: block;
  color: #6b7c93;
  font-size: 0.8rem;
  line-height: 1.25;
}

.student-empty {
  color: #8a97a8;
}

.student-status-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.student-badge--status {
  background: rgba(223, 242, 231, 0.9);
  color: #226847;
  border: 1px solid rgba(89, 161, 122, 0.14);
  box-shadow: none;
}

.student-status-stack .badge {
  padding: 6px 10px;
  font-size: 0.69rem;
  letter-spacing: 0.05em;
}

.student-status-stack .badge:last-child {
  background: rgba(240, 244, 247, 0.96);
  color: #6b7280;
  border: 1px solid rgba(203, 213, 225, 0.7);
  box-shadow: none;
}

.student-detail-trigger {
  white-space: nowrap;
  padding: 2px 0;
  font-size: 0.8rem;
  font-weight: 700;
  border: 0;
  border-radius: 0;
  color: #1b5f95;
  background: transparent;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.student-detail-trigger::after {
  content: "›";
  font-size: 1rem;
  line-height: 1;
  opacity: 0.72;
  transition: transform 160ms ease, opacity 160ms ease;
}

.student-detail-trigger:hover {
  color: #154d79;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.student-detail-trigger:hover::after {
  transform: translateX(2px);
  opacity: 1;
}

.import-students-modal__dialog {
  border-radius: 26px;
  border: 1px solid rgba(177, 190, 208, 0.22);
  box-shadow: 0 26px 70px rgba(15, 23, 42, 0.24);
}

.import-students-upload-card,
.import-students-status-card {
  display: grid;
  gap: 12px;
}

.import-students-upload-card {
  padding: 18px;
  border: 1px dashed rgba(148, 163, 184, 0.35);
  border-radius: 20px;
  background:
    radial-gradient(circle at top right, rgba(212, 230, 255, 0.2), rgba(255, 255, 255, 0) 34%),
    rgba(248, 250, 252, 0.86);
}

.import-students-upload-card__label,
.import-students-defaults__field > span {
  font-weight: 700;
  color: #11243d;
}

.import-students-upload-card__field {
  display: grid;
  gap: 10px;
}

.import-students-upload-card__input {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.96);
}

.import-students-upload-card__filename {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.76);
  color: #11243d;
  font-weight: 600;
  word-break: break-word;
}

.import-students-upload-card__filename.is-empty {
  color: #6b7c93;
  font-weight: 500;
}

.import-students-defaults {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.import-students-defaults__field {
  display: grid;
  gap: 7px;
}

.import-students-defaults__field select {
  min-height: 42px;
  border-radius: 14px;
}

.import-students-modal__dialog {
  width: min(95vw, 1800px) !important;
  max-width: min(95vw, 1800px) !important;
  max-height: 90vh;
  overflow-y: auto;
  overflow-x: hidden;
}

.import-students-status-card {
  padding: 18px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 248, 252, 0.96));
  overflow: visible;
}

.import-students-status-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.import-students-feedback {
  margin: 0;
}

.import-students-summary,
.import-students-preview,
.import-students-preview__meta {
  display: grid;
  gap: 8px;
}

.import-students-summary {
  gap: 12px;
}

.import-students-summary__metrics,
.import-students-preview__metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.import-students-summary__metric,
.import-students-preview__metric {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 252, 0.92));
}

.import-students-summary__metric span,
.import-students-preview__metric span {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #5b6b7f;
}

.import-students-summary__metric strong,
.import-students-preview__metric strong {
  font-size: 1.25rem;
  color: #11243d;
}

.import-students-summary__metric.is-ok,
.import-students-preview__metric.is-ok {
  border-color: rgba(20, 128, 61, 0.22);
  background: linear-gradient(180deg, rgba(240, 253, 244, 0.96), rgba(232, 248, 238, 0.92));
}

.import-students-summary__metric.is-bad,
.import-students-preview__metric.is-bad {
  border-color: rgba(185, 28, 28, 0.22);
  background: linear-gradient(180deg, rgba(254, 242, 242, 0.96), rgba(252, 232, 232, 0.92));
}

.import-students-summary__metric.is-warn,
.import-students-preview__metric.is-warn {
  border-color: rgba(180, 83, 9, 0.22);
  background: linear-gradient(180deg, rgba(255, 251, 235, 0.96), rgba(252, 244, 216, 0.92));
}

.import-students-summary__block {
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(148, 163, 184, 0.16);
}

.import-students-preview {
  margin-top: 4px;
  overflow: visible;
}

.import-students-preview__filters,
.import-students-modal__actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.import-students-preview__filters .ghost[aria-pressed="true"] {
  border-color: rgba(139, 24, 51, 0.34);
  color: #8b1833;
  background: rgba(139, 24, 51, 0.08);
}

.import-students-preview__table-wrap {
  overflow-x: auto;
  overflow-y: auto;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
  max-height: 52vh;
}

.import-students-preview__table {
  width: 100%;
  min-width: 2200px;
  border-collapse: collapse;
}

.import-students-preview__table thead tr {
  background: rgba(15, 23, 42, 0.04);
}

.import-students-preview__table th,
.import-students-preview__table td {
  text-align: left;
  padding: 11px 12px;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  vertical-align: top;
}

.import-students-preview__table th {
  border-top: 0;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #425466;
  position: sticky;
  top: 0;
  z-index: 3;
  background: #f4f7fb;
}

.import-students-preview__table tbody tr:hover {
  background: rgba(15, 102, 173, 0.035);
}

.import-students-preview__table tbody tr.is-selected {
  background: rgba(15, 102, 173, 0.08);
}

.import-students-preview__stack,
.import-students-preview__details-body,
.import-students-preview__detail-grid {
  display: grid;
  gap: 4px;
}

.import-students-preview__layout {
  display: grid;
  grid-template-columns: minmax(0, 2.1fr) minmax(320px, 0.95fr);
  gap: 16px;
  align-items: start;
}

.import-students-preview__table-panel,
.import-students-preview__side {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.import-students-preview__side {
  position: sticky;
  top: 0;
  align-self: start;
}

.import-students-preview__detail-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 252, 0.94));
}

.import-students-preview__detail-card.is-empty {
  min-height: 220px;
  align-content: center;
}

.import-students-preview__detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.import-students-preview__detail-head h4 {
  margin: 0;
  font-size: 1.08rem;
  color: #11243d;
}

.import-students-preview__detail-head p {
  margin: 4px 0 0;
}

.import-students-preview__detail-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  font-weight: 700;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(255, 255, 255, 0.9);
}

.import-students-preview__detail-badge.is-ok,
.import-students-preview__status.is-ok {
  color: #166534;
}

.import-students-preview__detail-badge.is-duplicate,
.import-students-preview__status.is-duplicate {
  color: #9a3412;
}

.import-students-preview__detail-badge.is-error,
.import-students-preview__status.is-error {
  color: #b91c1c;
}

.import-students-preview__detail-alert {
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(185, 28, 28, 0.18);
  background: rgba(254, 242, 242, 0.88);
  color: #991b1b;
  font-weight: 600;
}

.import-students-preview__detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.import-students-preview__detail-grid.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.import-students-preview__detail-item {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.96);
  border: 1px solid rgba(148, 163, 184, 0.16);
}

.import-students-preview__detail-item > span {
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #617388;
}

.import-students-preview__detail-item > strong {
  color: #11243d;
  overflow-wrap: anywhere;
}

.import-students-preview__detail-item.is-empty,
.import-students-preview__cell.is-empty {
  border-color: rgba(180, 83, 9, 0.16);
  background: rgba(255, 251, 235, 0.88);
  color: #92400e;
}

.import-students-preview__detail-item.is-invalid,
.import-students-preview__cell.is-invalid {
  border-color: rgba(185, 28, 28, 0.18);
  background: rgba(254, 242, 242, 0.92);
  color: #991b1b;
}

.import-students-preview__unknown-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.import-students-preview__unknown-list span {
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(254, 243, 199, 0.96);
  color: #92400e;
  border: 1px solid rgba(217, 119, 6, 0.2);
  font-size: 0.82rem;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.import-students-preview__cell {
  display: block;
  max-width: 280px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid transparent;
  overflow-wrap: anywhere;
}

.import-students-preview__cell.is-compact {
  max-width: 84px;
}

.import-students-preview__cell.is-long {
  max-width: 340px;
}

.import-students-preview__status {
  color: #11243d;
  display: inline-flex;
  margin-bottom: 4px;
}

.import-students-preview__reason {
  margin-top: 4px;
  max-width: 280px;
  overflow-wrap: anywhere;
}

.import-students-preview__details {
  margin-top: 6px;
}

.import-students-preview__details summary {
  cursor: pointer;
  color: #8f1833;
  font-weight: 700;
}

.import-students-preview__foot {
  padding-top: 2px;
}

.import-students-preview__details-trigger {
  white-space: nowrap;
}

.student-detail-modal {
  place-items: center;
  justify-items: center;
  background: rgba(10, 16, 28, 0.62);
  backdrop-filter: blur(8px);
}

.student-detail-drawer {
  width: min(900px, calc(100vw - 32px));
  max-height: calc(100vh - 48px);
  overflow: auto;
  border-radius: 28px;
  padding: 24px 24px 26px;
  box-shadow: 0 30px 80px rgba(15, 23, 42, 0.24);
  border: 1px solid rgba(177, 190, 208, 0.22);
}

.student-detail-body,
.student-detail-sections {
  display: grid;
  gap: 16px;
}

.student-detail-header {
  position: sticky;
  top: 0;
  z-index: 2;
  padding-bottom: 14px;
  margin-bottom: 18px;
  background: linear-gradient(180deg, rgba(247, 249, 252, 0.98), rgba(247, 249, 252, 0.9));
}

.student-detail-hero,
.student-detail-item {
  display: flex;
  align-items: start;
  gap: 14px;
}

.student-detail-card {
  padding: 16px 18px;
  border: 1px solid rgba(105, 148, 194, 0.18);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 252, 0.96));
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.student-detail-card h4 {
  margin-bottom: 12px;
}

.student-detail-card--compact {
  align-content: start;
}

.student-detail-card--address {
  display: grid;
  gap: 12px;
}

.student-detail-item {
  justify-content: space-between;
  padding: 10px 0;
  border-top: 1px solid rgba(148, 163, 184, 0.14);
}

.student-detail-item:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.student-detail-item span {
  color: #6b7c93;
}

.student-address-highlight {
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(105, 148, 194, 0.18);
  background:
    radial-gradient(circle at top right, rgba(212, 230, 255, 0.24), rgba(255, 255, 255, 0) 40%),
    linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(243, 248, 252, 0.96));
  color: #11243d;
  font-weight: 700;
  line-height: 1.45;
}

.student-address-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.student-address-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(137, 160, 188, 0.16);
  background: rgba(248, 250, 252, 0.96);
  color: #5c6b7d;
}

.student-address-meta strong {
  color: #11243d;
}

.student-fulfillment-overview {
  display: grid;
  gap: 16px;
  border-color: rgba(183, 145, 64, 0.16);
  background:
    radial-gradient(circle at top right, rgba(196, 167, 96, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255, 252, 246, 0.98), rgba(247, 250, 252, 0.96));
}

.student-fulfillment-summary,
.student-fulfillment-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.student-summary-tile {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(176, 190, 208, 0.22);
  background: rgba(255, 255, 255, 0.84);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.student-summary-tile > span {
  display: block;
  color: #607287;
  font-size: 0.76rem;
  letter-spacing: 0.02em;
  margin-bottom: 6px;
}

.student-summary-tile > strong {
  display: block;
  color: #11243d;
  font-size: 1.7rem;
  line-height: 1;
  letter-spacing: -0.05em;
  margin-bottom: 12px;
}

.student-summary-tile__badges,
.student-size-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.student-summary-tile__list .student-checklist-list {
  gap: 8px;
}

.student-summary-tile__list .student-checklist-entry {
  grid-template-columns: auto minmax(0, 1fr);
  padding: 8px 0;
}

.student-summary-tile__list .student-checklist-status {
  display: none;
}

.student-summary-tile__list .student-checklist-empty {
  padding-top: 2px;
}

.student-fulfillment-meta {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  align-items: start;
}

.student-fulfillment-origin {
  display: block;
  color: #334155;
  font-size: 0.92rem;
  line-height: 1.35;
  margin-top: 6px;
}

.student-pill {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border: 1px solid transparent;
}

.student-pill--delivered,
.student-pill--signed {
  background: rgba(226, 245, 233, 0.92);
  color: #236445;
  border-color: rgba(80, 140, 108, 0.18);
}

.student-pill--pending {
  background: rgba(255, 244, 224, 0.96);
  color: #8a5a12;
  border-color: rgba(209, 151, 52, 0.22);
}

.student-pill--outline,
.student-pill--muted {
  background: rgba(241, 245, 249, 0.96);
  color: #607287;
  border-color: rgba(176, 190, 208, 0.2);
}

.student-compliance-card__head,
.student-fulfillment-column__head {
  display: flex;
  align-items: start;
  gap: 12px;
}

.student-compliance-card__head p,
.student-fulfillment-column__head p,
.student-checklist-copy span,
.student-checklist-empty {
  color: #6b7c93;
  font-size: 0.8rem;
  line-height: 1.35;
}

.student-compliance-card__head p,
.student-fulfillment-column__head p {
  margin: 4px 0 0;
}

.student-compliance-card__icon,
.student-checklist-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.student-compliance-card__icon {
  min-width: 42px;
  height: 42px;
  padding: 0 10px;
  background: linear-gradient(135deg, rgba(28, 79, 130, 0.1), rgba(196, 167, 96, 0.16));
  color: #1f4a72;
  border: 1px solid rgba(137, 166, 196, 0.24);
}

.student-checklist-list {
  list-style: none;
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 0;
}

.student-checklist-entry {
  display: grid;
  gap: 10px;
  align-items: center;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 12px 0;
  border-top: 1px solid rgba(148, 163, 184, 0.14);
}

.student-checklist-entry:first-child {
  border-top: 0;
  padding-top: 0;
}

.student-checklist-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.student-checklist-copy strong {
  color: #11243d;
  line-height: 1.2;
}

.student-checklist-icon {
  width: 28px;
  height: 28px;
}

.student-checklist-icon--delivered,
.student-checklist-icon--signed {
  background: rgba(226, 245, 233, 0.96);
  color: #236445;
}

.student-checklist-icon--pending {
  background: rgba(255, 244, 224, 0.96);
  color: #8a5a12;
}

.student-checklist-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}

.student-checklist-status--delivered,
.student-checklist-status--signed {
  background: rgba(226, 245, 233, 0.92);
  color: #236445;
}

.student-checklist-status--pending {
  background: rgba(255, 244, 224, 0.96);
  color: #8a5a12;
}

.student-checklist-empty {
  padding: 10px 0 2px;
}

@media (max-width: 768px) {
  #tab-gestao .gestao-student-form.grid-form.three {
    grid-template-columns: 1fr;
  }

  #tab-gestao .gestao-form-section__summary {
    align-items: flex-start;
  }

  #tab-gestao .gestao-form-section__description {
    font-size: 0.8rem;
  }

  #tab-gestao .gestao-form-section__body {
    grid-template-columns: 1fr;
  }

  #tab-gestao .gestao-student-form__actions {
    justify-content: stretch;
    padding: 14px 0 0;
    border-top: 0;
    background: transparent;
    border-radius: 0;
  }

  #tab-gestao .gestao-student-form__submit {
    width: 100%;
  }

  .import-students-defaults {
    grid-template-columns: 1fr;
  }

  .import-students-summary__metrics,
  .import-students-preview__metrics,
  .import-students-preview__detail-grid,
  .import-students-preview__detail-grid.compact {
    grid-template-columns: 1fr;
  }

  .import-students-preview__layout {
    grid-template-columns: 1fr;
  }

  .import-students-preview__side {
    position: static;
  }

  .import-students-modal__dialog {
    width: min(100vw - 12px, 100%) !important;
    max-width: min(100vw - 12px, 100%) !important;
    max-height: 90vh;
  }

  .import-students-preview__table-wrap {
    max-height: 52vh;
  }

  .import-students-modal__actions > * {
    flex: 1 1 100%;
  }

  #tab-gestao .gestao-student-row-card {
    grid-template-columns: 1fr;
  }

  #tab-gestao .gestao-student-row-side {
    justify-items: stretch;
  }

  #tab-gestao .gestao-student-row-side .student-detail-trigger {
    width: 100%;
  }

  .student-main-cell {
    min-width: 180px;
  }

  .student-detail-drawer {
    width: min(100vw - 16px, 100%);
    max-height: calc(100vh - 16px);
    border-radius: 24px;
    padding: 18px;
  }

  .student-detail-item {
    display: grid;
    gap: 6px;
  }

  .student-checklist-entry {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .student-checklist-status {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 768px) {
  #tab-dashboard .dashboard-alert-main {
    grid-template-columns: 1fr;
  }

  #tab-dashboard .dashboard-nucleus-card,
  #tab-dashboard .dashboard-alert-card {
    align-items: flex-start;
  }
}
/* ===== OVERRIDES FINAIS: FILA / HORARIOS ===== */

#tab-fila .fila-table tbody td { vertical-align: top !important; }
#tab-fila .fila-table:not([data-view="pre"]) thead th:nth-child(5),
#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(5) { width: 210px !important; min-width: 210px !important; white-space: normal !important; }
#tab-fila .fila-table:not([data-view="pre"]) thead th:nth-child(6),
#tab-fila .fila-table:not([data-view="pre"]) tbody td:nth-child(6),
#tab-fila .fila-table[data-view="pre"] thead th:nth-child(6),
#tab-fila .fila-table[data-view="pre"] tbody td:nth-child(6) { width: 184px !important; min-width: 184px !important; max-width: 184px !important; }
#tab-fila .fila-status-cell > div { display: grid !important; gap: 8px !important; align-content: start !important; }
#tab-fila .fila-status-badge { padding: 6px 11px !important; font-size: 0.76rem !important; }
#tab-fila .fila-actions.premium,
#tab-fila .fila-actions-official { display: flex !important; flex-direction: column !important; align-items: flex-end !important; justify-content: flex-start !important; gap: 8px !important; }
#tab-fila .fila-actions-official .fila-action-btn,
#tab-fila .fila-actions .action-btn,
#tab-fila .fila-actions .fila-link-btn { min-height: 34px !important; padding: 0 12px !important; border-radius: 11px !important; font-size: 0.75rem !important; box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06) !important; }
#tab-fila .fila-actions-official .fila-action-btn { width: 100% !important; max-width: 168px !important; justify-content: flex-start !important; }

.schedule-config-panel .panel-collapse-content { display: grid; gap: 18px; }
.schedule-config-toolbar { align-items: end; gap: 16px; }
.schedule-config-field, .schedule-weekday-card, .schedule-exception-field { gap: 8px !important; color: #23364d !important; }
.schedule-config-panel .grid-form input,
.schedule-config-panel .grid-form select,
.schedule-config-panel .grid-form textarea { border-color: #d8e1eb; border-radius: 14px; background: linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%); }
.schedule-config-intro .muted { margin: 0; font-size: 0.93rem; line-height: 1.65; color: #566579; }
.schedule-week-grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin: 0; }
.schedule-weekday-card { padding: 14px; border: 1px solid #dbe4ee; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%); box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05); }
.schedule-week-grid textarea, .schedule-exception-box textarea { min-height: 86px; line-height: 1.5; }
.schedule-standard-actions, .schedule-exception-actions, .schedule-config-toolbar__actions { justify-content: flex-end; gap: 10px; }
.schedule-config-toolbar__actions button, .schedule-standard-actions button, .schedule-exception-actions button { min-height: 38px; padding: 0 16px; border-radius: 12px; }
.schedule-exception-box { margin-top: 0; padding: 18px; border-style: solid; border-color: #dbe4ee; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%); box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05); }
.schedule-exception-box .panel-title-row { align-items: flex-start; margin-bottom: 10px; }
.schedule-exception-heading { display: grid; gap: 4px; }
.schedule-exception-heading h3, .calendar-header h3 { margin: 0; color: #162847; }
.schedule-exception-heading .muted, .calendar-card > .muted { margin: 0; line-height: 1.55; color: #5b6b7f; }
.schedule-exception-grid { grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.3fr); align-items: start; gap: 14px; }
#classCalendarBoard { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.calendar-card { border-radius: 22px; padding: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%); border: 1px solid #dbe4ee; box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06); }
.calendar-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.schedule-summary-list { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.schedule-summary-list li, .calendar-card .history-list li { padding: 9px 11px; border-radius: 12px; background: rgba(244, 247, 251, 0.92); border: 1px solid rgba(216, 225, 235, 0.9); color: #334155; }

@media (max-width: 860px) {
  .schedule-config-toolbar,
  .schedule-exception-grid { grid-template-columns: 1fr !important; }
  .schedule-config-toolbar__actions,
  .schedule-standard-actions,
  .schedule-exception-actions { justify-content: stretch; }
  .schedule-config-toolbar__actions button,
  .schedule-standard-actions button,
  .schedule-exception-actions button { width: 100%; }
}

@media (max-width: 760px) {
  #tab-fila .fila-table-wrap { overflow: visible !important; }
  #tab-fila .fila-table, #tab-fila .fila-table tbody, #tab-fila .fila-table tr, #tab-fila .fila-table td { display: block !important; width: 100% !important; }
  #tab-fila .fila-table thead { display: none !important; }
  #tab-fila .fila-table tbody { display: grid !important; gap: 14px !important; }
  #tab-fila .fila-table tbody tr.fila-row-card { padding: 16px !important; border: 1px solid rgba(198, 209, 223, 0.88) !important; border-radius: 20px !important; background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important; box-shadow: 0 12px 26px rgba(15, 23, 42, 0.07) !important; }
  #tab-fila .fila-table tbody tr.fila-row-card td { padding: 0 !important; border: 0 !important; overflow: visible !important; }
  #tab-fila .fila-table tbody tr.fila-row-card td + td { margin-top: 12px !important; }
  #tab-fila .fila-table tbody tr.fila-row-card td[data-label] { display: grid !important; grid-template-columns: minmax(74px, 88px) minmax(0, 1fr) !important; gap: 10px !important; align-items: start !important; }
  #tab-fila .fila-table tbody tr.fila-row-card td[data-label]::before { content: attr(data-label) !important; font-size: 0.72rem !important; font-weight: 800 !important; letter-spacing: 0.04em !important; text-transform: uppercase !important; color: #64748b !important; }
  #tab-fila .fila-table tbody tr.fila-row-card td.fila-status-cell,
  #tab-fila .fila-table tbody tr.fila-row-card td.fila-actions-cell { grid-template-columns: 1fr !important; }
  #tab-fila .fila-table tbody tr.fila-row-card .fila-actions-official { align-items: stretch !important; }
  #tab-fila .fila-table tbody tr.fila-row-card .fila-actions-official .fila-action-btn,
  #tab-fila .fila-table tbody tr.fila-row-card .fila-actions .action-btn,
  #tab-fila .fila-table tbody tr.fila-row-card .fila-actions .fila-link-btn { max-width: none !important; width: 100% !important; min-height: 36px !important; }
}

/* Sidebar final */
.iin-ref-shell .app-sidebar {
  background:
    radial-gradient(circle at top, rgba(180, 77, 109, 0.12), transparent 34%),
    linear-gradient(180deg, #182434 0%, #152030 48%, #121b2b 100%);
  border-right: 1px solid rgba(255, 255, 255, 0.07);
  box-shadow: 18px 0 40px rgba(7, 15, 28, 0.18);
}

.iin-ref-shell .app-sidebar .tabs-bar.app-nav {
  gap: 9px;
  padding-bottom: 20px;
}

.iin-ref-shell .app-sidebar .tab-btn {
  position: relative;
  min-height: 48px;
  border: 1px solid transparent;
  border-radius: 15px;
  color: rgba(241, 245, 249, 0.8);
  font-weight: 600;
  letter-spacing: 0.01em;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.01);
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.iin-ref-shell .app-sidebar .tab-btn .tab-label {
  color: inherit;
}

.iin-ref-shell .app-sidebar .tab-icon {
  color: rgba(226, 232, 240, 0.76);
  transition: color 0.2s ease, transform 0.2s ease;
}

.iin-ref-shell .app-sidebar .tab-btn:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.06);
  box-shadow: 0 10px 20px rgba(8, 15, 28, 0.12);
  transform: translateX(1px);
}

.iin-ref-shell .app-sidebar .tab-btn:hover .tab-icon {
  color: rgba(255, 255, 255, 0.94);
  transform: scale(1.01);
}

.iin-ref-shell .app-sidebar .tab-btn.active {
  color: #fff;
  background: linear-gradient(135deg, rgba(180, 77, 109, 0.2), rgba(255, 255, 255, 0.07));
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 12px 24px rgba(8, 15, 28, 0.14);
}

.iin-ref-shell .app-sidebar .tab-btn.active .tab-icon {
  color: #fff;
}

.iin-ref-shell .sidebar-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: auto;
  padding: 18px 16px 20px;
  background: rgba(19, 28, 40, 0.7);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(18px);
}

/* Dashboard executive refinement */
#tab-dashboard.dashboard-page {
  gap: 22px;
}

/* =========================
   IIN SHELL IDENTITY
========================= */
:root {
  --iin-shell-bg: linear-gradient(180deg, rgba(18, 32, 58, 0.82) 0%, rgba(9, 13, 24, 0.92) 100%);
  --iin-shell-panel: rgba(255, 255, 255, 0.06);
  --iin-shell-active: rgba(255, 255, 255, 0.08);
  --iin-shell-border: rgba(255,255,255,0.12);
  --iin-accent: #BFE3FF;
  --iin-accent-soft: rgba(191, 227, 255, 0.16);
  --iin-highlight-card: linear-gradient(135deg, #193B63 0%, #10233A 100%);
  --iin-ink-on-dark: #FFFFFF;
  --iin-muted-on-dark: rgba(226,235,247,0.72);
}

.iin-ref-shell .app-sidebar {
  background:
    radial-gradient(circle at 18% 12%, rgba(191, 227, 255, 0.05), transparent 26%),
    radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.035), transparent 22%),
    var(--iin-shell-bg);
  border-right: 1px solid var(--iin-shell-border);
  box-shadow:
    inset 1px 0 0 rgba(255,255,255,0.06),
    8px 0 32px rgba(0,0,0,0.18);
  backdrop-filter: blur(24px) saturate(140%);
  -webkit-backdrop-filter: blur(24px) saturate(140%);
}

.iin-ref-shell .app-sidebar .tabs-bar.app-nav {
  background: transparent;
}

.iin-ref-shell .app-sidebar .tab-btn {
  border-color: transparent;
  background: transparent;
  color: var(--iin-muted-on-dark);
  box-shadow: none;
}

.iin-ref-shell .app-sidebar .tab-icon,
.iin-ref-shell .app-sidebar .tab-btn .tab-label {
  color: inherit;
}

.iin-ref-shell .app-sidebar .tab-btn:hover {
  color: var(--iin-ink-on-dark);
  background: rgba(255,255,255,0.06);
  border-color: transparent;
  box-shadow: none;
  transform: translateX(1px);
}

.iin-ref-shell .app-sidebar .tab-btn.active {
  color: #FFFFFF;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
  border-radius: 16px;
}

.iin-ref-shell .app-sidebar .tab-btn.active .tab-icon {
  color: var(--iin-accent);
}

.iin-ref-shell .sidebar-footer {
  background: rgba(255,255,255,0.02);
  border-top: 1px solid var(--iin-shell-border);
  backdrop-filter: blur(24px) saturate(140%);
  -webkit-backdrop-filter: blur(24px) saturate(140%);
}

.top-fixed {
  background: linear-gradient(90deg, rgba(18, 32, 58, 0.82) 0%, rgba(9, 13, 24, 0.90) 100%);
  backdrop-filter: blur(24px) saturate(140%);
  -webkit-backdrop-filter: blur(24px) saturate(140%);
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.hero-inner {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none !important;
  backdrop-filter: none;
}

.topbar-breadcrumb-root,
.topbar-main .eyebrow,
.topbar-main #projectSubtitle,
.topbar-main .sub,
.topbar-action-btn,
.topbar-breadcrumb-sep {
  color: var(--iin-muted-on-dark);
}

.topbar-breadcrumb-page,
.topbar-main #welcomeTitle,
.topbar-main .brand h1 {
  color: var(--iin-ink-on-dark);
}

.topbar-main .brand .logo {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.10);
}

.topbar-actions #logoutBtn,
.topbar-action-btn {
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
  color: var(--iin-ink-on-dark);
  box-shadow: none;
}

.topbar-actions #logoutBtn:hover,
.topbar-action-btn:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.10);
}

.topbar-alert-dot,
.iin-topbar-notification-count {
  background: linear-gradient(135deg, #7fb9ff 0%, #bfd7ff 100%);
  box-shadow: 0 8px 16px rgba(41, 89, 150, 0.18);
}

.iin-topbar-notifications-panel {
  border-color: rgba(255, 255, 255, 0.10);
  box-shadow: 0 24px 60px rgba(8, 15, 28, 0.18);
}

.iin-topbar-notifications-panel .iin-topbar-panel-link {
  color: #4d6f9a;
}

.iin-topbar-notifications-panel .iin-topbar-panel-link:hover {
  background: rgba(142, 197, 255, 0.10);
}

.iin-topbar-item:hover {
  border-color: rgba(191, 215, 255, 0.22);
}

.iin-topbar-item-icon[data-tone="stock"],
.iin-topbar-item-icon[data-tone="info"] {
  color: #4f79a9;
  background: rgba(236, 244, 255, 0.92);
  border-color: rgba(191, 215, 255, 0.64);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-hero,
.ead-monitor-summary-card--accent,
.ead-progress-summary-card--accent {
  border-color: rgba(255, 255, 255, 0.08);
  background: var(--iin-highlight-card);
  box-shadow: 0 22px 44px rgba(10, 20, 34, 0.12);
  color: #f8f2ef;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-hero h2,
.ead-monitor-summary-card--accent strong,
.ead-progress-summary-card--accent strong {
  color: #fff7f2;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-hero p,
.ead-monitor-summary-card--accent span,
.ead-progress-summary-card--accent span {
  color: rgba(245, 233, 228, 0.80);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-hero__kicker {
  color: #bfd7ff;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-hero__kicker,
:is(#tab-chamada, #tab-relatorios-frequencia) .attendance-admin-hero__pill {
  border: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.07);
  color: #e8f3ff;
}

#tab-dashboard .dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.95fr);
  gap: 22px;
  margin-bottom: 6px;
  padding: 28px;
  border: 1px solid rgba(205, 212, 223, 0.88);
  border-radius: 30px;
  background:
    radial-gradient(circle at 0% 0%, rgba(143, 20, 34, 0.08), transparent 32%),
    radial-gradient(circle at 100% 100%, rgba(143, 20, 34, 0.05), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(247, 249, 252, 0.92) 100%);
  box-shadow: 0 22px 44px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(18px) saturate(1.04);
  -webkit-backdrop-filter: blur(18px) saturate(1.04);
}

#tab-dashboard .dashboard-hero__copy,
#tab-dashboard .dashboard-hero__meta {
  display: grid;
  align-content: start;
}

#tab-dashboard .dashboard-hero__copy {
  gap: 12px;
}

#tab-dashboard .dashboard-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8f1422;
}

#tab-dashboard .dashboard-hero__eyebrow::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #8f1422 0%, #c63a51 100%);
  box-shadow: 0 0 0 5px rgba(143, 20, 34, 0.10);
}

#tab-dashboard .dashboard-hero__title {
  margin: 0;
  font-size: clamp(2rem, 3vw, 2.8rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
  color: #142238;
}

#tab-dashboard .dashboard-hero__subtitle {
  margin: 0;
  max-width: 58ch;
  font-size: 0.96rem;
  line-height: 1.72;
  color: #5b697d;
}

#tab-dashboard .dashboard-command__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

#tab-dashboard .dashboard-command__chips .chip {
  padding: 9px 13px;
  border-radius: 999px;
  border: 1px solid rgba(212, 218, 228, 0.96);
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
  color: #435468;
}

#tab-dashboard .dashboard-command__chips .chip b {
  color: #8f1422;
}

#tab-dashboard .dashboard-hero__meta {
  gap: 16px;
  padding: 22px;
  border-radius: 26px;
  border: 1px solid rgba(143, 20, 34, 0.14);
  background:
    radial-gradient(circle at top right, rgba(143, 20, 34, 0.10), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.78) 0%, rgba(250, 245, 246, 0.72) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.88),
    0 16px 34px rgba(15, 23, 42, 0.07);
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

#tab-dashboard .dashboard-hero__meta-header {
  display: grid;
  gap: 10px;
}

#tab-dashboard .dashboard-hero__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(143, 20, 34, 0.14);
  background: rgba(143, 20, 34, 0.08);
  color: #8f1422;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#tab-dashboard #dashboardExecutiveProject,
#tab-dashboard #dashboardExecutiveProjectMirror {
  margin: 0;
  font-size: 1.28rem;
  line-height: 1.12;
  letter-spacing: -0.03em;
  color: #162236;
}

#tab-dashboard #dashboardExecutiveSummaryLead {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.6;
  color: #677489;
}

#tab-dashboard .dashboard-hero__meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

#tab-dashboard .dashboard-hero__meta-stat {
  display: grid;
  gap: 6px;
  padding: 14px 15px;
  border-radius: 18px;
  border: 1px solid rgba(219, 223, 231, 0.94);
  background: rgba(255, 255, 255, 0.70);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

#tab-dashboard .dashboard-hero__meta-stat--project {
  grid-column: 1 / -1;
  background: linear-gradient(180deg, rgba(255, 247, 248, 0.88) 0%, rgba(255, 255, 255, 0.72) 100%);
  border-color: rgba(143, 20, 34, 0.12);
}

#tab-dashboard .dashboard-hero__meta-stat span {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8f1422;
}

#tab-dashboard .dashboard-hero__meta-stat strong {
  font-size: clamp(1.2rem, 2vw, 1.8rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.04em;
  color: #162236;
}

#tab-dashboard .dashboard-hero__meta-progress {
  display: grid;
  gap: 10px;
}

#tab-dashboard .dashboard-hero__meta-progress-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#tab-dashboard .dashboard-hero__meta-progress-label span {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8f1422;
}

#tab-dashboard .dashboard-hero__meta-progress-label strong {
  font-size: 0.84rem;
  font-weight: 700;
  color: #5f6d82;
  text-align: right;
}

#tab-dashboard .dashboard-hero__meta-progress-track {
  position: relative;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(213, 219, 228, 0.92);
}

#tab-dashboard .dashboard-hero__meta-progress-value {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #8f1422 0%, #c83e55 100%);
  box-shadow: 0 4px 14px rgba(143, 20, 34, 0.18);
  transition: width 0.5s ease;
}

#tab-dashboard .dashboard-kpi-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

#tab-dashboard .dashboard-kpi-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  padding: 18px;
  overflow: hidden;
  border: 1px solid rgba(206, 214, 224, 0.82);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(247, 250, 253, 0.97) 100%);
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.07);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

#tab-dashboard .dashboard-kpi-card::after {
  content: "";
  position: absolute;
  inset: auto 18px 0;
  height: 3px;
  border-radius: 999px;
  opacity: 0.9;
}

#tab-dashboard .dashboard-kpi-card--base::after { background: linear-gradient(90deg, #102a43 0%, #3e5c76 100%); }
#tab-dashboard .dashboard-kpi-card--attendance::after { background: linear-gradient(90deg, #1f8f5f 0%, #55c48d 100%); }
#tab-dashboard .dashboard-kpi-card--attention::after { background: linear-gradient(90deg, #c7770f 0%, #f0b34f 100%); }
#tab-dashboard .dashboard-kpi-card--delivery::after { background: linear-gradient(90deg, #1769c1 0%, #4ea3ff 100%); }

#tab-dashboard .dashboard-kpi-card:hover {
  transform: translateY(-3px);
  border-color: rgba(163, 180, 198, 0.95);
  box-shadow: 0 24px 44px rgba(15, 23, 42, 0.11);
}

#tab-dashboard .dashboard-kpi-card__copy {
  display: grid;
  gap: 6px;
}

#tab-dashboard .dashboard-kpi-card__topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#tab-dashboard .dashboard-kpi-card__topline .page-eyebrow {
  margin: 0;
}

#tab-dashboard .dashboard-kpi-card__badge {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(229, 235, 242, 0.95);
  color: #435468;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

#tab-dashboard .dashboard-kpi-card__value {
  margin: 0;
  font-size: clamp(1.7rem, 2vw, 2.15rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #10243c;
}

#tab-dashboard .dashboard-kpi-card__note {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.6;
  color: #66768a;
}

#tab-dashboard .dashboard-kpi-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: rgba(15, 23, 42, 0.05);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52);
}

#tab-dashboard .dashboard-kpi-card__icon img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  display: block;
}

#tab-dashboard .dashboard-kpi-card--base .dashboard-kpi-card__icon {
  background: rgba(17, 17, 17, 0.08);
}

#tab-dashboard .dashboard-kpi-card--base .dashboard-kpi-card__icon img {
  filter: brightness(0);
}

#tab-dashboard .dashboard-kpi-card--attendance .dashboard-kpi-card__icon {
  background: rgba(35, 150, 99, 0.11);
}

#tab-dashboard .dashboard-kpi-card--attention .dashboard-kpi-card__icon {
  background: rgba(211, 138, 6, 0.12);
}

#tab-dashboard .dashboard-kpi-card--delivery .dashboard-kpi-card__icon {
  background: rgba(37, 131, 243, 0.12);
}

#tab-dashboard .dashboard-secondary-grid--executive,
#tab-dashboard .dashboard-secondary-grid--attention {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
}

#tab-dashboard .dashboard-today-board,
#tab-dashboard .dashboard-nucleus-highlights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

#tab-dashboard .dashboard-today-card,
#tab-dashboard .dashboard-highlight-chip {
  display: grid;
  gap: 6px;
  padding: 15px 16px;
  border: 1px solid rgba(205, 214, 224, 0.88);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(245, 249, 252, 0.98) 100%);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
}

#tab-dashboard .dashboard-today-card span,
#tab-dashboard .dashboard-highlight-chip span {
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #65758a;
}

#tab-dashboard .dashboard-today-card strong,
#tab-dashboard .dashboard-highlight-chip strong {
  font-size: 1.18rem;
  letter-spacing: -0.03em;
  color: #132238;
}

#tab-dashboard .dashboard-today-card small,
#tab-dashboard .dashboard-highlight-chip small {
  font-size: 0.8rem;
  line-height: 1.55;
  color: #66768a;
}

#tab-dashboard .dashboard-highlight-chip b {
  font-size: 0.92rem;
  color: #21456f;
}

#tab-dashboard .dashboard-today-card--good {
  border-color: rgba(115, 201, 149, 0.78);
}

#tab-dashboard .dashboard-today-card--warn {
  border-color: rgba(238, 184, 74, 0.84);
}

#tab-dashboard .dashboard-today-card--info {
  border-color: rgba(119, 173, 255, 0.82);
}

#tab-dashboard .dashboard-executive-summary__card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(202, 212, 223, 0.9);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(74, 144, 226, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(244, 248, 252, 0.98) 100%);
}

#tab-dashboard .dashboard-executive-summary__card p {
  margin: 0;
  font-size: 0.96rem;
  line-height: 1.78;
  color: #425468;
}

#tab-dashboard .dashboard-executive-summary__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

#tab-dashboard .dashboard-executive-summary__chips .chip {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(239, 244, 248, 0.95);
  border: 1px solid rgba(210, 219, 228, 0.92);
}

#tab-dashboard .dashboard-executive-summary__chips .chip b {
  color: #12355b;
}

#tab-dashboard .dashboard-alert-card--info {
  border-color: rgba(128, 170, 232, 0.78);
}

#tab-dashboard .dashboard-alert-badge--info {
  background: rgba(37, 131, 243, 0.12);
  color: #1769c1;
}

@media (max-width: 1180px) {
  #tab-dashboard .dashboard-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  #tab-dashboard .dashboard-hero,
  #tab-dashboard .dashboard-primary-grid,
  #tab-dashboard .dashboard-secondary-grid--executive,
  #tab-dashboard .dashboard-secondary-grid--attention {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  #tab-dashboard .dashboard-hero {
    padding: 20px;
    border-radius: 24px;
  }

  #tab-dashboard .dashboard-kpi-grid,
  #tab-dashboard .dashboard-today-board,
  #tab-dashboard .dashboard-nucleus-highlights,
  #tab-dashboard .dashboard-hero__meta-grid {
    grid-template-columns: 1fr;
  }

  #tab-dashboard .dashboard-kpi-card {
    grid-template-columns: minmax(0, 1fr);
  }

  #tab-dashboard .dashboard-kpi-card__icon {
    width: 48px;
    height: 48px;
  }

  #tab-dashboard .dashboard-kpi-card__topline,
  #tab-dashboard .dashboard-hero__meta-progress-label {
    align-items: flex-start;
    flex-direction: column;
  }

  #tab-dashboard .dashboard-command__chips {
    gap: 8px;
  }

  #tab-dashboard .dashboard-command__chips .chip {
    width: 100%;
    justify-content: space-between;
  }
}

#tab-dashboard .dashboard-primary-grid--executive {
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.95fr);
}

#tab-dashboard .dashboard-panel-title-row--spaced {
  margin-top: 18px;
}

#tab-dashboard .dashboard-nucleus-ranking {
  display: grid;
  gap: 12px;
}

#tab-dashboard .dashboard-rank-card {
  display: grid;
  gap: 10px;
  padding: 15px 16px;
  border: 1px solid rgba(205, 214, 224, 0.9);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 250, 253, 0.98) 100%);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.06);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

#tab-dashboard .dashboard-rank-card:hover {
  transform: translateY(-2px);
  border-color: rgba(163, 180, 198, 0.95);
  box-shadow: 0 22px 36px rgba(15, 23, 42, 0.1);
}

#tab-dashboard .dashboard-rank-card__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

#tab-dashboard .dashboard-rank-card__position {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 38px;
  padding: 0 10px;
  border-radius: 14px;
  background: linear-gradient(135deg, #0f4c81 0%, #3f63c9 100%);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 800;
}

#tab-dashboard .dashboard-rank-card__copy {
  display: grid;
  gap: 3px;
}

#tab-dashboard .dashboard-rank-card__copy strong {
  color: #132238;
}

#tab-dashboard .dashboard-rank-card__copy span {
  color: #627388;
  font-size: 0.82rem;
  line-height: 1.5;
}

#tab-dashboard .dashboard-rank-card__head b {
  font-size: 1.05rem;
  color: #12355b;
}

#tab-dashboard .dashboard-rank-card__bar {
  height: 10px;
  border-radius: 999px;
  background: rgba(220, 229, 238, 0.8);
  overflow: hidden;
}

#tab-dashboard .dashboard-rank-card__bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0f4c81 0%, #4ea3ff 100%);
  box-shadow: 0 4px 12px rgba(37, 131, 243, 0.22);
}

#tab-dashboard .dashboard-alerts-board {
  display: grid;
  gap: 12px;
  max-height: 520px;
  overflow: auto;
  padding-right: 4px;
}

#tab-dashboard .dashboard-alerts-board::-webkit-scrollbar {
  width: 8px;
}

#tab-dashboard .dashboard-alerts-board::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(143, 160, 181, 0.68);
}

#tab-dashboard .dashboard-alert-card {
  padding: 14px 15px;
  border-radius: 18px;
}

#tab-dashboard .dashboard-alert-card--info {
  border-color: rgba(130, 176, 245, 0.82);
  background: linear-gradient(180deg, rgba(245, 250, 255, 0.98) 0%, rgba(236, 245, 255, 0.98) 100%);
}

#tab-dashboard .dashboard-alert-card .dashboard-alert-meta {
  grid-template-columns: 1fr;
}

@media (max-width: 980px) {
  #tab-dashboard .dashboard-primary-grid--executive {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  #tab-dashboard .dashboard-command__chips {
    gap: 8px;
  }

  #tab-dashboard .dashboard-command__chips .chip {
    width: 100%;
    justify-content: space-between;
  }

  #tab-dashboard .dashboard-rank-card__head {
    grid-template-columns: 1fr;
  }

  #tab-dashboard .dashboard-rank-card__position {
    width: fit-content;
  }
}

.iin-ref-shell .sidebar-user-main {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1 1 auto;
  min-width: 0;
  padding: 14px 16px;
  background: linear-gradient(180deg, rgba(32, 43, 58, 0.76), rgba(24, 33, 46, 0.84));
  border: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 20px;
  box-shadow: 0 10px 24px rgba(8, 15, 28, 0.12);
}

.iin-ref-shell .sidebar-user-avatar-wrap {
  position: relative;
  flex: 0 0 48px;
  width: 48px;
  min-width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.iin-ref-shell .sidebar-user-avatar {
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: none;
  background: linear-gradient(135deg, #bf6b87 0%, #e6c4cf 100%);
  color: #fff;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(8, 15, 28, 0.12);
  overflow: hidden;
}

.iin-ref-shell .sidebar-user-avatar.has-photo {
  box-shadow: 0 8px 18px rgba(8, 15, 28, 0.14);
}

.iin-ref-shell .sidebar-user-copy,
.iin-ref-shell .sidebar-user-info {
  display: grid;
  align-content: center;
  gap: 4px;
  min-width: 0;
  max-width: 100%;
  flex: 1 1 auto;
  overflow: hidden;
}

.iin-ref-shell .sidebar-user-copy strong,
.iin-ref-shell .sidebar-user-info strong {
  display: block;
  min-width: 0;
  color: #f8fafc;
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.iin-ref-shell .sidebar-user-copy span,
.iin-ref-shell .sidebar-user-info span {
  display: -webkit-box;
  min-width: 0;
  color: rgba(226, 232, 240, 0.72);
  font-size: 0.77rem;
  font-weight: 500;
  line-height: 1.35;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.iin-ref-shell .sidebar-user-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  align-self: center;
}

.iin-ref-shell #sidebarPhotoBtn.sidebar-photo-btn {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.96);
  color: #9f3155;
  box-shadow: 0 8px 18px rgba(8, 15, 28, 0.14);
}

.iin-ref-shell #sidebarPhotoBtn.sidebar-photo-btn:hover {
  background: #fff8fa;
  color: #7d1f3d;
  transform: translateY(-1px);
}

.iin-ref-shell #sidebarPhotoBtn.sidebar-photo-btn svg {
  width: 9px;
  height: 9px;
}

.iin-ref-shell #logoutBtn.sidebar-logout-btn {
  width: 38px;
  min-width: 38px;
  height: 38px;
  border-radius: 13px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.05);
  color: rgba(241, 245, 249, 0.8);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.iin-ref-shell #logoutBtn.sidebar-logout-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.1);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(8, 15, 28, 0.12);
}

@media (max-width: 980px) {
  .iin-ref-shell .sidebar-footer {
    padding: 15px 14px 17px;
    gap: 10px;
  }

  .iin-ref-shell .sidebar-user-main {
    gap: 12px;
    padding: 13px 14px;
  }

  .iin-ref-shell .sidebar-user-avatar-wrap,
  .iin-ref-shell .sidebar-user-avatar {
    width: 46px;
    min-width: 46px;
    height: 46px;
    min-height: 46px;
  }

  .iin-ref-shell .sidebar-user-copy strong {
    font-size: 0.92rem;
  }

  .iin-ref-shell .sidebar-user-copy span {
    font-size: 0.76rem;
  }

  .iin-ref-shell #logoutBtn.sidebar-logout-btn {
    width: 36px;
    min-width: 36px;
    height: 36px;
  }
}

@media (min-width: 981px) {
  body[data-sidebar="collapsed"] .shell-layout {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar {
    width: 76px;
    min-width: 76px;
  }

  body[data-sidebar="collapsed"][data-sidebar-hover="1"] .shell-layout,
  body[data-sidebar="collapsed"].sidebar-hover-expanded .shell-layout {
    grid-template-columns: 280px minmax(0, 1fr);
  }

  body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar,
  body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover {
    width: 280px;
    min-width: 280px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tab-btn {
    width: 100%;
    max-width: 56px;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
    min-height: 46px;
    padding-left: 8px;
    padding-right: 8px;
    gap: 0;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tab-icon {
    width: 22px;
    height: 22px;
    margin-left: auto;
    margin-right: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 22px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tab-icon svg {
    width: 22px;
    height: 22px;
    display: block;
  }

  body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .tab-btn,
  body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .tab-btn,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .tab-btn {
    max-width: none;
    justify-content: flex-start;
    padding-left: 18px;
    padding-right: 18px;
    gap: 14px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-brand-copy,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tab-label,
  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-user-copy,
  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-user-actions {
    opacity: 0;
    visibility: hidden;
    width: 0;
    max-width: 0;
    overflow: hidden;
    pointer-events: none;
    transform: translateX(-4px);
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-footer {
    display: flex;
    justify-content: center;
    padding-left: 8px;
    padding-right: 8px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-user-main {
    flex: 0 0 auto;
    width: auto;
    padding: 10px 8px;
    justify-content: center;
    border-radius: 18px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-user-avatar-wrap,
  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-user-avatar {
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-user-avatar-wrap {
    margin-left: auto;
    margin-right: auto;
    flex: 0 0 42px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-brand {
    justify-content: center;
    width: 100%;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-brand-block {
    padding-left: 8px;
    padding-right: 8px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-brand .logo {
    margin-left: auto;
    margin-right: auto;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tabs-bar.app-nav {
    padding-left: 8px;
    padding-right: 8px;
  }

  body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .sidebar-brand-copy,
  body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .tab-label,
  body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .sidebar-user-copy,
  body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .sidebar-user-actions,
  body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .sidebar-brand-copy,
  body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .tab-label,
  body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .sidebar-user-copy,
  body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .sidebar-user-actions,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-brand-copy,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .tab-label,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-user-copy,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-user-actions {
    opacity: 1;
    visibility: visible;
    width: auto;
    max-width: none;
    overflow: visible;
    pointer-events: auto;
    transform: none;
  }

  body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .sidebar-footer,
  body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .sidebar-footer,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-footer {
    justify-content: space-between;
    padding-left: 16px;
    padding-right: 16px;
  }

  body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .sidebar-user-main,
  body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .sidebar-user-main,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-user-main {
    flex: 1 1 auto;
    width: auto;
    justify-content: flex-start;
    padding: 14px 16px;
  }

  body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .tab-icon,
  body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .tab-icon,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .tab-icon {
    margin-left: 0;
    margin-right: 0;
  }
}

.records-premium {
  --records-premium-wine: #6f2338;
  --records-premium-wine-deep: #5a1a2b;
  --records-premium-ink: #1d2430;
  --records-premium-muted: #6e7989;
  --records-premium-paper: #f6f8fb;
  --records-premium-paper-strong: #eef2f7;
  --records-premium-line: #dce4ee;
  --records-premium-line-strong: #c7d2df;
  --records-premium-surface: #ffffff;
  --records-premium-surface-alt: #fbfcfe;
  --records-premium-success: #5b8c66;
  --records-premium-danger: #b14d4d;
  --records-premium-blue: #607da3;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

#tab-professor .records-premium__hero {
  display: none;
}

#tab-professor .records-premium__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.06);
  color: var(--records-premium-wine);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

#tab-professor .records-premium__eyebrow--soft {
  background: rgba(111, 35, 56, 0.08);
  border-color: rgba(111, 35, 56, 0.12);
  color: var(--records-premium-wine);
}

#tab-professor .records-premium__hero-copy h2 {
  margin: 12px 0 6px;
  color: #fff;
  font-size: clamp(1.75rem, 2.4vw, 2.4rem);
  line-height: 1.02;
}

#tab-professor .records-premium__hero-copy p {
  margin: 0;
  max-width: 520px;
  color: rgba(255, 245, 248, 0.76);
  font-size: 0.92rem;
  line-height: 1.45;
}

#tab-professor .records-premium__hero-actions,
#tab-professor .records-premium__filter-buttons,
#tab-professor .records-premium-detail__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

#tab-professor .records-premium__btn,
#tab-professor .records-premium__icon-btn {
  border: 1px solid transparent;
  border-radius: 14px;
  min-height: 42px;
  padding: 10px 16px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

#tab-professor .records-premium__icon-btn {
  width: 42px;
  height: 42px;
  padding: 0;
  display: grid;
  place-items: center;
  background: #fff;
  border-color: var(--records-premium-line);
  color: var(--records-premium-ink);
  box-shadow: 0 8px 16px rgba(15, 23, 42, 0.06);
}

#tab-professor .records-premium__btn:hover,
#tab-professor .records-premium__icon-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.08);
}

#tab-professor .records-premium__btn--primary {
  background: var(--records-premium-wine);
  color: #fff;
  box-shadow: 0 12px 24px rgba(111, 35, 56, 0.2);
}

#tab-professor .records-premium__btn--ghost {
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.24);
}

#tab-professor .records-premium__btn--soft {
  background: var(--records-premium-surface-alt);
  border-color: var(--records-premium-line);
  color: var(--records-premium-ink);
}

#tab-professor .records-premium__btn--dark {
  background: var(--records-premium-wine);
  color: #fff;
  box-shadow: 0 10px 22px rgba(111, 35, 56, 0.18);
}

#tab-professor .records-premium__kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0 16px;
}

#tab-professor .records-premium__kpi,
#tab-professor .records-premium__filters,
#tab-professor .records-premium-history-panel,
#tab-professor .records-premium-detail,
#tab-professor .records-premium-modal__dialog,
#tab-professor .no-class-panel {
  background: var(--records-premium-surface);
  border: 1px solid var(--records-premium-line);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
}

#tab-professor .records-premium__kpi {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fafbfd 100%);
}

#tab-professor .records-premium__kpi-icon {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(111, 35, 56, 0.08);
  color: var(--records-premium-wine);
  flex: 0 0 auto;
}

#tab-professor .records-premium__kpi-icon svg {
  width: 18px;
  height: 18px;
}

#tab-professor .records-premium__kpi strong {
  display: block;
  font-size: 1.45rem;
  line-height: 1;
  color: var(--records-premium-ink);
}

#tab-professor .records-premium__kpi span:last-child {
  display: block;
  margin-top: 3px;
  color: var(--records-premium-muted);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.72rem;
  font-weight: 700;
}

#tab-professor .records-premium__filters {
  border-radius: 20px;
  padding: 18px 20px;
}

#tab-professor .records-premium__filters-grid,
#tab-professor .records-premium-form,
#tab-professor .records-premium-detail__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px;
}

#tab-professor .records-premium__field {
  display: grid;
  gap: 5px;
  grid-column: span 3;
}

#tab-professor .records-premium__field--search {
  grid-column: span 6;
}

#tab-professor .records-premium__field--student,
#tab-professor .records-premium__field--full {
  grid-column: 1 / -1;
}

#tab-professor .records-premium__field span,
#tab-professor .records-premium__field > small {
  color: var(--records-premium-muted);
}

#tab-professor .records-premium__field span {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

#tab-professor .records-premium__field small,
#tab-professor .records-premium__hint,
#tab-professor .records-premium-history-panel__meta {
  font-size: 0.86rem;
  line-height: 1.35;
}

#tab-professor .records-premium__field input,
#tab-professor .records-premium__field select,
#tab-professor .records-premium__field textarea,
#tab-professor .records-premium-student-search > input {
  width: 100%;
  border: 1px solid #e4eaf1;
  border-radius: 14px;
  background: var(--records-premium-surface-alt);
  color: var(--records-premium-ink);
  min-height: 44px;
  padding: 10px 13px;
  font: inherit;
}

#tab-professor .records-premium__field textarea {
  min-height: 108px;
  resize: vertical;
}

#tab-professor .records-premium__field input:focus,
#tab-professor .records-premium__field select:focus,
#tab-professor .records-premium__field textarea:focus,
#tab-professor .records-premium-student-search > input:focus {
  outline: none;
  border-color: var(--records-premium-wine);
  box-shadow: 0 0 0 4px rgba(111, 35, 56, 0.08);
  background: #fff;
}

#tab-professor .records-premium__filter-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #eef2f6;
}

#tab-professor .records-premium__chips {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

#tab-professor .records-premium__chip {
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--records-premium-paper);
  color: #536173;
  padding: 8px 12px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

#tab-professor .records-premium__chip.is-active {
  background: var(--records-premium-wine);
  color: #fff;
  border-color: rgba(111, 35, 56, 0.18);
}

#tab-professor .records-premium-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
}

#tab-professor .records-premium-modal.hidden {
  display: none;
}

#tab-professor .records-premium-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(24, 28, 38, 0.42);
  backdrop-filter: blur(5px);
}

#tab-professor .records-premium-modal__dialog {
  position: relative;
  max-width: 860px;
  width: calc(100% - 32px);
  max-height: calc(100vh - 28px);
  margin: 24px auto;
  border-radius: 24px;
  overflow: auto;
}

#tab-professor .records-premium-modal__head,
#tab-professor .records-premium-modal__foot,
#tab-professor .records-premium-history-panel__head,
#tab-professor .records-premium-detail__head {
  padding: 20px 22px;
}

#tab-professor .records-premium-modal__head,
#tab-professor .records-premium-detail__head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

#tab-professor .records-premium-modal__head p,
#tab-professor .records-premium-detail__head p {
  margin: 8px 0 0;
  color: var(--records-premium-muted);
}

#tab-professor .records-premium-modal__close {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid var(--records-premium-line);
  background: #fff;
  color: var(--records-premium-ink);
  font-size: 1.35rem;
  cursor: pointer;
}

#tab-professor .records-premium-modal__body {
  padding: 0 22px 22px;
}

#tab-professor .records-premium__operational-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  grid-column: 1 / -1;
}

#tab-professor .records-operational-chip {
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid var(--records-premium-line);
  background: var(--records-premium-surface-alt);
}

#tab-professor .records-operational-chip span {
  display: block;
  margin-bottom: 6px;
  color: var(--records-premium-muted);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
}

#tab-professor .records-operational-chip strong {
  color: var(--records-premium-ink);
}

#tab-professor .records-premium-upload {
  position: relative;
  border: 1px dashed var(--records-premium-line-strong);
  border-radius: 20px;
  background: var(--records-premium-surface-alt);
  padding: 18px;
}

#tab-professor .records-premium-upload.is-dragover,
#tab-professor .records-premium-upload.is-filled {
  border-color: var(--records-premium-wine);
  background: rgba(111, 35, 56, 0.04);
}

#tab-professor .records-premium-upload input[type="file"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

#tab-professor .records-premium-upload__copy {
  display: grid;
  gap: 6px;
}

#tab-professor .records-premium-upload__meta,
#tab-professor .records-premium-upload__preview,
#tab-professor .records-premium-upload__preview span {
  color: var(--records-premium-muted);
}

#tab-professor .records-premium-upload__preview {
  margin-top: 12px;
  min-height: 72px;
  border-radius: 18px;
  border: 1px solid var(--records-premium-line);
  background: #fff;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 14px;
}

#tab-professor #teacherAbsFilePreview {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
}

#tab-professor .records-premium-upload__preview.empty {
  justify-content: flex-start;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#tab-professor .records-premium-upload__preview img {
  width: 88px;
  height: 88px;
  object-fit: cover;
  border-radius: 14px;
  flex: 0 0 auto;
}

#tab-professor .records-premium-upload__preview-badge {
  display: inline-flex;
  margin-bottom: 6px;
  color: var(--records-premium-wine);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

#tab-professor .records-premium-upload__preview-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
  flex: 1 1 auto;
}

#tab-professor .records-premium-upload__preview-copy strong {
  color: var(--records-premium-ink);
  word-break: break-word;
}

#tab-professor .records-premium-upload__preview-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: #f5ede0;
  color: var(--records-premium-wine);
  display: grid;
  place-items: center;
  font-weight: 700;
}

#tab-professor .records-premium-student-search {
  position: relative;
}

#tab-professor .records-premium-student-search__list {
  position: absolute;
  z-index: 6;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  padding: 8px;
  border-radius: 18px;
  border: 1px solid var(--records-premium-line);
  background: #fff;
  box-shadow: 0 20px 36px rgba(15, 23, 42, 0.12);
}

#tab-professor .records-premium-student-search__list.hidden {
  display: none;
}

#tab-professor .teacher-student-autocomplete__option,
#tab-professor .teacher-student-autocomplete__empty,
#tab-professor .records-premium-student-search__list button,
#tab-professor .records-premium-student-search__list div {
  width: 100%;
  border: 0;
  background: transparent;
  border-radius: 12px;
  padding: 10px 12px;
  text-align: left;
  font: inherit;
}

#tab-professor .records-premium-student-search__list button:hover,
#tab-professor .records-premium-student-search__list .is-active {
  background: var(--records-premium-paper);
}

#tab-professor .records-premium-history-panel {
  border-radius: 24px;
  overflow: hidden;
}

#tab-professor .records-premium-history-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid var(--records-premium-line);
}

#tab-professor .records-premium-history-panel__head h2,
#tab-professor .records-premium-detail__head h3,
#tab-professor .records-premium-modal__head h3 {
  margin: 0;
  color: var(--records-premium-ink);
}

#tab-professor .no-class-panel .panel-title-row {
  align-items: flex-start;
}

#tab-professor .no-class-panel .panel-title-row > div {
  display: grid;
  gap: 8px;
}

#tab-professor .no-class-panel .panel-title-row h2 {
  margin: 0;
}

#tab-professor .records-premium__tabs {
  display: inline-flex;
  gap: 6px;
  background: var(--records-premium-paper);
  padding: 5px;
  border-radius: 999px;
}

#tab-professor .records-premium__tabs button {
  border: 0;
  background: transparent;
  color: #5d6b7d;
  padding: 9px 14px;
  border-radius: 999px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

#tab-professor .records-premium__tabs .is-active {
  background: #fff;
  color: var(--records-premium-wine);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

#tab-professor .records-premium-history-panel__content {
  display: block;
}

#tab-professor .records-premium-history-panel__timeline {
  padding: 10px 0 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
  min-width: 0;
}

#tab-professor .records-premium-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

#tab-professor .records-timeline__item {
  position: relative;
  padding: 0 14px;
}

#tab-professor .records-timeline__item.is-active .records-timeline__card {
  background: #ffffff;
  border-color: rgba(111, 35, 56, 0.28);
  box-shadow: 0 16px 28px rgba(111, 35, 56, 0.08);
}

#tab-professor .records-timeline__card {
  border-radius: 16px;
  border: 1px solid var(--records-premium-line);
  background: #fff;
  padding: 16px 18px;
  margin: 10px 0 0;
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.04);
  cursor: default;
}

#tab-professor .records-timeline__card:hover {
  border-color: rgba(111, 35, 56, 0.18);
  box-shadow: 0 12px 22px rgba(15, 23, 42, 0.05);
}

#tab-professor .records-timeline__date-separator {
  margin: 18px 14px 8px;
}

#tab-professor .records-timeline__rail,
#tab-professor .records-timeline__dot,
#tab-professor .records-timeline__meta {
  display: none;
}

#tab-professor .records-timeline__summary,
#tab-professor .records-history-card__detail,
#tab-professor .records-history-card__detail-grid,
#tab-professor .records-history-card__detail-block,
#tab-professor .records-history-card__topline,
#tab-professor .records-history-card__meta-row,
#tab-professor .records-history-card__actions {
  display: grid;
  gap: 8px;
  min-width: 0;
}

#tab-professor .records-history-card__topline {
  grid-template-columns: repeat(2, max-content);
  align-items: center;
  gap: 8px;
}

#tab-professor .records-history-card__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

#tab-professor .records-history-card__fact {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--records-premium-line);
  background: var(--records-premium-surface-alt);
}

#tab-professor .records-history-card__fact small {
  color: var(--records-premium-muted);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#tab-professor .records-history-card__fact strong {
  color: var(--records-premium-ink);
  font-size: 0.85rem;
  line-height: 1.35;
  word-break: normal;
  overflow-wrap: break-word;
}

#tab-professor .records-history-card__title-row strong,
#tab-professor .records-premium-detail__grid strong,
#tab-professor .records-premium-detail__description,
#tab-professor .records-premium-detail__attachment {
  color: var(--records-premium-ink);
}

#tab-professor .records-history-card__title-row strong {
  display: block;
  font-size: 1rem;
  line-height: 1.35;
  word-break: normal;
  overflow-wrap: break-word;
}

#tab-professor .records-history-card__pill,
#tab-professor .records-history-card__meta-pill {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--records-premium-paper);
  border: 1px solid var(--records-premium-line);
  color: var(--records-premium-muted);
  font-size: 0.8rem;
}

#tab-professor .records-history-card__meta-row {
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 8px;
  align-items: stretch;
}

#tab-professor .records-history-card__meta-pill {
  justify-content: flex-start;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  gap: 4px;
  padding: 8px 12px;
}

#tab-professor .records-history-card__meta-pill strong,
#tab-professor .records-history-card__meta-pill small {
  display: block;
}

#tab-professor .records-history-card__meta-pill--attachment {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 140px;
}

#tab-professor .records-history-card__meta-pill--attachment svg {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}

#tab-professor .records-history-card__meta-pill--attachment.is-available {
  color: var(--records-premium-wine);
  border-color: rgba(111, 35, 56, 0.18);
  background: rgba(111, 35, 56, 0.06);
}

#tab-professor .records-history-card__actions {
  grid-template-columns: max-content;
  align-items: center;
  gap: 10px;
}

#tab-professor .records-history-card__toggle {
  min-width: 134px;
}

#tab-professor .records-timeline__card-body {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

#tab-professor .records-timeline__summary p {
  margin: 0;
  color: #465264;
  font-size: 0.9rem;
  line-height: 1.45;
  word-break: normal;
  overflow-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#tab-professor .records-history-card__detail {
  margin: 0 14px 10px;
  padding: 16px 18px 18px;
  border: 1px solid var(--records-premium-line);
  border-top: 0;
  border-radius: 0 0 16px 16px;
  background: #fcfdff;
  box-shadow: inset 0 1px 0 rgba(220, 228, 238, 0.72);
}

#tab-professor .records-history-card__detail-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

#tab-professor .records-history-card__detail-grid article {
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--records-premium-line);
  background: var(--records-premium-surface-alt);
}

#tab-professor .records-history-card__detail-grid span,
#tab-professor .records-history-card__detail-grid strong {
  display: block;
}

#tab-professor .records-history-card__detail-grid span {
  margin-bottom: 6px;
  color: var(--records-premium-muted);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.75rem;
  font-weight: 700;
}

#tab-professor .records-history-card__detail-block {
  gap: 10px;
}

#tab-professor .records-history-card__detail-block p,
#tab-professor .records-history-card__detail-block > .records-attachment-preview,
#tab-professor .records-history-card__detail-block > .records-timeline__attachment-link {
  border-radius: 20px;
  border: 1px solid var(--records-premium-line);
  background: var(--records-premium-surface-alt);
  padding: 18px 20px;
  color: #465264;
  line-height: 1.6;
  margin: 0;
}

#tab-professor .records-history-card__detail-block > .records-timeline__attachment-link {
  display: inline-flex;
  width: fit-content;
}

#tab-professor .records-history-card__detail-block h4 {
  margin: 0 0 10px;
  color: var(--records-premium-ink);
  font-size: 0.95rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

#tab-professor .records-premium-detail {
  display: none !important;
}

#tab-professor .records-attachment-preview {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

#tab-professor .records-attachment-preview__icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(111, 35, 56, 0.08);
  color: var(--records-premium-wine);
}

#tab-professor .records-attachment-preview__thumb {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  overflow: hidden;
  display: block;
  background: rgba(111, 35, 56, 0.08);
}

#tab-professor .records-attachment-preview__thumb--button {
  border: 0;
  padding: 0;
  cursor: zoom-in;
}

#tab-professor .records-attachment-preview__thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

#tab-professor .records-attachment-preview__icon svg {
  width: 18px;
  height: 18px;
}

#tab-professor .records-attachment-preview__copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

#tab-professor .records-attachment-preview__copy strong,
#tab-professor .records-attachment-preview__copy span,
#tab-professor .records-attachment-preview small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#tab-professor .records-attachment-preview__copy strong {
  font-size: 0.84rem;
}

#tab-professor .records-attachment-preview__copy span,
#tab-professor .records-attachment-preview small {
  color: var(--records-premium-muted);
  font-size: 0.78rem;
}

#tab-professor .records-attachment-preview--empty {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0;
  color: var(--records-premium-muted);
}

#tab-professor .records-premium-detail__attachment {
  display: grid;
  gap: 12px;
}

.records-image-lightbox__content {
  width: min(960px, 100%);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}

.records-image-lightbox__body {
  display: grid;
  place-items: center;
  min-height: 320px;
}

.records-image-lightbox__body img {
  max-width: 100%;
  max-height: calc(90vh - 120px);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 18px;
  background: #fff;
}

#tab-professor .records-premium-detail__attachment .records-timeline__attachment-link {
  justify-self: start;
}

#tab-professor .records-timeline__attachment-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 11px;
  border: 1px solid var(--records-premium-line);
  background: #fff;
  color: var(--records-premium-wine);
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
}

#tab-professor .records-timeline__attachment-link--muted {
  color: var(--records-premium-muted);
  background: var(--records-premium-paper);
}

#tab-professor .records-premium-history-panel__meta,
#tab-professor #teacherAbsStatus,
#tab-professor #noClassStatus {
  color: var(--records-premium-muted);
}

#tab-professor .records-premium-composer-panel {
  display: grid;
  gap: 14px;
  padding: 20px 24px 22px;
}

#tab-professor .records-premium-composer__head,
#tab-professor .records-premium-composer__callout {
  display: grid;
  gap: 10px;
  align-items: center;
}

#tab-professor .records-premium-composer__head {
  grid-template-columns: minmax(0, 1fr) auto;
}

#tab-professor .records-premium-composer__head h2,
#tab-professor .records-premium-composer__callout strong {
  margin: 0;
  color: var(--records-premium-ink);
}

#tab-professor .records-premium-composer__head p,
#tab-professor .records-premium-composer__callout p {
  margin: 6px 0 0;
  color: var(--records-premium-muted);
}

#tab-professor .records-premium-composer__switch {
  display: inline-grid;
  grid-auto-flow: column;
  gap: 8px;
  padding: 6px;
  border-radius: 999px;
  background: var(--records-premium-paper);
  border: 1px solid var(--records-premium-line);
}

#tab-professor .records-premium-composer__switch button {
  min-height: 38px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--records-premium-muted);
  font-weight: 700;
}

#tab-professor .records-premium-composer__switch button.is-active {
  background: #fff;
  color: var(--records-premium-wine);
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.08);
}

#tab-professor .records-premium-composer__body {
  display: grid;
  gap: 12px;
}

#tab-professor .records-premium-history-panel__content {
  display: block;
  padding: 10px 0 18px;
}

#tab-professor .no-class-panel {
  border-radius: 22px;
  padding: 16px 18px 18px;
  box-shadow: none;
}

#tab-professor .no-class-panel .panel-title-row {
  margin-bottom: 8px;
}

#tab-professor .no-class-panel .grid-form.two {
  display: grid;
  grid-template-columns: 220px 260px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

#tab-professor .no-class-form-grid__field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

#tab-professor .no-class-form-grid__field--date {
  grid-column: 1;
}

#tab-professor .no-class-form-grid__field--nucleus {
  grid-column: 2;
}

#tab-professor .no-class-form-grid__field--schedule {
  grid-column: 3;
}

#tab-professor .no-class-form-grid__field--reason {
  grid-column: 1 / -1;
}

#tab-professor .no-class-panel label > input,
#tab-professor .no-class-panel label > select,
#tab-professor .no-class-panel label > textarea {
  width: 100%;
  border: 1px solid var(--records-premium-line);
  border-radius: 14px;
  background: var(--records-premium-surface-alt);
  padding: 11px 14px;
  min-height: 44px;
  box-sizing: border-box;
}

#tab-professor .no-class-panel label > textarea {
  min-height: 92px;
  resize: vertical;
}

#tab-professor .no-class-panel .field-help {
  margin: 0;
  min-height: 18px;
  font-size: 0.76rem;
}

#tab-professor .no-class-panel .toolbar {
  margin-top: 8px;
}

#tab-professor .no-class-panel .primary {
  min-height: 44px;
  padding-inline: 18px;
}

#tab-professor .no-class-schedule-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 0;
}

#tab-professor .no-class-schedule-preview.empty {
  padding: 9px 12px;
  border-radius: 12px;
  font-size: 0.78rem;
}

#tab-professor .no-class-schedule-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(111, 35, 56, 0.12);
  background: rgba(111, 35, 56, 0.06);
  color: var(--records-premium-wine);
  font-weight: 700;
  font-size: 0.72rem;
  white-space: nowrap;
}

#tab-professor .no-class-schedule-chip.is-active {
  border-color: rgba(111, 35, 56, 0.24);
  background: rgba(111, 35, 56, 0.12);
}

#tab-professor .no-class-panel__footnote {
  margin: 10px 0 0;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--records-premium-line);
  background: var(--records-premium-surface-alt);
  color: var(--records-premium-muted);
  font-size: 0.85rem;
  line-height: 1.45;
}

#tab-professor .records-timeline,
#tab-professor .records-premium-list {
  width: 100%;
}

#tab-professor .records-timeline__item {
  padding: 0 18px;
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  width: 100%;
}

#tab-professor .records-timeline__card {
  width: 100%;
  margin-top: 12px;
}

#tab-professor .records-timeline__item > .records-timeline__rail,
#tab-professor .records-timeline__item::before,
#tab-professor .records-timeline__item::after,
#tab-professor .records-timeline__rail,
#tab-professor .records-timeline__rail::after,
#tab-professor .records-timeline__dot {
  display: none !important;
  content: none !important;
}

#tab-professor .records-history-card__topline {
  grid-template-columns: repeat(3, max-content);
  align-items: center;
  gap: 8px;
}

#tab-professor .records-history-card__meta-row {
  grid-template-columns: minmax(0, 1.4fr) minmax(140px, max-content);
  align-items: stretch;
}

#tab-professor .records-history-card__meta-pill {
  justify-content: flex-start;
  padding: 8px 12px;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  gap: 2px;
  word-break: normal;
  overflow-wrap: break-word;
}

#tab-professor .records-history-card__meta-pill small,
#tab-professor .records-history-card__meta-pill strong {
  display: block;
}

#tab-professor .records-history-card__meta-pill small {
  color: var(--records-premium-muted);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#tab-professor .records-history-card__meta-pill strong {
  color: var(--records-premium-ink);
  font-size: 0.83rem;
  line-height: 1.3;
}

#tab-professor .records-history-card__actions {
  grid-template-columns: max-content;
}

#tab-professor .records-history-card__toggle {
  min-width: 148px;
}

#tab-professor .records-history-card__detail {
  margin: 0 18px 12px;
}

#tab-professor .records-history-card__detail[hidden] {
  display: none !important;
}

#tab-professor [data-legacy-no-class="true"],
#tab-professor .teacher-record-panel--premium,
#tab-professor #adminNoClassHost.records-no-class-modal,
#tab-professor .records-premium-detail,
#tab-professor .records-premium-history-panel__timeline {
  display: none !important;
}

#tab-professor .records-premium-hero-panel {
  padding-top: 6px;
}

#tab-professor .records-premium__kpis {
  gap: 10px;
  margin: 10px 0 12px;
}

#tab-professor .records-premium__kpi {
  min-height: 82px;
  padding: 12px 14px;
  gap: 10px;
}

#tab-professor .records-premium__kpi > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

#tab-professor .records-premium__kpi-icon {
  width: 36px;
  height: 36px;
  border-radius: 12px;
}

#tab-professor .records-premium__kpi strong {
  font-size: 1.32rem;
}

#tab-professor .records-premium__kpi span:last-child {
  margin-top: 0;
  line-height: 1.2;
}

#tab-professor .records-premium__filters {
  border-radius: 18px;
  padding: 15px 16px;
}

#tab-professor .records-premium__filters-grid,
#tab-professor .records-premium-form,
#tab-professor .records-premium-detail__grid {
  gap: 10px 12px;
}

#tab-professor .records-premium__field,
#tab-professor .no-class-form-grid__field {
  gap: 4px;
}

#tab-professor .records-premium__field span {
  font-size: 0.74rem;
  letter-spacing: 0.08em;
}

#tab-professor .records-premium__field input,
#tab-professor .records-premium__field select,
#tab-professor .records-premium__field textarea,
#tab-professor .records-premium-student-search > input,
#tab-professor .no-class-panel label > input,
#tab-professor .no-class-panel label > select,
#tab-professor .no-class-panel label > textarea {
  min-height: 40px;
  padding: 8px 12px;
}

#tab-professor .records-premium__field textarea,
#tab-professor .no-class-panel label > textarea {
  min-height: 84px;
}

#tab-professor .records-premium__filter-actions {
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
}

#tab-professor .records-premium__chips {
  gap: 8px;
}

#tab-professor .records-premium__chip {
  min-height: 38px;
  padding: 7px 11px;
}

#tab-professor .records-premium__btn,
#tab-professor .records-premium__icon-btn {
  min-height: 40px;
  padding: 9px 14px;
  border-radius: 12px;
}

#tab-professor .records-premium__filters .records-premium__btn--ghost {
  background: #fff;
  color: var(--records-premium-wine);
  border-color: rgba(111, 35, 56, 0.2);
  box-shadow: none;
}

#tab-professor .records-premium__filters .records-premium__btn--primary,
#tab-professor .records-premium__filters .records-premium__btn--dark {
  box-shadow: 0 8px 18px rgba(111, 35, 56, 0.16);
}

#tab-professor .records-premium-composer-panel {
  gap: 12px;
  padding: 16px 20px 18px;
}

#tab-professor .records-premium-composer__head,
#tab-professor .records-premium-composer__callout {
  gap: 8px;
}

#tab-professor .records-premium-history-panel {
  border-radius: 20px;
}

#tab-professor .records-premium-history-panel__head,
#tab-professor .records-premium-modal__head,
#tab-professor .records-premium-modal__foot,
#tab-professor .records-premium-detail__head {
  padding: 18px 20px;
}

#tab-professor .records-premium-history-panel__content {
  padding: 6px 0 14px;
}

#tab-professor .records-premium__tabs {
  gap: 4px;
  padding: 4px;
}

#tab-professor .records-premium__tabs button {
  padding: 8px 13px;
}

#tab-professor .no-class-panel {
  padding: 14px 16px 16px;
}

#tab-professor .no-class-panel .grid-form.two {
  gap: 10px;
}

#tab-professor .no-class-panel .field-help {
  min-height: 16px;
}

#tab-professor .no-class-panel .toolbar {
  margin-top: 6px;
}

#tab-professor .no-class-panel .primary {
  min-height: 40px;
  padding-inline: 16px;
}

#tab-professor .no-class-schedule-preview {
  gap: 5px;
}

#tab-professor .no-class-schedule-chip {
  min-height: 24px;
  padding: 0 9px;
  font-size: 0.7rem;
}

#tab-professor .no-class-panel__footnote {
  margin-top: 8px;
  padding: 10px 12px;
  font-size: 0.82rem;
}

#tab-professor .records-timeline__item {
  padding: 0 16px;
}

#tab-professor .records-timeline__card {
  margin-top: 10px;
  padding: 14px 16px;
  border-radius: 15px;
}

#tab-professor .records-timeline__card-body {
  gap: 10px;
  margin-top: 10px;
}

#tab-professor .records-history-card__topline {
  gap: 6px;
}

#tab-professor .records-history-card__pill,
#tab-professor .records-history-card__meta-pill {
  min-height: 28px;
  font-size: 0.78rem;
}

#tab-professor .records-history-card__facts {
  gap: 7px;
}

#tab-professor .records-history-card__fact {
  padding: 8px 10px;
  border-radius: 12px;
}

#tab-professor .records-history-card__fact strong {
  font-size: 0.82rem;
  line-height: 1.3;
}

#tab-professor .records-history-card__title-row strong {
  font-size: 0.96rem;
  line-height: 1.3;
}

#tab-professor .records-timeline__summary p {
  font-size: 0.88rem;
  line-height: 1.42;
}

#tab-professor .records-history-card__meta-row {
  gap: 7px;
}

#tab-professor .records-history-card__meta-pill {
  padding: 7px 10px;
}

#tab-professor .records-history-card__meta-pill--attachment {
  min-width: 128px;
}

#tab-professor .records-history-card__actions {
  justify-content: start;
}

#tab-professor .records-history-card__toggle {
  min-width: 136px;
  justify-self: start;
}

#tab-professor .records-history-card__detail {
  margin: 0 16px 10px;
  padding: 14px 16px 16px;
}

#tab-professor .records-history-card__detail-grid {
  gap: 8px;
}

#tab-professor .records-history-card__detail-grid article {
  padding: 10px 12px;
  border-radius: 14px;
}

#tab-professor .records-history-card__detail-grid span {
  margin-bottom: 4px;
  font-size: 0.71rem;
}

#tab-professor .records-history-card__detail-block {
  gap: 8px;
}

#tab-professor button.records-attachment-preview[data-history-image-src] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: auto;
  padding: 6px 0;
  text-align: center;
  background: transparent;
  box-shadow: none;
}

#tab-professor button.records-attachment-preview[data-history-image-src] img {
  width: 72px;
  height: 72px;
  max-width: 72px;
  max-height: 72px;
  border-radius: 10px;
  object-fit: cover;
  margin: 0 auto;
}

#tab-professor button.records-attachment-preview[data-history-image-src] span {
  font-size: 11px;
  line-height: 1.2;
  text-align: center;
}

#tab-professor .records-history-card__detail-block h4 {
  margin: 0 0 8px;
  font-size: 0.9rem;
}

#tab-professor .records-history-card__detail-block p,
#tab-professor .records-history-card__detail-block > .records-attachment-preview,
#tab-professor .records-history-card__detail-block > .records-timeline__attachment-link {
  padding: 14px 16px;
  border-radius: 16px;
}

#tab-professor .records-badge--sem-aula,
#tab-professor .records-timeline__card .records-badge--sem-aula + .records-history-card__pill {
  border-color: rgba(111, 35, 56, 0.2);
  background: rgba(111, 35, 56, 0.08);
  color: var(--records-premium-wine);
}

@media (max-width: 1180px) {
  #tab-professor .records-premium__hero,
  #tab-professor .records-premium-history-panel__head,
  #tab-professor .records-premium__filter-actions,
  #tab-professor .records-premium-composer__head,
  #tab-professor .records-premium-composer__callout {
    grid-template-columns: 1fr;
    display: grid;
  }

  #tab-professor .records-premium__kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #tab-professor .records-premium__field {
    grid-column: span 6;
  }

  #tab-professor .records-premium__field--search,
  #tab-professor .records-premium__field--student,
  #tab-professor .records-premium__field--full {
    grid-column: 1 / -1;
  }

  #tab-professor .records-premium__filter-actions {
    align-items: stretch;
  }

  #tab-professor .records-premium__filter-buttons {
    justify-content: flex-start;
  }

  #tab-professor .no-class-panel .grid-form.two {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  #tab-professor .no-class-form-grid__field--date {
    grid-column: 1;
  }

  #tab-professor .no-class-form-grid__field--nucleus,
  #tab-professor .no-class-form-grid__field--schedule,
  #tab-professor .no-class-form-grid__field--reason {
    grid-column: 1 / -1;
  }

  #tab-professor .records-history-card__detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #tab-professor .records-history-card__facts,
  #tab-professor .records-history-card__meta-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  #tab-professor .records-premium__hero,
  #tab-professor .records-premium__filters,
  #tab-professor .records-premium-modal__head,
  #tab-professor .records-premium-modal__body,
  #tab-professor .records-premium-modal__foot,
  #tab-professor .records-premium-history-panel__head,
  #tab-professor .records-premium-detail__head,
  #tab-professor .records-premium-detail__body,
  #tab-professor .no-class-panel {
    padding: 20px;
  }

  #tab-professor .records-premium__kpis,
  #tab-professor .records-premium__filters-grid,
  #tab-professor .records-premium-form,
  #tab-professor .records-premium-detail__grid,
  #tab-professor .no-class-panel .grid-form.two {
    grid-template-columns: 1fr;
  }

  #tab-professor .records-premium__field,
  #tab-professor .records-premium-detail__grid article {
    grid-column: 1 / -1;
  }

  #tab-professor .no-class-form-grid__field--date,
  #tab-professor .no-class-form-grid__field--nucleus,
  #tab-professor .no-class-form-grid__field--schedule,
  #tab-professor .no-class-form-grid__field--reason {
    grid-column: 1 / -1;
  }

  #tab-professor .records-premium__hero-actions,
  #tab-professor .records-premium__filter-buttons,
  #tab-professor .records-premium__tabs,
  #tab-professor .records-premium-composer__switch {
    width: 100%;
  }

  #tab-professor .records-premium__btn,
  #tab-professor .records-premium__tabs button,
  #tab-professor .records-premium-composer__switch button {
    justify-content: center;
    width: 100%;
  }

  #tab-professor .records-premium__filters .records-premium__btn--ghost {
    justify-content: center;
  }

  #tab-professor .no-class-panel .toolbar,
  #tab-professor .no-class-panel .primary {
    width: 100%;
  }

  #tab-professor .records-premium__hero-copy p {
    max-width: none;
  }

  #tab-professor .records-history-card__topline,
  #tab-professor .records-history-card__facts,
  #tab-professor .records-history-card__meta-row,
  #tab-professor .records-history-card__detail-grid,
  #tab-professor .records-history-card__actions {
    grid-template-columns: 1fr;
  }

  #tab-professor .records-history-card__meta-pill,
  #tab-professor .records-history-card__pill {
    justify-content: flex-start;
  }

  #tab-professor .records-timeline__item,
  #tab-professor .records-history-card__detail {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }

  #tab-professor .records-attachment-preview {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  #tab-professor .records-attachment-preview small {
    grid-column: 2;
  }

  #tab-professor .records-history-card__detail {
    margin-top: 0;
  }
}

/* =========================
   LOGIN GLASS PREMIUM
========================= */
#loginScreen.login-screen {
  padding: 12px 16px;
  background:
    radial-gradient(circle at 15% 18%, rgba(209, 224, 255, 0.34), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(255, 241, 227, 0.28), transparent 24%),
    linear-gradient(135deg, rgba(11, 16, 28, 0.32), rgba(55, 45, 50, 0.18));
}

#loginScreen.login-screen::before {
  inset: -24%;
  background:
    radial-gradient(circle at 16% 20%, rgba(214, 231, 255, 0.38), transparent 28%),
    radial-gradient(circle at 78% 14%, rgba(255, 245, 238, 0.24), transparent 22%),
    radial-gradient(circle at 85% 76%, rgba(255, 213, 195, 0.18), transparent 26%),
    linear-gradient(135deg, rgba(44, 52, 66, 0.26) 0%, rgba(108, 116, 129, 0.22) 46%, rgba(49, 51, 61, 0.28) 100%);
  filter: blur(20px) saturate(1.08);
}

#loginScreen .login-video {
  transform: scale(1.04);
  filter: saturate(0.8) contrast(1.04) brightness(0.92);
}

#loginScreen .login-video-overlay {
  background:
    linear-gradient(135deg, rgba(7, 12, 22, 0.34) 0%, rgba(240, 242, 247, 0.14) 42%, rgba(132, 109, 102, 0.18) 100%),
    radial-gradient(circle at 20% 18%, rgba(255, 255, 255, 0.18), transparent 24%),
    radial-gradient(circle at 82% 78%, rgba(255, 244, 236, 0.12), transparent 28%);
}

#loginScreen .login-card.login-card--glass {
  position: relative;
  overflow: hidden;
  width: min(92vw, 468px);
  padding: clamp(16px, 2.2vw, 22px) clamp(16px, 2.6vw, 20px);
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: linear-gradient(180deg, rgba(250, 252, 255, 0.5) 0%, rgba(246, 248, 253, 0.36) 100%);
  box-shadow:
    0 32px 80px rgba(13, 18, 30, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    inset 0 -1px 0 rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(26px) saturate(1.2);
  -webkit-backdrop-filter: blur(26px) saturate(1.2);
}

#loginScreen .login-card__sheen {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(125deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0.08) 24%, transparent 48%),
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.32), transparent 34%);
  opacity: 0.92;
}

#loginScreen .login-brand {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 2px;
  margin: 0 auto;
  text-align: center;
}

#loginScreen .login-brand .logo {
  width: clamp(40px, 4.2vw, 50px);
  height: clamp(40px, 4.2vw, 50px);
  filter: drop-shadow(0 8px 18px rgba(15, 23, 42, 0.12));
}

#loginScreen .login-brand-copy {
  display: grid;
  justify-items: center;
  gap: 4px;
  max-width: 360px;
}

#loginScreen .login-brand .eyebrow {
  margin: 0;
  font-size: clamp(0.64rem, 0.95vw, 0.74rem);
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #8d1323;
}

#loginScreen .login-brand h1 {
  margin: 0;
  max-width: none;
  font-size: 0;
  line-height: 0;
  font-weight: 800;
  letter-spacing: -0.06em;
  color: #111a2d !important;
  text-wrap: balance;
  position: relative;
  color: transparent !important;
  min-height: 0;
  height: auto;
}

#loginScreen .login-brand h1::before {
  content: "Acesse sua conta";
  position: relative;
  inset: auto;
  color: #111a2d;
  display: block;
  font-size: clamp(1.42rem, 2.55vw, 1.92rem);
  line-height: 0.98;
  font-weight: 700;
  letter-spacing: -0.045em;
  padding-top: 10px;
}

#loginScreen .login-brand h1::after {
  content: "";
  display: block;
  width: 18px;
  height: 1px;
  margin: 8px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(17, 26, 45, 0), rgba(17, 26, 45, 0.16), rgba(17, 26, 45, 0));
}

#loginScreen .login-brand .sub {
  margin: 0;
  max-width: none;
  font-size: 0;
  line-height: 0;
  color: transparent !important;
  position: relative;
  min-height: 0;
  height: 0;
}

#loginScreen .login-brand .sub::before {
  content: none;
}

#loginScreen #loginForm {
  position: relative;
  z-index: 1;
  gap: 6px;
  max-width: 100%;
  margin: 14px auto 0;
}

#loginScreen .login-field {
  display: grid;
  gap: 4px;
  margin: 0;
  font-size: clamp(0.8rem, 1.1vw, 0.88rem);
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #42536b;
}

#loginScreen .login-project-badge {
  align-items: center;
  gap: 10px;
  min-height: 62px;
  padding: 8px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.58);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.42) 0%, rgba(239, 244, 252, 0.3) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.8),
    0 12px 30px rgba(17, 26, 45, 0.08);
}

#loginScreen .login-project-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  color: #b51d2f;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.62) 0%, rgba(255, 240, 242, 0.68) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

#loginScreen .login-project-texts {
  gap: 2px;
}

#loginScreen #loginProjectTitle {
  font-size: clamp(1rem, 1.6vw, 1.12rem);
  font-weight: 800;
  line-height: 1;
  color: #142238;
}

#loginScreen #loginProjectSubtitle {
  font-size: clamp(0.72rem, 1.02vw, 0.8rem);
  line-height: 1.22;
  color: rgba(78, 91, 112, 0.86);
}

#loginScreen .grid-form select,
#loginScreen .grid-form input {
  width: 100%;
  min-height: clamp(44px, 4vw, 48px);
  border-radius: 14px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.62);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.46) 0%, rgba(243, 246, 252, 0.34) 100%);
  color: #182438;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 10px 28px rgba(17, 26, 45, 0.06);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

#loginScreen .grid-form select {
  padding-right: 42px;
}

#loginScreen .grid-form input::placeholder {
  color: rgba(83, 96, 117, 0.8);
  font-size: clamp(0.88rem, 1vw, 0.94rem);
}

#loginScreen .grid-form input:hover,
#loginScreen .grid-form select:hover {
  border-color: rgba(255, 255, 255, 0.82);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    0 14px 34px rgba(17, 26, 45, 0.08);
}

#loginScreen .grid-form input:focus,
#loginScreen .grid-form select:focus {
  border-color: rgba(194, 28, 49, 0.36);
  box-shadow:
    0 0 0 4px rgba(194, 28, 49, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    0 18px 40px rgba(17, 26, 45, 0.08);
}

#loginScreen .login-input-shell {
  position: relative;
}

#loginScreen .login-input-icon {
  position: absolute;
  left: 18px;
  top: 50%;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(71, 83, 103, 0.88);
  transform: translateY(-50%);
  pointer-events: none;
}

#loginScreen .input-icon input,
#loginScreen .login-password-input {
  padding-left: 46px !important;
}

#loginScreen .login-password-input {
  padding-right: 46px !important;
}

#loginScreen .login-password-toggle {
  right: 10px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: rgba(31, 41, 55, 0.88);
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  padding: 0;
}

#loginScreen .login-password-toggle:hover {
  background: transparent;
  color: #182438;
  box-shadow: none;
  transform: translateY(-50%);
}

#loginScreen .login-password-toggle:focus-visible {
  outline: none;
  box-shadow: none;
  background: transparent;
}

#loginScreen .login-password-toggle svg {
  width: 20px;
  height: 20px;
}

#loginScreen .primary[type="submit"] {
  min-height: clamp(46px, 4.2vw, 50px);
  margin-top: 2px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.44);
  font-size: clamp(0.94rem, 1.1vw, 1rem);
  font-weight: 800;
  background: linear-gradient(135deg, #a11226 0%, #c51f38 42%, #d83d58 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 20px 40px rgba(161, 18, 38, 0.28);
}

#loginScreen .primary[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.34),
    0 24px 46px rgba(161, 18, 38, 0.32);
}

#loginScreen #loginMessage {
  min-height: 14px;
  margin-top: 0;
  text-align: center;
  font-size: clamp(0.78rem, 1.2vw, 0.86rem);
}

#loginScreen .login-card__footer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  padding-top: 16px;
  border-top: 1px solid rgba(79, 92, 114, 0.12);
}

#loginScreen .login-card__trust {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

#loginScreen .login-card__version {
  display: none;
}

#loginScreen .login-card__version::before {
  content: none;
}

@media (max-width: 768px) {
  #loginScreen .login-card.login-card--glass {
    width: min(92vw, 480px);
    padding: 18px 16px;
    border-radius: 20px;
  }

  #loginScreen .login-brand h1 {
    font-size: 0;
    max-width: none;
  }

  #loginScreen .login-brand h1::before {
    font-size: clamp(1.4rem, 6vw, 1.8rem);
    padding-top: 8px;
  }

  #loginScreen .login-brand .logo {
    width: 44px;
    height: 44px;
  }

  #loginScreen .login-brand {
    gap: 2px;
    margin-bottom: 0;
  }

  #loginScreen .login-project-badge {
    min-height: auto;
    padding: 10px 12px;
    gap: 10px;
  }

  #loginScreen .login-project-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }

  #loginScreen #loginProjectTitle {
    font-size: 0.98rem;
  }

  #loginScreen.login-screen {
    padding: 18px 14px;
  }

  #loginScreen .login-brand .eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.18em;
  }

  #loginScreen .login-brand h1::after {
    width: 16px;
    margin-top: 8px;
  }

  #loginScreen .login-brand .sub {
    font-size: 0;
  }

  #loginScreen .login-brand .sub::before {
    content: none;
  }

  #loginScreen #loginProjectSubtitle {
    font-size: 0.72rem;
  }

  #loginScreen .grid-form select,
  #loginScreen .grid-form input,
  #loginScreen .primary[type="submit"] {
    min-height: 48px;
    border-radius: 14px;
  }

  #loginScreen .login-card__footer {
    gap: 8px;
    font-size: 0.84rem;
    padding-top: 12px;
  }

  #loginScreen .login-card__version {
    display: none;
  }

  #loginScreen .login-card__version::before {
    display: none;
  }
}

@media (max-height: 760px) {
  #loginScreen.login-screen {
    padding: 10px 16px;
    align-items: center;
  }

  #loginScreen .login-card.login-card--glass {
    width: min(92vw, 460px);
    padding: 16px 18px;
    border-radius: 20px;
  }

  #loginScreen .login-brand {
    gap: 6px;
    margin-bottom: 10px;
  }

  #loginScreen .login-brand .logo {
    width: 40px;
    height: 40px;
  }

  #loginScreen .login-brand h1 {
    font-size: clamp(1.5rem, 3.4vw, 2rem);
  }

  #loginScreen .login-brand h1::before {
    font-size: clamp(1.28rem, 2.7vw, 1.62rem);
  }

  #loginScreen .login-brand h1::after {
    width: 46px;
    margin-top: 6px;
  }

  #loginScreen .login-brand .sub {
    font-size: 0.72rem;
    line-height: 1.18;
  }

  #loginScreen .login-brand .sub::before {
    font-size: 0.8rem;
  }

  #loginScreen #loginForm {
    gap: 6px;
  }

  #loginScreen .login-project-badge {
    min-height: 68px;
    padding: 8px 10px;
  }

  #loginScreen .grid-form select,
  #loginScreen .grid-form input,
  #loginScreen .primary[type="submit"] {
    min-height: 44px;
  }

}

#tab-professor #adminNoClassHost.records-no-class-modal:not([data-open="true"]) {
  display: none !important;
}

#tab-professor #adminNoClassHost.records-no-class-modal[data-open="true"] {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid !important;
  place-items: center;
  padding: 24px;
  background: rgba(23, 16, 22, 0.58);
  backdrop-filter: blur(16px);
}

#tab-professor #adminNoClassHost.records-no-class-modal > .panel,
#tab-professor #adminNoClassHost.records-no-class-modal > section.panel {
  width: min(960px, 92vw);
  max-height: calc(100vh - 48px);
  margin: 0;
  overflow: auto;
  border-radius: 28px;
  box-shadow: 0 28px 64px rgba(25, 15, 20, 0.28);
}

#tab-professor #adminNoClassHost.records-no-class-modal .panel-title-row {
  align-items: center;
}

#tab-professor .records-no-class-modal__close {
  margin-left: auto;
  flex: 0 0 auto;
}

#tab-professor .records-premium__kpi.is-actionable {
  cursor: default;
  transition: none;
}

#tab-professor .records-premium__kpi.is-actionable:hover,
#tab-professor .records-premium__kpi.is-actionable:focus-within {
  transform: none;
  border-color: var(--records-premium-line);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
}

#tab-professor #adminNoClassHost.records-no-class-modal,
#tab-professor .records-no-class-modal__close {
  display: none !important;
}


/* ===== Central de Notificações | Refinamento final compacto ===== */
.iin-topbar-notifications-panel {
  width: min(440px, calc(100vw - 24px));
}

.iin-topbar-notifications-panel .iin-topbar-panel-head {
  gap: 12px;
  padding: 16px 18px 10px;
}

.iin-topbar-notifications-panel .iin-topbar-panel-head h3 {
  font-size: 1.68rem;
  line-height: 1;
}

.iin-topbar-notifications-panel .iin-topbar-panel-eyebrow {
  margin: 0 0 4px;
  font-size: 0.74rem;
}

.iin-topbar-notifications-panel .iin-topbar-panel-link {
  font-size: 0.76rem;
  padding: 6px 10px;
  border-radius: 16px;
}

.iin-topbar-notifications-filters {
  gap: 8px;
  padding: 10px 14px 2px;
}

.iin-topbar-filter-pill {
  min-height: 34px;
  padding: 0 10px;
  font-size: 0.75rem;
  gap: 8px;
}

.iin-topbar-filter-pill-count {
  min-width: 20px;
  height: 20px;
  font-size: 0.68rem;
}

.iin-topbar-panel-list {
  gap: 10px;
  max-height: min(74vh, 660px);
  padding: 12px 14px 14px;
}

.iin-topbar-panel-section {
  gap: 8px;
}

.iin-topbar-panel-section-label {
  padding-left: 2px;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
}

.iin-topbar-panel-section:has(.iin-topbar-item[data-category="medical"]) .iin-topbar-panel-section-label {
  display: none;
}

.iin-topbar-item {
  border-radius: 18px;
  padding: 11px 12px;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  box-shadow: 0 12px 24px rgba(8, 12, 20, 0.18);
}

.iin-topbar-item:hover {
  box-shadow: 0 14px 28px rgba(8, 12, 20, 0.24);
}

.iin-topbar-item-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
}

.iin-topbar-item-icon svg {
  width: 14px;
  height: 14px;
  opacity: 0.88;
}

.iin-topbar-item-copy {
  gap: 4px;
}

.iin-topbar-item-title {
  gap: 10px;
}

.iin-topbar-item-kind {
  min-height: 20px;
  padding: 0 8px;
  font-size: 0.66rem;
}

.iin-topbar-item-time {
  font-size: 0.7rem;
  color: rgba(211, 217, 227, 0.78);
}

.iin-topbar-item-heading {
  font-size: 0.92rem;
  line-height: 1.24;
}

.iin-topbar-item-detail,
.iin-topbar-item-meta {
  color: rgba(211, 217, 227, 0.94);
  font-size: 0.79rem;
  line-height: 1.4;
}

.iin-topbar-item-meta {
  color: rgba(211, 217, 227, 0.9);
}

.topbar-alert-dot,
.iin-topbar-notification-count {
  background: linear-gradient(135deg, #7a2036 0%, #a63b58 100%);
  box-shadow: 0 8px 16px rgba(122, 32, 54, 0.2);
}

.iin-topbar-notifications-panel {
  border-color: rgba(211, 217, 227, 0.12);
  box-shadow: 0 24px 56px rgba(8, 15, 28, 0.28);
}

.iin-topbar-notifications-panel .iin-topbar-panel-link {
  color: #d3d9e3;
}

.iin-topbar-notifications-panel .iin-topbar-panel-link:hover {
  background: rgba(255, 255, 255, 0.07);
}

.iin-topbar-item:hover {
  border-color: rgba(122, 32, 54, 0.26);
}

.iin-topbar-item-icon[data-tone="stock"],
.iin-topbar-item-icon[data-tone="info"] {
  color: #d3d9e3;
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(211, 217, 227, 0.12);
}

@media (max-width: 720px) {
  .iin-topbar-notifications-panel .iin-topbar-panel-head {
    padding: 14px 14px 8px;
    gap: 10px;
  }

  .iin-topbar-notifications-panel .iin-topbar-panel-head h3 {
    font-size: 1.56rem;
  }

  .iin-topbar-notifications-filters {
    gap: 7px;
    padding: 10px 12px 2px;
  }

  .iin-topbar-panel-list {
    max-height: 70vh;
    padding: 12px;
  }

  .iin-topbar-item {
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 10px 11px;
    gap: 9px;
  }

  .iin-topbar-item-icon {
    width: 36px;
    height: 36px;
    border-radius: 11px;
  }
}

/* ===== Chamada | Central executiva gestor/admin ===== */
#attendanceAdminOverviewHost.executive-frequency-host {
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  height: auto;
  min-height: 0;
  max-height: none;
  overflow: visible;
  visibility: visible;
}

:is(#tab-chamada, #tab-relatorios-frequencia) #attendanceAdminOverviewHost.executive-frequency-host > :not(.executive-frequency-panel) {
  display: none !important;
}

:is(#tab-chamada, #tab-relatorios-frequencia) #attendanceAdminOverviewHost.executive-frequency-host > .executive-frequency-panel {
  display: grid;
  overflow: visible;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-panel {
  display: grid;
  gap: 22px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-surface,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card {
  border: 1px solid rgba(205, 210, 220, 0.9);
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.06);
}

#tab-relatorios-frequencia .executive-frequency-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr);
  gap: 24px;
  align-items: end;
  padding: 15px 28px 16px;
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(122, 32, 54, 0.08), transparent 34%),
    radial-gradient(circle at bottom left, rgba(178, 216, 232, 0.16), transparent 26%),
    linear-gradient(180deg, rgba(255, 252, 252, 0.98) 0%, rgba(247, 249, 252, 0.99) 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero__copy {
  display: grid;
  gap: 8px;
  min-width: 0;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(122, 32, 54, 0.14);
  background: rgba(122, 32, 54, 0.06);
  color: #7a2036;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero__kicker i {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
}

#tab-relatorios-frequencia .executive-frequency-hero h2 {
  margin: 0;
  color: #111827;
  font-size: clamp(1.85rem, 3.2vw, 2.7rem);
  line-height: 0.94;
  letter-spacing: -0.05em;
}

#tab-relatorios-frequencia .executive-frequency-hero h2 em {
  color: #7a2036;
  font-style: normal;
  font-weight: 500;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero p {
  margin: 0;
  max-width: 62ch;
  color: #54657e;
  font-size: 1rem;
  line-height: 1.45;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  align-self: end;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(205, 210, 220, 0.9);
  background: rgba(255, 255, 255, 0.86);
  color: #172033;
  font-size: 0.86rem;
  font-weight: 700;
  white-space: nowrap;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero__pill--demo {
  border-color: rgba(122, 32, 54, 0.18);
  background: rgba(122, 32, 54, 0.08);
  color: #7a2036;
  box-shadow: inset 0 0 0 1px rgba(122, 32, 54, 0.04);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-surface {
  display: grid;
  gap: 18px;
  padding: 24px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.99) 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-surface__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-surface__head--split {
  align-items: center;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-surface__eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  color: #5b6f8f;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-surface h3 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.15;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__hint {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(243, 245, 249, 0.92);
  color: #5c6d84;
  font-size: 0.86rem;
  font-weight: 600;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid label {
  display: grid;
  gap: 8px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid label span {
  color: #5c6d84;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid input,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid select {
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 0 16px;
  border-radius: 18px;
  border: 1px solid rgba(214, 220, 230, 0.96);
  background: rgba(255, 255, 255, 0.98);
  color: #111827;
  font-size: 0.98rem;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid input:hover,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid select:hover {
  border-color: rgba(122, 32, 54, 0.18);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid input:focus,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid select:focus {
  outline: none;
  border-color: rgba(122, 32, 54, 0.24);
  box-shadow: 0 0 0 4px rgba(122, 32, 54, 0.08);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding-top: 2px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__view {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__view-label {
  color: #5c6d84;
  font-size: 0.88rem;
  font-weight: 700;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-view-switch {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border-radius: 999px;
  background: rgba(241, 244, 248, 0.96);
  border: 1px solid rgba(214, 220, 230, 0.9);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-view-switch__btn {
  border: none;
  background: transparent;
  color: #617287;
  min-height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  font-size: 0.96rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-view-switch__btn.is-active {
  background: #ffffff;
  color: #111827;
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.08);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-view-switch__native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-range-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(244, 247, 251, 0.92);
  color: #5c6d84;
  font-size: 0.95rem;
  font-weight: 600;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-range-label svg {
  width: 16px;
  height: 16px;
  color: #7a2036;
  flex: 0 0 auto;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary {
  gap: 20px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__period {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(244, 247, 251, 0.92);
  color: #5b6f8f;
  font-size: 0.84rem;
  font-weight: 700;
  white-space: nowrap;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__body {
  display: grid;
  gap: 16px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__lead {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__icon {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(122, 32, 54, 0.1), rgba(122, 32, 54, 0.04));
  color: #7a2036;
  box-shadow: inset 0 0 0 1px rgba(122, 32, 54, 0.08);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__icon svg {
  width: 24px;
  height: 24px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__copy {
  display: grid;
  gap: 8px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__copy strong {
  color: #111827;
  font-size: 1.08rem;
  line-height: 1.4;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__copy p {
  margin: 0;
  color: #596b85;
  font-size: 0.95rem;
  line-height: 1.65;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__stats span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(214, 220, 230, 0.9);
  background: rgba(255, 255, 255, 0.94);
  color: #5c6d84;
  font-size: 0.84rem;
  font-weight: 600;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__stats b {
  color: #111827;
  font-weight: 800;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpis {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 14px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi {
  display: grid;
  gap: 10px;
  padding: 20px 22px;
  border-radius: 26px;
  text-align: left;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 249, 252, 0.99) 100%);
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi:hover,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi.is-active {
  transform: translateY(-2px);
  box-shadow: 0 22px 34px rgba(15, 23, 42, 0.08);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi--good {
  background: linear-gradient(180deg, rgba(244, 252, 247, 0.98) 0%, rgba(238, 250, 242, 0.99) 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi--danger {
  background: linear-gradient(180deg, rgba(255, 246, 246, 0.98) 0%, rgba(255, 241, 242, 0.99) 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi--info,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi--neutral {
  background: linear-gradient(180deg, rgba(247, 251, 255, 0.98) 0%, rgba(241, 246, 252, 0.99) 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi--accent {
  background: linear-gradient(180deg, rgba(245, 251, 246, 0.98) 0%, rgba(241, 248, 244, 0.99) 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi__label {
  color: #52657e;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi__value {
  color: #111827;
  font-size: clamp(2rem, 2vw, 2.45rem);
  line-height: 0.94;
  letter-spacing: -0.05em;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi__delta {
  color: #18a05e;
  font-size: 0.94rem;
  font-weight: 600;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi--danger .executive-frequency-kpi__delta {
  color: #df4252;
}
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-dashboard,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-board {
  display: grid;
  gap: 22px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-dashboard__row {
  display: grid;
  gap: 22px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-dashboard__row--charts {
  grid-template-columns: minmax(0, 1.8fr) minmax(320px, 0.95fr);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-dashboard__row--split {
  grid-template-columns: minmax(320px, 0.8fr) minmax(0, 1.2fr);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart-shell {
  display: grid;
  gap: 12px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend {
  display: flex;
  justify-content: flex-end;
  gap: 18px;
  flex-wrap: wrap;
  color: #516174;
  font-size: 0.95rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend i {
  width: 11px;
  height: 11px;
  border-radius: 999px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend .is-present,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-row__bars .is-present {
  background: #1f9d6c;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend .is-absent,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-row__bars .is-absent {
  background: #d62e3a;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend .is-justified,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-row__bars .is-justified {
  background: #2e86de;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart {
  width: 100%;
  height: auto;
  display: block;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__grid-line {
  stroke: rgba(198, 207, 219, 0.9);
  stroke-width: 1;
  stroke-dasharray: 4 8;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__axis {
  fill: #5f7088;
  font-size: 13px;
  font-weight: 500;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__area {
  fill: url(#executiveFrequencyArea);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__line {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__line--present,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__point--present {
  stroke: #1f9d6c;
  fill: #1f9d6c;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__line--absent,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__point--absent {
  stroke: #ef3340;
  fill: #ef3340;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__line--justified,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__point--justified {
  stroke: #2f80ed;
  fill: #2f80ed;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__tooltip rect {
  fill: rgba(255, 255, 255, 0.96);
  stroke: rgba(210, 218, 228, 0.96);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__tooltip text {
  fill: #516174;
  font-size: 13px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__tooltip .is-present {
  fill: #1f9d6c;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__tooltip .is-absent {
  fill: #ef3340;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__tooltip .is-justified {
  fill: #2f80ed;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-chart {
  display: grid;
  gap: 14px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-row {
  display: grid;
  gap: 10px;
  padding: 16px 18px;
  border-radius: 22px;
  border: 1px solid rgba(217, 223, 232, 0.92);
  background: rgba(255, 255, 255, 0.9);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-row__head,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card__head,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card__head,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card__body {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-row__head strong,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item__copy strong,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight__copy strong,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card__head strong,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card__head strong {
  color: #111827;
  font-size: 1rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-row__head span,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card__head span,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card__meta,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item__copy span,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight__copy p,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card__head span {
  color: #596b85;
  font-size: 0.95rem;
  line-height: 1.5;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-row__bars {
  display: grid;
  gap: 8px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-row__bars span {
  display: block;
  height: 16px;
  border-radius: 999px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-row__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: #5d6f88;
  font-size: 0.82rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-list,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insights-grid,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-grid,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-grid {
  display: grid;
  gap: 16px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 18px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.9);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item__medal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: rgba(239, 244, 250, 0.92);
  color: #52657e;
  font-size: 1rem;
  font-weight: 800;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item__medal--1 {
  background: rgba(255, 178, 25, 0.92);
  color: #4a2d00;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item__medal--2 {
  background: rgba(190, 203, 223, 0.96);
  color: #30465f;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item__medal--3 {
  background: rgba(255, 154, 49, 0.9);
  color: #5e2f00;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item b,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card__body b {
  color: #111827;
  font-size: clamp(1.8rem, 2vw, 2.4rem);
  line-height: 0.94;
  letter-spacing: -0.05em;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insights-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 20px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.92);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight__icon {
  width: 50px;
  height: 50px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  background: rgba(241, 244, 248, 0.95);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight--good .executive-frequency-insight__icon {
  color: #1f9d6c;
  background: rgba(228, 247, 237, 0.94);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight--danger .executive-frequency-insight__icon {
  color: #e24152;
  background: rgba(255, 238, 240, 0.96);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight--warn .executive-frequency-insight__icon {
  color: #e39024;
  background: rgba(255, 245, 230, 0.96);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight--info .executive-frequency-insight__icon,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight--neutral .executive-frequency-insight__icon {
  color: #2e86de;
  background: rgba(236, 245, 255, 0.96);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight__copy {
  display: grid;
  gap: 6px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight__copy p {
  margin: 0;
}
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-grid,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card {
  display: grid;
  gap: 14px;
  padding: 22px 24px;
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.92);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card__head div,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card__head div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card__head em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(241, 244, 248, 0.94);
  color: #52657e;
  font-size: 0.84rem;
  font-weight: 700;
  font-style: normal;
  white-space: nowrap;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card--done {
  border-left: 4px solid #1f9d6c;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card--partial {
  border-left: 4px solid #2e86de;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card--attention {
  border-left: 4px solid #e39b2d;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card--empty {
  border-left: 4px solid #ef3340;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card__meta,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card__stats span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 14px;
  background: rgba(244, 247, 251, 0.96);
  color: #5a6d86;
  font-size: 0.84rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card__stats b {
  color: #111827;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 700;
  white-space: nowrap;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-pill--good {
  background: rgba(225, 244, 233, 0.94);
  color: #1f9d6c;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-pill--warn {
  background: rgba(255, 244, 227, 0.96);
  color: #d4861f;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-pill--danger {
  background: rgba(255, 234, 237, 0.96);
  color: #e24152;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-pill--neutral {
  background: rgba(239, 244, 250, 0.96);
  color: #586b84;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-progress {
  width: 100%;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(233, 237, 243, 0.96);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #1f9d6c;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card--warn .executive-frequency-progress span {
  background: #e39b2d;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card--danger .executive-frequency-progress span {
  background: #ef3340;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-empty-state {
  display: grid;
  gap: 8px;
  place-items: center;
  min-height: 220px;
  padding: 28px;
  border-radius: 24px;
  border: 1px dashed rgba(205, 210, 220, 0.9);
  background: rgba(249, 250, 252, 0.94);
  text-align: center;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-empty-state--compact {
  min-height: 120px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-empty-state strong {
  color: #111827;
  font-size: 1rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-empty-state p {
  margin: 0;
  color: #5d6f88;
  line-height: 1.5;
}

@media (max-width: 1360px) {
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-dashboard__row--charts,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-dashboard__row--split,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-grid,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__foot,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__lead {
    grid-template-columns: minmax(0, 1fr);
    display: grid;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero__meta {
    justify-content: flex-start;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insights-grid,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-grid,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__view {
    width: 100%;
    justify-content: space-between;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-range-label,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__period {
    justify-content: center;
  }
}

@media (max-width: 720px) {
  #attendanceAdminOverviewHost.executive-frequency-host {
    margin: 0;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-panel {
    gap: 16px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-surface,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card {
    border-radius: 22px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-surface,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card {
    padding: 18px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpis,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-dashboard__row--charts,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-dashboard__row--split {
    grid-template-columns: minmax(0, 1fr);
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__view {
    display: grid;
    gap: 10px;
    width: 100%;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-view-switch {
    width: 100%;
    justify-content: space-between;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-view-switch__btn {
    flex: 1 1 0;
    padding: 0 10px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-range-label,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__period,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__stats span {
    width: 100%;
    justify-content: center;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__lead {
    grid-template-columns: minmax(0, 1fr);
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-summary__icon {
    width: 48px;
    height: 48px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight {
    grid-template-columns: minmax(0, 1fr);
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item__medal,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight__icon {
    width: 48px;
    height: 48px;
  }
}


/* Executive frequency visual refinement */
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi {
  min-height: 158px;
  padding: 24px 24px 22px;
  border: 1px solid rgba(214, 220, 230, 0.88);
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.05);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi__value {
  letter-spacing: -0.06em;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart-shell {
  gap: 18px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend {
  align-items: center;
  gap: 20px;
  padding-right: 8px;
  color: #5b6a7e;
  font-size: 0.96rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend i {
  width: 10px;
  height: 10px;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.92);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart {
  overflow: visible;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__grid-line {
  stroke: rgba(207, 214, 224, 0.68);
  stroke-width: 1;
  stroke-dasharray: 3 10;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__grid-line--focus {
  stroke: rgba(177, 188, 202, 0.9);
  stroke-dasharray: 0;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__axis {
  fill: #62738a;
  font-size: 13px;
  font-weight: 500;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__area {
  opacity: 0.95;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__line {
  stroke-width: 3.25;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__line--present {
  stroke: #2ca366;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__line--absent {
  stroke: #ef3340;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__line--justified {
  stroke: #2684d8;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__point--present,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__point--absent,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__point--justified {
  stroke: #ffffff;
  stroke-width: 3;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__tooltip-card rect {
  fill: rgba(255, 255, 255, 0.98);
  stroke: rgba(219, 225, 233, 0.96);
  filter: drop-shadow(0 18px 28px rgba(15, 23, 42, 0.14));
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__tooltip text {
  fill: #62738a;
  font-size: 13px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__tooltip-title {
  fill: #0f172a;
  font-size: 14px;
  font-weight: 700;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-chart--columns {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  min-height: 100%;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-scale {
  display: grid;
  grid-template-rows: repeat(5, 1fr);
  align-items: end;
  padding: 12px 0 44px;
  color: #66768b;
  font-size: 0.9rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-columns {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  min-height: 332px;
  padding: 12px 10px 8px;
  border-radius: 28px;
  background:
    repeating-linear-gradient(
      to top,
      rgba(214, 221, 230, 0.58) 0,
      rgba(214, 221, 230, 0.58) 2px,
      transparent 2px,
      transparent 25%
    );
  background-size: 100% 25%;
  background-position: left 12px;
  background-repeat: no-repeat;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-column {
  display: grid;
  grid-template-rows: minmax(248px, 1fr) auto;
  gap: 14px;
  align-items: end;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-column__plot {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  height: 100%;
  padding: 0 6px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-bar {
  display: block;
  width: min(48px, calc(50% - 4px));
  border-radius: 16px 16px 6px 6px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-bar--volume {
  background: linear-gradient(180deg, #8b1630 0%, #7a2036 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-bar--presence {
  background: linear-gradient(180deg, #34ad6f 0%, #27995e 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-column__label {
  display: grid;
  gap: 4px;
  justify-items: center;
  text-align: center;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-column__label strong {
  color: #18212f;
  font-size: 1rem;
  font-weight: 700;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-column__label span {
  color: #66768b;
  font-size: 0.9rem;
  line-height: 1.35;
}

@media (max-width: 1080px) {
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-chart--columns {
    grid-template-columns: 1fr;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-scale {
    display: none;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-columns {
    min-height: 290px;
    padding-left: 18px;
  }
}

@media (max-width: 720px) {
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend {
    justify-content: flex-start;
    padding-right: 0;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-columns {
    gap: 12px;
    min-height: 248px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-bar {
    width: min(36px, calc(50% - 4px));
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-column__label strong {
    font-size: 0.92rem;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-column__label span {
    font-size: 0.82rem;
  }
}

/* Executive frequency chart refinement */
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart-shell {
  gap: 14px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend {
  justify-content: flex-end;
  gap: 16px;
  padding-right: 4px;
  color: #607087;
  font-size: 0.92rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend span {
  gap: 7px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend i {
  width: 9px;
  height: 9px;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.88);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend .is-volume {
  background: #8b1630;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart {
  margin-top: -2px;
  overflow: visible;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__grid-line {
  stroke: rgba(209, 217, 227, 0.56);
  stroke-width: 1;
  stroke-dasharray: 3 11;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__grid-line--focus {
  stroke: rgba(186, 196, 208, 0.82);
  stroke-dasharray: 0;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__axis {
  fill: #66768b;
  font-size: 12.5px;
  font-weight: 500;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__line {
  stroke-width: 3.2;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__line--present {
  stroke: #2ca366;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__line--absent {
  stroke: #eb3946;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__line--justified {
  stroke: #2d84da;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__point {
  stroke: rgba(255, 255, 255, 0.98);
  stroke-width: 2.5;
  filter: drop-shadow(0 8px 14px rgba(15, 23, 42, 0.14));
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__point--present,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__point--absent,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__point--justified {
  stroke: rgba(255, 255, 255, 0.96);
  stroke-width: 2.5;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__tooltip-card rect {
  fill: rgba(255, 255, 255, 0.985);
  stroke: rgba(221, 227, 235, 0.92);
  filter: drop-shadow(0 14px 24px rgba(15, 23, 42, 0.12));
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__tooltip text {
  fill: #68788f;
  font-size: 12.5px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__tooltip-title {
  fill: #111827;
  font-size: 13px;
  font-weight: 700;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-chart--comparison {
  display: grid;
  gap: 14px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison {
  display: grid;
  gap: 14px;
  padding: 18px 20px;
  border-radius: 22px;
  border: 1px solid rgba(219, 225, 233, 0.94);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 253, 0.98) 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison__head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  flex-wrap: wrap;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison__copy {
  display: grid;
  gap: 4px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison__copy strong {
  color: #18212f;
  font-size: 1rem;
  font-weight: 700;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison__copy span,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison__summary span,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison__label {
  color: #66768b;
  font-size: 0.88rem;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison__summary {
  display: flex;
  gap: 10px 16px;
  flex-wrap: wrap;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison__summary b,
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison__value {
  color: #111827;
  font-weight: 800;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison__metrics {
  display: grid;
  gap: 12px;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison__metric {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) 48px;
  gap: 12px;
  align-items: center;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison__track {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(232, 237, 243, 0.98);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison__fill {
  display: block;
  height: 100%;
  border-radius: inherit;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison__fill--volume {
  background: linear-gradient(90deg, #8b1630 0%, #7a2036 100%);
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-comparison__fill--presence {
  background: linear-gradient(90deg, #2ca366 0%, #34b16f 100%);
}

/* =========================
   MOBILE UX AUDIT FIXES
========================= */
.shell-mobile-menu-btn {
  display: none;
}

@media (max-width: 768px) {
  body[data-sidebar-open="1"] {
    overflow: hidden;
  }

  .sidebar-backdrop {
    z-index: 44;
    opacity: 0;
    pointer-events: none;
    backdrop-filter: blur(3px);
    transition: opacity 0.22s ease;
  }

  body[data-sidebar-open="1"] .sidebar-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .app-sidebar {
    z-index: 45;
    top: 0;
    width: min(84vw, 320px);
    max-width: 320px;
    height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    box-shadow: 18px 0 42px rgba(6, 10, 18, 0.34);
    transition: transform 0.24s ease, box-shadow 0.24s ease;
    will-change: transform;
  }

  .shell-layout {
    grid-template-columns: 1fr !important;
    min-height: 100dvh;
  }

  .shell-main {
    min-width: 0;
    padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px));
  }

  .top-fixed,
  .iin-topbar {
    top: 0;
    z-index: 30;
    padding: 0 !important;
  }

  .hero,
  .iin-topbar {
    min-height: auto;
  }

  .hero-inner,
  .iin-topbar-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
    min-height: 48px;
    padding: max(6px, env(safe-area-inset-top, 0px)) 10px 6px !important;
    border-radius: 0;
  }

  .iin-topbar-left,
  .topbar-main {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
  }

  .iin-topbar-right,
  .topbar-actions {
    display: flex;
    align-items: center;
    gap: 6px;
  }

  .iin-breadcrumb,
  .topbar-breadcrumb {
    min-width: 0;
    gap: 6px;
  }

  .iin-breadcrumb-root,
  .topbar-breadcrumb-root {
    font-size: 0.68rem;
  }

  .iin-breadcrumb-page,
  .topbar-breadcrumb-page {
    min-width: 0;
    font-size: 0.82rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .iin-breadcrumb svg,
  .topbar-breadcrumb-sep {
    flex: 0 0 auto;
  }

  .shell-mobile-menu-btn,
  .iin-topbar-icon-btn,
  .topbar-action-btn,
  .iin-topbar-avatar,
  .topbar-avatar {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border-radius: 10px;
  }

  .shell-mobile-menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.08);
    color: #f8fafc;
    box-shadow: none;
  }

  .shell-mobile-menu-btn svg {
    width: 16px;
    height: 16px;
  }

  .iin-topbar-icon-btn,
  .topbar-action-btn {
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.06);
  }

  .iin-topbar-icon-btn .header-icon-svg svg,
  .topbar-action-btn .header-icon-svg svg,
  .iin-topbar-icon-btn > svg,
  .topbar-action-btn > svg {
    width: 16px;
    height: 16px;
  }

  .iin-topbar-avatar,
  .topbar-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.76rem;
    font-weight: 700;
  }

  .container.app-content {
    width: 100%;
    padding: 6px 8px calc(32px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .tab-page {
    gap: 10px;
  }

  .panel {
    padding: 12px;
    margin-bottom: 10px;
    border-radius: 16px;
  }

  .panel-title-row {
    gap: 6px;
    margin-bottom: 8px;
  }

  .panel-title-row h2 {
    font-size: 0.86rem;
  }

  .grid-form {
    gap: 6px;
  }

  .grid-form label {
    gap: 3px;
    font-size: 0.78rem;
  }

  .grid-form input,
  .grid-form select,
  .grid-form textarea,
  .toolbar input,
  .toolbar select,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid input,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid select {
    min-height: 44px;
    padding: 6px 10px;
    font-size: 16px;
    border-radius: 10px;
  }

  .grid-form textarea {
    min-height: 76px;
  }

  .grid-form.two,
  .grid-form.three,
  .grid-form.four,
  .snack-grid,
  .aulas-layout,
  .aulas-grid,
  .cards-grid,
  .panel-grid.four.dashboard-metrics,
  #tab-dashboard .dashboard-kpi-grid,
  #tab-visitantes .visitor-metrics-grid,
  #tab-admin .admin-kpi-grid,
  #tab-mestre .iin-kpi-grid,
  .retencao-kpi-grid,
  #tab-fila .fila-metrics-grid,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpis,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-dashboard__row--charts,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insights-grid,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-grid,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-grid {
    grid-template-columns: 1fr !important;
  }

  .badge,
  .chip,
  .page-priority-badge,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero__pill,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__hint,
  .iin-topbar-filter-pill {
    min-height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 0.68rem;
    letter-spacing: 0.03em;
  }

  #tab-relatorios-frequencia .executive-frequency-hero {
    gap: 12px;
    padding: 9px 12px 10px;
    border-radius: 16px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-surface,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi {
    padding: 14px;
    border-radius: 16px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpis {
    gap: 8px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid {
    gap: 8px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid label span,
  .iin-topbar-panel-eyebrow,
  #tab-dashboard .dashboard-hero__eyebrow,
  .page-eyebrow {
    font-size: 0.68rem;
    letter-spacing: 0.12em;
  }

  #tab-dashboard .dashboard-hero,
  #tab-dashboard .dashboard-kpi-card,
  #tab-gestao .gestao-form-section,
  #tab-professor .records-premium__surface,
  #tab-evolucao-tecnica .panel {
    border-radius: 16px;
  }

  .table-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    border-radius: 18px;
  }

  .table-wrapper::-webkit-scrollbar {
    height: 8px;
  }

  .table-wrapper table {
    min-width: max(640px, 100%);
  }

  .modal {
    padding: 0;
    place-items: stretch;
  }

  .modal-content,
  .modal-content.wide,
  .modal-content.xl,
  .student-detail-drawer,
  .import-students-modal__dialog,
  #tab-professor .records-premium-modal__dialog {
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 100dvh;
    max-height: 100dvh !important;
    height: 100dvh !important;
    border: none;
    border-radius: 0 !important;
    padding: 14px 14px calc(18px + env(safe-area-inset-bottom, 0px));
  }
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-mobile-list {
  display: none;
}

@media (max-width: 768px) {
  :is(#tab-chamada, #tab-relatorios-frequencia) #attendanceAdminOverviewHost.executive-frequency-host {
    padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-panel {
    gap: 12px;
    padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  }

  #tab-relatorios-frequencia .executive-frequency-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 12px 16px 11px;
    border-radius: 20px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero__copy {
    gap: 8px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero__kicker {
    gap: 8px;
    padding: 6px 10px;
    font-size: 0.68rem;
    letter-spacing: 0.12em;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero__kicker i {
    width: 7px;
    height: 7px;
  }

  #tab-relatorios-frequencia .executive-frequency-hero h2 {
    font-size: clamp(1.55rem, 6vw, 1.95rem);
    line-height: 0.98;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero p {
    font-size: 0.9rem;
    line-height: 1.38;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
    gap: 8px;
    width: 100%;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero__pill {
    min-height: 32px;
    padding: 8px 10px;
    justify-content: flex-start;
    font-size: 0.74rem;
    line-height: 1.2;
    white-space: normal;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-hero__pill--demo {
    grid-column: 1 / -1;
    justify-content: center;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-surface,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-card {
    border-radius: 18px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-surface {
    gap: 14px;
    padding: 16px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-surface__head {
    gap: 10px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-surface__eyebrow {
    margin-bottom: 4px;
    font-size: 0.68rem;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-surface h3 {
    font-size: 1.1rem;
    line-height: 1.15;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters {
    gap: 12px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__hint,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-range-label {
    min-height: 30px;
    padding: 0 10px;
    font-size: 0.76rem;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid label {
    gap: 4px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid label span,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__view-label {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid input,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__grid select {
    min-height: 44px;
    padding: 0 12px;
    font-size: 0.95rem;
    border-radius: 14px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__foot,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-filters__view {
    gap: 8px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-view-switch {
    width: 100%;
    padding: 3px;
    gap: 2px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-view-switch__btn {
    min-height: 36px;
    padding: 0 8px;
    font-size: 0.84rem;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi {
    min-height: 122px;
    padding: 14px 14px 13px;
    gap: 8px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi__label {
    font-size: 0.68rem;
    letter-spacing: 0.12em;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi__value {
    font-size: clamp(1.55rem, 7vw, 2rem);
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-kpi__delta {
    font-size: 0.8rem;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-dashboard,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-dashboard__row {
    gap: 12px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-dashboard__row--charts,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-dashboard__row--split,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insights-grid,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-coverage-grid,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart-shell {
    gap: 10px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend {
    justify-content: flex-start;
    gap: 8px 12px;
    padding-right: 0;
    font-size: 0.78rem;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend span {
    gap: 6px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend i {
    width: 8px;
    height: 8px;
    box-shadow: none;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart {
    width: calc(100% + 12px);
    margin-left: -12px;
    overflow: visible;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__axis {
    font-size: 10.5px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart text.executive-frequency-chart__axis[text-anchor="end"] {
    display: none;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__grid-line {
    stroke-dasharray: 2 10;
    opacity: 0.72;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__tooltip text {
    font-size: 11px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__tooltip-title {
    font-size: 12px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-legend--modality,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-chart--comparison {
    display: none;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-mobile-list {
    display: grid;
    gap: 10px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-mobile-card {
    gap: 10px;
    padding: 14px;
    border-radius: 18px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-mobile-card__copy {
    display: grid;
    gap: 2px;
    min-width: 0;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-mobile-card__copy strong {
    font-size: 0.95rem;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-mobile-card__copy span {
    font-size: 0.8rem;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-mobile-card__rate {
    color: #111827;
    font-size: 1.3rem;
    line-height: 1;
    letter-spacing: -0.04em;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-mobile-card__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    color: #596b85;
    font-size: 0.8rem;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-mobile-card__stats strong {
    color: #111827;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-mobile-card__progress {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(233, 237, 243, 0.96);
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-mobile-card__progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #1f9d6c 0%, #29b46f 100%);
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-modality-footnote {
    font-size: 0.76rem;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-pill {
    min-height: 28px;
    padding: 0 10px;
    font-size: 0.74rem;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card {
    gap: 10px;
    padding: 14px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card__head,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card__body {
    gap: 8px;
    align-items: flex-start;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card__head strong,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item__copy strong,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight__copy strong {
    font-size: 0.95rem;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card__head span,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item__copy span,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight__copy p,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card__meta,
  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-progress-meta {
    font-size: 0.8rem;
    line-height: 1.4;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-nucleus-card__body b {
    font-size: 1.7rem;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-list {
    gap: 8px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 10px;
    padding: 12px 14px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item__medal {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    font-size: 0.82rem;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item__metric {
    font-size: 1rem;
    line-height: 1;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-ranking-item__bar {
    margin-top: 8px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    padding: 14px;
  }

  :is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-insight__icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    font-size: 1rem;
  }
}
:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__tooltip {
  opacity: 1;
  visibility: visible;
  transition: opacity 120ms ease, visibility 120ms ease;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__tooltip.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__hotspot {
  fill: transparent;
  pointer-events: all;
  cursor: crosshair;
}

:is(#tab-chamada, #tab-relatorios-frequencia) .executive-frequency-chart__hotspot:focus {
  outline: none;
}

/* Sidebar navigation grouping */
.iin-ref-shell .app-sidebar .tabs-bar.app-nav {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-bottom: 28px;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section {
  display: grid;
  gap: 10px;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section.hidden {
  display: none !important;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section + .sidebar-nav-section {
  position: relative;
  padding-top: 2px;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section + .sidebar-nav-section::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 18px;
  right: 18px;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0));
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__title {
  padding: 0 18px;
  color: rgba(214, 223, 235, 0.56);
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__items {
  display: grid;
  gap: 8px;
}

.iin-ref-shell .app-sidebar .tab-btn {
  min-height: 46px;
  padding: 0 18px;
  gap: 13px;
  border-radius: 16px;
}

.iin-ref-shell .app-sidebar .tab-btn .tab-label {
  font-size: 0.95rem;
  font-weight: 600;
}

.iin-ref-shell .app-sidebar .tab-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.iin-ref-shell .app-sidebar .tab-icon svg {
  width: 20px;
  height: 20px;
}

.iin-ref-shell .app-sidebar .tab-btn[data-nav-priority="1"] {
  color: rgba(247, 250, 252, 0.92);
  background: rgba(255, 255, 255, 0.035);
  border-color: rgba(255, 255, 255, 0.04);
}

.iin-ref-shell .app-sidebar .tab-btn[data-nav-priority="1"] .tab-icon {
  color: rgba(226, 232, 240, 0.92);
}

.iin-ref-shell .app-sidebar .tab-btn[data-nav-priority="1"]:hover {
  background: rgba(255, 255, 255, 0.075);
}

.iin-ref-shell .app-sidebar .tab-btn.active[data-nav-priority="1"] {
  background: linear-gradient(135deg, rgba(122, 32, 54, 0.28), rgba(255, 255, 255, 0.09));
  border-color: rgba(255, 255, 255, 0.14);
}

body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tabs-bar.app-nav {
  gap: 14px;
}

body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section {
  gap: 6px;
}

body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section + .sidebar-nav-section::before,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section__title {
  opacity: 0;
  visibility: hidden;
  height: 0;
  padding: 0;
  overflow: hidden;
}

body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .sidebar-nav-section + .sidebar-nav-section::before,
body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .sidebar-nav-section + .sidebar-nav-section::before,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-nav-section + .sidebar-nav-section::before {
  opacity: 1;
  visibility: visible;
  height: 1px;
  overflow: visible;
}

body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .sidebar-nav-section__title,
body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .sidebar-nav-section__title,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-nav-section__title {
  opacity: 1;
  visibility: visible;
  height: auto;
  padding: 0 18px;
  overflow: visible;
}

@media (max-width: 767px) {
  .iin-ref-shell .app-sidebar .tabs-bar.app-nav {
    gap: 16px;
    padding-bottom: 20px;
  }

  .iin-ref-shell .app-sidebar .sidebar-nav-section__title {
    padding: 0 14px;
    font-size: 0.65rem;
    letter-spacing: 0.14em;
  }

  .iin-ref-shell .app-sidebar .sidebar-nav-section__items {
    gap: 6px;
  }

  .iin-ref-shell .app-sidebar .tab-btn {
    min-height: 46px;
    padding: 0 14px;
  }
}


/* Sidebar favorites premium */
.iin-ref-shell .app-sidebar {
  background:
    radial-gradient(circle at 16% 10%, rgba(255, 255, 255, 0.035), transparent 22%),
    radial-gradient(circle at 82% 18%, rgba(122, 32, 54, 0.1), transparent 26%),
    linear-gradient(180deg, #101827 0%, #0f1724 52%, #0c1320 100%);
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 18px;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__title {
  color: rgba(184, 93, 121, 0.9);
  font-weight: 700;
  letter-spacing: 0.16em;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__title--favorites {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #d98aa0;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__title-icon {
  width: 14px;
  height: 14px;
  display: inline-flex;
  color: #c95c7d;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__title-icon svg {
  width: 14px;
  height: 14px;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__count {
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.iin-ref-shell .app-sidebar .sidebar-nav-section--favorites {
  padding: 14px 0 2px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.02));
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.iin-ref-shell .app-sidebar .sidebar-nav-section--favorites::before {
  display: none;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__items--favorites {
  gap: 6px;
  padding: 0 10px 10px;
}

.iin-ref-shell .app-sidebar .sidebar-favorite-link,
.iin-ref-shell .app-sidebar .tab-btn {
  display: flex;
  align-items: center;
}

.iin-ref-shell .app-sidebar .tab-btn .tab-label,
.iin-ref-shell .app-sidebar .sidebar-favorite-link__label {
  flex: 1 1 auto;
  min-width: 0;
}

.iin-ref-shell .app-sidebar .tab-btn--has-submenu .sidebar-report-chevron {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(226, 232, 240, 0.7);
  transition: transform 180ms ease, color 180ms ease;
}

.iin-ref-shell .app-sidebar .tab-btn--has-submenu .sidebar-report-chevron svg {
  width: 16px;
  height: 16px;
}

.iin-ref-shell .app-sidebar .tab-btn--has-submenu[aria-expanded="true"] .sidebar-report-chevron,
.iin-ref-shell .app-sidebar .tab-btn--has-submenu .sidebar-report-chevron.is-open {
  transform: rotate(180deg);
  color: rgba(248, 250, 252, 0.92);
}

.iin-ref-shell .app-sidebar .sidebar-report-submenu {
  display: none;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  grid-column: 1 / -1;
  flex-direction: column;
  gap: 4px;
  padding: 6px 0 4px 18px;
  position: static;
  overflow: visible;
}

.iin-ref-shell .app-sidebar .sidebar-report-submenu.is-open {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
}

.iin-ref-shell .app-sidebar .sidebar-report-submenu-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 34px;
  box-sizing: border-box;
  padding: 0 12px 0 28px;
  border: 0;
  border-radius: 9px;
  cursor: pointer;
  font: inherit;
  text-align: left;
  color: rgba(226, 232, 240, 0.9);
  background: transparent;
}

.iin-ref-shell .app-sidebar .sidebar-report-submenu-item.active,
.iin-ref-shell .app-sidebar .sidebar-report-submenu-item[aria-current="page"] {
  color: rgba(248, 250, 252, 0.98);
  background: rgba(255, 255, 255, 0.1);
}

.iin-ref-shell .app-sidebar .sidebar-report-submenu-item:hover {
  background: rgba(255, 255, 255, 0.07);
}

body[data-sidebar="collapsed"]:not([data-sidebar-hover="1"]):not(.sidebar-hover-expanded) .iin-ref-shell .app-sidebar .sidebar-report-submenu {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

body[data-sidebar="collapsed"]:not([data-sidebar-hover="1"]):not(.sidebar-hover-expanded) .iin-ref-shell .app-sidebar .tab-btn--has-submenu .sidebar-report-chevron {
  display: none !important;
}

.iin-ref-shell .app-sidebar .sidebar-favorite-link {
  width: 100%;
  min-height: 44px;
  padding: 0 18px;
  gap: 13px;
  border: 1px solid transparent;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.03);
  color: rgba(247, 250, 252, 0.92);
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.iin-ref-shell .app-sidebar .sidebar-favorite-link:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.07);
  transform: translateX(1px);
}

.iin-ref-shell .app-sidebar .sidebar-favorite-link.active {
  background: linear-gradient(135deg, rgba(122, 32, 54, 0.3), rgba(255, 255, 255, 0.08));
  border-color: rgba(255, 255, 255, 0.14);
}

.iin-ref-shell .app-sidebar .tab-favorite-toggle {
  margin-left: auto;
  width: 34px;
  min-width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(230, 236, 245, 0.72);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.04);
  transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.iin-ref-shell .app-sidebar .tab-favorite-toggle svg {
  width: 16px;
  height: 16px;
}

.iin-ref-shell .app-sidebar .tab-favorite-toggle:hover {
  color: #f6d3dd;
  background: rgba(122, 32, 54, 0.16);
  border-color: rgba(122, 32, 54, 0.28);
  transform: scale(1.05);
}

.iin-ref-shell .app-sidebar .tab-favorite-toggle.is-favorite {
  color: #d86183;
  background: rgba(122, 32, 54, 0.18);
  border-color: rgba(122, 32, 54, 0.3);
}

.iin-ref-shell .app-sidebar .sidebar-favorites-empty {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 16px 14px 14px;
  border-radius: 16px;
  text-align: center;
  color: rgba(224, 231, 255, 0.72);
  background: rgba(255, 255, 255, 0.03);
  border: 1px dashed rgba(255, 255, 255, 0.1);
}

.iin-ref-shell .app-sidebar .sidebar-favorites-empty strong {
  color: #f8fafc;
  font-size: 0.92rem;
}

.iin-ref-shell .app-sidebar .sidebar-favorites-empty span {
  font-size: 0.8rem;
  line-height: 1.4;
}

.iin-ref-shell .app-sidebar .sidebar-favorites-empty__icon {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(217, 138, 160, 0.8);
}

.iin-ref-shell .app-sidebar .sidebar-favorites-empty__icon svg {
  width: 18px;
  height: 18px;
}

body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites {
  padding-top: 10px;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tab-favorite-toggle,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section__header,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-favorite-link__label,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-favorites-empty {
  opacity: 0;
  visibility: hidden;
  width: 0;
  max-width: 0;
  overflow: hidden;
  pointer-events: none;
}

body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .tab-favorite-toggle,
body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .tab-favorite-toggle,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .tab-favorite-toggle,
body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .sidebar-nav-section__header,
body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .sidebar-nav-section__header,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-nav-section__header,
body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .sidebar-favorite-link__label,
body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .sidebar-favorite-link__label,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-favorite-link__label,
body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .sidebar-favorites-empty,
body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .sidebar-favorites-empty,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-favorites-empty {
  opacity: 1;
  visibility: visible;
  width: auto;
  max-width: none;
  overflow: visible;
  pointer-events: auto;
}

@media (max-width: 767px) {
  .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites {
    padding-top: 12px;
    border-radius: 18px;
  }

  .iin-ref-shell .app-sidebar .sidebar-nav-section__header {
    padding: 0 14px;
  }

  .iin-ref-shell .app-sidebar .sidebar-favorite-link,
  .iin-ref-shell .app-sidebar .tab-btn {
    min-height: 44px;
  }

  .iin-ref-shell .app-sidebar .tab-favorite-toggle {
    width: 32px;
    min-width: 32px;
    height: 32px;
  }
}


/* Sidebar favorites refinement v2 */
.iin-ref-shell .app-sidebar {
  background:
    radial-gradient(circle at 14% 8%, rgba(255, 255, 255, 0.028), transparent 18%),
    radial-gradient(circle at 84% 16%, rgba(123, 45, 61, 0.11), transparent 24%),
    linear-gradient(180deg, #364250 0%, #33404e 38%, #303b49 100%);
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 18px 0 40px rgba(15, 23, 42, 0.18);
}

.iin-ref-shell .app-sidebar .tabs-bar.app-nav {
  gap: 16px;
  padding-bottom: 22px;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section {
  gap: 8px;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section + .sidebar-nav-section::before {
  top: -7px;
  left: 18px;
  right: 18px;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.12), rgba(255,255,255,0));
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__title {
  color: #d46d89;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.12);
}

.iin-ref-shell .app-sidebar .tab-btn,
.iin-ref-shell .app-sidebar .sidebar-favorite-link {
  min-height: 42px;
  gap: 12px;
  border-radius: 14px;
}

.iin-ref-shell .app-sidebar .tab-btn {
  color: #eef3f9;
  background: rgba(255, 255, 255, 0.018);
  border-color: rgba(255, 255, 255, 0.03);
}

.iin-ref-shell .app-sidebar .tab-btn .tab-label,
.iin-ref-shell .app-sidebar .sidebar-favorite-link__label {
  color: #eef3f9;
  font-weight: 650;
}

.iin-ref-shell .app-sidebar .tab-icon {
  color: rgba(235, 241, 248, 0.88);
}

.iin-ref-shell .app-sidebar .tab-btn:hover,
.iin-ref-shell .app-sidebar .sidebar-favorite-link:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.08);
}

.iin-ref-shell .app-sidebar .tab-btn.active,
.iin-ref-shell .app-sidebar .sidebar-favorite-link.active {
  background: linear-gradient(135deg, rgba(123, 45, 61, 0.22), rgba(255, 255, 255, 0.09));
  border-color: rgba(255, 255, 255, 0.12);
}

.iin-ref-shell .app-sidebar .tab-btn[data-nav-priority="1"] {
  background: rgba(255, 255, 255, 0.032);
  color: #f5f8fc;
}

.iin-ref-shell .app-sidebar .tab-btn[data-nav-priority="1"] .tab-icon {
  color: #f1f5f9;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__count {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.14);
  color: #f8fbff;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section--favorites {
  padding: 12px 0 2px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.024));
  border-color: rgba(255, 255, 255, 0.08);
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__items--favorites {
  padding: 0 10px 8px;
}

.iin-ref-shell .app-sidebar .tab-favorite-toggle {
  width: 32px;
  min-width: 32px;
  height: 32px;
  color: rgba(244, 247, 252, 0.78);
  background: rgba(255, 255, 255, 0.025);
  border-color: rgba(255, 255, 255, 0.06);
}

.iin-ref-shell .app-sidebar .tab-favorite-toggle:hover {
  color: #ffd6e2;
  background: rgba(123, 45, 61, 0.18);
  border-color: rgba(123, 45, 61, 0.28);
}

.iin-ref-shell .app-sidebar .tab-favorite-toggle.is-favorite {
  color: #d95d82;
  background: rgba(123, 45, 61, 0.2);
  border-color: rgba(123, 45, 61, 0.32);
}

.iin-ref-shell .app-sidebar .sidebar-favorites-empty {
  gap: 6px;
  padding: 12px 12px 11px;
  color: rgba(232, 238, 247, 0.84);
  background: rgba(255, 255, 255, 0.036);
  border-color: rgba(255, 255, 255, 0.12);
}

.iin-ref-shell .app-sidebar .sidebar-favorites-empty strong {
  font-size: 0.9rem;
  color: #f5f8fc;
}

.iin-ref-shell .app-sidebar .sidebar-favorites-empty span {
  color: rgba(233, 239, 247, 0.78);
  font-size: 0.78rem;
}

@media (min-width: 981px) {
  body[data-sidebar="collapsed"] .shell-layout {
    grid-template-columns: 80px minmax(0, 1fr);
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar {
    width: 80px;
    min-width: 80px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tabs-bar.app-nav {
    gap: 10px;
    padding-left: 6px;
    padding-right: 6px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section {
    gap: 4px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tab-btn,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-favorite-link {
    max-width: 50px;
    min-height: 42px;
    padding-left: 6px;
    padding-right: 6px;
    border-radius: 14px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tab-icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tab-icon svg {
    width: 20px;
    height: 20px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites {
    padding: 8px 0 0;
    background: transparent;
    border-color: transparent;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__header {
    opacity: 1;
    visibility: visible;
    width: auto;
    max-width: none;
    overflow: visible;
    pointer-events: auto;
    justify-content: center;
    padding: 0;
    gap: 6px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__title {
    opacity: 1;
    visibility: visible;
    width: auto;
    max-width: none;
    height: auto;
    padding: 0;
    overflow: visible;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__title span:last-child,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__items,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-favorites-empty {
    opacity: 0;
    visibility: hidden;
    width: 0;
    max-width: 0;
    height: 0;
    overflow: hidden;
    pointer-events: none;
    padding: 0;
    margin: 0;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__title-icon {
    width: 16px;
    height: 16px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__count {
    min-width: 24px;
    height: 24px;
    font-size: 0.76rem;
    padding: 0 7px;
  }

  body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__title span:last-child,
  body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__items,
  body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-favorites-empty,
  body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__title span:last-child,
  body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__items,
  body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-favorites-empty,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-nav-section--favorites .sidebar-nav-section__title span:last-child,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-nav-section--favorites .sidebar-nav-section__items,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-nav-section--favorites .sidebar-favorites-empty {
    opacity: 1;
    visibility: visible;
    width: auto;
    max-width: none;
    height: auto;
    overflow: visible;
    pointer-events: auto;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-footer {
    padding-left: 6px;
    padding-right: 6px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-user-main {
    padding: 8px 6px;
    border-radius: 16px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-user-avatar-wrap,
  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-user-avatar {
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
  }
}


/* Sidebar favorites refinement v3 */
.iin-ref-shell .app-sidebar {
  background:
    radial-gradient(circle at 14% 10%, rgba(255, 255, 255, 0.024), transparent 18%),
    radial-gradient(circle at 82% 16%, rgba(217, 87, 124, 0.12), transparent 24%),
    linear-gradient(180deg, #556171 0%, #4f5b6b 42%, #4b5666 100%);
  border-right: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: 18px 0 40px rgba(15, 23, 42, 0.22);
}

.iin-ref-shell .app-sidebar .tabs-bar.app-nav {
  gap: 14px;
  padding-bottom: 18px;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section {
  gap: 7px;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__title {
  color: #e45f86;
  font-weight: 700;
  letter-spacing: 0.18em;
}

.iin-ref-shell .app-sidebar .tab-btn,
.iin-ref-shell .app-sidebar .sidebar-favorite-link {
  min-height: 44px;
  gap: 11px;
  border-radius: 13px;
}

.iin-ref-shell .app-sidebar .tab-btn {
  position: relative;
  color: #f3f6fa;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.035);
}

.iin-ref-shell .app-sidebar .tab-btn .tab-label,
.iin-ref-shell .app-sidebar .sidebar-favorite-link__label {
  color: #f3f6fa;
  font-weight: 620;
}

.iin-ref-shell .app-sidebar .tab-icon,
.iin-ref-shell .app-sidebar .sidebar-favorite-link .tab-icon {
  color: #e8eef5;
}

.iin-ref-shell .app-sidebar .tab-btn:hover,
.iin-ref-shell .app-sidebar .sidebar-favorite-link:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.08);
}

.iin-ref-shell .app-sidebar .tab-btn.active,
.iin-ref-shell .app-sidebar .sidebar-favorite-link.active {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.iin-ref-shell .app-sidebar .tab-btn.active::before,
.iin-ref-shell .app-sidebar .sidebar-favorite-link.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  bottom: 9px;
  width: 3px;
  border-radius: 999px;
  background: #d9577c;
}

.iin-ref-shell .app-sidebar .tab-btn.active .tab-icon,
.iin-ref-shell .app-sidebar .sidebar-favorite-link.active .tab-icon,
.iin-ref-shell .app-sidebar .tab-btn.active .tab-label,
.iin-ref-shell .app-sidebar .sidebar-favorite-link.active .sidebar-favorite-link__label {
  color: #ffffff;
}

.iin-ref-shell .app-sidebar .tab-btn[data-nav-priority="1"] {
  background: rgba(255, 255, 255, 0.038);
}

.iin-ref-shell .app-sidebar .sidebar-nav-section--favorites {
  padding: 10px 0 2px;
  background: linear-gradient(180deg, rgba(255,255,255,0.065), rgba(255,255,255,0.028));
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__items--favorites {
  padding: 0 8px 6px;
}

.iin-ref-shell .app-sidebar .sidebar-favorite-link {
  min-height: 42px;
  background: rgba(255,255,255,0.03);
}

.iin-ref-shell .app-sidebar .tab-favorite-toggle {
  width: 30px;
  min-width: 30px;
  height: 30px;
  color: #d6dee8;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.05);
}

.iin-ref-shell .app-sidebar .tab-favorite-toggle:hover {
  color: #f3d6df;
  background: rgba(217, 87, 124, 0.16);
  border-color: rgba(217, 87, 124, 0.28);
}

.iin-ref-shell .app-sidebar .tab-favorite-toggle.is-favorite {
  color: #d9577c;
  background: rgba(217, 87, 124, 0.16);
  border-color: rgba(217, 87, 124, 0.3);
}

.iin-ref-shell .app-sidebar .sidebar-favorites-empty {
  gap: 5px;
  padding: 10px 10px 9px;
  border-radius: 14px;
  background: rgba(255,255,255,0.04);
}

.iin-ref-shell .app-sidebar .sidebar-favorites-empty strong {
  color: #f3f6fa;
}

.iin-ref-shell .app-sidebar .sidebar-favorites-empty span {
  color: #d6dee8;
}

.iin-ref-shell .sidebar-footer {
  background: rgba(255,255,255,0.022);
}

@media (min-width: 981px) {
  body[data-sidebar="collapsed"] .shell-layout {
    grid-template-columns: 70px minmax(0, 1fr);
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar {
    width: 70px;
    min-width: 70px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tabs-bar.app-nav {
    gap: 8px;
    padding-left: 4px;
    padding-right: 4px;
    align-items: center;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section {
    width: 100%;
    gap: 3px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tab-btn,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-favorite-link {
    width: 42px;
    max-width: 42px;
    min-width: 42px;
    min-height: 42px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    justify-content: center;
    gap: 0;
    border-radius: 12px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tab-btn.active::before,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-favorite-link.active::before {
    left: 50%;
    top: auto;
    bottom: 4px;
    width: 14px;
    height: 2px;
    transform: translateX(-50%);
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tab-icon,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-favorite-link .tab-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin: 0 auto;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tab-icon svg,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-favorite-link .tab-icon svg {
    width: 18px;
    height: 18px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .tab-favorite-toggle,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-favorite-link__label,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-favorites-empty {
    display: none !important;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites {
    width: 42px;
    margin: 0 auto;
    padding: 6px 0 0;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__header {
    justify-content: center;
    padding: 0;
    gap: 4px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__title,
  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__title-icon {
    display: inline-flex !important;
    width: auto;
    height: auto;
    opacity: 1;
    visibility: visible;
    overflow: visible;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__title span:last-child {
    display: none !important;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__count {
    min-width: 22px;
    height: 22px;
    font-size: 0.74rem;
    padding: 0 6px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar .sidebar-brand-block {
    padding-left: 4px;
    padding-right: 4px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-footer {
    padding-left: 4px;
    padding-right: 4px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-user-main {
    width: 42px;
    min-width: 42px;
    padding: 6px 0;
    justify-content: center;
    border-radius: 14px;
  }

  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-user-avatar-wrap,
  body[data-sidebar="collapsed"] .iin-ref-shell .sidebar-user-avatar {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
  }
}



/* Sidebar visual refinement: darker, clearer hierarchy, same structure */
.iin-ref-shell .app-sidebar {
  background:
    radial-gradient(circle at 14% 10%, rgba(255, 255, 255, 0.02), transparent 18%),
    radial-gradient(circle at 82% 16%, rgba(237, 26, 85, 0.12), transparent 24%),
    linear-gradient(180deg, #434d5b 0%, #3d4754 42%, #39424f 100%);
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 20px 0 44px rgba(8, 15, 28, 0.26);
}

.iin-ref-shell .sidebar-brand,
.iin-ref-shell .sidebar-brand-block {
  background: transparent;
  border: 0;
  box-shadow: none;
}

.iin-ref-shell .sidebar-footer {
  background: linear-gradient(180deg, rgba(36, 45, 58, 0.4), rgba(29, 37, 49, 0.52));
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.iin-ref-shell .sidebar-user-main {
  background: linear-gradient(180deg, rgba(30, 39, 51, 0.94), rgba(23, 31, 42, 0.96));
  border-color: rgba(255, 255, 255, 0.06);
  box-shadow: 0 12px 26px rgba(8, 15, 28, 0.18);
}

.iin-ref-shell .app-sidebar .tabs-bar.app-nav {
  gap: 16px;
  padding-bottom: 20px;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section {
  gap: 8px;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section + .sidebar-nav-section {
  padding-top: 8px;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section + .sidebar-nav-section::before {
  top: -2px;
  left: 18px;
  right: 18px;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0));
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__title,
.iin-ref-shell .app-sidebar .sidebar-nav-section__title--favorites,
.iin-ref-shell .app-sidebar .sidebar-nav-section__title-icon {
  color: #ED1A55;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__title {
  padding: 0 18px;
  margin-top: 2px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.22);
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__count {
  color: #fff5f8;
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.14);
}

.iin-ref-shell .app-sidebar .tab-btn,
.iin-ref-shell .app-sidebar .sidebar-favorite-link {
  background: rgba(255, 255, 255, 0.028);
  border-color: rgba(255, 255, 255, 0.045);
}

.iin-ref-shell .app-sidebar .tab-btn {
  color: #f6f8fb;
}

.iin-ref-shell .app-sidebar .tab-btn .tab-label,
.iin-ref-shell .app-sidebar .sidebar-favorite-link__label {
  color: #f6f8fb;
}

.iin-ref-shell .app-sidebar .tab-icon,
.iin-ref-shell .app-sidebar .sidebar-favorite-link .tab-icon {
  color: #eef3f9;
}

.iin-ref-shell .app-sidebar .tab-btn:hover,
.iin-ref-shell .app-sidebar .sidebar-favorite-link:hover {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(255, 255, 255, 0.09);
}

.iin-ref-shell .app-sidebar .tab-btn.active,
.iin-ref-shell .app-sidebar .sidebar-favorite-link.active {
  background: linear-gradient(135deg, rgba(237, 26, 85, 0.18), rgba(255, 255, 255, 0.09));
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.iin-ref-shell .app-sidebar .tab-btn.active::before,
.iin-ref-shell .app-sidebar .sidebar-favorite-link.active::before {
  background: #ED1A55;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section--favorites {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.03));
  border-color: rgba(255, 255, 255, 0.08);
}

.iin-ref-shell .app-sidebar .tab-favorite-toggle {
  color: #e8edf5;
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.06);
}

.iin-ref-shell .app-sidebar .sidebar-favorites-empty strong,
.iin-ref-shell .sidebar-user-copy strong,
.iin-ref-shell .sidebar-user-info strong {
  color: #f8fbff;
}

.iin-ref-shell .app-sidebar .sidebar-favorites-empty span,
.iin-ref-shell .sidebar-user-copy span,
.iin-ref-shell .sidebar-user-info span {
  color: rgba(232, 238, 246, 0.8);
}


/* Restore favorite stars when collapsed sidebar is hover-expanded */
body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .tab-favorite-toggle,
body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .tab-favorite-toggle,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .tab-favorite-toggle {
  display: inline-flex !important;
  width: 30px;
  min-width: 30px;
  height: 30px;
  opacity: 1;
  visibility: visible;
  overflow: visible;
  pointer-events: auto;
}

/* Favorites expanded view: show icon + label + star */
body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites,
body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-nav-section--favorites {
  width: auto;
  margin: 0;
  padding: 10px 0 2px;
}

body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__header,
body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-nav-section__header,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-nav-section--favorites .sidebar-nav-section__header {
  justify-content: space-between;
  padding: 0 18px;
  gap: 12px;
}

body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-favorite-link,
body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-favorite-link,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-nav-section--favorites .sidebar-favorite-link {
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 42px;
  margin-left: 0;
  margin-right: 0;
  padding-left: 18px;
  padding-right: 18px;
  justify-content: flex-start;
  gap: 11px;
}

body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .sidebar-favorite-link__label,
body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .sidebar-favorite-link__label,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-favorite-link__label {
  display: block !important;
  flex: 1 1 auto;
  min-width: 0;
  opacity: 1;
  visibility: visible;
  width: auto;
  max-width: none;
  overflow: visible;
  pointer-events: auto;
}

body[data-sidebar="collapsed"][data-sidebar-hover="1"] .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-favorites-empty,
body[data-sidebar="collapsed"].sidebar-hover-expanded .iin-ref-shell .app-sidebar .sidebar-nav-section--favorites .sidebar-favorites-empty,
body[data-sidebar="collapsed"] .iin-ref-shell .app-sidebar:hover .sidebar-nav-section--favorites .sidebar-favorites-empty {
  display: grid !important;
}

/* Sidebar color refinement: neutral titles and saved-state green */
.iin-ref-shell .app-sidebar .sidebar-nav-section__title,
.iin-ref-shell .app-sidebar .sidebar-nav-section__title--favorites,
.iin-ref-shell .app-sidebar .sidebar-nav-section__title-icon {
  color: #C8D0DA;
}

.iin-ref-shell .app-sidebar .sidebar-nav-section__count {
  color: #f6fff8;
  background: rgba(127, 182, 140, 0.22);
  border-color: rgba(127, 182, 140, 0.34);
}

.iin-ref-shell .app-sidebar .tab-favorite-toggle.is-favorite {
  color: #7FB68C;
  background: rgba(127, 182, 140, 0.16);
  border-color: rgba(127, 182, 140, 0.3);
}


#tab-acompanhamento .ead-monitoring-shell {
  display: grid;
  gap: 22px;
}

#tab-acompanhamento .ead-monitoring-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

#tab-acompanhamento .ead-monitoring-header-copy,
#tab-acompanhamento .ead-monitoring-panel-copy {
  display: grid;
  gap: 6px;
}

#tab-acompanhamento .ead-monitoring-title {
  margin: 0;
  font-size: 1.72rem;
  line-height: 1.08;
  letter-spacing: -0.04em;
  color: #0f172a;
}

#tab-acompanhamento .ead-monitoring-subtitle {
  margin: 0;
  max-width: 880px;
  color: #5f718a;
  font-size: 0.98rem;
  line-height: 1.6;
}

#tab-acompanhamento .ead-monitoring-badge {
  white-space: nowrap;
}

#tab-acompanhamento .ead-monitoring-filters-card {
  padding: 28px;
  border: 1px solid rgba(219, 228, 240, 0.92);
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.06);
}

#tab-acompanhamento .ead-monitoring-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}

#tab-acompanhamento .ead-monitoring-kpi-card {
  display: grid;
  gap: 10px;
  min-height: 132px;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(219, 228, 240, 0.96);
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

#tab-acompanhamento .ead-monitoring-kpi-label {
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #64748b;
}

#tab-acompanhamento .ead-monitoring-kpi-value {
  font-size: 1.52rem;
  line-height: 1.05;
  color: #0f172a;
}

#tab-acompanhamento .ead-monitoring-kpi-note {
  margin: 0;
  color: #64748b;
  font-size: 0.86rem;
  line-height: 1.5;
}

#tab-acompanhamento .ead-monitoring-filters-shell {
  display: grid;
  gap: 18px;
  padding: 20px;
  border-radius: 22px;
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.94) 100%);
}

#tab-acompanhamento .ead-monitoring-filters-head h2,
#tab-acompanhamento .ead-monitoring-panel-head h2,
#tab-acompanhamento .ead-monitoring-panel-head h3 {
  margin: 0;
  color: #0f172a;
}

#tab-acompanhamento .ead-monitoring-filters-grid {
  gap: 16px;
}

#tab-acompanhamento .ead-monitoring-filters-actions {
  justify-content: flex-end;
  margin-top: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

#tab-acompanhamento .ead-monitoring-section-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  min-width: 0;
}

#tab-acompanhamento .ead-monitoring-panel {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 26px;
  border-radius: 24px;
  border: 1px solid rgba(219, 228, 240, 0.92);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.05);
}

#tab-acompanhamento .ead-monitoring-panel--history {
  min-height: 280px;
}

#tab-acompanhamento .ead-monitoring-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

#tab-acompanhamento .ead-monitoring-panel-head--compact {
  margin-bottom: 0;
}

#tab-acompanhamento .ead-monitoring-progress-board {
  margin-top: 18px;
  width: 100%;
  min-width: 0;
}

#tab-acompanhamento .ead-monitoring-progress-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  width: 100%;
  min-width: 0;
}

#tab-acompanhamento .ead-monitoring-panel--soft,
#tab-acompanhamento .ead-monitoring-panel--table {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 20px;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfe 100%);
}

#tab-acompanhamento .ead-monitoring-nucleus-grid {
  display: grid;
  gap: 12px;
}

#tab-acompanhamento .ead-monitoring-nucleus-card {
  display: grid;
  gap: 10px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(219, 228, 240, 0.96);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

#tab-acompanhamento .ead-monitoring-nucleus-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

#tab-acompanhamento .ead-monitoring-nucleus-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#tab-acompanhamento .ead-monitoring-nucleus-metrics span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #eef4fb;
  color: #36516f;
  font-size: 0.78rem;
  font-weight: 700;
}

#tab-acompanhamento .ead-monitoring-table-shell {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  border-radius: 18px;
  border: 1px solid rgba(219, 228, 240, 0.96);
  background: #ffffff;
}

#tab-acompanhamento .ead-monitoring-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

#tab-acompanhamento .ead-monitoring-table thead th {
  padding: 14px 16px;
  background: #f4f7fb;
  border-bottom: 1px solid rgba(219, 228, 240, 0.96);
  text-align: left;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

#tab-acompanhamento .ead-monitoring-table tbody td {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(231, 238, 246, 0.96);
  vertical-align: top;
  color: #1f3048;
}

#tab-acompanhamento .ead-monitoring-table tbody tr:last-child td {
  border-bottom: 0;
}

#tab-acompanhamento .ead-monitoring-collaborator-cell {
  display: grid;
  gap: 4px;
}

#tab-acompanhamento .ead-monitoring-collaborator-cell span {
  font-size: 0.8rem;
  color: #64748b;
}

#tab-acompanhamento .ead-monitoring-progress-cell {
  display: grid;
  gap: 8px;
}

#tab-acompanhamento .ead-monitoring-progress-track {
  position: relative;
  height: 8px;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}

#tab-acompanhamento .ead-monitoring-progress-fill {
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #bfdbfe 0%, #60a5fa 100%);
}

#tab-acompanhamento .ead-monitoring-progress-fill.is-strong {
  background: linear-gradient(90deg, #86efac 0%, #22c55e 100%);
}

#tab-acompanhamento .ead-monitoring-progress-fill.is-medium {
  background: linear-gradient(90deg, #fde68a 0%, #f59e0b 100%);
}

#tab-acompanhamento .ead-monitoring-progress-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(59, 130, 246, 0.12);
  color: #2554a0;
  font-size: 0.78rem;
  font-weight: 800;
}

#tab-acompanhamento .ead-monitoring-progress-pill.is-strong {
  background: rgba(34, 197, 94, 0.16);
  color: #1b7a43;
}

#tab-acompanhamento .ead-monitoring-progress-pill.is-medium {
  background: rgba(245, 158, 11, 0.18);
  color: #9f5a00;
}

#tab-acompanhamento,
#tab-acompanhamento .tab-pane-content,
#tab-acompanhamento .ead-monitoring-shell,
#tab-acompanhamento #acompanhamentoEadPanel,
#tab-acompanhamento #acompanhamentoEadLegacyPanel {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

#tab-acompanhamento .ead-monitoring-shell {
  overflow-x: hidden;
}
#tab-acompanhamento .ead-monitoring-empty-state {
  display: grid;
  place-items: center;
  min-height: 120px;
  padding: 18px;
  border-radius: 18px;
  border: 1px dashed rgba(203, 213, 225, 0.96);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  color: #64748b;
  text-align: center;
}

@media (max-width: 1080px) {
  #tab-acompanhamento .ead-monitoring-kpi-grid,
  #tab-acompanhamento .ead-monitoring-section-grid,
  #tab-acompanhamento .ead-monitoring-progress-shell {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  #tab-acompanhamento .ead-monitoring-header,
  #tab-acompanhamento .ead-monitoring-panel-head,
  #tab-acompanhamento .ead-monitoring-filters-actions {
    flex-direction: column;
    align-items: stretch;
  }

  #tab-acompanhamento .ead-monitoring-filters-card,
  #tab-acompanhamento .ead-monitoring-panel {
    padding: 20px;
  }
}
