:root {
  --bg: #0f172a;
  --fg: #e2e8f0;
  --accent: #38bdf8;
  --muted: #94a3b8;
  --danger: #ef4444;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji'; background: var(--bg); color: var(--fg); }
.container { max-width: 780px; margin: 2rem auto; padding: 0 1rem; }
.nav { display: flex; gap: 1rem; padding: .75rem 1rem; border-bottom: 1px solid #1f2937; background: #0b1220; }
.nav a { color: var(--fg); text-decoration: none; opacity: .9; }
.nav a:hover { color: var(--accent); }
h1, h2 { margin: 1rem 0; }
.form-row { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1rem; }
label { font-weight: 600; color: var(--muted); }
input[type="text"], input[type="password"], input[type="email"] { background: #0b1220; color: var(--fg); border: 1px solid #1f2937; border-radius: .5rem; padding: .75rem 1rem; }
button { background: var(--accent); color: #00122a; border: none; border-radius: .5rem; padding: .75rem 1rem; font-weight: 700; cursor: pointer; }
button:hover { filter: brightness(1.05); }
.result { margin-top: 1rem; color: var(--danger); }

/* Layout helpers */
.grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 900px) { .grid { grid-template-columns: 1fr 1fr; } }
.card { background: #0b1220; border: 1px solid #1f2937; border-radius: 12px; padding: 1rem; box-shadow: 0 2px 8px rgba(0,0,0,0.3); }
.muted { color: var(--muted); }

/* Estilo tipo macOS para el dashboard admin */
.admin-ui { color: #1c1c1e; }
.admin-ui .grid { gap: 1.25rem; }
.admin-ui input[type="text"],
.admin-ui input[type="password"],
.admin-ui input[type="email"],
.admin-ui input[type="url"],
.admin-ui select { background: #ffffff; color: #1c1c1e; border: 1px solid #d2d2d7; border-radius: 10px; padding: .6rem .8rem; }
.admin-ui button { background: #0a84ff; color: #fff; border-radius: 10px; padding: .6rem .9rem; box-shadow: 0 2px 6px rgba(10,132,255,0.25); }
.admin-ui button:hover { filter: none; background: #0a7ae6; }
.admin-ui .btn-outline { background: transparent; color: #0a84ff; border: 1px solid #0a84ff; border-radius: 10px; padding: .4rem .7rem; }
.admin-ui .btn-outline:hover { background: rgba(10,132,255,0.08); }
.admin-ui .card { background: rgba(255,255,255,0.85); color: #1c1c1e; border: 1px solid #d2d2d7; border-radius: 16px; padding: 1rem; box-shadow: 0 8px 30px rgba(0,0,0,0.08); backdrop-filter: saturate(180%) blur(16px); }

.admin-ui .filters-row { display: flex; gap: .6rem; align-items: center; margin-bottom: .75rem; flex-wrap: wrap; }
.admin-ui .table-wrap { overflow-x: auto; border-radius: 12px; }
.admin-ui table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border: 1px solid #e5e5ea; border-radius: 12px; overflow: hidden; }
.admin-ui thead th { background: #f5f5f7; color: #1c1c1e; padding: .75rem; text-align: left; border-bottom: 1px solid #e5e5ea; font-weight: 600; }
.admin-ui tbody td { padding: .6rem .75rem; border-bottom: 1px solid #f0f0f3; color: #1c1c1e; }
.admin-ui tbody tr:nth-child(odd) { background: #fafafa; }
.admin-ui .pagination { display: flex; gap: .6rem; align-items: center; margin-top: .75rem; color: #1c1c1e; }

.badge { display: inline-block; padding: .25rem .5rem; border-radius: 999px; font-size: .85rem; border: 1px solid #e5e5ea; }
.badge.activo { background: #e6f2ff; color: #004085; border-color: #b3d7ff; }
.badge.inactivo { background: #fef3f2; color: #661919; border-color: #f3c0bd; }
.badge.suspendido { background: #fff4ce; color: #663c00; border-color: #f5d28b; }

/* Lista de aplicaciones con acciones */
.admin-ui .app-item { border: 1px solid #e5e5ea; border-radius: 12px; padding: .75rem; background: #fff; margin-bottom: .6rem; }
.admin-ui .app-item .row { display: flex; gap: .6rem; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.admin-ui .app-item .info { min-width: 220px; }
.admin-ui .app-item .actions { display: flex; gap: .4rem; }

/* Responsivo general */
@media (max-width: 640px) {
  .admin-ui .filters-row { flex-direction: column; align-items: stretch; }
  .admin-ui .filters-row > * { width: 100%; }
  .admin-ui .pagination { flex-direction: column; align-items: flex-start; }
}