/* ============================================================
   TEMA ROLETA 2025 — identidade propria (verde-feltro + dourado)
   Sobrepoe o SB Admin 2. Carregado depois dele em toda pagina.
   ============================================================ */
:root{
  --rl-feltro:#0b4d2e;
  --rl-feltro-esc:#083a22;
  --rl-feltro-cla:#126b40;
  --rl-ouro:#d8a94e;
  --rl-ouro-esc:#b8863b;
  --rl-vermelho:#c62828;
  --rl-texto:#eaf3ec;
}

/* ---------- barra superior ---------- */
.navbar-default{
  background: linear-gradient(180deg,var(--rl-feltro) 0%,var(--rl-feltro-esc) 100%) !important;
  border-color: var(--rl-ouro-esc) !important;
  border-bottom: 2px solid var(--rl-ouro) !important;
}
.navbar-default .navbar-brand{
  color: var(--rl-ouro) !important;
  font-weight: 800; letter-spacing:.5px; font-size:19px;
  display:flex; align-items:center; gap:10px;
}
.navbar-default .navbar-brand:hover{ color:#f0cd7a !important; }
.navbar-brand .rl-wheel{ width:34px;height:34px;flex:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5)); }
.navbar-top-links > li > a{ color:var(--rl-texto) !important; }
.navbar-top-links > li > a:hover{ background:rgba(216,169,78,.18) !important; color:var(--rl-ouro) !important; }
.navbar-default .navbar-toggle .icon-bar{ background:var(--rl-ouro); }

/* ---------- menu lateral ---------- */
.navbar-default .sidebar,
.sidebar{
  background: linear-gradient(180deg,var(--rl-feltro-esc) 0%,#062b19 100%) !important;
  border-right:1px solid rgba(216,169,78,.35) !important;
}
.sidebar ul li{ border-bottom:1px solid rgba(216,169,78,.12) !important; }
.sidebar ul li a,
.nav > li > a{ color:var(--rl-texto) !important; }
.sidebar ul li a i{ color:var(--rl-ouro) !important; width:20px; }
.sidebar ul li a:hover,
.sidebar ul li a:focus,
.nav > li > a:hover,
.nav > li > a:focus{
  background: rgba(216,169,78,.16) !important;
  color:#fff !important;
  border-left:3px solid var(--rl-ouro) !important;
}
.sidebar ul li a.active,
.nav > li > a.active{
  background: var(--rl-feltro-cla) !important;
  color:#fff !important; border-left:3px solid var(--rl-ouro) !important;
}
.sidebar .nav-second-level li a{ padding-left:37px; background:rgba(0,0,0,.18) !important; }

/* ---------- area de conteudo ---------- */
#page-wrapper{ background:#f2f6f3 !important; border-left:1px solid #dbe6de; }
body{ background:#f2f6f3; }
.page-header{ border-bottom:2px solid var(--rl-ouro); color:var(--rl-feltro); }

/* ---------- paineis / cards ---------- */
.panel-default > .panel-heading{
  background: linear-gradient(180deg,var(--rl-feltro) 0%,var(--rl-feltro-esc) 100%) !important;
  color:var(--rl-ouro) !important;
  border-color:var(--rl-ouro-esc) !important;
  font-weight:700;
}
.panel-default > .panel-heading .panel-title{ color:var(--rl-ouro) !important; }
.panel{ border-color:#cddbd2; box-shadow:0 1px 3px rgba(11,77,46,.10); }
.panel-primary > .panel-heading{ background:var(--rl-feltro) !important; border-color:var(--rl-ouro-esc) !important; }

/* ---------- botoes ---------- */
.btn-primary{
  background: var(--rl-feltro) !important; border-color: var(--rl-feltro-esc) !important; color:#fff !important;
}
.btn-primary:hover,.btn-primary:focus{ background:var(--rl-feltro-cla) !important; border-color:var(--rl-ouro) !important; }
.btn-info{ background:var(--rl-ouro-esc) !important; border-color:var(--rl-ouro-esc) !important; color:#fff !important; }
.btn-info:hover{ background:var(--rl-ouro) !important; border-color:var(--rl-ouro) !important; }

/* ---------- tabelas ---------- */
.table > thead > tr > th{ background:var(--rl-feltro); color:var(--rl-ouro); border-color:var(--rl-feltro-esc); }
.table-striped > tbody > tr:nth-of-type(odd){ background:#eef5f0; }

/* ---------- LOGIN ---------- */
body.rl-login{
  background:
    radial-gradient(1100px 620px at 50% -180px, rgba(18,107,64,.55), transparent 70%),
    linear-gradient(180deg,#083a22 0%,#04200f 100%) !important;
  min-height:100vh;
}
body.rl-login .login-panel{
  margin-top:6% !important;
  background:rgba(255,255,255,.97);
  border:1px solid var(--rl-ouro-esc);
  box-shadow:0 12px 40px rgba(0,0,0,.5);
  border-radius:10px; overflow:hidden;
}
body.rl-login .login-panel .panel-heading{
  background: linear-gradient(180deg,var(--rl-feltro) 0%,var(--rl-feltro-esc) 100%) !important;
  border-bottom:2px solid var(--rl-ouro) !important; text-align:center; padding:16px;
}
body.rl-login .login-panel .panel-title{ color:var(--rl-ouro) !important; font-size:20px; font-weight:800; letter-spacing:1px; }
.rl-login-marca{ text-align:center; padding:26px 0 6px; }
.rl-login-marca svg{ width:96px;height:96px; filter:drop-shadow(0 4px 10px rgba(0,0,0,.55)); }
.rl-login-marca h1{
  margin:12px 0 0; font-size:31px; font-weight:800; letter-spacing:2px; color:var(--rl-ouro);
  text-shadow:0 2px 6px rgba(0,0,0,.6);
}
.rl-login-marca h1 span{ color:#fff; }
.rl-login-marca p{ margin:4px 0 0; color:rgba(234,243,236,.72); font-size:12px; letter-spacing:3px; text-transform:uppercase; }
body.rl-login .btn-success{ background:var(--rl-ouro-esc) !important; border-color:var(--rl-ouro) !important; font-weight:700; letter-spacing:.5px; }
body.rl-login .btn-success:hover{ background:var(--rl-ouro) !important; color:#08301c !important; }

/* ---------- grid da pagina inicial: alturas iguais, sem buracos ----------
   Os cards sao col-lg-* flutuantes; titulo de 1 vs 2 linhas gerava altura
   diferente e o float "prendia", deixando espaco vazio. Altura fixa resolve. */
#page-wrapper [class*="col-lg-"] > a > .panel > .panel-heading{
  min-height:132px; display:flex; align-items:center; padding:10px 14px;
}
#page-wrapper [class*="col-lg-"] > a > .panel{ margin-bottom:18px; }
#page-wrapper [class*="col-lg-"] > a > .panel .row{ width:100%; margin:0; display:flex; align-items:center; }
#page-wrapper [class*="col-lg-"] > a > .panel .row > br{ display:none; }
#page-wrapper [class*="col-lg-"] > a > .panel h4{
  margin:0; font-size:16px; line-height:1.25; font-weight:700;
}
#page-wrapper [class*="col-lg-"] > a > .panel .announcement-heading-text{ margin:0; }
#page-wrapper [class*="col-lg-"] > a > .panel i.fa-5x{ font-size:3.4em; }

/* ---------- card do tablet: cabecalho nao corta mais o nome ----------
   O container tinha height:38px fixo e o texto (id/admin/cliente/ponto)
   quebrava em 2 linhas e sumia. Agora quebra e acompanha a altura. */
#page-wrapper .panel-body strong > font[size="1"],
#page-wrapper strong > font[size="1"]{
  font-size:11px; line-height:1.25; word-break:break-word; display:inline;
}
#page-wrapper [style*="min-height:38px"] > strong{
  flex:1 1 auto; min-width:0; font-size:12.5px; line-height:1.3;
  word-break:break-word; overflow-wrap:anywhere;
}
#page-wrapper [style*="min-height:38px"] .btnOnlineServer{ flex:0 0 auto; white-space:nowrap; }
