
:root{
  --r2s-bg:#0b0f16;
  --r2s-card:#101827;
  --r2s-border:#233044;
  --r2s-text:#e9eef7;
  --r2s-muted:#9bb0c9;
  /* R2S lime */
  --r2s-accent:#c8ff2f;
  --r2s-accent2:#ffd166;
  --r2s-accent3:#4cc9f0;
  --r2s-danger:#ff4d4d;
}

.r2s-wrap{max-width:900px;margin:0 auto;}
.r2s-card{
  background:var(--r2s-card);
  border:1px solid var(--r2s-border);
  border-radius:14px;
  padding:18px;
  color:var(--r2s-text);
}
.r2s-card h2,.r2s-card h3{margin-top:0;}
.r2s-warning{border-color:rgba(255,209,102,.35);}
.r2s-app{margin-top:10px;}

.r2s-row{display:flex;gap:12px;flex-wrap:wrap;}
.r2s-col{flex:1;min-width:220px;}
.r2s-label{display:block;font-weight:600;margin:10px 0 6px;}
.r2s-input, .r2s-select, .r2s-textarea{
  width:100%;
  background:#0c1321;
  border:1px solid var(--r2s-border);
  color:var(--r2s-text);
  border-radius:10px;
  padding:10px 12px;
  outline:none;
}
.r2s-textarea{min-height:90px;resize:vertical;}

.r2s-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:10px;border:1px solid transparent;
  text-decoration:none;cursor:pointer;font-weight:700;
}
.r2s-btn-primary{background:var(--r2s-accent);color:#0b1220;font-weight:700;}
.r2s-btn-secondary{background:#0c1321;border-color:var(--r2s-border);color:var(--r2s-text);}
.r2s-btn-danger{background:transparent;border-color:rgba(255,77,77,.65);color:var(--r2s-danger);}
.r2s-btn:disabled{opacity:.5;cursor:not-allowed;}

.r2s-steps{display:flex;gap:8px;margin:10px 0 16px;}
.r2s-step{
  padding:6px 10px;border-radius:999px;border:1px solid var(--r2s-border);
  color:var(--r2s-muted);font-weight:700;font-size:12px;
}
.r2s-step.active{border-color:rgba(255,45,149,.5);color:var(--r2s-text);}

.r2s-slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.r2s-slot{
  background:#0c1321;border:1px solid var(--r2s-border);color:var(--r2s-text);
  padding:10px 12px;border-radius:12px;cursor:pointer;min-width:140px;
}
.r2s-slot small{display:block;color:var(--r2s-muted);font-weight:600;margin-top:4px;}
.r2s-slot.disabled{opacity:.45;cursor:not-allowed;}
.r2s-slot.selected{border-color:rgba(76,201,240,.65);box-shadow:0 0 0 2px rgba(76,201,240,.2) inset;}

.r2s-divider{height:1px;background:var(--r2s-border);margin:16px 0;}
.r2s-muted{color:var(--r2s-muted);}

.r2s-list{display:flex;flex-direction:column;gap:10px;}
.r2s-item{
  background:#0c1321;border:1px solid var(--r2s-border);border-radius:12px;padding:12px;
}
.r2s-item-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.r2s-badge{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid var(--r2s-border);color:var(--r2s-muted);}
.r2s-badge.booked{border-color:rgba(76,201,240,.45);color:#cfefff;}
.r2s-badge.cancelled{border-color:rgba(255,77,77,.45);color:#ffd1d1;}
.r2s-badge.completed{border-color:rgba(255,209,102,.45);color:#fff2cc;}

.r2s-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.r2s-error{background:rgba(255,77,77,.08);border:1px solid rgba(255,77,77,.35);padding:10px 12px;border-radius:12px;color:#ffd1d1;margin:10px 0;}
.r2s-success{background:rgba(76,201,240,.08);border:1px solid rgba(76,201,240,.35);padding:10px 12px;border-radius:12px;color:#cfefff;margin:10px 0;}
