
/* NebulaPOS — UI distinta, moderna y funcional
   Paleta: base oscuro, acento indigo (#5b5bd6), cyan (#00e5ff), teal (#00ffbb) */
:root{
  --bg:#0c0f14;
  --surface:#141a22;
  --muted:#93a3b8;
  --text:#e6eefb;
  --indigo:#5b5bd6;
  --cyan:#00e5ff;
  --teal:#00ffbb;
  --danger:#ff5577;
  --ok:#12d18e;
  --warn:#ffcc66;
  --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial}
a{color:var(--cyan);text-decoration:none}
.layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{background:linear-gradient(180deg,#111420,#0c0f14);padding:20px;box-shadow:var(--shadow);position:sticky;top:0;height:100vh}
.brand{font-weight:800;letter-spacing:.5px}
.brand span{color:var(--indigo)}
.nav a{display:block;padding:10px 12px;border-radius:10px;margin:6px 0;color:#cfe3ff}
.nav a.active,.nav a:hover{background:#1a2230}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:var(--surface);position:sticky;top:0;z-index:5;border-bottom:1px solid #273142}
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:20px}
.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}
.center{display:flex;align-items:center;justify-content:center;min-height:100vh}
.card.login{width:360px;max-width:92vw}
.muted{color:var(--muted);font-size:.95rem}
.form input,.form select,.form textarea{width:100%;padding:12px;border-radius:10px;border:1px solid #2b3648;background:#0f141c;color:var(--text);margin:6px 0 12px}
.btn{padding:12px 16px;border:0;border-radius:12px;background:#2a3346;color:#e7f2ff;cursor:pointer}
.btn.primary{background:linear-gradient(135deg,var(--indigo),var(--cyan))}
.btn.ok{background:linear-gradient(135deg,#0ac2a1,#23e08f)}
.btn.warn{background:linear-gradient(135deg,#ffb84d,#ff874d)}
.btn.danger{background:linear-gradient(135deg,#ff6b8b,#ff4161)}
table{width:100%;border-collapse:separate;border-spacing:0 8px}
th,td{padding:12px 14px;background:#141b25}
th{color:#a9bad4;text-align:left}
tr td:first-child, tr th:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}
tr td:last-child, tr th:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}
.grid{display:grid;gap:14px}
.grid.cols-2{grid-template-columns:1fr 1fr}
.grid.cols-3{grid-template-columns:1fr 1fr 1fr}
.badge{padding:6px 10px;border-radius:999px;background:#1a2230;color:#b8c7e0;font-size:.85rem}
.status-new{background:#1a2230}
.status-kitchen{background:#263557;color:#cfe3ff}
.status-ready{background:#1b3a2d;color:#bdf3df}
.status-paid{background:#2f2b4a;color:#dfd5ff}
.alert{background:#2a1b1f;color:#ffb8c7;padding:10px 12px;border-radius:10px;margin-bottom:10px}
.ticket{background:#0f141c;padding:14px;border-radius:12px}
.pill{border:1px dashed #3b4660;padding:6px 10px;border-radius:999px;color:#a8b6d4}
.flex{display:flex;gap:10px;align-items:center}
.space{height:14px}
.list{display:flex;gap:10px;flex-wrap:wrap}
.hidden{display:none}
@media (max-width:900px){
  .layout{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto}
  .kpi{grid-template-columns:1fr 1fr}
  .grid.cols-2,.grid.cols-3{grid-template-columns:1fr}
}
