:root{
  --app-primary:#4f46e5;
  --app-dark:#0b1020;
  --app-card:#ffffff;
  --app-muted:#6b7280;
  --app-shadow: 0 10px 30px rgba(0,0,0,.08);
  --radius: 18px;
}

*{font-family: system-ui, -apple-system, "Segoe UI", Tahoma, Arial;}
.app-bg{
  background:
    radial-gradient(1200px 600px at 80% -20%, rgba(79,70,229,.35), transparent 55%),
    radial-gradient(900px 500px at 10% 0%, rgba(59,130,246,.25), transparent 55%),
    linear-gradient(180deg, #0b1020 0%, #0f172a 30%, #f5f7ff 30%, #f5f7ff 100%);
  min-height:100vh;
}

.app-shell{ min-height:100vh; }
.app-header{
  background: linear-gradient(135deg, rgba(79,70,229,.95), rgba(59,130,246,.85));
  color:#fff;
  box-shadow: 0 8px 30px rgba(0,0,0,.18);
  border-bottom-left-radius: 22px;
  border-bottom-right-radius: 22px;
}
.brand-dot{
  width:14px;height:14px;border-radius:999px;
  background:#fff;
  box-shadow: 0 0 0 6px rgba(255,255,255,.2);
}

.btn-light-soft{
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.25);
  color:#fff;
}
.btn-light-soft:hover{ background: rgba(255,255,255,.22); color:#fff; }

.card-app{
  background: var(--app-card);
  border: 0;
  border-radius: var(--radius);
  box-shadow: var(--app-shadow);
}
.badge-soft{
  background: rgba(79,70,229,.10);
  color: var(--app-primary);
  border: 1px solid rgba(79,70,229,.18);
  border-radius: 999px;
  padding: .35rem .6rem;
  font-weight:600;
  font-size:.78rem;
}

.app-nav{
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(15,23,42,.08);
  display:flex;
  justify-content: space-around;
  padding: .55rem .3rem calc(.55rem + env(safe-area-inset-bottom));
  box-shadow: 0 -12px 30px rgba(0,0,0,.06);
}
.app-nav .nav-item{
  text-decoration:none;
  color:#111827;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.15rem;
  font-size:.78rem;
  min-width:70px;
}
.app-nav .nav-item i{ font-size:1.2rem; color: var(--app-primary); }

.form-control, .form-select{
  border-radius: 14px;
  border:1px solid rgba(15,23,42,.12);
  padding:.8rem .9rem;
}
.form-control:focus, .form-select:focus{
  box-shadow: 0 0 0 .25rem rgba(79,70,229,.14);
  border-color: rgba(79,70,229,.35);
}

.divider{
  height:1px;
  background: rgba(15,23,42,.08);
  margin: .9rem 0;
}

.small-muted{ color: var(--app-muted); }

.list-tile{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
}
.list-tile .meta{display:flex; flex-direction:column;}
.list-tile .meta .t{font-weight:700;}
.list-tile .meta .s{font-size:.85rem;color:var(--app-muted);}
.pill{
  border-radius:999px;
  padding:.35rem .65rem;
  font-weight:700;
  font-size:.78rem;
  border:1px solid rgba(15,23,42,.10);
}
.pill-ok{background:#ecfdf5;color:#065f46;border-color:#a7f3d0;}
.pill-pending{background:#fffbeb;color:#92400e;border-color:#fde68a;}
.pill-bad{background:#fef2f2;color:#991b1b;border-color:#fecaca;}

.table-min td, .table-min th{ padding:.6rem .55rem; vertical-align:middle; }
