:root{
 --bg: #f3f4f6;
 --card: #ffffff;
 --text: #111827;
 --muted: #6b7280;
 --line: #e5e7eb;

 --primary: #2563eb;
 --primary2: #1d4ed8;
}

*{ box-sizing: border-box; }

body{
 margin: 0;
 background: linear-gradient(180deg, #eef2ff 0%, var(--bg) 100%);
 font-family: Arial, sans-serif;
 color: var(--text);
}

.bg{
 min-height: 100vh;
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 18px;
}

main.auth-box{
 width: 100%;
 max-width: 420px;
 background: var(--card);
 border: 1px solid rgba(0,0,0,.06);
 border-radius: 14px;
 box-shadow: 0 10px 24px rgba(17,24,39,.12);
 overflow: hidden;
}

.hero{
 padding: 18px 18px 10px;
 background: linear-gradient(135deg, #111827, #1f2937);
 color: #fff;
}

.hero h1{
 margin: 0;
 font-size: 18px;
 line-height: 1.1;
}

.hero p{
 margin: 6px 0 0;
 color: #cbd5e1;
 font-size: 13px;
}

.card{
 padding: 14px 18px 18px;
}

.card h2{
 margin: 0 0 12px;
 font-size: 16px;
}

.msg{
 background: #fef3c7;
 border: 1px solid #fde68a;
 color: #92400e;
 padding: 8px 10px;
 border-radius: 10px;
 margin-bottom: 12px;
 font-size: 13px;
}

form{
 display: flex;
 flex-direction: column;
 gap: 10px;
}

label{
 font-size: 13px;
 color: var(--text);
 font-weight: 600;
}

select,
input[type="password"]{
 width: 100%;
 padding: 10px 12px;
 border: 1px solid var(--line);
 border-radius: 10px;
 outline: none;
 font-size: 14px;
 background: #fff;
}

select:focus,
input[type="password"]:focus{
 border-color: rgba(37,99,235,.6);
 box-shadow: 0 0 0 3px rgba(37,99,235,.15);
}

button[type="submit"]{
 margin-top: 4px;
 padding: 10px 12px;
 border: none;
 border-radius: 10px;
 background: var(--primary);
 color: #fff;
 font-weight: 700;
 cursor: pointer;
 font-size: 14px;
}

button[type="submit"]:hover{
 background: var(--primary2);
}

.link-btn{
 display: inline-block;
 margin-top: 6px;
 text-align: center;
 font-size: 13px;
 color: var(--primary);
 text-decoration: none;
 font-weight: 700;
}

.link-btn:hover{
 text-decoration: underline;
}

.views-scroll{
  max-height: calc(10 * 1.5em); /* ajuste se necessário */
  overflow-x: auto; /* barra horizontal */
  overflow-y: auto; /* barra vertical */
  white-space: nowrap; /* opcional: ajuda a manter conteúdo em linha */
}

.status-badge{
  display:inline-block !important;
  padding:4px 8px !important;
  border-radius:6px !important;
  font-weight:600 !important;
}

.status-atual   { background-color:#c8f7c5 !important; color:#1f5e1f !important; }
.status-m1      { background-color:#ddf9d8 !important; color:#1f5e1f !important; }
.status-m2      { background-color:#fff4b8 !important; color:#6b5a00 !important; }
.status-m3      { background-color:#ffe79a !important; color:#6b4f00 !important; }
.status-m4      { background-color:#ffcccc !important; color:#8a1f1f !important; }
.status-m5      { background-color:#ffb3b3 !important; color:#8a1f1f !important; }
.status-m6      { background-color:#ff9999 !important; color:#7a1414 !important; }
.status-m7      { background-color:#ff8080 !important; color:#7a1414 !important; }
.status-m8-12   { background-color:#8b0000 !important; color:#fff !important; }
.status-alerta  { background-color:#ffd966 !important; color:#000 !important; }
.status-default { background-color:#eaeaea !important; color:#333 !important; }

.descricao-lancamento{
  font-size: inherit !important;
  line-height: inherit !important;
}

td.td-descricao,
td.td-descricao *{
  font-size: 14px !important;   /* use o mesmo tamanho das outras colunas */
  line-height: 1.4 !important;
}