:root{
  --primary:#F8C8DC;
  --primary-light:#f3d8e4;
  --primary-dark:#e6b1c9;
  --black:#212529;
  --gray:#495057;
  --white:#fff;
  --card: rgba(255,255,255,.75);
  --border: rgba(33,37,41,.12);
  --shadow: 0 12px 30px rgba(33,37,41,.10);
  --radius: 16px;
}
*{ box-sizing:border-box; }
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--black);
  background: linear-gradient(135deg, #f9e6ef, var(--primary-light));
  min-height:100vh;
}
a{ color:inherit; }
.container{ max-width:980px; margin:0 auto; padding:28px 16px; }
.header{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; margin-bottom:18px;
}
.brand{
  display:flex; align-items:center; gap:10px;
  font-weight:800; letter-spacing:-.02em;
}
.badge{
  background: var(--primary);
  padding:6px 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  font-size:12px;
}
.card{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
  backdrop-filter: blur(10px);
}
.grid{ display:grid; gap:14px; grid-template-columns: 1fr 1fr; }
@media (max-width:800px){ .grid{ grid-template-columns: 1fr; } }
label{ font-size:13px; color:var(--gray); display:block; margin:10px 0 6px; }
input, select, textarea{
  width:100%;
  padding:12px 12px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.85);
  outline: none;
}
textarea{ min-height:120px; resize:vertical; }
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 14px;
  border-radius: 999px;
  border:1px solid var(--border);
  background: var(--black);
  color: var(--white);
  cursor:pointer;
  font-weight:700;
  text-decoration:none;
}
.btn.secondary{
  background: transparent;
  color: var(--black);
}
.row{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.help{ font-size:12px; color:var(--gray); line-height:1.45; }
hr{ border:0; border-top:1px solid var(--border); margin:16px 0; }
.small{ font-size:12px; color:var(--gray); }
.kpi{ display:flex; gap:10px; flex-wrap:wrap; }
.pill{
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.6);
  font-size:12px;
}
.table{ width:100%; border-collapse:collapse; }
.table th, .table td{ padding:10px; border-bottom:1px solid var(--border); text-align:left; }
.codebox{ background:rgba(255,255,255,.9); border:1px solid var(--border); border-radius:12px; padding:14px; }
