@import url(https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,400;0,500;0,600;0,700;0,800&family=JetBrains+Mono:wght@400;500;600&display=swap);
/* ===== Portal de Parceiros P15 — Design tokens ===== */

:root {
  /* Brand — azul do logo */
  --brand-50:  #EAF3FB;
  --brand-100: #D2E6F7;
  --brand-200: #A9CDEE;
  --brand-300: #74ABDF;
  --brand-400: #4A93D6;
  --brand-500: #1C6FB8;  /* primary */
  --brand-600: #155A9B;
  --brand-700: #134E7A;
  --brand-800: #123F61;

  /* Acento — verde de vendas/sucesso */
  --green-400: #2FC58C;
  --green-500: #12A877;
  --green-600: #0E8B62;
  --green-bg:  #E4F6EE;

  /* Funcionais */
  --amber-500: #E0A400;
  --amber-bg:  #FBF1D8;
  --red-500:   #E0533D;
  --red-bg:    #FBE7E2;
  --violet-500:#7A6CF0;
  --violet-bg: #ECE9FD;

  --radius: 16px;
  --radius-sm: 10px;
  --radius-lg: 22px;
  --shadow-xs: 0 1px 2px rgba(16,32,55,.06);
  --shadow-sm: 0 2px 8px rgba(16,32,55,.06), 0 1px 2px rgba(16,32,55,.04);
  --shadow-md: 0 8px 28px rgba(16,32,55,.10), 0 2px 6px rgba(16,32,55,.05);
  --shadow-lg: 0 24px 60px rgba(16,32,55,.16);

  --font: 'Figtree', system-ui, -apple-system, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;

  /* docs/layout.md — escala de espaçamento (primeira vez que existe uma central no projeto;
     antes cada tela/componente tinha valores em px soltos e duplicados). Usada pelos poucos
     arquivos de alta alavancagem tocados nesta entrega (shell/inputStyle/Button/Card/
     ResponsiveDataView) — o rollout pro resto das telas fica como próximo passo (roadmap). */
  --space-1: 0.25rem;  /* 4px */
  --space-2: 0.5rem;   /* 8px */
  --space-3: 0.75rem;  /* 12px */
  --space-4: 1rem;     /* 16px */
  --space-5: 1.25rem;  /* 20px */
  --space-6: 1.5rem;   /* 24px */

  /* Shell (sidebar/topbar/conteúdo) — antes 256px/66px/'26px 28px 36px' duplicados ao pé da
     letra em PartnerApp.jsx/AdminApp.jsx/CompanyApp.jsx; só valem no Desktop (!isCompact), o
     modo compacto (tablet/mobile) continua com os próprios valores, inalterados. */
  /* 15rem/240px (não 14rem/224px): testado ao vivo e 224px quebrava a quebra de linha do
     nome do usuário no rodapé da sidebar (Avatar + 2 IconButton comem boa parte da largura
     fixa, sobrando pouco pra coluna de texto) — 240px é o ponto mais apertado sem regressão. */
  --shell-sidebar-w: 15rem;      /* 240px, era 256px */
  --shell-topbar-h: 3.5rem;      /* 56px, era 66px */
  --shell-content-pad-top: 1.25rem;    /* 20px, era 26px */
  --shell-content-pad-x: 1.375rem;     /* 22px, era 28px */
  --shell-content-pad-bottom: 1.75rem; /* 28px, era 36px */
}

/* Light (default) */
:root, [data-theme="light"] {
  --bg: #EEF3F9;
  --surface: #FFFFFF;
  --surface-2: #F7FAFD;
  --surface-3: #EFF4F9;
  --border: #E3EAF2;
  --border-strong: #D2DDE9;
  --text: #11202F;
  --text-muted: #57697E;
  --text-faint: #8FA0B4;
  --brand: var(--brand-500);
  --brand-soft: var(--brand-50);
  --ring: rgba(28,111,184,.18);
  --overlay: rgba(13,24,38,.46);
}

[data-theme="dark"] {
  --bg: #0A111B;
  --surface: #131E2C;
  --surface-2: #0F1925;
  --surface-3: #1A2636;
  --border: #23344A;
  --border-strong: #2E4358;
  --text: #EAF1F8;
  --text-muted: #93A6BC;
  --text-faint: #5E748B;
  --brand: #3D90D6;
  --brand-soft: rgba(61,144,214,.14);
  --ring: rgba(61,144,214,.28);
  --overlay: rgba(3,8,15,.62);
}

* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
#root { height: 100%; }

::selection { background: var(--brand-200); color: var(--brand-800); }
[data-theme="dark"] ::selection { background: rgba(61,144,214,.4); color: #fff; }

/* Scrollbars */
*::-webkit-scrollbar { height: 10px; width: 10px; }
*::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 99px; border: 2px solid transparent; background-clip: padding-box; }
*::-webkit-scrollbar-thumb:hover { background: var(--text-faint); background-clip: padding-box; }
*::-webkit-scrollbar-track { background: transparent; }

button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
input, select, textarea { font-family: inherit; }
a { color: inherit; text-decoration: none; }

.mono { font-family: var(--mono); font-feature-settings: "tnum"; letter-spacing: -.01em; }
.tnum { font-variant-numeric: tabular-nums; }

@keyframes fadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes pop { 0% { transform: scale(.96); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
@keyframes drawline { from { stroke-dashoffset: var(--len); } to { stroke-dashoffset: 0; } }
@keyframes growbar { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes p15-skeleton-shimmer { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }

.view-enter { animation: viewIn .42s cubic-bezier(.2,.7,.3,1); }
@media (prefers-reduced-motion: reduce) { .view-enter { animation: none; } }
@keyframes viewIn { from { transform: translateY(10px); } to { transform: none; } }

/* docs/ajustes09.md — placeholder do editor de assinatura (RichTextEditor), contentEditable vazio. */
[data-placeholder]:empty:before { content: attr(data-placeholder); color: var(--text-faint); pointer-events: none; }

@media (max-width: 1100px) {
  .split-2 { grid-template-columns: 1fr !important; }
  .kpi-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 680px) {
  .kpi-grid { grid-template-columns: 1fr !important; }
}


/*# sourceMappingURL=admin.9060799e.css.map*/