* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

/* ============================== */
/* 🎨 Variáveis globais de cor e tipografia */
/* ============================== */
:root {
  --color-background-transp: hsl(0deg 0% 100%);
  --color-background-transp-black: rgb(0 0 0 / 50%);
  --color-background-box-shadow: rgb(0 0 0 / 25%);
  --color-border-bottom: hsl(0deg 0% 100% / 20%);
  --color-background-light-gray: #f0f0f0;
  --color-background-menu: rgb(255 255 255);
  --color-fontes-menu: rgb(64 168 85);
  --color-fontes-sub-menu: rgb(220 241 29);
  --color-border-salas: pink;
  --color-row-tabela-houver: #f6fada;
  --color-background-body: rgb(203 240 206);
  --color-background-main: white;
  --color-table-background-thead: #009879;
  --color-white: rgb(255 255 255);
  --color-red: rgb(255 0 0);
  --color-black-semi: rgb(17 17 17);
  --color-form-background: var(--color-background-menu);

  /* 🌐 Side bar */
  --color-sidebar-layout-bg: #f1f3f4;
  --color-border-sidebar: #e0e0e0;
  --color-sidebar-link: #202124;
  --color-sidebar-hover: #e8f0fe;
  --color-sidebar-hover-text: #1a73e8;

  /* 🔤 Tipografia */
  --font-family-base: arial, sans-serif;
  --text-color: #111;
  --text-xs: 1.2rem;
  --text-sm: 1.4rem;
  --text-md: 1.6rem;
  --text-lg: 1.8rem;
  --text-xl: 2rem;

  /* ✅ Mensagens */
  --message-success-bg: #dff0d8;
  --message-success-border: #d6e9c6;
  --message-info-bg: #d9edf7;
  --message-info-border: #bce8f1;
  --message-warning-bg: #fcf8e3;
  --message-warning-border: #faebcc;
  --message-error-bg: #f2dede;
  --message-error-border: #ebccd1;

  /* ✅ Admin user list partial */
  --color-text-muted: #3c4043;
  --color-border-row: #ececec;
  --color-text-disabled: #777;
  --color-button-hover: #1967d2;
  --color-table-shadow: rgb(0 0 0 / 5%);
  --color-cancel-btn-hover: #d6d6d6;
  --color-confirm-btn-hover: #c5221f;

  /* ✅ Forms */
  --color-input-background: var(--color-background-light-gray);
}

:root.dark {
  --color-background-menu: #1e1e1e;
  --color-fontes-menu: #80d4a1;
  --color-fontes-sub-menu: #ff6;
  --color-border-salas: #555;
  --color-row-tabela-houver: #2b2b2b;
  --color-background-body: #121212;
  --color-background-main: #1e1e1e;
  --color-table-background-thead: #009879;
  --color-sidebar-layout-bg: #1a1a1a;
  --color-border-sidebar: #2e2e2e;
  --color-sidebar-link: #ddd;
  --color-sidebar-hover: #2a3b55;
  --color-sidebar-hover-text: #8ab4f8;
  --text-color: #e0e0e0;
  --text-color-bg-branco: #2b2b2b;
  --message-success-bg: #294b2f;
  --message-success-border: #3e7449;
  --message-info-bg: #2c3e50;
  --message-info-border: #46738c;
  --message-warning-bg: #4c4220;
  --message-warning-border: #a98e4a;
  --message-error-bg: #5b2b2b;
  --message-error-border: #d07070;
  --color-black-semi: #ddd;
  --color-text-muted: #b0b0b0;
  --color-border-row: #444;
  --color-text-disabled: #999;
  --color-button-hover: #4285f4;
  --color-table-shadow: rgb(0 0 0 / 30%);
  --color-cancel-btn-hover: #3a3a3a;
  --color-confirm-btn-hover: #d94141;
  --color-form-background: var(--color-background-main);
  --color-input-background: #2b2b2b;
  --color-background-light-gray: rgb(0 0 0 / 30%);
}

/* ============================== */
/* 📐 Base visual */
/* ============================== */

html {
  font-size: 62.5%;
  background: var(--color-background-body);
}

body {
  background: var(--color-background-body);
  color: var(--text-color);
  font-family: var(--font-family-base);
}

main {
  position: absolute;
  left: 0;
  top: 83px;
  width: 100%;
  border-bottom: 1px solid var(--color-border-bottom);
  background: var(--color-background-main);
  padding: 10px;
  overflow: auto;
  max-width: 100%;
}

/* ============================== */
/* 🎛 Botão tema */
/* ============================== */

.theme-toggle-btn {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: var(--color-fontes-menu);
  cursor: pointer;
  padding: 5px 10px;
  border-radius: 5px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.theme-toggle-btn:hover {
  background-color: color-mix(in srgb, black 5%, transparent);
}
