/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
:root {
  --bg: #f3f7f5;
  --surface: #fdfffe;
  --surface-2: #eaf1ee;
  --ink: #16211c;
  --ink-muted: #5c6b64;
  --ink-faint: #8b978f;
  --line: #dee6e2;
  --line-strong: #c7d2cd;
  --accent: #146c52;
  --accent-ink: #ffffff;
  --danger: #a83a3a;
  --font-ui: Helvetica, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'SF Mono', 'Cascadia Code', 'Roboto Mono', Consolas, monospace;
}
/* Tema padrão é sempre claro (:root acima) — não segue preferência do sistema
   operacional de propósito. Escuro só entra se o usuário escolher explicitamente pelo
   botão de tema, que grava em localStorage e aplica via [data-theme] abaixo. */
:root[data-theme='dark'] {
  --bg: #0d1512; --surface: #131c18; --surface-2: #182420;
  --ink: #e7efea; --ink-muted: #93a29b; --ink-faint: #64726b;
  --line: #22322a; --line-strong: #2c3f35;
  --accent: #3ab68b; --accent-ink: #06140f;
  --danger: #e08080;
}
:root[data-theme='light'] {
  --bg: #f3f7f5; --surface: #fdfffe; --surface-2: #eaf1ee;
  --ink: #16211c; --ink-muted: #5c6b64; --ink-faint: #8b978f;
  --line: #dee6e2; --line-strong: #c7d2cd;
  --accent: #146c52; --accent-ink: #ffffff;
  --danger: #a83a3a;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-ui);
}
button { cursor: pointer; font-family: inherit; }
input, select { font-family: inherit; }

.login-page { height: 100vh; display: flex; align-items: center; justify-content: center; }
.login-form {
  display: flex; flex-direction: column; gap: 10px; width: 300px;
  background: var(--surface); padding: 24px; border-radius: 10px; border: 1px solid var(--line);
}
.login-form label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--ink-muted); }
.login-form input { padding: 8px 10px; border: 1px solid var(--line-strong); border-radius: 8px; font-size: 13px; }
.login-form button { background: var(--accent); color: var(--accent-ink); border: none; border-radius: 8px; padding: 10px; font-size: 13px; font-weight: 700; }
.erro { color: var(--danger); font-size: 12.5px; }

.portal { max-width: 760px; margin: 0 auto; padding: 24px; }
.portal a { color: var(--accent); }
.portal-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.portal-header .quem { font-size: 12.5px; color: var(--ink-faint); display: flex; align-items: center; gap: 8px; }
.portal-header button { background: transparent; border: 1px solid var(--line-strong); border-radius: 6px; padding: 6px 12px; font-size: 12.5px; }
.theme-toggle-btn { width: 26px; height: 26px; border-radius: 6px; border: 1px solid var(--line-strong); background: transparent; color: var(--ink-muted); display: flex; align-items: center; justify-content: center; }

.campo { display: flex; flex-direction: column; gap: 3px; font-size: 11.5px; color: var(--ink-muted); }
.campo input { padding: 8px 10px; border: 1px solid var(--line-strong); border-radius: 6px; font-size: 13px; color: var(--ink); }

.empresa-card { border: 1px solid var(--line); border-radius: 8px; padding: 14px 16px; margin-bottom: 10px; background: var(--surface); }
.empresa-card .nome { font-size: 14.5px; font-weight: 700; }
.empresa-card .limites { font-family: var(--font-mono); font-size: 12px; color: var(--ink-faint); margin-top: 4px; }
.empresa-card .acoes { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; align-items: center; }
.empresa-card .acoes input { width: 70px; padding: 5px 6px; border: 1px solid var(--line-strong); border-radius: 4px; font-size: 12.5px; }
.empresa-card .acoes button { background: var(--accent); color: var(--accent-ink); border: none; border-radius: 6px; padding: 6px 12px; font-size: 12.5px; }
.empresa-card .acoes button.entrar { background: var(--ink); }

.portal form.nova-empresa { display: flex; gap: 8px; margin: 16px 0; flex-wrap: wrap; }
.portal form.nova-empresa input { padding: 8px 10px; border: 1px solid var(--line-strong); border-radius: 6px; font-size: 13px; }
.portal form.nova-empresa button { background: var(--accent); color: var(--accent-ink); border: none; border-radius: 6px; padding: 8px 14px; font-size: 13px; }

