:root{
  --bg:#0b1220;
  --card:#0f1a2e;
  --muted:#9fb0d0;
  --text:#e9f0ff;
  --line:rgba(255,255,255,.08);
  --accent:#4aa3ff;
  --shadow: 0 12px 40px rgba(0,0,0,.35);
  --radius: 18px;
  --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:var(--font);background:
  radial-gradient(900px 500px at 10% 10%, rgba(74,163,255,.20), transparent 60%),
  radial-gradient(900px 500px at 90% 20%, rgba(111,66,193,.18), transparent 55%),
  var(--bg);
  color:var(--text);
}

a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.wrap{max-width:980px;margin:0 auto;padding:36px 18px 60px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.brand{display:flex;align-items:center;gap:12px}
.logo{
  width:42px;height:42px;border-radius:14px;
  background:linear-gradient(135deg, rgba(74,163,255,.9), rgba(111,66,193,.9));
  box-shadow:var(--shadow);
}
.brand h1{font-size:18px;margin:0;letter-spacing:.2px}
.brand p{margin:0;color:var(--muted);font-size:13px}

.card{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:22px;
}

.grid{display:grid;grid-template-columns: 1.1fr .9fr;gap:18px;margin-top:18px}
@media (max-width:900px){.grid{grid-template-columns:1fr}}

label{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}
input[type="text"], input[type="date"], select{
  width:100%;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(10,16,30,.55);
  color:var(--text);
  outline:none;
}
input::placeholder{color:rgba(159,176,208,.7)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 14px;border-radius:14px;border:1px solid rgba(74,163,255,.25);
  background:linear-gradient(135deg, rgba(74,163,255,.30), rgba(74,163,255,.10));
  color:var(--text);cursor:pointer;gap:10px;
}
.btn:hover{filter:brightness(1.06)}
.btn.secondary{border-color:var(--line);background:rgba(255,255,255,.04)}
.btn.danger{border-color:rgba(255,74,74,.35);background:rgba(255,74,74,.08)}

.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.note{color:var(--muted);font-size:13px;line-height:1.55;margin-top:10px}

.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  font-size:12px;color:var(--text);
}
.badge::before{
  content:"";width:10px;height:10px;border-radius:999px;background:#9fb0d0;
}
.badge.valid::before{background:#2fe37b}
.badge.expired::before{background:#ffb020}
.badge.cancelled::before{background:#ff4a4a}
.badge.pending::before{background:#4aa3ff}

.table{width:100%;border-collapse:collapse;margin-top:14px}
.table td{padding:10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.table td:first-child{color:var(--muted);width:40%}

.footer{
  margin-top:18px;
  color:rgba(159,176,208,.8);
  font-size:12px;
}
.small{font-size:12px;color:var(--muted)}
hr{border:0;border-top:1px solid var(--line);margin:14px 0}