:root{
  --bg:#0b0f14;
  --panel:#0f1620;
  --text:#e7eef9;
  --muted:#9fb3c8;
  --accent:#00ffcc;
  --accent2:#7c5cff;
  --line:rgba(255,255,255,.08);
  --shadow: 0 20px 60px rgba(0,0,0,.55);
  --radius: 18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  background: radial-gradient(1000px 600px at 15% 10%, rgba(0,255,204,.12), transparent 60%),
              radial-gradient(900px 500px at 90% 20%, rgba(124,92,255,.12), transparent 55%),
              var(--bg);
  color:var(--text);
  overflow-x:hidden;
}

/* Fondo grid */
.bg-grid{
  position:fixed; inset:0;
  background:
    linear-gradient(to right, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(circle at 40% 10%, black 0%, transparent 70%);
  opacity:.35;
  pointer-events:none;
}

.noise{
  position:fixed; inset:0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E");
  opacity:.06;
  pointer-events:none;
}

.wrap{
  width:min(1050px, 92vw);
  margin: 28px auto 40px;
  display:flex;
  flex-direction:column;
  gap:22px;
}

.top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 18px;
  background: rgba(15,22,32,.6);
  border:1px solid var(--line);
  border-radius: var(--radius);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow);
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  letter-spacing: .18em;
}
.dot{
  width:10px; height:10px; border-radius:50%;
  background: var(--accent);
  box-shadow: 0 0 16px rgba(0,255,204,.7);
}
.name{font-size:15px}

.status{
  display:flex;
  align-items:center;
  gap:12px;
}

.pill{
  padding:7px 10px;
  border:1px solid rgba(0,255,204,.35);
  background: rgba(0,255,204,.08);
  border-radius:999px;
  color: var(--accent);
  font-weight:700;
  font-size:12px;
}

.clock{
  color:var(--muted);
  font-size:13px;
}

.hero{
  padding:26px 18px;
  background: rgba(15,22,32,.55);
  border:1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

h1{
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 44px);
  line-height:1.05;
}
.glow{
  color: var(--accent);
  text-shadow: 0 0 18px rgba(0,255,204,.25);
}

.subtitle{
  margin:0 0 18px;
  color: var(--muted);
  font-size: 14px;
}

.terminal{
  margin-top:18px;
  border-radius: var(--radius);
  border:1px solid var(--line);
  overflow:hidden;
  background: rgba(10,14,20,.75);
}

.terminal-top{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-bottom:1px solid var(--line);
  background: rgba(255,255,255,.03);
}
.t-dot{
  width:10px; height:10px; border-radius:50%;
  opacity:.95;
}
.red{background:#ff5c7a}
.yellow{background:#ffd166}
.green{background:#00ffcc}
.t-title{
  margin-left:8px;
  color: var(--muted);
  font-size: 12px;
}

.terminal-body{
  margin:0;
  padding:14px 14px 16px;
  min-height:120px;
  color:#dfe9f6;
  font-size:13px;
  line-height:1.45;
  white-space:pre-wrap;
}

.actions{
  display:flex;
  gap:12px;
  margin-top:16px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius: 12px;
  border:1px solid rgba(0,255,204,.4);
  background: rgba(0,255,204,.12);
  color: var(--accent);
  text-decoration:none;
  font-weight:800;
  transition: transform .12s ease, background .12s ease;
}
.btn:hover{transform: translateY(-1px); background: rgba(0,255,204,.18)}
.btn:active{transform: translateY(0px)}

.btn.ghost{
  border:1px solid rgba(124,92,255,.45);
  background: rgba(124,92,255,.12);
  color:#d7ccff;
}

.cards{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:14px;
}

.card{
  padding:16px 14px;
  background: rgba(15,22,32,.55);
  border:1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  min-height:140px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.card h3{
  margin:0;
  font-size:16px;
}
.card p{
  margin:0;
  color: var(--muted);
  font-size:13px;
  line-height:1.35;
}

.mini{
  margin-top:auto;
  align-self:flex-start;
  padding:8px 10px;
  border-radius: 12px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: var(--text);
  cursor:pointer;
  transition: transform .12s ease, background .12s ease;
}
.mini:hover{transform: translateY(-1px); background: rgba(255,255,255,.08)}
.mini:active{transform: translateY(0px)}

.footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color: var(--muted);
  font-size:12px;
  opacity:.9;
  padding: 8px 0;
}
.sep{opacity:.5}
.hint{opacity:.9}

/* Toast */
.toast{
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,255,204,.35);
  background: rgba(10,14,20,.85);
  color: var(--text);
  box-shadow: var(--shadow);
  opacity: 0;
  pointer-events:none;
  transition: opacity .18s ease, transform .18s ease;
}
.toast.show{
  opacity: 1;
  transform: translateX(-50%) translateY(-4px);
}

/* Responsive */
@media (max-width: 980px){
  .cards{grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 560px){
  .top{flex-direction:column; gap:10px}
  .actions{flex-direction:column}
  .cards{grid-template-columns: 1fr;}
}
