
/*! MTSoftware - modern.css (drop-in, mobile-first) */
:root{
  --bg:#0b1220;          /* opcional se o teu tema já usar */
  --panel:#111a2b;
  --text:#e5eeff;
  --muted:#9db0cf;
  --accent:#3b82f6;
  --danger:#ef4444;
  --ok:#10b981;
  --radius:14px;
  --gap:12px;
  --shadow:0 6px 24px rgba(0,0,0,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
/* Tipografia e base */
body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
/* Botões e inputs */
button, .btn, input[type=button], input[type=submit]{
  border:0;border-radius:var(--radius);
  padding:.6rem 1rem; cursor:pointer;
  box-shadow:var(--shadow);
  transition:transform .05s ease, opacity .2s ease;
}
button:hover, .btn:hover{transform:translateY(-1px)}
button:active, .btn:active{transform:translateY(0)}
input, select, textarea{
  width:100%; padding:.55rem .7rem; border-radius:12px;
  border:1px solid #c7d2fe22; background:rgba(255,255,255,.02);
  outline:none; transition:border-color .2s ease, box-shadow .2s ease;
}
input:focus, select:focus, textarea:focus{
  border-color:var(--accent); box-shadow:0 0 0 3px rgba(59,130,246,.15);
}
label{font-weight:600; display:block; margin:.4rem 0}
/* Cards/painéis */
.card{
  border-radius:var(--radius); box-shadow:var(--shadow);
  padding:1rem; background:rgba(255,255,255,.03);
}
/* Layout responsivo simples para formulários (empilha em mobile) */
.form-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:var(--gap);
}
@media (max-width: 900px){ .form-grid{ grid-template-columns:1fr; } }
/* Tabelas responsivas */
table{ width:100%; border-collapse:collapse; }
thead th{ position:sticky; top:0; background:rgba(0,0,0,.05); backdrop-filter:saturate(180%) blur(6px); }
th, td{ padding:.6rem .5rem; border-bottom:1px solid #c7d2fe22; text-align:left; }
.table-wrap{ overflow-x:auto; width:100%; }
@media (max-width:700px){
  table{ display:block; overflow-x:auto; white-space:nowrap; }
}
/* Utilidades */
.hidden{display:none !important}
.stack{display:flex; gap:var(--gap); align-items:center}
.stack-col{display:flex; flex-direction:column; gap:var(--gap)}
.center{display:grid; place-items:center}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}
.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}
.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.25rem}
/* Avisos */
.alert{padding:.75rem 1rem;border-radius:12px}
.alert-ok{background:rgba(16,185,129,.12); border:1px solid rgba(16,185,129,.3)}
.alert-danger{background:rgba(239,68,68,.12); border:1px solid rgba(239,68,68,.3)}
/* Botões de cor */
.btn-primary{background:var(--accent); color:white}
.btn-danger{background:var(--danger); color:white}
.btn-ok{background:var(--ok); color:white}
/* Pequeno reset para <meta viewport> funcionar bem */
@viewport{ width:device-width; zoom:1.0; }
