/* =========================
   CCVideira Pajuçara - UI
   Mobile-first | Dark theme
   ========================= */

:root{
  --bg: #000;
  --card: #0b0b0b;
  --text: #fff;
  --muted: #bdbdbd;

  --border: #333;
  --border2: #444;

  --primary: #1e90ff;

  --btn: #222;
  --btnHover: #2a2a2a;

  --success: #00ff6a;
  --danger: #ff4d4d;
  --kelton: #ffffff;
}

/* Reset básico */
*{
  box-sizing: border-box;
  font-family: Arial, Helvetica, sans-serif;
}

body{
  margin: 0;
  background: var(--bg);
  color: var(--text);
}

/* Container central (celular) */
.container{
  max-width: 480px;
  margin: 0 auto;
  padding: 20px;
}

/* Logo */
.logo{
  text-align: center;
  margin: 10px 0 20px 0;
}
.logo img{
  max-width: 190px;
  height: auto;
}

/* Títulos */
.titulo{
  text-align: center;
  font-size: 20px;
  margin: 10px 0 18px 0;
  font-weight: 700;
}

/* Inputs e botões */
input,
select,
button{
  width: 100%;
  padding: 16px;
  margin-top: 12px;
  border-radius: 10px;
  border: 1px solid var(--border);
  font-size: 18px;
}

input,
select{
  background: #111;
  color: var(--text);
  outline: none;
}
input::placeholder{
  color: #9c9c9c;
}

/* Botão principal */
button{
  background: var(--primary);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  border: none;
  line-height: 1.2;
  transition: opacity .12s ease, transform .05s ease;
}

button:active{
  transform: scale(0.99);
}

button:hover{
  opacity: 0.95;
}

/* Botões de menu (dashboard e telas) */
.menu-btn{
  background: var(--btn);
  border: 1px solid var(--border2);
  padding: 18px;
  font-size: 20px;
  display: flex;              /* deixa ícone + texto alinhados */
  align-items: center;
  gap: 12px;
}

.menu-btn:hover{
  background: var(--btnHover);
}

/* Botão destaque (opcional) */
.menu-btn.destaque{
  background: var(--primary);
  border: none;
}

/* Alertas */
.erro-login{
  background: #8b0000;
  color: #fff;
  padding: 12px 14px;
  border-radius: 10px;
  text-align: center;
  margin: 10px 0 12px 0;
  font-size: 15px;
  border: 1px solid #4b0000;
}

.msg-ok{
  background: #0b5;
  color: #fff;
  padding: 12px 14px;
  border-radius: 10px;
  text-align: center;
  margin: 10px 0 12px 0;
  font-size: 15px;
  border: 1px solid #083;
}

/* Cards (listas, usuários, materiais, etc.) */
.card{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px;
  margin-top: 12px;
}

.card-title{
  font-size: 16px;
  font-weight: 800;
}

.card-muted{
  margin-top: 6px;
  font-size: 13px;
  color: var(--muted);
}

/* =========================
   ÍCONES COLORIDOS (+ / - / ⇄)
   ========================= */
.icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;          /* tamanho da bolinha */
  height: 44px;
  border-radius: 50%;
  font-weight: 900;
  flex-shrink: 0;
  line-height: 1;
}

/* AQUI você aumenta o tamanho do + e − */

.icon-ger{
  background: var(--kelton);
  color: #FFF;
  font-size: 34px;     /* ⬅️ aumente aqui */
}

.icon-plus{
  background: var(--success);
  color: #000;
  font-size: 34px;     /* ⬅️ aumente aqui */
}

.icon-minus{
  background: var(--danger);
  color: #fff;
  font-size: 34px;     /* ⬅️ aumente aqui */
}

.icon-transfer{
  background: var(--primary);
  color: #fff;
  font-size: 26px;
}

/* Pequena melhoria para links (se usar) */
a{
  color: var(--primary);
  text-decoration: none;
}
a:hover{
  text-decoration: underline;
}

/* Select igual aos inputs (tamanho e aparência) */
select {
  width: 100%;
  padding: 16px;
  margin-top: 12px;
  border-radius: 10px;
  border: 1px solid #333;
  font-size: 18px;
  background: #111;
  color: #fff;

  /* ajuda a manter altura consistente */
  min-height: 54px;

  /* remove estilos nativos em alguns browsers */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  /* setinha custom */
  background-image: linear-gradient(45deg, transparent 50%, #aaa 50%),
                    linear-gradient(135deg, #aaa 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;

  padding-right: 44px; /* espaço pra setinha */
}

select:focus,
input:focus {
  outline: none;
  border-color: #1e90ff;
}

/* Labels padrão */
.label{
  display:block;
  margin-top: 12px;
  color:#ddd;
  font-size: 15px;
  font-weight: 700;
}

/* Select igual aos inputs: grande e “app-like” */
select{
  width: 100%;
  padding: 16px;
  margin-top: 10px;
  border-radius: 10px;
  border: 1px solid #333;
  font-size: 18px;
  background: #111;
  color: #fff;
  min-height: 56px;

  /* remove estilo nativo (melhora consistência) */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  /* seta custom */
  background-image:
    linear-gradient(45deg, transparent 50%, #aaa 50%),
    linear-gradient(135deg, #aaa 50%, transparent 50%);
  background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;

  padding-right: 44px; /* espaço pra seta */
}

select:focus,
input:focus{
  outline: none;
  border-color: #1e90ff;
}

/* Botões lado a lado dentro do form (melhor uso da tela) */
.btn-row{
  display:flex;
  gap:12px;
  margin-top: 12px;
}

.btn-row .menu-btn{
  flex:1;
}
.titulo-entrada{
  color: #1e90ff; /* azul */
}

.titulo-saida{
  color: #ff4d4d; /* vermelho */
}
/* ====== Relatórios: fontes maiores ====== */
.card-title{
  font-size: 20px;      /* antes 16 */
  font-weight: 800;
}

.card-muted{
  font-size: 15px;      /* antes 13 */
}

/* linhas de estoque (departamentos e quantidades) */
.linha-estoque{
  display:flex;
  justify-content:space-between;
  padding: 10px 0;      /* mais alto */
  border-bottom: 1px solid #222;
  font-size: 19px;      /* ⬅️ maior */
}

.linha-estoque:last-child{
  border-bottom: none;
}

.linha-estoque b{
  font-size: 22px;      /* ⬅️ quantidades bem grandes */
}

/* ===== Relatório de Estoque: fontes maiores ===== */
.rel-titulo {
  font-size: 22px;
  font-weight: 900;
}

.rel-card-title {
  font-size: 22px;     /* Nome do produto maior */
  font-weight: 900;
  line-height: 1.2;
}

.rel-linha {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;     /* mais alto */
  border-bottom: 1px solid #222;
  font-size: 20px;     /* departamentos maiores */
}

.rel-linha:last-child {
  border-bottom: none;
}

.rel-qtd {
  font-size: 26px;     /* quantidades bem grandes */
  font-weight: 900;
}

.rel-sem-estoque {
  margin-top: 10px;
  font-size: 16px;
  font-weight: 800;
  color: #ff8a8a;
}

/* Checkbox e texto do filtro maiores */
.rel-filtro-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  color: #ddd;
  font-size: 18px;
  font-weight: 700;
}

.rel-filtro-label input[type="checkbox"]{
  transform: scale(1.3);
}
/* ===== ESTOQUE — layout simples e legível ===== */

.estoque-card{
  margin-bottom: 16px;     /* separa um material do outro */
}

.estoque-titulo{
  font-size: 18px;
  font-weight: 900;
  margin-bottom: 10px;
}

.estoque-linha{
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px solid #222;
  font-size: 16px;
}

.estoque-linha:last-child{
  border-bottom: none;
}

.estoque-linha b{
  font-size: 18px;
}

.titulo-transferencia{
  color: #00c853; /* verde */
}
.titulo-listagem{
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: 900;
  text-align: center;
}
