/* CSS: style.css (global) */
/* Fonte: Inter */
:root{
  --sky-500: #4DA6FF;
  --sky-600: #1E90FF;
  --sky-800: #003366;
  --card-bg: rgba(255,255,255,0.98);
  --muted: #6b7a86;
  --rounded: 12px;
  --glass: rgba(255,255,255,0.06);
}

/* reset simples */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background: linear-gradient(180deg, #e9f6ff 0%, #d7f0ff 40%, #eaf6ff 100%), linear-gradient(120deg,var(--sky-500),var(--sky-800));
  color: #032033;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* ---------- login page ---------- */
.login-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.login-card{
  width:100%;
  max-width:460px;
  background:var(--card-bg);
  padding:20px;
  border-radius:16px;
  box-shadow: 0 12px 40px rgba(2,6,23,0.12);
  border:1px solid rgba(3,24,40,0.04);
}

.brand{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.logo{width:56px;height:56px}
.login-card h1{margin:0;color:var(--sky-800);font-size:20px}
.muted{color:var(--muted);font-size:13px;margin-top:4px}

.form{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.field span{display:block;font-weight:600;color:var(--muted);font-size:13px;margin-bottom:6px}
input[type="text"],input[type="password"],input[type="number"],select,textarea{
  padding:12px;border-radius:10px;border:1px solid rgba(3,24,40,0.06);font-size:15px;width:100%;
}
.row{display:flex;gap:8px}
.btn{padding:10px 14px;border-radius:10px;border:none;cursor:pointer;font-weight:700}
.btn.primary{background:var(--sky-800);color:white;flex:1}
.btn.ghost{background:transparent;border:1px solid rgba(3,24,40,0.06);color:var(--sky-800);flex:1}

.error{color:#8b1c1c;font-weight:700;margin-top:6px}
.note{display:block;margin-top:8px;color:var(--muted)}

/* ---------- layout comum para dashboards ---------- */
.app-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns: 260px 1fr;
  gap:18px;
  padding:18px;
  background: linear-gradient(180deg, rgba(77,166,255,0.04), rgba(0,51,102,0.02));
}

.sidebar{
  background:var(--card-bg);padding:14px;border-radius:12px;box-shadow: 0 10px 30px rgba(0,0,0,0.06)
}
.brand-small{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.brand-small .logo-sm{width:40px;height:40px;border-radius:10px;background:linear-gradient(180deg,var(--sky-500),var(--sky-800));color:white;display:flex;align-items:center;justify-content:center;font-weight:800}

.nav-btn{display:block;width:100%;text-align:left;padding:10px;border-radius:10px;border:none;background:transparent;color:var(--sky-800);font-weight:700;margin-bottom:8px;cursor:pointer}
.nav-btn.active{background:linear-gradient(90deg, rgba(77,166,255,0.12), rgba(0,51,102,0.04));box-shadow: inset 0 0 0 1px rgba(77,166,255,0.06)}

.content{padding:6px}
.card{background:var(--card-bg);padding:12px;border-radius:12px;box-shadow: 0 8px 24px rgba(2,6,23,0.06);margin-bottom:14px}

/* metrics */
.metrics{display:flex;gap:12px;flex-wrap:wrap}
.metric{flex:1;min-width:160px;padding:12px;border-radius:10px;background:linear-gradient(180deg,#fff,#f7fdff);box-shadow:0 6px 18px rgba(0,0,0,0.04)}
.metric strong{display:block;font-size:20px;color:var(--sky-800)}

/* tables */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
thead th{padding:10px;text-align:left;color:var(--muted);font-weight:700;border-bottom:1px solid rgba(3,24,40,0.06)}
tbody td{padding:10px;border-bottom:1px dashed rgba(3,24,40,0.04)}

/* form small */
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.form-grid .full{grid-column:1/-1}

/* responsive */
@media (max-width:980px){
  .app-shell{grid-template-columns:1fr; padding:12px}
  .form-grid{grid-template-columns:1fr}
  .brand .logo{width:46px;height:46px}
}
.os-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 16px;
  margin-top: 12px;
}

.os-card {
  background: #fff;
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  transition: 0.2s;
}

.os-card:hover {
  transform: scale(1.02);
  box-shadow: 0 6px 15px rgba(0,0,0,0.15);
}

.os-card img {
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 8px;
}
