/* RB Practice Schedule styles */
.rbps-wrapper, .rbps-today-card-only{
  --rbps-accent:#284155;
  --rbps-bg:#f8fafb;
  --rbps-border:#e4e8eb;
  --rbps-text:#1f2937;
  --rbps-muted:#6b7280;
  --rbps-white:#ffffff;
  color:var(--rbps-text);
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}
.rbps-wrapper[data-color] { --rbps-accent: #284155; }

/* Today's card refined */
.rbps-today-card, .rbps-today-card-only{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid var(--rbps-border);
  background:
    linear-gradient(180deg, rgba(40,65,85,0.08), rgba(40,65,85,0.02)),
    radial-gradient(120% 100% at 0% 0%, rgba(40,65,85,0.06), transparent 60%),
    radial-gradient(120% 100% at 100% 0%, rgba(40,65,85,0.05), transparent 60%),
    var(--rbps-white);
  box-shadow:
    0 10px 20px rgba(40,65,85,0.06),
    0 2px 6px rgba(0,0,0,0.04);
  padding: 18px 18px 14px;
}
.rbps-today-card::before, .rbps-today-card-only::before{
  content:"";
  position:absolute; inset:0 0 auto 0; height:4px;
  background: linear-gradient(90deg, var(--rbps-accent), rgba(40,65,85,0.4));
  opacity:.8;
}
.rbps-today-head{
  display:flex; align-items:center; gap:10px; margin-bottom:10px;
}
.rbps-today-head .dot{
  width:8px; height:8px; border-radius:50%;
  background:var(--rbps-accent);
  box-shadow: 0 0 0 4px rgba(40,65,85,.10);
}
.rbps-today-head .ttl{
  font-weight:800; font-size:1.05rem; letter-spacing:.02em;
}
.rbps-today-head .day-badge{
  margin-left:auto;
  display:inline-flex; align-items:center; justify-content:center;
  padding:4px 10px; border-radius:999px;
  background:rgba(40,65,85,0.08);
  color:var(--rbps-accent);
  font-weight:700; font-size:.82rem;
  border:1px solid rgba(40,65,85,0.15);
}

/* Shared list styling */
.rbps-list{ margin:0; padding-left:16px; }
.rbps-list li{ margin:6px 0; }

/* Today's list refinements */
.rbps-today-list{ padding-left:0; list-style:none; margin:6px 0 0; }
.rbps-today-list li{
  position:relative;
  padding:10px 12px 10px 14px;
  border:1px solid var(--rbps-border);
  border-radius:10px;
  background:#fff;
  margin:8px 0;
}
.rbps-today-list li::before{
  content:"";
  position:absolute; left:6px; top:50%; transform:translateY(-50%);
  width:3px; height:60%; border-radius:2px; background:var(--rbps-accent);
  opacity:.6;
}

/* Empty state */
.rbps-empty{
  color:var(--rbps-muted);
  border-radius:12px;
  border:1px dashed rgba(40,65,85,.35);
  background:linear-gradient(0deg, rgba(40,65,85,.03), rgba(40,65,85,.03));
  padding:10px 12px;
  font-weight:500;
}

/* Week editor grid */
.rbps-week-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:12px;
}
@media(min-width:640px){
  .rbps-week-grid{ grid-template-columns: 1fr 1fr; }
}
@media(min-width:1024px){
  .rbps-week-grid{ grid-template-columns: 1fr 1fr 1fr; }
}
.rbps-day{
  background:var(--rbps-white);
  border:1px solid var(--rbps-border);
  border-radius:12px;
  padding:12px;
}
.rbps-day-head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:8px;
}
.rbps-day-label{ font-weight:600; color:var(--rbps-accent); }
.rbps-input{
  width:100%; border:1px solid var(--rbps-border); border-radius:10px;
  padding:10px 12px; margin:6px 0;
  font-size:16px;
}
.rbps-input:focus{ outline:none; border-color:var(--rbps-accent); box-shadow:0 0 0 3px rgba(40,65,85,.1); }

.rbps-actions{ margin-top:14px; display:flex; justify-content:flex-end; }
.rbps-btn{
  border:none; border-radius:999px; padding:10px 18px; font-weight:700; cursor:pointer;
}
.rbps-btn-primary{ background:var(--rbps-accent); color:#fff; }
.rbps-btn-primary:active{ transform:translateY(1px); }

/* View-only layout */
.rbps-week-view{
  display:grid; gap:12px;
  grid-template-columns: 1fr;
}
@media(min-width:768px){
  .rbps-week-view{ grid-template-columns: 1fr 1fr; }
}
.rbps-day-view{
  background:var(--rbps-white);
  border:1px solid var(--rbps-border);
  border-radius:12px;
  padding:12px;
  min-height:auto;
}

/* Inline today-only */
.rbps-today-card-only .rbps-list{ margin:0; padding-left:16px; }
.rbps-today-card-only .rbps-empty{ margin:0; }
