*{box-sizing:border-box}
:root{
  --bg:#f4f5f7;
  --card:#ffffff;
  --text:#17171a;
  --muted:#6d6d75;
  --line:#e3e4e8;
  --dark:#111114;
  --pink:#ff0a78;
  --purple:#8d23ff;
  --yellow:#ffe600;
  --cyan:#0fcbdc;
}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Arial,Helvetica,sans-serif;
}
.container{width:min(980px,92%);margin:auto}
.site-header{
  background:var(--dark);
  color:#fff;
  border-bottom:4px solid var(--pink);
}
.header-inner{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.brand{
  display:flex;
  align-items:center;
  gap:11px;
  color:#fff;
  text-decoration:none;
}
.brand img{width:46px;height:46px;border-radius:12px;object-fit:cover}
.brand strong{display:block;font-size:18px}
.brand span{display:block;font-size:12px;color:#bcbcc4;margin-top:2px}
.counter{
  background:#24242a;
  border:1px solid #37373f;
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
  font-weight:800;
}
.heading{padding:30px 0 20px}
.heading h1{margin:0 0 7px;font-size:32px}
.heading p{margin:0;color:var(--muted)}
.coupon-list{display:grid;gap:14px;padding-bottom:50px}
.coupon-card{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) 235px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(20,20,30,.06);
}
.discount-side{
  background:linear-gradient(145deg,var(--pink),var(--purple));
  color:#fff;
  padding:22px 18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
}
.discount{font-size:34px;line-height:1;font-weight:900}
.store{margin-top:10px;font-size:13px;font-weight:800}
.coupon-info{padding:20px 22px}
.topline{display:flex;align-items:center;gap:10px}
.topline h2{margin:0;font-size:20px}
.featured{
  background:var(--yellow);
  color:#111;
  border-radius:999px;
  padding:5px 7px;
  font-size:9px;
  font-weight:900;
}
.description{margin:8px 0;color:var(--muted);line-height:1.4}
.conditions{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:14px}
.expires{margin-top:13px;color:#d43b61;font-size:13px}
.coupon-action{
  padding:18px;
  border-left:1px dashed #cfd0d5;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  background:#fafafa;
  position:relative;
}
.coupon-action:before,.coupon-action:after{
  content:"";
  position:absolute;
  left:-11px;
  width:20px;height:20px;
  border-radius:50%;
  background:var(--bg);
}
.coupon-action:before{top:-10px}
.coupon-action:after{bottom:-10px}
.code-window{
  min-height:48px;
  display:grid;
  place-items:center;
  background:#fff;
  border:2px dashed #b8bac2;
  border-radius:9px;
  padding:8px;
}
.code-hidden{font-size:12px;font-weight:900;color:#777;letter-spacing:.08em}
.code-real{font-size:18px;color:#111;letter-spacing:.04em}
.redeem-button{
  border:0;
  border-radius:9px;
  padding:14px 12px;
  cursor:pointer;
  color:#fff;
  font-size:14px;
  font-weight:900;
  background:linear-gradient(90deg,var(--pink),var(--purple));
}
.redeem-button.done{background:#0aae72}
.toast{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translate(-50%,25px);
  opacity:0;
  background:#111;
  color:#fff;
  padding:12px 16px;
  border-radius:999px;
  font-weight:800;
  transition:.2s;
}
.toast.show{opacity:1;transform:translate(-50%,0)}
.empty{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:35px;
  text-align:center;
  color:var(--muted);
}

/* estilos del panel */
.setup-wrap,.editor-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:#08080b;color:#fff}
.setup-card,.editor-card{width:min(680px,100%);background:#111116;border:1px solid #292932;border-radius:22px;padding:28px}
.setup-logo{width:80px;height:80px;border-radius:18px;object-fit:cover}
.form-grid,.editor-grid{display:grid;gap:15px}.editor-grid{grid-template-columns:1fr 1fr}
label{font-weight:800;font-size:14px}
input,textarea{width:100%;margin-top:7px;background:#0b0b0e;border:1px solid #34343d;color:#fff;border-radius:12px;padding:13px;font:inherit}
textarea{min-height:110px;resize:vertical}
.full{grid-column:1/-1}.check-row{display:flex;align-items:center;gap:8px}.check-row input{width:auto;margin:0}
.alert{padding:12px;border-radius:12px;margin:12px 0}.alert.error{background:#3b111b;color:#ffb6ca}.alert.success{background:#10371b;color:#b7ffc4}
.primary-btn,.secondary-btn{border:0;border-radius:12px;padding:13px 16px;font-weight:900;text-decoration:none;display:inline-block;cursor:pointer}
.primary-btn{background:linear-gradient(90deg,var(--pink),var(--purple));color:#fff}.secondary-btn{background:#23232a;color:#fff}
.admin-body{margin:0;background:#08080b;color:white;font-family:Arial,sans-serif}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}
.sidebar{background:#0f0f13;border-right:1px solid #24242a;padding:24px;display:flex;flex-direction:column;gap:10px}
.sidebar img{width:72px;height:72px;border-radius:18px;object-fit:cover}.sidebar h2{margin:8px 0 20px}.sidebar a{color:#bdbdc7;text-decoration:none;padding:12px;border-radius:12px}.sidebar a:hover,.sidebar .nav-active{background:#1d1d24;color:#fff}
.admin-main{padding:28px}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.admin-header h1{margin:6px 0 0}
.admin-table-wrap{overflow:auto;background:#111116;border:1px solid #26262d;border-radius:20px}
.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:16px;border-bottom:1px solid #24242a;text-align:left}.admin-table th{color:#9f9fab;font-size:12px;letter-spacing:.08em}.actions a{color:var(--cyan);text-decoration:none;margin-right:12px}.actions .danger-link{color:#ff5e89}

@media(max-width:760px){
  .coupon-card{grid-template-columns:1fr}
  .discount-side{padding:16px}
  .discount{font-size:30px}
  .coupon-action{border-left:0;border-top:1px dashed #cfd0d5}
  .coupon-action:before,.coupon-action:after{top:-11px;bottom:auto}
  .coupon-action:before{left:-10px}
  .coupon-action:after{left:auto;right:-10px}
  .heading h1{font-size:28px}
  .admin-shell{display:block}.sidebar{position:static;flex-direction:row;align-items:center;overflow:auto}.sidebar img{width:46px;height:46px}.sidebar h2{display:none}
  .admin-main{padding:18px}.admin-header{align-items:flex-start}.editor-grid{grid-template-columns:1fr}.full{grid-column:auto}
}
