
/* CorsaHub App Styles - clean esports vibe */
:root{
  --bg:#0b0e14;
  --panel:#111520;
  --panel-2:#0e1320;
  --text:#e7ecf3;
  --muted:#a7b0c0;
  --primary:#00aaff;
  --primary-2:#0093dd;
  --accent:#ff4a4a;
  --ok:#22c55e;
  --warn:#f59e0b;
  --border:rgba(255,255,255,.08);
  --card-radius:16px;
  --btn-radius:12px;
  --shadow:0 6px 24px rgba(0,0,0,.35);
}

*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica Neue, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  background: radial-gradient(1200px 800px at 10% -10%, rgba(0,170,255,.08), transparent 50%), var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a{color: var(--primary); text-decoration: none;}
a:hover{color: var(--primary-2); text-decoration: underline;}

.container{max-width:1200px; margin:0 auto; padding:24px;}
.header{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:16px 20px; background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--border); border-radius: var(--card-radius); box-shadow: var(--shadow);
}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{width:36px; height:36px; border-radius:10px;}
.brand h1{font-size:18px; margin:0; letter-spacing:.3px;}
.header-actions{display:flex; gap:8px; align-items:center;}

.badge{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border:1px solid var(--border);
  background:rgba(255,255,255,.03); border-radius:999px; color:var(--muted); font-size:12px;
}
.badge .dot{width:8px; height:8px; border-radius:999px; background:var(--ok);}

.btn{
  border:none; cursor:pointer; padding:10px 14px; border-radius: var(--btn-radius);
  background: var(--primary); color:#001018; font-weight:700; letter-spacing:.2px;
  transition: transform .08s ease, background .2s ease, box-shadow .2s ease;
  box-shadow: 0 6px 18px rgba(0,170,255,.25);
}
.btn:hover{background: var(--primary-2); transform: translateY(-1px);}
.btn.ghost{background:transparent; color:var(--text); border:1px solid var(--border); box-shadow:none;}
.btn.ghost:hover{background:rgba(255,255,255,.05);}

.grid{display:grid; gap:16px;}
.grid.cols-3{grid-template-columns: repeat(3, minmax(0,1fr));}
@media (max-width: 960px){ .grid.cols-3{grid-template-columns: 1fr;} }

.card{
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
  border:1px solid var(--border); border-radius: var(--card-radius); padding:18px; box-shadow: var(--shadow);
}
.card h2{margin:0 0 8px 0; font-size:16px;}
.card p{margin:0; color: var(--muted); font-size:14px;}
.card .kpi{font-size:28px; font-weight:800; margin-top:6px;}

.table{
  width:100%; border-collapse: collapse; font-size:14px;
}
.table th, .table td{ padding:12px 14px; border-bottom:1px solid var(--border); text-align:left;}
.table th{ color: var(--muted); font-weight:600;}
.table tr:hover td{ background: rgba(255,255,255,.02); }

.alert{ padding:12px 14px; border-radius:12px; margin:8px 0; font-size:14px;}
.alert.success{ background: rgba(34,197,94,.12); border:1px solid rgba(34,197,94,.35); color:#bdf3cd;}
.alert.error{ background: rgba(239,68,68,.12); border:1px solid rgba(239,68,68,.35); color:#ffc1c1;}
.alert.info{ background: rgba(59,130,246,.12); border:1px solid rgba(59,130,246,.35); color:#cfe1ff;}

.toolbar{ display:flex; gap:10px; align-items:center; justify-content:space-between; margin:12px 0;}
.search{ flex:1; }
.search input{
  width:100%; padding:10px 12px; border-radius:10px; border:1px solid var(--border);
  background: rgba(255,255,255,.04); color: var(--text);
}
.switch{ display:inline-flex; align-items:center; gap:8px; font-size:12px; color:var(--muted);}

.footer{ margin-top:24px; padding:16px; color:var(--muted); font-size:12px; text-align:center; }

.role{ padding:4px 8px; font-size:12px; border-radius:999px; border:1px solid var(--border); color:var(--muted);}
.role.owner{ color:#ffe27a; border-color: rgba(255,226,122,.4);}
.role.admin{ color:#b4e1ff; border-color: rgba(0,170,255,.4);}
.role.helper{ color:#c8ffc8; border-color: rgba(34,197,94,.35);}

hr.sep{ border:0; height:1px; background:var(--border); margin:16px 0; }

/* compact mode */
body.compact .card{padding:12px;border-radius:12px}
body.compact .table th, body.compact .table td{padding:8px 10px}
