:root{
  --bg1:#0b1020;
  --bg2:#2b1055;
  --card:rgba(255,255,255,.08);
  --border:rgba(255,255,255,.14);
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.70);
  --glow:rgba(120, 220, 255, .35);
}

*{ box-sizing:border-box; }
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color:var(--text);
  background: radial-gradient(1200px 600px at 20% 20%, rgba(120,220,255,.18), transparent 60%),
              radial-gradient(900px 600px at 80% 20%, rgba(255,120,220,.16), transparent 60%),
              linear-gradient(135deg, var(--bg1), var(--bg2));
  min-height:100vh;
  overflow-x:hidden;
}

.page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 14px;
  animation: fadeIn .45s ease;
}

@keyframes fadeIn{
  from{ opacity:0; transform: translateY(10px); }
  to{ opacity:1; transform: translateY(0); }
}

.container{ width: min(860px, 100%); }

.card{
  border:1px solid var(--border);
  background: var(--card);
  backdrop-filter: blur(12px);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
  position:relative;
}

.card:before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: 22px;
  background: radial-gradient(400px 180px at 20% 0%, rgba(120,220,255,.22), transparent 60%),
              radial-gradient(420px 200px at 80% 0%, rgba(255,120,220,.20), transparent 60%);
  filter: blur(14px);
  opacity: .6;
  z-index:-1;
}

h1{ margin:0 0 14px; font-size: 30px; letter-spacing:.2px; }
h2{ margin:0 0 10px; }
.muted{ color: var(--muted); }

.field{ margin: 12px 0; display:flex; flex-direction:column; gap:6px; }
label{ color: var(--muted); font-size: 14px; }

input, select, textarea{
  border:1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.22);
  color: var(--text);
  padding: 12px 12px;
  border-radius: 14px;
  outline:none;
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
}
textarea{ resize: vertical; }

input:focus, select:focus, textarea:focus{
  border-color: rgba(120,220,255,.45);
  box-shadow: 0 0 0 5px rgba(120,220,255,.12);
  transform: translateY(-1px);
}

.actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top: 14px;
}

.btn{
  border:1px solid rgba(255,255,255,.18);
  background: rgba(120,220,255,.14);
  color: var(--text);
  padding: 12px 14px;
  border-radius: 14px;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(0,0,0,.35), 0 0 0 6px rgba(120,220,255,.08);
  background: rgba(120,220,255,.18);
}
.btn.ghost{
  background: rgba(255,255,255,.06);
}
.btn.small{ padding: 9px 12px; border-radius: 12px; }

.err{ color: #ffb2c2; font-size: 13px; }

.topbar{
  display:flex;
  justify-content:flex-end;
  margin-bottom: 12px;
}

.grid2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width:700px){
  .grid2{ grid-template-columns: 1fr; }
}

.sep{
  border:0;
  height:1px;
  background: rgba(255,255,255,.14);
  margin: 18px 0;
}

.checkline{
  display:flex;
  gap:10px;
  align-items:center;
  user-select:none;
  padding-top: 28px;
}

.tableWrap{ overflow:auto; border-radius:16px; border:1px solid rgba(255,255,255,.12); }
.tbl{ width:100%; border-collapse: collapse; font-size: 14px; }
.tbl th, .tbl td{
  padding: 10px 10px;
  border-bottom: 1px solid rgba(255,255,255,.10);
  white-space:nowrap;
}
.tbl th{ text-align:left; color: rgba(255,255,255,.75); background: rgba(0,0,0,.16); }
.link{ color: rgba(120,220,255,.95); text-decoration:none; }
.link:hover{ text-decoration:underline; }

.pre{
  white-space: pre-wrap;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.12);
  padding: 12px;
  border-radius: 14px;
}

.recorder{
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.10);
  border-radius: 16px;
  padding: 14px;
}
