
:root{
  --bg:#0b0f14; --panel:#121821; --border:#1e2a3a; --link:#6ab3ff;
  --text:#e6eef7; --muted:#9db3c7; --cta:#1a60ff; --cta2:#3774ff;
}
*{box-sizing:border-box}
html,body{height:100%}
body{font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Arial;margin:0;background:var(--bg);color:var(--text)}

/* Layout */
.wrap{max-width:880px;margin:24px auto;padding:0 16px}
.panel{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--panel);margin:10px 0;box-shadow:0 1px 0 rgba(0,0,0,.25) inset}
.small{font-size:.92rem}
.muted{color:var(--muted)}
.error{color:#ff6b6b}

/* Header (compact, horizontal) */
.header{
  display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px;
}
.title-card{
  font-weight:800; letter-spacing:.2px; color:#fff;
  border:1px solid var(--border); background:#0f1520; border-radius:12px; padding:10px 14px; font-size:22px;
}
.header-cta{
  display:flex; align-items:center; gap:10px; flex-wrap:nowrap;
}
.btn-outline{
  display:inline-flex; gap:8px; align-items:center; justify-content:center;
  background:#0f1520; color:#e6eef7; border:1px solid var(--border);
  border-radius:999px; padding:10px 14px; font-weight:700; text-decoration:none;
}
.btn-outline:hover{ background:#0f2036 }
.icon svg{ width:18px; height:18px; display:block }

/* Call header button accent */
.btn-call{
  border-color:#2b6fff;
  color:#dfeaff;
  font-weight:800;
}
.btn-call:hover{
  background:rgba(43,111,255,0.12);
  border-color:#2b6fff;
  color:#ffffff;
}
.btn-call svg{ width:18px; height:18px }

/* Telegram icon-only chip */
.btn-tg{
  width:40px; height:40px; padding:0;
  border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--border); background:#0f1520; color:#e6eef7;
}
.btn-tg:hover{ background:#0f2036 }
.btn-tg svg{ width:18px; height:18px; display:block }

/* Controls */
.field{display:flex;flex-direction:column;gap:6px}
.field input,.field select{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#0f1520;color:var(--text)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* Table */
.table{width:100%;border-collapse:separate;border-spacing:0 10px}
.table thead th{font-size:.85rem;color:var(--muted);text-align:left;padding:0 8px;font-weight:600}
.table tbody tr{background:#0f1520;border:1px solid var(--border)}
.table tbody td{padding:12px 10px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.table tbody tr:first-child td{border-top-left-radius:10px;border-top-right-radius:10px}
.table tbody tr:last-child td{border-bottom-left-radius:10px;border-bottom-right-radius:10px}

/* Floating Call Button */
.fab-call{
  position: fixed; right: 18px; bottom: calc(40px + env(safe-area-inset-bottom)); z-index: 9999;
  width: 56px; height: 56px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(180deg, var(--cta), var(--cta2));
  color:#fff; box-shadow: 0 10px 28px rgba(26,96,255,.35);
  border: none; cursor: pointer; text-decoration:none;
  transition: transform .06s ease, filter .2s ease;
}
.fab-call:hover{ filter: brightness(1.08) }
.fab-call:active{ transform: translateY(1px) }
.fab-call svg{ width: 24px; height: 24px }

@media (prefers-reduced-motion: reduce){
  .fab-call{ animation: none }
}

/* Mobile */
@media (max-width: 768px){
  .wrap{max-width:100%; padding:0 12px}
  .title-card{font-size:20px}
  .header-cta{ gap:8px; flex-wrap:wrap }
  .btn-outline{ padding:8px 12px }
  /* Table -> cards */
  .table{border-spacing:0;width:100%}
  .table thead{display:none}
  .table tbody tr{display:block;border-radius:12px;margin:0 0 12px 0}
  .table tbody td{
    display:flex;justify-content:space-between;align-items:center;
    gap:12px;border:none;border-bottom:1px solid var(--border);padding:12px;
  }
  .table tbody td:first-child{flex-direction:column;align-items:flex-start}
  .table tbody tr:last-child td{border-bottom:none}
  .table tbody td::before{content:attr(data-label);font-weight:600;color:var(--muted)}
}
@media (max-width: 480px){
  .fab-call{ bottom: calc(40px + env(safe-area-inset-bottom)); width:60px; height:60px }
  .fab-call svg{ width: 26px; height: 26px }
}

/* Footer */
.footer{color:var(--muted); font-size:.9rem; padding:18px 0; text-align:center}
