/* /var/www/gps.prodestino.com/html/assets/prodestino-ui/prodestino-ui.css */
/*! Pro Destino UI v1 — design-only override (safe) */

:root{
  /* Tema CLARO */
  --pd-bg:#f6f9ff;
  --pd-surface:#ffffff;
  --pd-surface-2:#f8fafc;

  --pd-text:#0f172a;
  --pd-muted:#64748b;

  --pd-brand:#1db954; /* mantém seus botões verdes */
  --pd-danger:#dc3545;
  --pd-warn:#facc15;
  --pd-ok:#22c55e;

  --pd-border:#e5e7eb;
  --pd-radius:14px;
  --pd-shadow:0 6px 18px rgba(2,6,23,.08);
}

/* Base */
html { -webkit-text-size-adjust: 100%; }

body{
  background: var(--pd-bg);
  color: var(--pd-text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji','Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Links */
a { color: var(--pd-brand); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ============ FIX BLINDADO: TOPO/HEADER BRANCO ============ */
/* NiceAdmin usa .header e algumas páginas podem ter #header */
#header, .header, header.header{
  background-color: #fff !important;
  background-image: none !important;
  color: var(--pd-text) !important;
  border-bottom: 1px solid var(--pd-border) !important;
}

/* ícones/links do topo */
#header a, .header a{
  color: var(--pd-text) !important;
  text-decoration: none;
  opacity: .92;
}
#header a:hover, .header a:hover{ opacity: 1; }

/* botão do menu (hamburguer) */
.header .toggle-sidebar-btn{
  color: var(--pd-text) !important;
}

/* ícones do header-nav (lupa, perfil, badges) */
.header-nav .nav-icon,
.header-nav .nav-profile,
.header-nav .nav-profile span{
  color: var(--pd-text) !important;
}

/* caixa de busca quando existir */
.header .search-form input{
  background:#fff !important;
  color: var(--pd-text) !important;
  border:1px solid var(--pd-border) !important;
}

/* ============ CONTEÚDO / CARDS ============ */
.card, .box, .panel, .well, .container-box, .pd-card{
  background: #fff;
  color: var(--pd-text);
  border-radius: var(--pd-radius);
  box-shadow: var(--pd-shadow);
  padding: 14px;
  border: 1px solid var(--pd-border);
}
.card h1, .card h2, .card h3,
.box h1, .box h2, .box h3,
.panel h1, .panel h2, .panel h3{
  margin-top: 0.2rem;
  color: var(--pd-text);
}

/* Buttons */
button, .btn, input[type="submit"], input[type="button"], .button{
  background: var(--pd-brand);
  color: #fff;
  border: 0;
  border-radius: 12px;
  padding: 10px 14px;
  cursor: pointer;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(2,6,23,.10);
  transition: transform .05s ease, filter .2s ease, box-shadow .2s ease;
}
button:hover, .btn:hover, input[type="submit"]:hover, input[type="button"]:hover, .button:hover{ filter: brightness(1.06); }
button:active, .btn:active, input[type="submit"]:active, input[type="button"]:active, .button:active{ transform: translateY(1px); }

/* Semantic button helpers */
.btn-primary { background: var(--pd-brand)!important; color:#fff!important; }
.btn-success { background: var(--pd-ok)!important; color:#0b1a10!important; }
.btn-danger, .btn-delete { background: var(--pd-danger)!important; color:#fff!important; }
.btn-warning { background: var(--pd-warn)!important; color:#111!important; }
.btn-secondary, .btn-default { background: #e2e8f0!important; color: var(--pd-text)!important; }

/* Inputs & forms */
input[type="text"], input[type="email"], input[type="password"], input[type="number"],
input[type="search"], input[type="tel"], select, textarea, .form-control{
  background: #fff;
  color: var(--pd-text);
  border: 1px solid var(--pd-border);
  border-radius: 12px;
  padding: 10px 12px;
  box-shadow: inset 0 1px 1px rgba(2,6,23,.02);
}
input:focus, select:focus, textarea:focus, .form-control:focus{
  outline: none;
  border-color: #c4f1d1;
  box-shadow: 0 0 0 4px rgba(29,185,84,.15);
}

/* Tables */
table{
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border-radius: var(--pd-radius);
  background: #fff;
  color: var(--pd-text);
  border: 1px solid var(--pd-border);
}
th, td{ padding: 10px 12px; border-bottom: 1px solid #eef2f7; }
thead th{ background: #f8fafc; font-weight: 800; }
tbody tr:hover{ background: #f8fafc; }

/* Alerts/messages */
.alert, .message, .notice{
  padding: 12px 14px;
  border-radius: 12px;
  margin: 8px 0;
  border: 1px solid rgba(2,6,23,.06);
}
.alert-success{ background: #ecfdf5; color: #065f46; }
.alert-error, .alert-danger{ background: #fef2f2; color:#991b1b; }
.alert-warning{ background: #fffbeb; color:#92400e; }
.alert-info{ background: #eff6ff; color:#1e3a8a; }

/* Lists */
.list, .items, .collection{ display: grid; gap: 12px; }
.list .item, .items .item, .collection .item{
  background: #fff;
  color: var(--pd-text);
  padding: 12px;
  border-radius: 12px;
  box-shadow: var(--pd-shadow);
  border: 1px solid var(--pd-border);
}

/* Footer */
footer{ color: var(--pd-muted); padding: 20px 10px; text-align: center; }

/* Optional helpers used by the sample page (safe if not present) */
#menu{ backdrop-filter: blur(6px); }
#statusBar{ font-family: inherit; }
#cardsContainer .card{ border-radius: 16px; }
.leaflet-control-custom{ border-radius: 50%; }
