/* Ruzann Booking — registracijos ir valdymo sąsaja
   Stilius pagal ruzann.lt: Playfair Display + Poppins, šalavijo žalia, piliulės mygtukai */

.rb-app{
  /* Brando paletė: #24201D · #E9E5E0 · #4E3E38 · #AAA6A3
     Kintamųjų vardai palikti seni (--sage, --forest), kad nereikėtų liesti
     900 eilučių taisyklių — reikšmės pakeistos į rudą gamą. */
  --forest:#24201D;        /* tamsiausia — antraštės, aktyvūs skirtukai */
  --forest-soft:#3B332E;
  --sage:#4E3E38;          /* pagrindinis veiksmas — mygtukai */
  --sage-dark:#332723;     /* hover */
  --sage-tint:#F0ECE8;     /* šviesus rudo atspalvis */
  --sage-line:#CFC6C0;

  --sand:#E9E5E0;
  --sand-soft:#F2EFEC;
  --cream:#F7F5F3;
  --white:#FFFFFF;

  --ink:#24201D;
  --ink-soft:#6E6864;    /* tekstui: #AAA6A3 ant balto = 2,4:1, per silpna */
  --muted:#AAA6A3;       /* paletės pilka — rėmeliams ir neaktyviems */
  --line:#DCD6D0;

  --brick:#9A4B3C;
  --brick-soft:#F4E9E6;
  --ochre:#8A6A3A;
  --ochre-soft:#F2ECE1;
  --ochre-tint:#FAF6EF;   /* papildomų pamokų fonas */
  --ochre-line:#E4D3B4;   /* jų rėmelis */
  --ochre-ink:#6B5227;    /* tekstas ant šviesaus — 6,6:1 */

  --radius-pill:40px;
  --radius-m:14px;
  --radius-s:10px;

  background:var(--cream);
  color:var(--ink);
  font-family:'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size:15px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;

  /* Block temos (is-layout-constrained) suspaudžia turinį iki ~700px.
     Programai reikia viso pločio — plotį valdo .rb-wrap. */
  max-width:none !important;
  width:100%;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Modalai irgi turi klasę .rb-app (jos reikia mygtukų stiliui), todėl juos
   pagaudavo ir aukščiau esantis `max-width:none !important` — visi langai
   išsitempdavo per visą ekraną. Grąžinam jiems ribą didesniu specifiškumu. */
.rb-app.rb-modal{ max-width:400px !important; }
.rb-app.rb-modal-wide{ max-width:640px !important; }

/* Temos puslapio antraštė dubliuotų mūsų H1 — slepiam tik mūsų puslapiuose. */
body.rb-page .wp-block-post-title,
body.rb-page .entry-header .entry-title,
body.rb-page .entry-title,
body.rb-page header.entry-header{ display:none !important; }

/* Kalendorius slenka savo konteineryje, puslapis horizontaliai — niekada. */
body.rb-page{ overflow-x:hidden; }

.rb-app *{ box-sizing:border-box; }

/* Hello Elementor reset'as visiems <button> uždeda rožinį rėmelį ir spalvą,
   o Elementor kit'as — 40px padding. Nuimam viską, ką patys nurodom vėliau. */
/* Kalendoriaus langeliai (.rb-day) yra <button>, bet vizualiai tai tinklelio
   langeliai su savo fonu, rėmeliu ir tarpais. Bendras reset juos nurengdavo,
   todėl jie iš jo IŠIMTI per :not(.rb-day) — taip išvengiam perrašymų grandinės.
   SVARBU: reset taikomas TIK bazinei būsenai.
   Anksčiau čia buvo ir :hover — o `.rb-app button:hover` specifiškumas didesnis
   nei `.rb-nav button`, todėl užvedus pelę padding krisdavo į 0 ir mygtukas
   susitraukdavo. Rožinę hover spalvą sutvarko atskiros taisyklės failo gale. */
.rb-app button{
  appearance:none;
  background:none;
  border:none;
  border-radius:var(--radius-pill);   /* ovalūs VISUR */
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:normal;
  text-transform:none;
  padding:0;
  margin:0;
  line-height:inherit;
  box-shadow:none;
}

/* Hello Elementor reset dažo mygtukus ir nuorodas #cc3366 (rožine).
   Perrašom ir hover/focus būsenas, kad rožinės neliktų niekur. */
.rb-app a,
.rb-app a:hover,
.rb-app a:focus{ color:var(--sage-dark); }
.rb-app input,
.rb-app select,
.rb-app textarea{ border-radius:var(--radius-s); }


/* =====================================================================
   VIENA VIETA, KUR NUIMAMA TEMOS ROŽINĖ

   Hello Elementor reset.css dažo `button`, `[type=button]`, `[type=submit]`
   spalva #cc3366 visose būsenose (hover, focus, active). Vietoj to, kad
   kiekvienam mygtukui atskirai deklaruočiau foną, čia neutralizuojam VISAS
   būsenas vienu kartu.

   Specifiškumas: .rb-app button:hover = (0,2,1).
   Komponentų taisyklės (.rb-app .rb-btn:hover = 0,3,0) yra stipresnės,
   o vienodo svorio (.rb-actions button:hover = 0,2,1) laimi, nes eina
   VĖLIAU faile. Todėl šis blokas privalo likti PRIEŠ komponentų hover'ius.
   Padding, dydžio ir formos NELIEČIAM — būtent tai anksčiau sutraukdavo mygtukus.
   ===================================================================== */

.rb-app button:hover,
.rb-app button:focus,
.rb-app button:active,
.rb-app button:focus-visible,
.rb-app [type="button"]:hover,
.rb-app [type="submit"]:hover,
.rb-app [type="button"]:focus,
.rb-app [type="submit"]:focus{
  background-color:transparent;
  border-color:transparent;
  color:inherit;
  box-shadow:none;
  text-decoration:none;
}

/* ikonos žymose ir mygtukuose niekada nepučiasi */
.rb-app svg{ max-width:100%; max-height:100%; }
.rb-tag svg{ width:13px; height:13px; vertical-align:-2px; }
.rb-app h1,.rb-app h2,.rb-app h3{
  font-family:'Playfair Display', Georgia, serif;
  margin:0;
  color:var(--ink);
  letter-spacing:0;
}
.rb-app h1{ font-size:2.1rem; font-weight:400; line-height:1.2; }
.rb-app h2{ font-size:1.6rem; font-weight:400; margin-bottom:2px; }
.rb-app h3{ font-size:1.15rem; font-weight:500; }
.rb-app button{ font-family:inherit; cursor:pointer; }
.rb-app :focus-visible{ outline:2px solid var(--sage); outline-offset:2px; }
.rb-app [hidden]{ display:none !important; }
@media (max-width:480px){
  .rb-app h1{ font-size:1.65rem; }
  .rb-app h2{ font-size:1.35rem; }
}

@media (prefers-reduced-motion: reduce){
  .rb-app *{ transition:none !important; animation:none !important; }
}

.rb-wrap{ max-width:1160px; margin:0 auto; padding:28px 20px 90px; }
@media (max-width:480px){ .rb-wrap{ padding:18px 14px 80px; } }

.rb-head{ margin-bottom:18px; }
.rb-head p{ margin:6px 0 0; color:var(--ink-soft); font-size:0.95rem; }

/* ---------- pranešimai ---------- */
.rb-notice{
  border-radius:var(--radius-m);
  padding:13px 16px;
  font-size:0.9rem;
  margin-bottom:16px;
  border:1px solid var(--line);
  background:var(--white);
}
.rb-notice.error{ background:var(--brick-soft); border-color:#E0C7C0; color:var(--brick); }
.rb-notice.success{ background:var(--sage-tint); border-color:var(--sage-line); color:var(--sage-dark); }
.rb-notice.warn{ background:var(--ochre-soft); border-color:#E5D5AE; color:#8A6A2E; }

/* ---------- legenda ---------- */
.rb-legend{
  display:flex; flex-wrap:wrap; gap:16px;
  margin:16px 0 18px; font-size:0.8rem; color:var(--ink-soft);
}
.rb-legend span{ display:flex; align-items:center; gap:7px; }
.rb-dot{ width:10px; height:10px; border-radius:50%; display:inline-block; }
.rb-dot.free{ background:var(--white); border:1.5px solid var(--sage-line); }
.rb-dot.selected{ background:var(--sage); }
.rb-dot.full{ background:var(--sand); }
.rb-dot.mine{ background:var(--forest); }
.rb-tabs button.active{ background:var(--forest); border-color:var(--forest); color:#fff; }

.rb-toggle{ display:flex; gap:8px; margin-bottom:16px; }
.rb-toggle button{
  border:1px solid var(--line); background:var(--white); color:var(--ink-soft);
  padding:9px 20px; border-radius:var(--radius-pill); font-size:0.82rem;
}
.rb-toggle button.active{ background:var(--forest); border-color:var(--forest); color:#fff; }
@media (max-width:480px){
  .rb-toggle{ width:100%; }
  .rb-toggle button{ flex:1; text-align:center; }
}

/* ---------- mėnesio vaizdas ---------- */
.rb-month-head, .rb-month-grid{
  display:grid; grid-template-columns:repeat(6,1fr); gap:8px; margin-bottom:8px;
}
.rb-month-head span{ font-size:0.7rem; font-weight:500; color:var(--ink-soft); text-align:center; }
.rb-month-day .mdow{ font-size:0.64rem; color:var(--ink-soft); }
.rb-month-day .mdate{ font-family:'Playfair Display', Georgia, serif; font-weight:500; font-size:1rem; }
.rb-month-day .msummary{ font-size:0.64rem; margin-top:auto; font-weight:500; }
.rb-month-day.free .msummary{ color:var(--sage-dark); }
.rb-month-day.some .msummary{ color:var(--ochre); }
.rb-month-day.full{ background:var(--sand-soft); }
.rb-month-day.full .msummary{ color:var(--ink-soft); }
@media (max-width:480px){
  .rb-month-head, .rb-month-grid{ gap:5px; }
  .rb-month-day{ padding:6px 4px; min-height:62px; gap:2px; }
  .rb-month-day .mdow{ font-size:0.56rem; }
  .rb-month-day .mdate{ font-size:0.82rem; }
  .rb-month-day .msummary{ font-size:0.54rem; line-height:1.2; }
}
@media (max-width:480px){
  .rb-scroll{ margin:0 -14px; padding:0 14px 12px; }
  .rb-grid{ grid-template-columns:58px repeat(var(--rb-days, 6), minmax(98px,1fr)); min-width:700px; gap:5px; }
}
.rb-app .rb-day-head .dow{ font-family:'Playfair Display', Georgia, serif; font-size:1rem; font-weight:500; }
.rb-app .rb-day-head .ddate{ font-size:0.72rem; color:var(--sage-dark); margin-top:2px; }
@media (max-width:480px){
  .rb-day-head{ padding:7px 4px; }
  .rb-day-head .dow{ font-size:0.85rem; }
  .rb-day-head .ddate{ font-size:0.62rem; }
  .rb-time-label{ font-size:0.62rem; }
}
.rb-slot.free{ border-color:var(--sage-line); }
.rb-slot.free:hover{ border-color:var(--sage); background:var(--sage-tint); }
.rb-slot.selected{ background:var(--sage); border-color:var(--sage); color:#fff; }
.rb-slot.selected .price, .rb-slot.selected .stitches{ color:rgba(255,255,255,.85); }
.rb-slot.mine{ background:var(--forest); border-color:var(--forest); color:#fff; }
.rb-slot.mine .price, .rb-slot.mine .stitches{ color:rgba(255,255,255,.8); }
.rb-slot.full{ background:var(--sand-soft); border-color:var(--sand); }
.rb-slot.empty{ background:transparent; border-style:dashed; opacity:.4; }
.rb-slot .status-word{ font-size:0.72rem; font-weight:500; }
.rb-slot.free .status-word{ color:var(--sage-dark); }
.rb-slot.selected .status-word,
.rb-slot.mine .status-word{ color:#fff; }
.rb-slot.full .status-word{ color:var(--ink-soft); }
.rb-slot .stitches{ letter-spacing:1.5px; font-size:0.6rem; color:var(--ink-soft); }
.rb-slot .price{ font-size:0.76rem; color:var(--ink-soft); }
.rb-slot .rb-wait{
  margin-top:2px; font-size:0.65rem; color:var(--sage-dark);
  background:none; border:none; padding:0; text-decoration:underline; text-align:left;
}
@media (max-width:480px){
  .rb-slot{ padding:8px 7px; min-height:62px; gap:3px; }
  .rb-slot .status-word{ font-size:0.64rem; }
  .rb-slot .stitches{ font-size:0.54rem; letter-spacing:1px; }
  .rb-slot .price{ font-size:0.68rem; }
}

/* ---------- krepšelis ---------- */
.rb-cart{
  margin-top:24px; background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:17px;
}
.rb-cart h3{ margin-bottom:12px; }
.rb-empty{ font-size:0.88rem; color:var(--ink-soft); }
.rb-cart-item{
  display:flex; align-items:center; justify-content:space-between;
  padding:9px 0; border-bottom:1px solid var(--sand); font-size:0.86rem; gap:8px;
}
.rb-cart-item:last-of-type{ border-bottom:none; }
.rb-cart-item button{
  border:none; background:none; color:var(--brick);
  font-size:0.78rem; text-decoration:underline; padding:2px;
}
/* Suma / nuolaida / likutis prieš galutinę eilutę.
   Be šito varnelės SVG neturi dydžio ir išsitempia per visą plotį. */
.rb-cart-line{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin-top:8px; font-size:0.86rem; color:var(--ink-soft);
}
.rb-cart-line > span:first-child{
  display:inline-flex; align-items:center; gap:6px; min-width:0;
}
.rb-cart-line > span:last-child{ white-space:nowrap; }
.rb-cart-line svg{ width:13px; height:13px; flex:0 0 auto; }
.rb-cart-line.credit{ color:var(--sage-dark); }
.rb-cart-line.credit > span:last-child{ font-weight:500; }

.rb-cart-total{
  display:flex; justify-content:space-between; align-items:baseline;
  margin-top:12px; padding-top:12px; border-top:1px solid var(--line);
  font-family:'Playfair Display', Georgia, serif; font-size:1.3rem; font-weight:500;
}
.rb-pay-methods{ margin-top:16px; display:flex; flex-direction:column; gap:8px; }
.rb-pay-methods label{
  display:flex; align-items:center; gap:9px; font-size:0.86rem;
  border:1px solid var(--line); padding:11px 14px; border-radius:var(--radius-m);
  cursor:pointer; transition:border-color .15s ease;
}
.rb-pay-methods label:hover{ border-color:var(--sage-line); }
.rb-pay-methods input{ accent-color:var(--sage); }

.rb-btn{
  width:100%; background:var(--sage); color:#fff; border:none;
  padding:13px 40px; border-radius:var(--radius-pill);
  font-size:0.95rem; font-weight:400; transition:background .15s ease;
}
.rb-btn:hover{ background:var(--sage-dark); }
.rb-btn:disabled{ background:var(--sand); color:var(--ink-soft); cursor:not-allowed; }
.rb-btn.ghost{ background:var(--sand); color:var(--ink); }
.rb-cart .rb-btn{ margin-top:16px; }

@media (min-width:900px){
  /* minmax(0,1fr), o ne 1fr: kitaip stulpelis nesitrauktų žemiau kalendoriaus
     min-width:940px ir krepšelis būtų išstumtas už ekrano. */
  .rb-layout{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:28px; align-items:start; }
  .rb-cart{ position:sticky; top:24px; margin-top:0; }
}

/* ---------- mano pamokos ---------- */
.rb-divider{ border:none; border-top:1px solid var(--line); margin:36px 0 24px; }

.rb-booking{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius-m);
  padding:15px 18px; display:flex; align-items:center; justify-content:space-between;
  gap:12px; margin-bottom:10px; flex-wrap:wrap;
}
.rb-booking .when{ font-weight:500; font-size:0.95rem; }
.rb-tag{
  display:inline-flex; align-items:center; gap:5px;
  margin-top:5px; font-size:0.7rem; padding:4px 12px; line-height:1.4;
  border-radius:var(--radius-pill); background:var(--sage-tint); color:var(--sage-dark);
}
.rb-tag.studio{ background:var(--ochre-soft); color:#8A6A2E; }

/* iš kur sumokėta — po būsenos ženkliuku, smulkiai */
.rb-paidfrom{
  display:block; margin-top:5px;
  font-size:0.74rem; line-height:1.4; color:var(--ink-soft);
}
.rb-tag.wait{ background:var(--sand); color:var(--ink-soft); }
.rb-warn{ display:block; margin-top:6px; font-size:0.74rem; color:var(--ochre); }
.rb-actions{ display:flex; gap:8px; }
.rb-actions button{
  border:1px solid var(--line); background:var(--white); padding:8px 18px;
  border-radius:var(--radius-pill); font-size:0.78rem; transition:all .15s ease;
}
.rb-actions button:hover{ border-color:var(--sage); color:var(--sage-dark); }
.rb-actions button.danger{ color:var(--brick); border-color:#E0C7C0; }
.rb-actions button.danger:hover{ background:var(--brick-soft); border-color:var(--brick); color:var(--brick); }
@media (max-width:480px){
  .rb-booking{ flex-direction:column; align-items:stretch; }
  .rb-actions{ width:100%; }
  .rb-actions button{ flex:1; padding:10px 12px; }
}
.rb-stat .num{ font-family:'Playfair Display', Georgia, serif; font-size:1.9rem; font-weight:400; color:var(--forest); }
.rb-stat .label{ font-size:0.74rem; color:var(--sage-dark); margin-top:2px; }
@media (max-width:640px){ .rb-stats{ grid-template-columns:1fr 1fr; } }
.rb-admin-cell.closed{ background:var(--sand-soft); }
.rb-admin-cell .cap{
  font-size:0.7rem; color:var(--sage-dark); margin-bottom:6px; font-weight:500;
  display:flex; justify-content:space-between; align-items:center;
}
.rb-admin-cell .cap button{
  border:none; background:none; color:var(--ink-soft); font-size:0.64rem;
  text-decoration:underline; padding:0;
}
.rb-paid-dot{ width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.rb-paid-dot.paid{ background:var(--sage); }
.rb-paid-dot.unpaid{ background:var(--ochre); }
.rb-paid-dot.refunded{ background:var(--ink-soft); }
@media (max-width:480px){
  .rb-admin-cell{ padding:7px; min-height:84px; }
  .rb-name-row{ font-size:0.7rem; }
}

.rb-fees{ display:flex; flex-direction:column; gap:10px; }
.rb-fee{
  display:flex; align-items:center; justify-content:space-between;
  background:var(--ochre-soft); border:1px solid #E5D5AE;
  border-radius:var(--radius-m); padding:13px 18px; font-size:0.88rem; gap:12px;
}
.rb-fee.paid{ background:var(--sage-tint); border-color:var(--sage-line); }
.rb-fee.failed{ background:var(--brick-soft); border-color:#E0C7C0; }
.rb-fee .who{ font-weight:500; }
.rb-fee .meta{ font-size:0.74rem; color:var(--ink-soft); }
.rb-fee button{
  border:none; background:var(--forest); color:#fff;
  padding:8px 16px; border-radius:var(--radius-pill); font-size:0.76rem;
}
.rb-fee button:hover{ background:var(--forest-soft); }
@media (max-width:480px){
  .rb-fee{ flex-direction:column; align-items:flex-start; }
  .rb-fee > div:last-child{ width:100%; display:flex; justify-content:space-between; align-items:center; }
}

/* ---------- modalai ---------- */
/* Modalai gyvena UŽ .rb-app ribų, todėl .rb-app [hidden] jų nepasiekia,
   o display:flex nugali naršyklės numatytąjį [hidden]. */
.rb-overlay[hidden]{ display:none !important; }
.rb-overlay{
  position:fixed; inset:0; background:rgba(62,73,57,0.6);
  display:flex; align-items:center; justify-content:center;
  padding:16px; z-index:9999;
}
.rb-modal{
  background:var(--white); border-radius:var(--radius-m); padding:26px;
  width:100%; max-width:400px; max-height:90vh; overflow-y:auto;
}
.rb-modal h3{ margin-bottom:6px; }
.rb-modal p.sub{ font-size:0.84rem; color:var(--ink-soft); margin:0 0 14px; }
.rb-modal label{ display:block; font-size:0.82rem; margin:14px 0 6px; color:var(--ink-soft); }
.rb-modal input[type="text"],
.rb-modal input[type="email"],
.rb-modal input[type="tel"],
.rb-modal select{
  width:100%; padding:12px 14px; border:1px solid var(--line);
  border-radius:var(--radius-s); font-size:16px; font-family:inherit; color:var(--ink);
}
.rb-modal input:focus, .rb-modal select:focus{ border-color:var(--sage); outline:none; }

/*
 * Hello Elementor tema aktyviam laukeliui uždeda `box-shadow:0 0 0 4px #fff`
 * (+ juodą rėmelį). Rėmelį jau nuimam, bet baltas 4 px šešėlis likdavo ir
 * uždengdavo virš laukelio esantį užrašą. Vietoj jo — švelnus studijos spalvos žiedas.
 */
.rb-app input:focus-visible,
.rb-app select:focus-visible,
.rb-app textarea:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(78, 62, 56, .16);
}
.rb-modal-pay{ display:flex; flex-direction:column; gap:7px; margin-top:6px; }
.rb-modal-pay label{
  display:flex; align-items:center; gap:9px; font-size:0.86rem;
  border:1px solid var(--line); padding:11px 14px; border-radius:var(--radius-m); margin:0;
  color:var(--ink); cursor:pointer;
}
.rb-modal-pay input{ accent-color:var(--sage); }
.rb-modal-actions{ display:flex; gap:10px; margin-top:22px; }
.rb-modal-actions button{
  flex:1; padding:12px; border-radius:var(--radius-pill);
  font-size:0.86rem; border:none;
}
.rb-modal-actions .cancel{ background:var(--sand); color:var(--ink); }
.rb-modal-actions .save{ background:var(--sage); color:#fff; }
.rb-modal-actions .save:hover{ background:var(--sage-dark); }
.rb-modal-actions .save:disabled{ background:var(--sand); color:var(--ink-soft); cursor:not-allowed; }

#rb-payment-element{ margin:18px 0 4px; min-height:60px; }

.rb-loading{ padding:44px 0; text-align:center; color:var(--ink-soft); font-size:0.88rem; }

.rb-login-box{
  background:var(--sand); border:none; border-radius:var(--radius-m);
  padding:22px 24px; margin-bottom:20px; font-size:0.92rem;
}
.rb-login-box a{ color:var(--sage-dark); font-weight:500; }

/* ================= pulto navigacija ir statistika ================= */

/* `flex-wrap:wrap` — planšetėje (768 px) šeši pulto skirtukai netilpdavo
   į vieną eilutę ir paskutinis likdavo už ekrano, už slinkimo juostos. */
.rb-nav{ display:flex; flex-wrap:wrap; gap:8px; overflow-x:auto; margin-bottom:18px; padding-bottom:2px; }
.rb-nav button{
  border:1px solid var(--line); background:var(--white); color:var(--ink-soft);
  padding:10px 22px; border-radius:var(--radius-pill); font-size:0.86rem;
  white-space:nowrap; flex-shrink:0; transition:all .15s ease;
}
.rb-nav button:hover{ border-color:var(--sage); color:var(--sage-dark); }
.rb-nav button.active{ background:var(--forest); border-color:var(--forest); color:#fff; }

/* mėnesio perjungiklis apžvalgoje */
.rb-monthnav{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.rb-monthnav strong{
  min-width:9.5em; text-align:center;
  font-family:'Playfair Display', Georgia, serif;
  font-weight:500; font-size:1.05rem; color:var(--forest);
}
@media (max-width:520px){
  .rb-monthnav{ width:100%; justify-content:space-between; }
  .rb-monthnav strong{ min-width:0; flex:1; font-size:1rem; }
  /* bendra taisyklė telefone slepia `.rb-today-btn` (kalendoriaus juostoje
     jam nėra vietos), bet pulte „Šis mėnuo" būtinas — grąžinam */
  .rb-app .rb-monthnav .rb-today-btn{ display:block; order:4; width:100%; }
}

.rb-range{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius-m);
  padding:12px 16px; margin-bottom:18px;
}
.rb-range-dates{ display:flex; align-items:center; gap:10px; font-size:0.86rem; color:var(--ink-soft); }
.rb-range-dates input{
  border:1px solid var(--line); border-radius:var(--radius-s);
  padding:8px 12px; font-family:inherit; font-size:0.88rem; color:var(--ink);
}
.rb-range-dates input:focus{ border-color:var(--sage); outline:none; }
.rb-range-presets{ display:flex; gap:6px; flex-wrap:wrap; }
.rb-range-presets button{
  border:1px solid var(--line); background:var(--white); color:var(--ink-soft);
  padding:7px 15px; border-radius:var(--radius-pill); font-size:0.78rem;
}
.rb-range-presets button:hover{ border-color:var(--sage); color:var(--sage-dark); }
@media (max-width:640px){
  .rb-range{ flex-direction:column; align-items:stretch; }
  .rb-range-dates input{ flex:1; min-width:0; }
}

/* --- KPI kortelės --- */
.rb-kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:18px; }
@media (max-width:900px){ .rb-kpis{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .rb-kpis{ grid-template-columns:1fr; } }

.rb-kpi{
  background:var(--sand); border-radius:var(--radius-m); padding:18px 20px;
  border-left:4px solid transparent;
}
.rb-kpi.warn{ background:var(--ochre-soft); border-left-color:var(--ochre); }
.rb-kpi.alert{ background:var(--brick-soft); border-left-color:var(--brick); }
.rb-kpi .num{
  font-family:'Playfair Display', Georgia, serif; font-size:2rem; font-weight:400;
  color:var(--forest); line-height:1.1;
}
.rb-kpi .label{ font-size:0.78rem; color:var(--sage-dark); margin-top:3px; }
.rb-kpi .extra{ font-size:0.74rem; color:var(--ink-soft); margin-top:8px; }

/* --- skydeliai --- */
.rb-panels{ display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:16px; }
@media (max-width:900px){ .rb-panels{ grid-template-columns:1fr; } }
.rb-panel{
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:20px;
}
.rb-panel h3{ margin-bottom:12px; }
.rb-hint{ font-size:0.8rem; color:var(--ink-soft); margin:0 0 12px; }

/* --- stulpelinė diagrama --- */
.rb-chart-head{
  display:flex; justify-content:space-between; font-size:0.82rem;
  color:var(--ink-soft); margin-bottom:14px;
}
.rb-chart-head strong{ color:var(--forest); font-size:1.05rem; }
.rb-bars{ display:flex; align-items:flex-end; gap:3px; height:170px; }
.rb-bar-col{ flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; gap:5px; height:100%; }
.rb-bar-track{ flex:1; width:100%; display:flex; align-items:flex-end; }
.rb-bar-fill{
  width:100%; background:var(--sage); border-radius:4px 4px 0 0;
  transition:background .15s ease; min-height:2px;
}
.rb-bar-col:hover .rb-bar-fill{ background:var(--forest); }
.rb-bar-label{ font-size:0.6rem; color:var(--ink-soft); white-space:nowrap; }

/* --- horizontalios juostos --- */
.rb-hbar{ display:flex; align-items:center; gap:10px; margin-bottom:9px; font-size:0.8rem; }
.rb-hbar-label{ width:52px; flex-shrink:0; color:var(--ink-soft); }
.rb-hbar-track{ flex:1; height:10px; background:var(--sand); border-radius:5px; overflow:hidden; }
.rb-hbar-fill{ display:block; height:100%; background:var(--sage); border-radius:5px; }
.rb-hbar-value{ width:86px; flex-shrink:0; text-align:right; color:var(--forest); font-weight:500; }
.rb-hbar-value small{ color:var(--ink-soft); font-weight:400; }

/* --- filtrai --- */
.rb-filters{
  display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:14px;
  font-size:0.84rem; color:var(--ink-soft);
}
.rb-filters input[type="search"]{
  flex:1; min-width:220px; border:1px solid var(--line); border-radius:var(--radius-pill);
  padding:10px 18px; font-family:inherit; font-size:0.88rem; color:var(--ink);
}
.rb-filters input[type="search"]:focus{ border-color:var(--sage); outline:none; }
.rb-filters label{ display:flex; align-items:center; gap:7px; cursor:pointer; }
.rb-filters input[type="checkbox"]{ accent-color:var(--sage); }

/* --- lentelė --- */
.rb-table-scroll{ overflow-x:auto; }
.rb-table{
  width:100%; border-collapse:collapse; font-size:0.84rem;
  background:var(--white); border-radius:var(--radius-m); overflow:hidden;
}
.rb-table th{
  text-align:left; font-weight:500; font-size:0.72rem; text-transform:uppercase;
  letter-spacing:0.04em; color:var(--sage-dark); background:var(--sand);
  padding:12px 14px; white-space:nowrap;
}
.rb-table td{ padding:12px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
.rb-table tr:last-child td{ border-bottom:none; }
.rb-table tr.in-debt{ background:var(--ochre-soft); }
.rb-table .num{ text-align:right; white-space:nowrap; }
.rb-table small{ font-size:0.72rem; color:var(--ink-soft); }
.rb-table a{ color:var(--sage-dark); text-decoration:none; }
.rb-table a:hover{ text-decoration:underline; }
.rb-debt{ color:var(--brick); }
.rb-ok{ color:var(--sage-dark); }
.rb-muted{ color:var(--ink-soft); }

/* ================= vaizdų perjungiklis (mato tik administratorė) ================= */

.rb-switch{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  background:var(--forest); border-radius:var(--radius-pill);
  padding:7px 8px 7px 18px; margin-bottom:20px;
  font-size:0.8rem; color:rgba(255,255,255,0.75);
}
.rb-switch-label{ margin-right:2px; }
.rb-switch a{
  display:inline-block; padding:7px 18px; border-radius:var(--radius-pill);
  color:rgba(255,255,255,0.8); text-decoration:none; transition:all .15s ease;
}
.rb-switch a:hover{ background:rgba(255,255,255,0.1); color:#fff; }
.rb-switch a.active{ background:var(--sage); color:#fff; }
.rb-switch-hint{
  margin-left:auto; padding-right:12px;
  font-size:0.7rem; color:rgba(255,255,255,0.45); font-style:italic;
}
@media (max-width:600px){
  .rb-switch{ border-radius:var(--radius-m); padding:10px 12px; }
  .rb-switch a{ flex:1; text-align:center; }
  .rb-switch-hint{ display:none; }
}

/* wp-admin viduje programa neturi savo fono per visą plotį */
.wrap .rb-app{ background:transparent; }
.wrap .rb-app .rb-wrap{ padding:0 0 40px; max-width:none; }

/* ================= NAUJAS kliento kalendorius ================= */

/* --- ikonos --- */
.rb-i{
  display:inline-flex; align-items:center; justify-content:center;
  width:1.05em; height:1.05em; flex-shrink:0; vertical-align:-0.15em;
}
.rb-i svg{ width:100%; height:100%; display:block; }

/* --- mėnesio juosta --- */
.rb-monthbar{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.rb-monthbar > span{
  font-family:"Playfair Display", Georgia, serif;
  font-size:1.3rem; min-width:170px;
}
.rb-navbtn{
  width:38px; height:38px; border-radius:50%;
  border:1px solid var(--line); background:var(--white);
  color:var(--forest); font-size:1.3rem; line-height:1;
  display:flex; align-items:center; justify-content:center;
  transition:all .15s ease;
}
.rb-navbtn:hover{ background:var(--sage); border-color:var(--sage); color:#fff; }
.rb-today-btn{
  margin-left:auto; border:1px solid var(--line); background:var(--white);
  color:var(--ink-soft); padding:8px 18px; border-radius:var(--radius-pill); font-size:0.78rem;
}
.rb-today-btn:hover{ border-color:var(--sage); color:var(--sage-dark); }
@media (max-width:480px){
  .rb-monthbar{ flex-wrap:wrap; }
  .rb-monthbar > span{ font-size:1.1rem; min-width:0; flex:1; }
  .rb-today-btn{ display:none; }
  /* Be „Šis mėnuo" telefone tektų spaudinėti rodyklę, kol grįžtum atgal —
     tad juostoje jam paliekam atskirą eilutę per visą plotį. */
  .rb-app .rb-monthbar .rb-today-btn{
    display:block; order:4; width:100%; margin-left:0; text-align:center;
  }

  /* Dienos antraštė: data ilga, tad mygtukai keliasi po ja, o ne šonan,
     kur pavadinimas susispaudžia į tris eilutes. */
  .rb-app .rb-day-head-row{ flex-direction:column; align-items:stretch; gap:10px; }
  .rb-app .rb-day-head-row > div{ justify-content:flex-end; }
}

.rb-dot.closed{ background:var(--ochre-soft); border:1.5px solid var(--ochre); }

/* --- mėnesio tinklelis: 7 stulpeliai, be horizontalaus slinkimo --- */
.rb-month-head,
.rb-month-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.rb-month-head{ margin-bottom:6px; }
.rb-month-head span{
  font-size:0.7rem; font-weight:500; color:var(--ink-soft);
  text-align:center; padding-bottom:4px;
}
.rb-month-grid{ margin-bottom:0; }

.rb-app .rb-day{
  position:relative;
  border:1px solid var(--line); border-radius:3px;
  background:var(--white); min-height:58px; padding:6px 4px 5px;
  display:flex; flex-direction:column; align-items:center; gap:5px;
  font-family:inherit; transition:all .15s ease;
}
.rb-app .rb-day-num{ font-family:"Playfair Display", Georgia, serif; font-size:1.05rem; line-height:1; }
.rb-app .rb-day-info{
  font-size:0.6rem; line-height:1.2; text-align:center; margin-top:auto; color:var(--ink-soft);
}
.rb-app .rb-day-info svg{ width:13px; height:13px; }

.rb-app .rb-day-empty{ border:none; background:transparent; min-height:0; }
.rb-app .rb-day-none{ background:var(--cream); border-style:dashed; color:var(--ink-soft); }
.rb-app .rb-day.past{ opacity:.4; }
.rb-app .rb-day.free{ border-color:var(--sage-line); }
.rb-app .rb-day.free .rb-day-info{ color:var(--sage-dark); font-weight:500; }
.rb-app .rb-day.free:hover{ background:var(--sage-tint); border-color:var(--sage); border-radius:3px; }
.rb-app .rb-day.full{ background:var(--sand-soft); }
.rb-app .rb-day.closed{ background:var(--ochre-soft); border-color:#E5D5AE; }
.rb-app .rb-day.closed .rb-day-info{ color:var(--ochre); }
.rb-app .rb-day.today{ box-shadow:0 0 0 2px var(--sage); }
.rb-app .rb-day.open{ background:var(--forest); border-color:var(--forest); color:#fff; }
.rb-app .rb-day.open .rb-day-info{ color:rgba(255,255,255,.8); }
.rb-app .rb-day-mine{
  position:absolute; top:6px; right:6px;
  width:7px; height:7px; border-radius:50%; background:var(--forest);
}
.rb-app .rb-day.open .rb-day-mine{ background:#fff; }

@media (max-width:600px){
  .rb-month-head, .rb-month-grid{ gap:4px; }
  .rb-day{ min-height:56px; padding:6px 2px 4px; gap:3px; }
  .rb-day-num{ font-size:0.9rem; }
  .rb-day-info{ font-size:0.52rem; }
}

/* --- pasirinktos dienos laikai --- */
.rb-app .rb-day-detail{ margin-top:18px; }
.rb-app .rb-day-hint{
  display:flex; align-items:center; gap:9px;
  background:var(--sand-soft); border-radius:var(--radius-m);
  padding:16px 18px; font-size:0.86rem; color:var(--ink-soft); margin:0;
}
.rb-app .rb-day-hint svg{ width:18px; height:18px; }
.rb-app .rb-day-head-row{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:12px; gap:12px;
}
.rb-close{
  width:32px; height:32px; border-radius:50%; background:var(--sand);
  color:var(--ink-soft); display:flex; align-items:center; justify-content:center;
}
.rb-close svg{ width:15px; height:15px; }
.rb-close:hover{ background:var(--brick-soft); color:var(--brick); }

.rb-slotcard{
  display:grid;
  grid-template-columns:minmax(120px,auto) minmax(140px,1fr) auto minmax(170px,auto);
  align-items:center; gap:16px;
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:15px 18px; margin-bottom:10px;
  transition:all .15s ease;
}
.rb-slotcard.free:hover{ border-color:var(--sage); }
.rb-slotcard.selected{ border-color:var(--sage); background:var(--sage-tint); }
.rb-slotcard.mine{ border-color:var(--forest); background:var(--sand); }
.rb-slotcard.full, .rb-slotcard.past, .rb-slotcard.closed{ background:var(--sand-soft); opacity:.85; }

.rb-slot-time{ display:flex; align-items:center; gap:8px; font-size:1.02rem; }
.rb-slot-time svg{ width:17px; height:17px; color:var(--sage-dark); }
.rb-slot-seats{ display:flex; align-items:center; gap:10px; }
.rb-seats{ display:flex; gap:4px; }
.rb-seats i{ width:9px; height:9px; border-radius:50%; display:block; }
.rb-seats i.taken{ background:var(--sage); }
.rb-seats i.freeseat{ background:transparent; border:1.5px solid var(--sage-line); }
.rb-slot-free{ font-size:0.76rem; color:var(--ink-soft); white-space:nowrap; }
.rb-slot-price{ display:flex; align-items:center; gap:6px; font-size:0.9rem; color:var(--ink-soft); }
.rb-slot-price svg{ width:15px; height:15px; }
.rb-slot-action{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.rb-slot-state{
  display:flex; align-items:center; gap:7px;
  font-size:0.8rem; color:var(--ink-soft); text-align:right;
}
.rb-slot-state svg{ width:15px; height:15px; }
.rb-slotcard.mine .rb-slot-state{ color:var(--forest); font-weight:500; }

.rb-btn-small{
  display:inline-flex; align-items:center; gap:7px; white-space:nowrap;
  background:var(--sage); color:#fff; border:none;
  padding:10px 20px; border-radius:var(--radius-pill); font-size:0.82rem;
  transition:background .15s ease;
}
.rb-btn-small:hover{ background:var(--sage-dark); }
.rb-btn-small svg{ width:14px; height:14px; }
.rb-btn-small.ghost{ background:var(--sand); color:var(--ink); }
.rb-btn-small.ghost:hover{ background:var(--line); }

@media (max-width:720px){
  .rb-slotcard{ grid-template-columns:1fr auto; gap:8px 12px; padding:14px; }
  .rb-slot-time{ grid-column:1; grid-row:1; }
  .rb-slot-price{ grid-column:2; grid-row:1; justify-content:flex-end; font-weight:500; color:var(--ink); }
  .rb-slot-seats{ grid-column:1 / -1; grid-row:2; }
  .rb-slot-action{ grid-column:1 / -1; grid-row:3; align-items:stretch; }
  .rb-slot-action .rb-btn-small{ justify-content:center; width:100%; }
  .rb-slot-state{ justify-content:flex-start; }
}

/* --- artimiausių laikų sąrašas --- */
.rb-listrow{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:14px 18px; margin-bottom:9px;
}
.rb-listrow.selected{ border-color:var(--sage); background:var(--sage-tint); }
.rb-listrow-when{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.rb-listrow-when strong{ font-size:0.92rem; }
.rb-listrow-when span{ font-size:0.76rem; color:var(--ink-soft); }
@media (max-width:520px){
  .rb-listrow{ flex-direction:column; align-items:stretch; }
  .rb-listrow .rb-btn-small{ justify-content:center; }
}

/* --- krepšelio smulkmenos --- */
.rb-badge{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:22px; height:22px; padding:0 6px; margin-left:6px;
  border-radius:11px; background:var(--sage); color:#fff;
  font-family:"Poppins", sans-serif; font-size:0.72rem; vertical-align:middle;
}
.rb-badge:empty{ display:none; }
.rb-cart-note{ font-size:0.72rem; color:var(--ink-soft); margin:10px 0 0; }
.rb-cart-item small{ color:var(--ink-soft); font-size:0.74rem; }
.rb-cart-item button{
  width:34px; height:34px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:var(--sand); color:var(--ink-soft); text-decoration:none;
}
.rb-cart-item button svg{ width:12px; height:12px; }
.rb-cart-item button:hover{ background:var(--brick-soft); color:var(--brick); }

.rb-modal select{
  width:100%; padding:12px 14px; border:1px solid var(--line);
  border-radius:var(--radius-s); font-size:16px; font-family:inherit; color:var(--ink);
}

/* ================= administratorės mėnuo ================= */

.rb-month-totals{
  display:flex; flex-wrap:wrap; gap:20px; margin-bottom:14px;
  font-size:0.84rem; color:var(--ink-soft);
}
.rb-month-totals strong{ color:var(--forest); font-size:1.05rem; }
.rb-warn-inline{ color:var(--ochre); font-weight:500; }

.rb-aday{ justify-content:flex-start; gap:6px; }
.rb-aday-count{ font-size:0.7rem; color:var(--sage-dark); font-weight:500; }
.rb-aday-bar{
  width:100%; height:5px; background:var(--sand);
  border-radius:3px; overflow:hidden; margin-top:auto;
}
.rb-aday-bar i{ display:block; height:100%; background:var(--sage); }
.rb-app .rb-day.open .rb-aday-count{ color:#fff; }
.rb-app .rb-day.open .rb-aday-bar{ background:rgba(255,255,255,.25); }
.rb-app .rb-day.open .rb-aday-bar i{ background:#fff; }

.rb-agroup{
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:14px 18px; margin-bottom:10px;
}
.rb-agroup-head{
  display:flex; align-items:center; gap:10px;
  padding-bottom:9px; margin-bottom:9px; border-bottom:1px solid var(--line);
}
.rb-agroup-head strong{ font-size:0.95rem; }
.rb-agroup-count{
  background:var(--sand); color:var(--sage-dark);
  padding:2px 10px; border-radius:var(--radius-pill); font-size:0.74rem;
}
.rb-linkbtn{
  margin-left:auto; color:var(--ink-soft); font-size:0.74rem;
  text-decoration:underline; background:none; border:none;
}
.rb-linkbtn:hover{ color:var(--sage-dark); }

.rb-person{
  display:flex; align-items:center; gap:10px;
  padding:7px 0; font-size:0.86rem;
}
.rb-person-name{ flex:1; min-width:0; }
.rb-person-actions{ display:flex; gap:4px; }
.rb-person-actions button{
  width:30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--sand-soft); color:var(--ink-soft);
}
.rb-person-actions button svg{ width:15px; height:15px; }
.rb-person-actions button:hover{ background:var(--sage); color:#fff; }
.rb-agroup-foot{ margin-top:10px; }

/* ================= veiksmų meniu, valandos užraktas, istorija ================= */

.rb-person{ position:relative; }

.rb-menu{
  position:absolute; right:0; top:100%; z-index:60;
  min-width:230px; padding:6px;
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-m);
  box-shadow:0 10px 30px rgba(62,73,57,.16);
  display:flex; flex-direction:column; gap:1px;
}
.rb-menu-title{
  display:block; padding:8px 12px 6px;
  font-size:0.72rem; color:var(--ink-soft);
  border-bottom:1px solid var(--line); margin-bottom:4px;
}
.rb-menu button{
  display:block; width:100%; text-align:left;
  padding:10px 14px; border-radius:var(--radius-pill);
  font-size:0.82rem; color:var(--ink); background:none; border:none;
}
.rb-menu button:hover{ background:var(--sage-tint); color:var(--sage-dark); }
.rb-menu button.danger{ color:var(--brick); }
.rb-menu button.danger:hover{ background:var(--brick-soft); }
.rb-menu hr{ border:none; border-top:1px solid var(--line); margin:4px 0; }

.rb-agroup-tools{ margin-left:auto; display:flex; align-items:center; gap:8px; }
.rb-iconbtn{
  width:30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--sand-soft); color:var(--ink-soft);
}
.rb-iconbtn svg{ width:15px; height:15px; }
.rb-iconbtn:hover{ background:var(--ochre-soft); color:var(--ochre); }
.rb-iconbtn.locked{ background:var(--ochre-soft); color:var(--ochre); }
.rb-iconbtn.locked:hover{ background:var(--sage-tint); color:var(--sage-dark); }

.rb-agroup.closed{ background:var(--sand-soft); border-style:dashed; }
.rb-agroup.closed .rb-agroup-head strong{ color:var(--ink-soft); }

/* --- istorija --- */
.rb-booking.past{ background:var(--sand-soft); border-style:dashed; }
.rb-booking.past .when{ color:var(--ink-soft); font-weight:400; }

/* --- kliento skirtukai --- */
#rb-client-nav{ margin-bottom:22px; }
#rb-client-nav .rb-badge{ background:var(--forest); }
#rb-client-nav button.active .rb-badge{ background:var(--sage); }

/* ================= pridėjimas į kalendorių ================= */

.rb-actions{ position:relative; }

.rb-calbtn{
  display:inline-flex; align-items:center; gap:7px;
  border:1px solid var(--sage-line) !important;
  background:var(--sage-tint) !important;
  color:var(--sage-dark) !important;
  padding:8px 16px !important;
  border-radius:var(--radius-pill) !important;
  font-size:0.78rem;
}
.rb-calbtn:hover{ background:var(--sage) !important; color:#fff !important; border-color:var(--sage) !important; }
.rb-calbtn svg{ width:14px; height:14px; }

/* meniu nuorodos (Google, Outlook…) atrodo taip pat kaip mygtukai */
.rb-menu a{
  display:block; padding:10px 14px; border-radius:var(--radius-pill);
  font-size:0.82rem; color:var(--ink); text-decoration:none;
}
.rb-menu a:hover{ background:var(--sage-tint); color:var(--sage-dark); }

@media (max-width:600px){
  .rb-menu{ right:auto; left:0; width:100%; min-width:0; }
}

/* ================= dešinysis stulpelis: dienos laikai + krepšelis ================= */

.rb-side{ display:flex; flex-direction:column; gap:16px; }

@media (min-width:900px){
  .rb-layout{ grid-template-columns:minmax(0,1fr) 360px; }

  /* Anksčiau lipdukas buvo VISAS dešinysis stulpelis. Jei tos dienos laikų
     daug, stulpelis tapdavo aukštesnis už ekraną ir krepšelis likdavo žemiau
     matomos ribos — prilipęs, bet nepasiekiamas. Dabar limpa tik krepšelis:
     laikai nuslenka, o jis lieka po ranka. */
  .rb-side{ position:static; align-self:start; }
  .rb-cart{
    position:sticky; top:24px; margin-top:0;
    max-height:calc(100vh - 48px); overflow-y:auto;
  }
}

/* dienos laikai dešinėje — atskira kortelė */
.rb-side .rb-day-detail{
  margin-top:0;
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:15px;
}
.rb-side .rb-day-hint{
  background:transparent; padding:0; align-items:flex-start; line-height:1.5;
}
.rb-side .rb-day-head-row{ margin-bottom:14px; }
.rb-side .rb-day-head-row h3{ font-size:1.02rem; }

/* siauresniame stulpelyje kortelė dėliojasi vertikaliai */
.rb-side .rb-slotcard{
  grid-template-columns:1fr auto;
  gap:5px 10px; padding:11px 13px; margin-bottom:8px;
}
/* kaina — pirmoje eilutėje šalia laiko, ne kortelės apačioje */
.rb-side .rb-slot-time{ grid-column:1; grid-row:1; font-size:0.96rem; }
.rb-side .rb-slot-price{
  grid-column:2; grid-row:1; justify-content:flex-end;
  font-weight:500; color:var(--ink);
}
.rb-side .rb-slot-seats{ grid-column:1 / -1; grid-row:2; }
.rb-side .rb-slot-action{ grid-column:1 / -1; grid-row:3; align-items:stretch; }
.rb-side .rb-slot-action .rb-btn-small{ justify-content:center; width:100%; }
.rb-side .rb-slot-state{ justify-content:flex-start; }
.rb-side .rb-slotcard:last-child{ margin-bottom:0; }

/* ---------- vizualiniai patikslinimai ---------- */

/* „Yra vietų" taškas buvo baltas ant balto — beveik nematomas */
.rb-dot.free{ background:var(--sage-tint); border:1.5px solid var(--sage); }

/* antras perjungiklis lengvesnis už pirmą, kad nekonkuruotų */
#rb-view-toggle button{ padding:7px 16px; font-size:0.78rem; }
#rb-view-toggle button:not(.active){ background:transparent; border-color:transparent; }
#rb-view-toggle button:not(.active):hover{ background:var(--white); border-color:var(--line); }
#rb-view-toggle{ margin-bottom:18px; }

/* mėnesio langeliai kiek aukštesni, kad tilptų „N laisvos" */
@media (min-width:900px){
  .rb-day{ min-height:62px; }
}

/* ================= hover būsenos: jokio rožinio, viskas ovalu =================
   Hello Elementor reset.css turi taisyklę
   [type=button]:hover, button:hover { background-color:#cc3366; color:#fff }
   Jei mūsų hover taisyklė nedeklaruoja background, ta rožinė prasimuša.
   Todėl kiekvienas interaktyvus elementas hover būsenoje fone nurodo aiškiai. */

.rb-app .rb-actions button:hover{
  background:var(--sage-tint); border-color:var(--sage); color:var(--sage-dark);
}
.rb-app .rb-actions button.danger:hover{
  background:var(--brick-soft); border-color:var(--brick); color:var(--brick);
}
.rb-app .rb-nav button:hover:not(.active),
.rb-app .rb-range-presets button:hover,
.rb-app .rb-today-btn:hover{
  background:var(--white); border-color:var(--sage); color:var(--sage-dark);
}
.rb-app .rb-nav button.active:hover{ background:var(--forest); color:#fff; }
.rb-app .rb-btn:hover{ background:var(--sage-dark); color:#fff; }
.rb-app .rb-btn-small:hover{ background:var(--sage-dark); color:#fff; }
.rb-app .rb-btn-small.ghost:hover{ background:var(--line); color:var(--ink); }
.rb-app .rb-navbtn:hover{ background:var(--sage); border-color:var(--sage); color:#fff; }
.rb-app .rb-close:hover{ background:var(--brick-soft); color:var(--brick); }
.rb-app .rb-iconbtn:hover{ background:var(--ochre-soft); color:var(--ochre); }
.rb-app .rb-person-actions button:hover{ background:var(--sage); color:#fff; }
.rb-app .rb-menu button:hover{ background:var(--sage-tint); color:var(--sage-dark); }
.rb-app .rb-menu button.danger:hover{ background:var(--brick-soft); color:var(--brick); }
.rb-app .rb-fee button:hover{ background:var(--forest-soft); color:#fff; }
.rb-app .rb-cart-item button:hover{ background:var(--brick-soft); color:var(--brick); }
.rb-app .rb-modal-actions .save:hover{ background:var(--sage-dark); color:#fff; }
.rb-app .rb-modal-actions .cancel:hover{ background:var(--line); color:var(--ink); }
.rb-app .rb-linkbtn:hover{ background:transparent; color:var(--sage-dark); }
.rb-app .rb-add-person:hover{ background:transparent; border-color:var(--sage); color:var(--sage-dark); }

/* neaktyvūs mygtukai */
.rb-app button:disabled,
.rb-app button:disabled:hover{
  background:var(--sand); color:var(--muted); border-color:var(--line); cursor:not-allowed;
}

/* hover keičia TIK spalvas. Padding ir forma paveldimi iš bazinės taisyklės,
   nes reset'e :hover nebėra — būtent jis anksčiau sutraukdavo mygtukus. */

/* langeliams — tik tai, ko reikia mygtukui atrodyti kaip langeliui */
.rb-app button.rb-day{
  appearance:none; font-family:inherit; color:inherit;
  text-align:center; cursor:pointer; box-shadow:none;
}
.rb-app button.rb-day.today{ box-shadow:0 0 0 2px var(--sage); }
.rb-app .rb-day-empty{ border:none; background:transparent; }

/* ================= paskyros mygtukas header'yje ================= */

.rb-account-btn{
  display:inline-flex; align-items:center; gap:8px; white-space:nowrap;
  background:#4E3E38; color:#FFFFFF !important;
  font-family:'Poppins', system-ui, sans-serif; font-size:15px; font-weight:400;
  padding:10px 24px; border-radius:40px; text-decoration:none;
  transition:background .15s ease;
}
.rb-account-btn:hover{ background:#332723; color:#FFFFFF !important; }
.rb-account-btn svg{ width:16px; height:16px; flex-shrink:0; }
@media (max-width:600px){
  .rb-account-btn{ padding:9px 18px; font-size:14px; }
}

/* Prisijungus „Prisijungti" nebėra svarbiausias veiksmas — navigacija jau
   programoje. Paliekam tik ramų kontūrą su vardu. */
.rb-account-btn.quiet{
  background:transparent; color:#4E3E38 !important;
  border:1px solid #D9D2CB; padding:9px 18px; font-size:14px;
}
.rb-account-btn.quiet:hover{ background:#F2EFEC; color:#24201D !important; }
.rb-account-btn.quiet svg{ width:17px; height:17px; }

@media (max-width:600px){
  /* telefone — tik apskritimas su žmogeliuku, vardo nerodom */
  .rb-account-btn.quiet{ padding:9px; border-radius:50%; }
  .rb-account-btn.quiet span{ display:none; }
}

/* atsijungimo nuoroda „Mano pamokose" */
.rb-mine-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:16px;
}
.rb-app .rb-logout{
  display:inline-flex; align-items:center; min-height:34px; padding:0 2px;
  font-size:0.8rem; color:var(--ink-soft); text-decoration:underline; flex-shrink:0;
}
.rb-app .rb-logout:hover{ color:var(--brick); }

/* paaiškinimas apie atšaukimą prie kiekvienos pamokos */
.rb-note{
  display:block; margin-top:7px; font-size:0.74rem; line-height:1.5;
  color:var(--ink-soft);
}
.rb-note strong{ color:var(--ink); }
.rb-warn{
  display:flex; align-items:flex-start; gap:6px;
  margin-top:7px; font-size:0.74rem; line-height:1.5; color:var(--ochre);
}
.rb-warn svg{ width:13px; height:13px; flex-shrink:0; margin-top:2px; }

/* =====================================================================
   MYGTUKŲ BŪSENOS — kiekvienas aiškiai nurodo foną VISOSE būsenose
   ===================================================================== */

/* --- pagrindinis „Patvirtinti registraciją" --- */
.rb-app .rb-btn,
.rb-app .rb-btn:focus{
  background:var(--sage); color:#fff; border:none;
  box-shadow:0 1px 2px rgba(36,32,29,.08);
}
.rb-app .rb-btn:hover{ background:var(--sage-dark); color:#fff; }
.rb-app .rb-btn:active{ background:var(--forest); color:#fff; transform:translateY(1px); }
.rb-app .rb-btn:disabled,
.rb-app .rb-btn:disabled:hover{
  background:var(--sand); color:var(--muted); box-shadow:none; cursor:not-allowed;
}

/* --- maži veiksmų mygtukai --- */
.rb-app .rb-btn-small,
.rb-app .rb-btn-small:focus{ background:var(--sage); color:#fff; border:none; }
.rb-app .rb-btn-small:hover{ background:var(--sage-dark); color:#fff; }
.rb-app .rb-btn-small:active{ background:var(--forest); color:#fff; }
/* „ghost" variantas didžiajam mygtukui: `.rb-btn.ghost` (0-2-0) pralaimėdavo
   vėliau faile esančiam `.rb-app .rb-btn` (irgi 0-2-0), todėl antraeiliai
   mygtukai atrodydavo kaip pagrindiniai. */
.rb-app .rb-btn.ghost,
.rb-app .rb-btn.ghost:focus{
  background:var(--sand); color:var(--ink);
}
.rb-app .rb-btn.ghost:hover{ background:var(--line); color:var(--ink); }

.rb-app .rb-btn-small.ghost,
.rb-app .rb-btn-small.ghost:focus{ background:var(--sand); color:var(--ink); }
.rb-app .rb-btn-small.ghost:hover{ background:var(--line); color:var(--ink); }

/* --- „Šis mėnuo" --- */
.rb-app .rb-today-btn,
.rb-app .rb-today-btn:focus{
  background:var(--white); color:var(--ink-soft); border:1px solid var(--line);
}
.rb-app .rb-today-btn:hover{
  background:var(--sage-tint); color:var(--sage-dark); border-color:var(--sage-line);
}
.rb-app .rb-today-btn:active{ background:var(--sand); color:var(--forest); }

/* --- mėnesio rodyklės --- */
.rb-app .rb-navbtn,
.rb-app .rb-navbtn:focus{
  background:var(--white); color:var(--forest); border:1px solid var(--line);
}
.rb-app .rb-navbtn:hover{ background:var(--sage); color:#fff; border-color:var(--sage); }
.rb-app .rb-navbtn:active{ background:var(--forest); color:#fff; border-color:var(--forest); }

/* --- skirtukai --- */
.rb-app .rb-nav button,
.rb-app .rb-nav button:focus{
  background:var(--white); color:var(--ink-soft); border:1px solid var(--line);
}
.rb-app .rb-nav button:hover{
  background:var(--sage-tint); color:var(--sage-dark); border-color:var(--sage-line);
}
.rb-app .rb-nav button.active,
.rb-app .rb-nav button.active:hover,
.rb-app .rb-nav button.active:focus,
.rb-app .rb-nav button.active:active{
  background:var(--forest); color:#fff; border-color:var(--forest);
}

/* --- pamokos kortelės veiksmai --- */
.rb-app .rb-actions button,
.rb-app .rb-actions button:focus{
  background:var(--white); color:var(--ink); border:1px solid var(--line);
}
.rb-app .rb-actions button:hover{
  background:var(--sage-tint); color:var(--sage-dark); border-color:var(--sage-line);
}
.rb-app .rb-actions button.danger,
.rb-app .rb-actions button.danger:focus{
  background:var(--white); color:var(--brick); border-color:#E0C7C0;
}
.rb-app .rb-actions button.danger:hover{
  background:var(--brick-soft); color:var(--brick); border-color:var(--brick);
}

/* --- kvietimas registruotis, kai pamokų nėra --- */
.rb-cta{
  background:var(--sand); border-radius:var(--radius-m); padding:26px 24px;
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
}
.rb-cta-icon{
  width:48px; height:48px; border-radius:50%; flex-shrink:0;
  background:var(--white); color:var(--sage-dark);
  display:flex; align-items:center; justify-content:center;
}
.rb-cta-icon svg{ width:23px; height:23px; }
.rb-cta strong{ font-size:1.02rem; display:block; }
.rb-cta p{ margin:5px 0 0; font-size:0.86rem; color:var(--ink-soft); }
.rb-app .rb-cta .rb-btn-small{
  margin-left:auto; padding:12px 30px; font-size:0.88rem;
}
@media (max-width:620px){
  .rb-cta{ flex-direction:column; align-items:flex-start; gap:14px; }
  .rb-app .rb-cta .rb-btn-small{ margin-left:0; width:100%; justify-content:center; }
}

/* --- patvirtinimo langas vietoj naršyklės confirm() --- */
.rb-confirm-text{
  font-size:0.92rem; line-height:1.6; color:var(--ink); margin:0 0 6px;
}
.rb-confirm-detail{
  background:var(--sand-soft); border-radius:var(--radius-s);
  padding:13px 15px; margin:14px 0 0; font-size:0.84rem; line-height:1.55;
  color:var(--ink-soft);
}
.rb-confirm-detail strong{ color:var(--ink); }
.rb-app .rb-modal-actions .danger,
.rb-app .rb-modal-actions .danger:focus{ background:var(--brick); color:#fff; }
.rb-app .rb-modal-actions .danger:hover{ background:#823E31; color:#fff; }

/* ================= paskyros blokas ================= */

.rb-acc-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
  gap:12px; margin-bottom:6px;
}
.rb-acc-item{
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:15px 17px;
  display:flex; flex-direction:column; gap:3px;
}
.rb-acc-item > span{ font-size:0.74rem; color:var(--ink-soft); }
.rb-acc-item strong{ font-size:0.92rem; font-weight:500; word-break:break-word; }
.rb-acc-item small{ font-size:0.7rem; color:var(--ink-soft); line-height:1.4; }
.rb-app .rb-acc-link{
  font-size:0.9rem; color:var(--sage-dark); text-decoration:underline; align-self:flex-start;
}
.rb-app .rb-acc-link:hover{ color:var(--forest); }

.rb-acc-h{
  margin:26px 0 12px; font-size:1.05rem;
  font-family:'Playfair Display', Georgia, serif; font-weight:500;
}

.rb-acc-row{
  display:flex; align-items:baseline; gap:10px;
  padding:9px 14px; background:var(--sand-soft);
  border-radius:var(--radius-s); margin-bottom:6px;
}
.rb-acc-row span{ font-weight:500; font-size:0.9rem; }
.rb-acc-row small{ color:var(--ink-soft); font-size:0.74rem; }

.rb-acc-table td{ padding:11px 14px; font-size:0.84rem; }
.rb-acc-table td small{ color:var(--ink-soft); }
.rb-acc-table .num{ white-space:nowrap; font-weight:500; }
.rb-acc-table tr.dir-in .num,
.rb-acc-table tr.dir-credit .num{ color:var(--sage-dark); }
.rb-acc-table tr.dir-out .num{ color:var(--ink); }
.rb-acc-table tr.dir-neutral .num{ color:var(--ink-soft); }

/* =====================================================================
   TARPAI IR FORMA — būtina .rb-app priešdėlė

   Bazinis reset `.rb-app button` (0-1-1) nustato padding:0 ir nugali bet kurią
   VIENOS klasės taisyklę (`.rb-btn` = 0-1-0). Todėl tokie mygtukai likdavo be
   vidinių tarpų ir atrodydavo kaip tekstas. Čia jiems grąžinam tarpus su
   pakankamu specifiškumu (0-2-0).
   ===================================================================== */

.rb-app .rb-btn{
  padding:13px 40px; border-radius:var(--radius-pill);
  font-size:0.95rem; width:100%;
}
.rb-app .rb-btn-small{
  padding:10px 20px; border-radius:var(--radius-pill); font-size:0.82rem;
  display:inline-flex; align-items:center; gap:7px;
}
.rb-app .rb-today-btn{
  padding:9px 20px; border-radius:var(--radius-pill); font-size:0.78rem;
  margin-left:auto;
}
.rb-app .rb-navbtn{
  width:38px; height:38px; padding:0; border-radius:50%;
  font-size:1.3rem; line-height:1;
  display:flex; align-items:center; justify-content:center;
}
.rb-app .rb-close{
  width:32px; height:32px; padding:0; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--sand); color:var(--ink-soft);
}
.rb-app .rb-close:hover{ background:var(--brick-soft); color:var(--brick); }
.rb-app .rb-iconbtn{
  width:30px; height:30px; padding:0; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--sand-soft); color:var(--ink-soft);
}
.rb-app .rb-iconbtn:hover{ background:var(--ochre-soft); color:var(--ochre); }
.rb-app .rb-iconbtn.locked{ background:var(--ochre-soft); color:var(--ochre); }
.rb-app .rb-linkbtn{
  padding:0; background:none; color:var(--ink-soft);
  font-size:0.74rem; text-decoration:underline; margin-left:auto;
}
.rb-app .rb-linkbtn:hover{ background:none; color:var(--sage-dark); }
.rb-app .rb-add-person{
  padding:6px 9px; border-radius:var(--radius-s);
  border:1px dashed var(--line); background:transparent;
  color:var(--ink-soft); font-size:0.72rem; text-align:left; width:100%;
}
.rb-app .rb-add-person:hover{ border-color:var(--sage); color:var(--sage-dark); background:transparent; }
.rb-app .rb-wait{ padding:0; background:none; text-decoration:underline; }
.rb-app .rb-calbtn{ padding:8px 16px; border-radius:var(--radius-pill); }
.rb-app .rb-cart-item button{ width:34px; height:34px; padding:0; border-radius:50%; }
.rb-app .rb-person-actions button{ width:30px; height:30px; padding:0; border-radius:50%; }
.rb-app .rb-modal-actions button{ padding:12px; border-radius:var(--radius-pill); flex:1; }
.rb-app .rb-menu button{ padding:10px 14px; border-radius:var(--radius-pill); width:100%; text-align:left; }
.rb-app .rb-fee button{ padding:8px 16px; border-radius:var(--radius-pill); }
.rb-app .rb-tabs button{ padding:9px 18px; border-radius:var(--radius-pill); }
.rb-app .rb-toggle button{ padding:9px 20px; border-radius:var(--radius-pill); }
.rb-app .rb-range-presets button{ padding:7px 15px; border-radius:var(--radius-pill); }

/* paskyros skirtuko antraštė su atsijungimu */
.rb-acc-head{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:16px; margin-bottom:16px;
}
.rb-acc-head h2{ margin:0; }

/* ================= sumos administratorės pulte ================= */

.rb-person{ gap:8px; }
.rb-person-name{ flex:1; min-width:0; }
.rb-person-due{
  display:flex; flex-direction:column; align-items:flex-end;
  line-height:1.25; flex-shrink:0;
}
.rb-person-due strong{ font-size:0.84rem; color:var(--ochre); }
.rb-person-due small{ font-size:0.64rem; color:var(--ink-soft); white-space:nowrap; }
.rb-person-paid{
  display:flex; flex-direction:column; align-items:flex-end;
  line-height:1.25; font-size:0.7rem; color:var(--sage-dark); flex-shrink:0;
}
/* skirstymas gali būti iš trijų dalių — telefone leidžiam jam keltis,
   kitaip eilutė išlįstų už ekrano */
.rb-person-paid small{
  font-size:0.64rem; color:var(--ink-soft);
  text-align:right; line-height:1.35; max-width:100%;
}

.rb-agroup-due{
  background:var(--ochre-soft); color:#7A5A2E;
  padding:3px 11px; border-radius:var(--radius-pill);
  font-size:0.74rem; font-weight:500; white-space:nowrap;
}

.rb-day-due{
  display:inline-block; margin-left:10px;
  background:var(--ochre-soft); color:#7A5A2E;
  padding:3px 12px; border-radius:var(--radius-pill);
  font-size:0.72rem; font-weight:400;
  font-family:'Poppins', system-ui, sans-serif; vertical-align:middle;
}

/* =====================================================================
   RAUDONAS TAŠKIUKAS — tą dieną reikia paimti pinigų
   ===================================================================== */

.rb-app .rb-day-cash{
  position:absolute; top:5px; right:5px;
  width:8px; height:8px; border-radius:50%;
  background:var(--brick);
  box-shadow:0 0 0 2px var(--white);
}
.rb-app .rb-day.has-cash{ border-color:#D8B5AC; }
.rb-app .rb-day.past .rb-day-cash{ opacity:.75; }

/* =====================================================================
   PASKYRA — skiltys turi kvėpuoti
   ===================================================================== */

.rb-acc-block{
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:20px 22px; margin-bottom:18px;
}
.rb-acc-block:last-child{ margin-bottom:0; }
.rb-acc-block > .rb-acc-h:first-child{ margin-top:0; }

/* kortelės kortelėje — be dvigubo rėmelio */
.rb-acc-block .rb-acc-item{ background:var(--sand-soft); border-color:transparent; }
.rb-acc-block .rb-acc-grid{ margin-bottom:0; }
.rb-acc-block .rb-table-scroll{ margin:0 -6px; }

/* likučio suma: buvo be jokio stiliaus ir lipdavo prie „Mokėjimų" */
.rb-balance-sum{
  display:flex; align-items:baseline; justify-content:space-between; gap:14px;
  background:var(--sage-tint); border-radius:var(--radius-m);
  padding:16px 20px;
}
.rb-balance-sum > span{ font-size:0.86rem; color:var(--ink-soft); }
.rb-balance-sum strong{
  font-family:'Playfair Display', Georgia, serif;
  font-size:1.5rem; font-weight:500; color:var(--forest); line-height:1;
}
.rb-balance-sum + .rb-note{ margin-top:12px; }

/* mokinės telefonas pulte — paspaudus telefone iškart skambina */
.rb-app .rb-person-tel{
  font-size:0.78rem; color:var(--ink-soft); text-decoration:none; white-space:nowrap;
}
.rb-app .rb-person-tel:hover{ color:var(--ink); text-decoration:underline; }
#rb-phone-modal .rb-notice{ margin-top:12px; }
.rb-acc-item .rb-linkish{ display:inline-block; margin-top:4px; font-size:0.82rem; }

/* likučio grąžinimas į kortelę */
.rb-app .rb-refund{
  display:flex; align-items:center; gap:10px 14px; flex-wrap:wrap;
  margin-top:14px; padding-top:14px; border-top:1px solid var(--line, #E9E5E0);
}
.rb-app .rb-refund small{
  flex:1 1 220px; font-size:0.78rem; line-height:1.45; color:var(--ink-soft);
  white-space:normal;
}
.rb-app .rb-refund small strong{ color:var(--ink); }
.rb-acc-block .rb-acc-row:first-of-type{ margin-top:14px; }

/* =====================================================================
   „Rodyti daugiau" — sąrašui telefone
   ===================================================================== */

.rb-app .rb-more{
  display:block; width:100%; margin-top:4px;
  padding:13px 20px; border-radius:var(--radius-pill);
  background:var(--white); border:1px solid var(--sage-line);
  color:var(--sage-dark); font-size:0.86rem;
}
.rb-app .rb-more:hover,
.rb-app .rb-more:focus{ background:var(--sage-tint); color:var(--sage-dark); border-color:var(--sage); }

/* =====================================================================
   MOBILI VERSIJA
   ===================================================================== */

/* --- skirtukai: tinklelis vietoj šoninio scrolinimo --- */
@media (max-width:640px){
  .rb-nav{
    display:grid; grid-template-columns:1fr 1fr; gap:8px;
    overflow:visible; margin-bottom:20px; padding-bottom:0;
  }
  .rb-app .rb-nav button[hidden]{ display:none !important; }
  .rb-app .rb-nav button{
    width:100%; justify-content:center; text-align:center;
    padding:13px 8px; font-size:0.82rem; line-height:1.25;
    min-height:48px;                       /* patogu nykščiui */
    display:inline-flex; align-items:center; gap:6px;
  }
}

/* --- bendra: daugiau oro ir didesni taikiniai --- */
@media (max-width:640px){
  .rb-wrap{ padding:16px 14px 90px; }

  .rb-app h2{ font-size:1.32rem; }
  .rb-app h3{ font-size:1.06rem; }

  /* laikai po kalendoriumi buvo susilipę */
  .rb-slotcard{ margin-bottom:14px; padding:15px 16px; gap:10px 12px; }
  .rb-side .rb-slotcard{ margin-bottom:14px; padding:14px 15px; gap:8px 10px; }
  .rb-slot-time{ font-size:1.05rem; }
  .rb-slot-price{ font-size:0.95rem; }
  .rb-day-detail{ margin-top:22px; }
  .rb-side .rb-day-detail{ padding:16px 15px; }
  .rb-side .rb-day-head-row{ margin-bottom:16px; }

  .rb-listrow{ margin-bottom:12px; padding:15px 17px; gap:12px; }

  /* mygtukai — pilno pločio ir pakankamai aukšti */
  .rb-app .rb-btn-small{ min-height:46px; padding:12px 20px; }
  .rb-app .rb-btn{ min-height:50px; }

  /* dienos laikų kortelė nebeturi būti sticky — kliudo scrolinti */
  .rb-side{ position:static; gap:20px; }
}

/* --- kalendoriaus langeliai telefone --- */
@media (max-width:640px){
  .rb-app .rb-day{ min-height:54px; padding:6px 2px 5px; gap:4px; }
  .rb-app .rb-day-num{ font-size:0.95rem; }
  .rb-app .rb-day-cash{ top:4px; right:4px; width:7px; height:7px; }
  .rb-month-grid{ gap:4px; }
}

/* --- krepšelis telefone: prilimpa prie apačios --- */
@media (max-width:640px){
  .rb-cart{ margin-top:20px; }
  .rb-cart-item{ padding:12px 14px; }
}

/* --- lentelės telefone --- */
@media (max-width:640px){
  .rb-table-scroll{ -webkit-overflow-scrolling:touch; }
  .rb-acc-table td{ padding:10px 11px; font-size:0.8rem; }
  .rb-acc-block{ padding:16px 15px; margin-bottom:14px; }
  .rb-balance-sum{ padding:14px 16px; }
  .rb-balance-sum strong{ font-size:1.35rem; }
}

/* --- pulto smulkmenos telefone --- */
@media (max-width:640px){
  .rb-person{ flex-wrap:wrap; gap:8px 10px; }
  .rb-person-name{ min-width:0; flex:1 1 auto; }
  .rb-person-due, .rb-person-paid{ order:3; }
  .rb-person-actions{ order:4; margin-left:auto; }
  .rb-day-due{ display:block; margin:8px 0 0; width:max-content; }
  .rb-agroup-due{ font-size:0.7rem; padding:3px 9px; }
}

/* --- modalai telefone: nuo apačios, ne per vidurį --- */
@media (max-width:640px){
  .rb-overlay{ align-items:flex-end; padding:0; }
  .rb-app.rb-modal,
  .rb-app.rb-modal-wide{
    width:100%; max-width:none !important; max-height:92vh; overflow-y:auto;
    border-radius:20px 20px 0 0; padding:22px 18px 26px;
  }
  .rb-modal-actions{ flex-direction:column-reverse; gap:9px; }
  .rb-app .rb-modal-actions button{ width:100%; min-height:48px; justify-content:center; }
}

/* --- pulto filtrai ir juostos telefone --- */
@media (max-width:640px){
  .rb-filters{ gap:12px 16px; }
  .rb-filters input[type="search"]{ flex:1 1 100%; min-width:0; padding:12px 18px; }
  .rb-filters label{ font-size:0.86rem; padding:4px 0; }
  .rb-filters input[type="checkbox"]{ width:18px; height:18px; }

  .rb-monthbar{ gap:8px; margin-bottom:16px; }
  .rb-app .rb-navbtn{ width:42px; height:42px; }

  .rb-range-dates{ flex-wrap:wrap; }
  .rb-app .rb-range-presets button{ padding:9px 15px; }

  .rb-panel{ padding:16px 15px; }
  .rb-table th, .rb-table td{ white-space:nowrap; }
}

/* =====================================================================
   MOKINĖS KORTELĖ — kai paskambina ir klausia
   ===================================================================== */

/* vardas, ant kurio galima paspausti */
.rb-app .rb-linkish{
  background:none; border:none; padding:0; margin:0;
  font-family:inherit; font-size:inherit; color:var(--forest);
  text-align:left; border-bottom:1px dotted var(--sage-line);
  border-radius:0; cursor:pointer;
}
.rb-app .rb-linkish:hover,
.rb-app .rb-linkish:focus{
  background:none; color:var(--sage-dark); border-bottom-color:var(--sage);
}
.rb-app .rb-person-name.rb-linkish{ flex:1 1 auto; min-width:0; }

.rb-modal-wide{ max-width:640px; }

.rb-client-head{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:14px; margin-bottom:18px;
}
.rb-client-head h3{ margin:0; font-size:1.3rem; }

/* kontaktai */
.rb-cfacts{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(170px,1fr));
  gap:10px;
}
.rb-cfact{
  background:var(--sand-soft); border-radius:var(--radius-s); padding:11px 14px;
  display:flex; flex-direction:column; gap:2px; min-width:0;
}
.rb-cfact > span{ font-size:0.7rem; color:var(--ink-soft); }
.rb-cfact strong{ font-size:0.86rem; font-weight:500; word-break:break-word; }
.rb-app .rb-cfact a{ color:var(--forest); text-decoration:underline; }

/* mokinės duomenų taisymas kortelėje */
.rb-cedit-bar{ display:flex; justify-content:flex-end; margin:-6px 0 10px; }
.rb-cedit{
  background:var(--sand-soft); border-radius:var(--radius-s); padding:4px 16px 16px;
}
.rb-cedit label{ margin-top:14px; }
/* laukelis užrašo viduje — be šito jis prigludęs prie teksto */
.rb-cedit label input{ display:block; margin-top:7px; }
.rb-cedit input[type="tel"]{
  width:100%; padding:12px 14px; border:1px solid var(--line);
  border-radius:var(--radius-s); font-size:16px; font-family:inherit; color:var(--ink);
}
.rb-cedit-hint{ font-size:0.76rem; color:var(--ink-soft); margin:10px 0 0; line-height:1.45; }
.rb-cedit .rb-notice{ margin-top:12px; }
.rb-cedit + .rb-cmoney{ margin-top:22px; }

/* skaičiai */
.rb-cmoney{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(130px,1fr));
  gap:10px; margin-bottom:6px;
}
/* jei juostos nėra (pvz. sena registracija be user_id) — tarpas vis tiek lieka */
.rb-cfacts + .rb-cmoney{ margin-top:22px; }
.rb-cbox{
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-s); padding:12px 14px;
  display:flex; flex-direction:column; gap:3px;
}
.rb-cbox > span{ font-size:0.7rem; color:var(--ink-soft); }
.rb-cbox strong{
  font-family:'Playfair Display', Georgia, serif;
  font-size:1.25rem; font-weight:500; line-height:1.1;
}
.rb-cbox small{ font-size:0.66rem; color:var(--ink-soft); line-height:1.35; }
.rb-cbox.due{ border-color:#D8B5AC; background:var(--brick-soft); }
.rb-cbox.due strong{ color:var(--brick); }
.rb-cbox.ok{ border-color:var(--sage-line); background:var(--sage-tint); }
.rb-cbox.ok strong{ color:var(--forest); }

.rb-ch{
  margin:22px 0 9px; font-size:0.96rem; font-weight:500;
  font-family:'Playfair Display', Georgia, serif;
}
.rb-clist{ margin:0; padding-left:18px; font-size:0.84rem; color:var(--ink-soft); }
.rb-due{ color:var(--brick); }

@media (max-width:640px){
  .rb-cmoney{ grid-template-columns:1fr 1fr; }
  .rb-cfacts{ grid-template-columns:1fr; }
  .rb-cbox strong{ font-size:1.1rem; }
}

/* =====================================================================
   ĮSPĖJIMAS PRIEŠ REGISTRACIJĄ (pvz. apie privalomą įvadinę paskaitą)
   ===================================================================== */

.rb-intro-notice{
  display:flex; align-items:flex-start; gap:9px;
  background:var(--ochre-soft); border:1px solid #E4D3B4;
  border-radius:var(--radius-s); padding:12px 14px; margin-bottom:14px;
  font-size:0.8rem; line-height:1.5; color:#6B5227;
}
.rb-intro-notice svg{ width:16px; height:16px; flex-shrink:0; margin-top:1px; }

/* =====================================================================
   PAPILDOMOS PAMOKOS
   ===================================================================== */

/* pavadinimo ženkliukas prie laiko */
.rb-slot-tag{
  display:inline-block; margin-left:8px;
  background:var(--sage-tint); color:var(--forest);
  padding:2px 10px; border-radius:var(--radius-pill);
  font-size:0.7rem; font-weight:500; vertical-align:middle;
}
.rb-listrow-when .rb-slot-tag{ margin:4px 0 0; align-self:flex-start; }

/* --- forma --- */
.rb-spform{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
  gap:12px; margin-bottom:14px;
}
.rb-spform label{
  display:flex; flex-direction:column; gap:5px;
  font-size:0.78rem; color:var(--ink-soft);
}
.rb-spform .rb-f-wide{ grid-column:1 / -1; }
.rb-spform input,
.rb-spform select,
.rb-spform textarea{
  border:1px solid var(--line); border-radius:var(--radius-s);
  padding:10px 13px; font-family:inherit; font-size:0.88rem; color:var(--ink);
  background:var(--white); width:100%;
}
.rb-spform input:focus,
.rb-spform select:focus,
.rb-spform textarea:focus{ border-color:var(--sage); outline:none; }
.rb-spform input:disabled,
.rb-spform select:disabled{ background:var(--sand-soft); color:var(--ink-soft); }
.rb-spform textarea{ resize:vertical; }

.rb-spform-actions{ display:flex; gap:10px; flex-wrap:wrap; }

.rb-inline-check{
  display:inline-flex; align-items:center; gap:7px;
  font-size:0.8rem; color:var(--ink-soft); margin-bottom:12px; cursor:pointer;
}
.rb-inline-check input{ accent-color:var(--sage); }

/* --- sąrašas --- */
.rb-sp-card{
  display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:15px 18px; margin-bottom:10px;
}
.rb-sp-card.closed{ background:var(--sand-soft); opacity:.8; }
.rb-sp-card.past{ opacity:.6; }

.rb-sp-main{ display:flex; flex-direction:column; gap:4px; min-width:0; flex:1 1 auto; }
.rb-sp-title{
  font-family:'Playfair Display', Georgia, serif;
  font-size:1.06rem; font-weight:500;
}
.rb-sp-when{ font-size:0.82rem; color:var(--ink-soft); }
.rb-sp-desc{ font-size:0.75rem; color:var(--ink-soft); line-height:1.5; }
.rb-sp-people{ margin-top:5px; font-size:0.8rem; line-height:1.8; }
.rb-sp-people small{ font-size:0.68rem; }

.rb-sp-side{
  display:flex; flex-direction:column; align-items:flex-end; gap:6px;
  flex-shrink:0; text-align:right;
}
.rb-sp-price{ font-size:0.92rem; font-weight:500; }
.rb-sp-seats{ font-size:0.76rem; color:var(--ink-soft); }
.rb-sp-tools{ display:flex; gap:6px; margin-top:2px; }
.rb-app .rb-sp-tools button{
  width:30px; height:30px; border-radius:50%;
  background:var(--sand); color:var(--ink-soft);
  display:flex; align-items:center; justify-content:center; padding:0;
}
.rb-app .rb-sp-tools button:hover{ background:var(--sage); color:#fff; }
.rb-sp-tools svg{ width:14px; height:14px; }

.rb-ok{ color:var(--sage-dark); }

/* penktas skirtukas telefone nelieka pusinis */
@media (max-width:640px){
  .rb-nav button:last-child:nth-child(odd){ grid-column:1 / -1; }

  .rb-sp-card{ flex-direction:column; gap:12px; }
  .rb-sp-side{ align-items:flex-start; text-align:left; flex-direction:row; flex-wrap:wrap; gap:10px; }
  .rb-sp-tools{ margin-left:auto; }
  .rb-spform{ grid-template-columns:1fr 1fr; }
  .rb-spform .rb-f-wide{ grid-column:1 / -1; }
  .rb-app .rb-spform-actions .rb-btn-small{ flex:1 1 auto; justify-content:center; }
}

/* =====================================================================
   PAPILDOMOS PAMOKOS — kitas atspalvis, kad nesusimaišytų su įprastomis
   ===================================================================== */

/* pavadinimas VIRŠ laiko, per visą kortelės plotį */
.rb-slot-head{
  grid-column:1 / -1;
  display:flex; align-items:center; gap:7px; flex-wrap:wrap;
  padding-bottom:9px; margin-bottom:2px;
  border-bottom:1px solid var(--ochre-line);
  font-size:0.92rem; color:var(--ochre-ink);
}
.rb-slot-head svg{ width:15px; height:15px; flex-shrink:0; }
.rb-slot-head strong{ font-weight:500; }
.rb-slot-head > span{
  background:var(--ochre-soft); color:var(--ochre-ink);
  padding:2px 10px; border-radius:var(--radius-pill);
  font-size:0.66rem; letter-spacing:.02em; text-transform:uppercase;
}

.rb-slotcard.special{
  background:var(--ochre-tint);
  border-color:var(--ochre-line);
}
.rb-slotcard.special.selected{ border-color:var(--ochre); background:#F7EEDD; }

/* sąraše — ta pati logika */
.rb-listrow.special{ background:var(--ochre-tint); border-color:var(--ochre-line); }
.rb-listrow-when .rb-slot-head{
  border:none; padding:0; margin-bottom:3px; font-size:0.78rem;
}

/* =====================================================================
   PAPILDOMŲ PAMOKŲ SKIRTUKAS
   ===================================================================== */

#rb-specials{ margin-top:16px; }

.rb-specials-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:12px;
}
.rb-specialcard{
  display:flex; flex-direction:column; gap:5px;
  background:var(--white); border:1px solid var(--ochre-line);
  border-radius:var(--radius-s); padding:14px 16px;
}
.rb-specialcard.selected{ border-color:var(--ochre); box-shadow:0 0 0 1px var(--ochre); }
.rb-specialcard-title{
  font-family:'Playfair Display', Georgia, serif;
  font-size:1rem; font-weight:500; line-height:1.3;
}
.rb-specialcard-when{ font-size:0.82rem; color:var(--ink); }
.rb-specialcard-desc{ font-size:0.72rem; color:var(--ink-soft); line-height:1.5; }
.rb-specialcard-meta{ font-size:0.74rem; color:var(--ink-soft); margin-bottom:4px; }
.rb-app .rb-specialcard .rb-btn-small{ width:100%; justify-content:center; margin-top:auto; }
.rb-sp-state{
  display:flex; align-items:center; gap:6px; margin-top:auto;
  font-size:0.76rem; color:var(--sage-dark); padding:8px 0;
}
.rb-sp-state svg{ width:14px; height:14px; }

/* =====================================================================
   TARPAI: antraštė ir jos valdikliai vienoje juostoje
   ===================================================================== */

.rb-sectionbar{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; flex-wrap:wrap;
  margin:26px 0 14px;
}
.rb-sectionbar h3{ margin:0; }
.rb-sectionbar .rb-inline-check{ margin:0; }

@media (max-width:600px){
  .rb-sectionbar{ margin:22px 0 12px; gap:8px; }
}

/* =====================================================================
   BENDRA TARPŲ PERŽIŪRA
   ===================================================================== */

/* skiltis nuo skilties */
.rb-app section > .rb-hint:first-child{ margin-bottom:16px; }
.rb-app .rb-panel + .rb-panel{ margin-top:16px; }

/* formos laukai nesulimpa */
.rb-spform{ gap:14px 14px; }
.rb-spform label{ min-width:0; }
.rb-spform-actions{ margin-top:4px; }

/* pulto kortelės kvėpuoja */
.rb-sp-card{ padding:16px 18px; margin-bottom:12px; }
.rb-sp-card:last-child{ margin-bottom:0; }
.rb-sp-main{ gap:5px; }
.rb-sp-people{ margin-top:8px; }

/* sąrašai neprilimpa prie antraštės */
#rb-special-list{ margin-top:2px; }
#rb-idle{ margin-top:4px; }

@media (max-width:640px){
  #rb-specials{ padding:16px 15px; margin-bottom:20px; }
  .rb-specials-grid{ grid-template-columns:1fr; gap:10px; }
  .rb-slot-head{ padding-bottom:8px; }
}

/* Siaurame stulpelyje ir telefone kortelės eilutės nurodytos griežtai
   (.rb-slot-time yra 1 eilutė), todėl papildomos pamokos antraštė be šito
   atsidurtų šalia laiko, o ne virš jo. Pastumiam visus žemyn per vieną. */
.rb-side .rb-slotcard.special .rb-slot-head,
.rb-slotcard.special .rb-slot-head{ grid-row:1; grid-column:1 / -1; }
.rb-side .rb-slotcard.special .rb-slot-time,
.rb-side .rb-slotcard.special .rb-slot-price{ grid-row:2; }
.rb-side .rb-slotcard.special .rb-slot-seats{ grid-row:3; }
.rb-side .rb-slotcard.special .rb-slot-action{ grid-row:4; }

@media (max-width:720px){
  .rb-slotcard.special .rb-slot-time,
  .rb-slotcard.special .rb-slot-price{ grid-row:2; }
  .rb-slotcard.special .rb-slot-seats{ grid-row:3; }
  .rb-slotcard.special .rb-slot-action{ grid-row:4; }
}

/* Telefone juosta neturi nustumti kalendoriaus per pusę ekrano.
   Kortelės virsta kompaktiškomis eilutėmis: pavadinimas ir data kairėje,
   mygtukas dešinėje, aprašymas nerodomas (jis matomas atvertus dieną). */
@media (max-width:640px){
  .rb-specialcard{
    display:grid; grid-template-columns:minmax(0,1fr) auto;
    align-items:center; gap:2px 12px; padding:12px 14px;
  }
  .rb-specialcard-title{ grid-column:1; grid-row:1; font-size:0.94rem; }
  .rb-specialcard-when{ grid-column:1; grid-row:2; font-size:0.78rem; color:var(--ink-soft); }
  .rb-specialcard-meta{ grid-column:1; grid-row:3; margin:0; font-size:0.72rem; }
  .rb-specialcard-desc{ display:none; }

  .rb-app .rb-specialcard .rb-btn-small,
  .rb-specialcard .rb-sp-state{
    grid-column:2; grid-row:1 / span 3;
    width:auto; margin:0; white-space:nowrap; padding:11px 16px;
  }

}

/* =====================================================================
   PULTAS: papildoma pamoka dienos rodinyje
   ===================================================================== */

.rb-agroup.special{ border-color:var(--ochre-line); background:var(--ochre-tint); }
.rb-agroup-special{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  padding:11px 16px; border-bottom:1px solid var(--ochre-line);
  color:var(--ochre-ink); font-size:0.92rem;
}
.rb-agroup-special svg{ width:15px; height:15px; flex-shrink:0; }
.rb-agroup-special strong{ font-weight:500; }
.rb-agroup-special > span{
  background:var(--ochre-soft); padding:2px 10px; border-radius:var(--radius-pill);
  font-size:0.64rem; letter-spacing:.02em; text-transform:uppercase;
}
.rb-agroup-special em{ margin-left:auto; font-style:normal; font-size:0.84rem; }

/* =====================================================================
   TARPAS TARP KALENDORIAUS IR DIENOS LAIKŲ (telefone / planšetėje)

   Iki 900px .rb-layout nebuvo grid'as, todėl dienos laikų kortelė
   prilipdavo tiesiai prie paskutinės kalendoriaus eilutės.
   ===================================================================== */

@media (max-width:899px){
  .rb-layout{ display:grid; grid-template-columns:minmax(0,1fr); gap:26px; }
  .rb-side{ margin-top:0; }
  .rb-app .rb-day-detail{ margin-top:0; }
}

/* =====================================================================
   PRISIJUNGIMAS IR REGISTRACIJA
   ===================================================================== */

.rb-auth-wrap{ max-width:460px; padding-top:40px; padding-bottom:80px; }

.rb-authcard{
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:34px 32px;
}
.rb-auth-title{
  font-family:'Playfair Display', Georgia, serif;
  font-size:1.6rem; font-weight:400; margin:0 0 6px;
}
.rb-auth-sub{ font-size:0.88rem; color:var(--ink-soft); margin:0 0 22px; line-height:1.55; }

.rb-authform{ display:flex; flex-direction:column; gap:16px; }
.rb-authform label{
  display:flex; flex-direction:column; gap:6px;
  font-size:0.8rem; color:var(--ink-soft);
}
.rb-authform input[type="text"],
.rb-authform input[type="email"],
.rb-authform input[type="tel"],
.rb-authform input[type="password"]{
  border:1px solid var(--line); border-radius:var(--radius-s);
  padding:13px 15px; font-family:inherit; font-size:0.95rem; color:var(--ink);
  background:var(--white); width:100%;
}
.rb-authform input:focus{ border-color:var(--sage); outline:none; box-shadow:0 0 0 3px var(--sage-tint); }
.rb-authform small{ font-size:0.72rem; color:var(--ink-soft); }
.rb-app .rb-authform .rb-btn{ margin-top:6px; }

.rb-auth-row{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; flex-wrap:wrap; font-size:0.8rem;
}
.rb-auth-remember{
  flex-direction:row !important; align-items:center; gap:8px !important;
  color:var(--ink) !important; cursor:pointer;
}
.rb-auth-remember input{ accent-color:var(--sage); width:16px; height:16px; }
.rb-app .rb-auth-row a{ color:var(--sage-dark); text-decoration:underline; }

.rb-auth-alt{
  margin:20px 0 0; padding-top:18px; border-top:1px solid var(--line);
  font-size:0.86rem; color:var(--ink-soft); text-align:center;
}
.rb-app .rb-auth-alt a{ color:var(--forest); text-decoration:underline; font-weight:500; }

/* spąstai robotams — žmogus šito nemato */
.rb-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

@media (max-width:480px){
  .rb-auth-wrap{ padding-top:24px; }
  .rb-authcard{ padding:26px 20px; }
  .rb-auth-title{ font-size:1.4rem; }
}

/* Cloudflare Turnstile langelis formose */
.rb-authform .cf-turnstile{ margin:2px 0; }
.rb-authform .cf-turnstile iframe{ max-width:100%; }

/* --- mokėjimo būdas: neaktyvus, kol nėra pirmo mokėjimo kortele --- */
.rb-pay-methods label.disabled{ opacity:.5; cursor:not-allowed; }
.rb-pay-methods label.disabled input{ cursor:not-allowed; }

/* --- išimties perjungiklis mokinės kortelėje --- */
.rb-switchline{
  display:flex; align-items:center; gap:7px; margin-top:5px;
  font-size:0.7rem; color:var(--ink-soft); cursor:pointer;
}
.rb-switchline input{ accent-color:var(--sage); width:15px; height:15px; }

/* Paslėpti skirtukai neturi atsirasti ir plačiame ekrane */
.rb-app .rb-nav button[hidden]{ display:none !important; }

/* Papildomų pamokų skirtukas: kortelės platesnės, nes vietos daugiau */
#rb-ctab-special .rb-specials-grid{
  grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));
}
#rb-ctab-special .rb-layout{ display:block; }
@media (max-width:640px){
  #rb-ctab-special .rb-specials-grid{ grid-template-columns:1fr; }
}

/* =====================================================================
   UŽSAKYMAI: šaltinių juosta
   ===================================================================== */

.rb-srcbar{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }

/* pinigų suvestinė — suskleista, kad pašaliniai nematytų */
.rb-moneybox{
  border:1px solid var(--line); border-radius:var(--radius-m);
  background:var(--white, #fff); margin:0 0 16px;
}
.rb-moneybox > summary{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:13px 16px; cursor:pointer; list-style:none; user-select:none;
}
.rb-moneybox > summary::-webkit-details-marker{ display:none; }
.rb-moneybox > summary::after{
  content:""; width:8px; height:8px; flex:0 0 auto; margin-left:4px;
  border-right:1.6px solid var(--ink-soft); border-bottom:1.6px solid var(--ink-soft);
  transform:rotate(45deg) translateY(-2px); transition:transform .2s;
}
.rb-moneybox[open] > summary::after{ transform:rotate(-135deg) translateY(-2px); }
.rb-moneybox-title{ font-weight:500; font-size:0.9rem; color:var(--ink); }
.rb-moneybox-note{ margin-left:auto; font-size:0.76rem; color:var(--ink-soft); text-align:right; }
.rb-moneybox-body{ padding:2px 16px 4px; border-top:1px solid var(--line); }
.rb-moneybox-body .rb-money3{ margin-top:14px; }
.rb-moneybox-body .rb-srcbar{ margin-top:14px; }
.rb-moneybox[hidden]{ display:none; }

/* sutikimas su privatumo politika prieš apmokėjimą */
.rb-consent{
  display:flex; align-items:flex-start; gap:10px; cursor:pointer;
  margin:16px 0 14px; font-size:0.78rem; line-height:1.5; color:var(--ink-soft);
}
.rb-consent input{ flex:0 0 auto; margin-top:2px; width:16px; height:16px; accent-color:var(--sage); }
.rb-app .rb-consent a{ color:var(--sage-dark); text-decoration:underline; }

/* nuolaidos kodas krepšelyje */
.rb-coupon{ margin:14px 0 4px; }

/* Klausimas, po kuriuo slepiasi laukelis. Sąmoningai neryškus: matomas
   nuolaidos laukas krepšelyje sudaro įspūdį, kad kodą turi visos, tik ne ji. */
.rb-app .rb-coupon-toggle{
  display:inline-flex; align-items:center; gap:7px;
  padding:0; border-radius:0;
  font-size:0.78rem; color:var(--ink-soft);
  text-decoration:underline; text-underline-offset:3px;
  text-decoration-color:var(--sage-line);
  cursor:pointer;
}
.rb-app .rb-coupon-toggle:hover{ background:none; color:var(--forest); }
.rb-coupon-toggle::after{
  content:''; width:6px; height:6px; margin-top:-3px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  transition:transform .15s ease;
}
.rb-coupon-toggle[aria-expanded="true"]::after{ margin-top:2px; transform:rotate(-135deg); }
.rb-coupon-fields{ margin-top:10px; }
.rb-coupon-fields[hidden]{ display:none; }

.rb-coupon > label{ display:block; font-size:0.78rem; color:var(--ink-soft); margin-bottom:6px; }
.rb-coupon-row{ display:flex; gap:8px; }
.rb-coupon-row input{
  flex:1 1 auto; min-width:0; padding:10px 12px; border:1px solid var(--line);
  border-radius:var(--radius-s); font-size:16px; font-family:inherit; color:var(--ink);
  text-transform:uppercase;
}
.rb-coupon-row input::placeholder{ text-transform:none; color:var(--muted); }

/* Telefone klausimas lieka toks pat neryškus, bet taikinys pirštui — ~42 px. */
@media (max-width:640px){
  .rb-app .rb-coupon{ margin:6px 0 0; }
  .rb-app .rb-coupon-toggle{ padding:11px 0; }
  .rb-coupon-fields{ margin-top:2px; }
}
.rb-coupon-row .rb-btn-small{ flex:0 0 auto; }
.rb-coupon-msg{ font-size:0.78rem; margin:8px 0 0; color:var(--ink-soft); }
.rb-coupon-msg.ok{ color:var(--forest, #3F5B44); font-weight:500; }
.rb-coupon-msg.warn{ color:var(--brick, #9A3B2E); }
#rb-phone-modal .rb-phone-hint{ font-size:0.78rem; color:var(--ink-soft); margin:8px 0 0; }
.rb-moneybox-note.warn{ color:var(--brick, #9A3B2E); font-weight:500; }

/* apžvalga: 4 skaičiai be pinigų vienoje eilėje */
.rb-kpis.rb-kpis-4{ grid-template-columns:repeat(4,1fr); }
.rb-kpis.rb-kpis-3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){
  .rb-kpis.rb-kpis-4{ grid-template-columns:repeat(2,1fr); }
  .rb-kpis.rb-kpis-3{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px){
  .rb-kpis.rb-kpis-4{ grid-template-columns:1fr; }
  .rb-kpis.rb-kpis-3{ grid-template-columns:1fr; }
}

/* apžvalgos pinigų bloko vidus */
#rb-dash-moneybox .rb-moneybox-body{ padding:16px; }
#rb-dash-moneybox .rb-kpis{ margin-bottom:6px; }
.rb-moneybox-part{ border-top:1px solid var(--line); padding-top:18px; margin-top:18px; }
.rb-moneybox-part h3{ margin-bottom:12px; }
.rb-app .rb-src{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-pill); padding:8px 18px;
  font-size:0.84rem; color:var(--ink); white-space:nowrap;
}
.rb-app .rb-src span{
  font-size:0.72rem; color:var(--ink-soft);
  padding-left:8px; border-left:1px solid var(--line);
}
.rb-app .rb-src.active span{ border-left-color:rgba(255,255,255,0.3); }
.rb-app .rb-src:hover{ border-color:var(--sage); background:var(--white); color:var(--ink); }
.rb-app .rb-src.active,
.rb-app .rb-src.active:hover{ background:var(--forest); border-color:var(--forest); color:#fff; }
.rb-app .rb-src.active span{ color:rgba(255,255,255,0.75); }

.rb-row-off td{ opacity:.55; }
.rb-due{ color:var(--brick); }

.rb-filters select{
  border:1px solid var(--line); border-radius:var(--radius-pill);
  padding:9px 14px; font-family:inherit; font-size:0.86rem;
  color:var(--ink); background:var(--white);
}
.rb-filters label{ gap:8px; }

@media (max-width:640px){
  .rb-srcbar{ gap:6px; }
  .rb-app .rb-src{ padding:9px 13px; font-size:0.8rem; }
}

/* --- nuoroda į privatumo politiką prie duomenų rinkimo vietų --- */
.rb-legal{
  margin:12px 0 0; font-size:0.72rem; line-height:1.5;
  color:var(--ink-soft); text-align:center;
}
.rb-app .rb-legal a{ color:var(--ink-soft); text-decoration:underline; }
.rb-app .rb-legal a:hover{ color:var(--forest); }

/* --- žema juosta mokinės kortelėje (ilgas tekstas netelpa į kvadratėlį) --- */
.rb-cstrip{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  background:var(--sand-soft); border-radius:var(--radius-s);
  padding:12px 16px; margin:12px 0 22px;
}
.rb-cstrip-label{ font-size:0.74rem; color:var(--ink-soft); }
.rb-pill{
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-pill); padding:4px 13px;
  font-size:0.76rem; color:var(--ink-soft);
}
.rb-pill.ok{ background:var(--sage-tint); border-color:var(--sage-line); color:var(--forest); }
.rb-cstrip .rb-switchline{ margin:0; margin-left:auto; }

@media (max-width:640px){
  .rb-cstrip{ gap:9px; }
  .rb-cstrip .rb-switchline{ margin-left:0; flex-basis:100%; }
}

/* =====================================================================
   VARTAI SVEČIUI — be prisijungimo laisvų laikų nerodom
   ===================================================================== */

.rb-gate{
  max-width:560px; margin:0 auto; text-align:center;
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:40px 34px;
}
.rb-gate-icon{
  width:56px; height:56px; margin:0 auto 18px; border-radius:50%;
  background:var(--sand-soft); color:var(--sage-dark);
  display:flex; align-items:center; justify-content:center;
}
.rb-gate-icon svg{ width:26px; height:26px; }
.rb-gate h2{
  font-family:'Playfair Display', Georgia, serif;
  font-size:1.45rem; font-weight:400; line-height:1.35; margin:0 0 10px;
}
.rb-gate-sub{ font-size:0.92rem; color:var(--ink-soft); line-height:1.6; margin:0 0 26px; }

.rb-gate-new{
  background:var(--sage-tint); border:1px solid var(--sage-line);
  border-radius:var(--radius-m); padding:22px 20px; margin-bottom:16px;
  display:flex; flex-direction:column; gap:6px; align-items:center;
}
.rb-gate-new strong{ font-size:1.02rem; font-weight:500; }
.rb-gate-new span{ font-size:0.84rem; color:var(--ink-soft); line-height:1.55; }
.rb-app .rb-gate-new .rb-btn{ margin-top:10px; width:auto; min-width:230px; }

.rb-gate-old{
  display:flex; align-items:center; justify-content:center; gap:14px;
  flex-wrap:wrap; padding-top:4px;
}
.rb-gate-old span{ font-size:0.88rem; color:var(--ink-soft); }
.rb-app .rb-gate-old .rb-btn{ width:auto; min-width:180px; }

.rb-gate-note{
  margin:24px 0 0; padding-top:18px; border-top:1px solid var(--line);
  font-size:0.78rem; color:var(--ink-soft); line-height:1.55;
}

@media (max-width:600px){
  .rb-gate{ padding:30px 20px; }
  .rb-gate h2{ font-size:1.25rem; }
  .rb-gate-new{ padding:18px 16px; }
  .rb-app .rb-gate-new .rb-btn,
  .rb-app .rb-gate-old .rb-btn{ width:100%; min-width:0; }
  .rb-gate-old{ flex-direction:column; gap:10px; }
}

/* paaiškinimas prie grąžinimo — kad klientė nelauktų pinigų tą pačią dieną */
.rb-hint-inline{
  display:inline-block; color:var(--ochre); font-size:0.7rem; line-height:1.45;
}
.rb-confirm-detail .rb-hint-inline{ display:block; margin-top:6px; font-size:0.76rem; }

/* =====================================================================
   NAVIGACIJA TELEFONE — juosta ekrano apačioje

   Kodėl ne meniu iš šono: kalendorius ir laikai yra PAGRINDINIS darbas,
   o stalčius juos paslėptų už papildomo bakstelėjimo. Apatinė juosta
   visada matoma, pasiekiama nykščiu ir atlaisvina ~150px viršuje.
   ===================================================================== */

/* kompiuteryje ikonų nereikia */
.rb-nav-ico,
.rb-nav-short{ display:none; }

@media (max-width:640px){
  #rb-client-nav,
  #rb-nav{
    position:fixed; left:0; right:0; bottom:0; z-index:900;
    display:flex; gap:0; margin:0; padding:6px 4px;
    padding-bottom:calc(6px + env(safe-area-inset-bottom));
    background:var(--white); border-top:1px solid var(--line);
    box-shadow:0 -2px 14px rgba(36,32,29,0.07);
    border-radius:0;
  }

  .rb-app #rb-client-nav button,
  .rb-app #rb-nav button{
    flex:1 1 0; min-width:0; min-height:52px;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:3px; padding:6px 2px; border:none; border-radius:var(--radius-s);
    background:none; color:var(--ink-soft); position:relative;
  }
  .rb-app #rb-client-nav button:hover,
  .rb-app #rb-client-nav button:focus,
  .rb-app #rb-nav button:hover,
  .rb-app #rb-nav button:focus{ background:none; color:var(--ink-soft); }

  #rb-client-nav .rb-nav-ico,
  #rb-nav .rb-nav-ico{ display:block; }
  #rb-client-nav .rb-nav-ico svg,
  #rb-nav .rb-nav-ico svg{ width:21px; height:21px; display:block; }

  /* telefone rodom trumpą pavadinimą — ilgasis nusikirpdavo daugtaškiu */
  #rb-client-nav .rb-nav-txt,
  #rb-nav .rb-nav-txt{ display:none; }
  #rb-client-nav .rb-nav-short,
  #rb-nav .rb-nav-short{
    display:block; font-size:0.62rem; line-height:1.15; text-align:center;
    max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  }


  /* aktyvus — tik spalva ir pilkas fonas, jokių tamsių piliulių */
  .rb-app #rb-client-nav button.active,
  .rb-app #rb-client-nav button.active:hover,
  .rb-app #rb-client-nav button.active:focus,
  .rb-app #rb-nav button.active,
  .rb-app #rb-nav button.active:hover,
  .rb-app #rb-nav button.active:focus{
    background:var(--sand-soft); color:var(--forest);
  }

  /* skaičiukas — mažas ženkliukas ant ikonos, o ne šalia teksto */
  #rb-client-nav .rb-badge,
  #rb-nav .rb-badge{
    position:absolute; top:2px; left:50%; margin-left:4px;
    min-width:16px; height:16px; padding:0 4px; border-radius:8px;
    font-size:0.58rem; background:var(--forest);
  }

  /* turinys neturi likti po juosta */
  .rb-wrap{ padding-bottom:96px; }
}

/* --- kelias į krepšelį iš papildomų pamokų skilties --- */
.rb-cartbar{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; flex-wrap:wrap;
  background:var(--sage-tint); border:1px solid var(--sage-line);
  border-radius:var(--radius-m); padding:12px 16px; margin-bottom:16px;
  font-size:0.88rem;
}
.rb-cartbar strong{ font-weight:600; }

@media (max-width:640px){
  .rb-cartbar{ gap:10px; }
  .rb-app .rb-cartbar .rb-btn-small{ flex:1 1 auto; justify-content:center; }
}

@media (max-width:640px){
  /* pulte šeši punktai — šriftą ir tarpus mažinam, kad tilptų be slinkimo */
  #rb-nav{ padding-left:2px; padding-right:2px; }
  .rb-app #rb-nav button{ padding:6px 1px; }
  #rb-nav .rb-nav-short{ font-size:0.56rem; }
  #rb-nav .rb-nav-ico svg{ width:19px; height:19px; }

  /* pulte 2x2 tinklelio nebereikia — juosta apačioje */
  .rb-app #rb-nav button:last-child:nth-child(odd){ grid-column:auto; }
}

/* Siauriausi telefonai (320 px): „Registracijos" ir „Papildomos" nusikirsdavo
   daugtaškiu. Truputį mažesnis šriftas — ir telpa visi penki pavadinimai. */
@media (max-width:360px){
  #rb-client-nav{ padding-left:2px; padding-right:2px; }
  .rb-app #rb-client-nav button{ padding:6px 1px; }
  #rb-client-nav .rb-nav-short{ font-size:0.55rem; letter-spacing:-0.01em; }
  #rb-client-nav .rb-nav-ico svg{ width:19px; height:19px; }
}

/* --- kiek gauta ir kiek pasiėmė Stripe --- */
.rb-money3{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(160px,1fr));
  gap:10px; margin-bottom:14px;
}
.rb-money-box{
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:13px 16px;
  display:flex; flex-direction:column; gap:3px;
}
.rb-money-box > span{ font-size:0.72rem; color:var(--ink-soft); }
.rb-money-box strong{
  font-family:'Playfair Display', Georgia, serif;
  font-size:1.3rem; font-weight:500; line-height:1.1;
}
.rb-money-box small{ font-size:0.66rem; color:var(--ink-soft); }
.rb-money-box.fee{ background:var(--ochre-tint); border-color:var(--ochre-line); }
.rb-money-box.fee strong{ color:var(--ochre-ink); }
.rb-money-box.net{ background:var(--sage-tint); border-color:var(--sage-line); }
.rb-money-box.net strong{ color:var(--forest); }

/* --- įspėjimas, kad Stripe veikia testiniu režimu --- */
.rb-testmode{
  background:var(--ochre-soft); border:1px solid var(--ochre-line);
  border-left:4px solid var(--ochre);
  border-radius:var(--radius-s); padding:13px 16px; margin-bottom:16px;
  font-size:0.86rem; line-height:1.55; color:var(--ochre-ink);
}
.rb-testmode strong{ display:block; margin-bottom:2px; }

/* =====================================================================
   LENTELĖS TELEFONE — eilutė virsta kortele

   Devyni stulpeliai telefone netelpa jokiu būdu, o slinkimas į šoną
   nepatogus. Todėl kiekviena eilutė tampa kortele: vardas viršuje,
   po juo „pavadinimas — reikšmė" poros.
   ===================================================================== */

@media (max-width:640px){
  #rb-orders-table,
  #rb-clients-table{
    display:block; background:none; border-radius:0;
  }
  #rb-orders-table thead,
  #rb-clients-table thead{ display:none; }
  #rb-orders-table tbody,
  #rb-clients-table tbody{ display:block; }

  #rb-orders-table tr,
  #rb-clients-table tr{
    display:block; background:var(--white);
    border:1px solid var(--line); border-radius:var(--radius-m);
    padding:13px 15px; margin-bottom:10px;
  }
  #rb-orders-table tr.in-debt,
  #rb-clients-table tr.in-debt{ border-color:#D8B5AC; background:var(--brick-soft); }

  #rb-orders-table td,
  #rb-clients-table td{
    display:flex; align-items:baseline; justify-content:space-between;
    gap:14px; width:auto; padding:5px 0; border:none;
    text-align:right; white-space:normal; font-size:0.82rem;
    flex-wrap:wrap;
  }

  /* `<br><small>` languose flex'e taptų atskiru stulpeliu — nuleidžiam
     paaiškinimą į savo eilutę po reikšme */
  #rb-orders-table td br,
  #rb-clients-table td br{ display:none; }
  #rb-orders-table td small,
  #rb-clients-table td small{
    flex:0 0 100%; display:block; text-align:right; margin-top:2px;
  }
  #rb-orders-table td::before,
  #rb-clients-table td::before{
    content:attr(data-label);
    flex:0 0 auto; text-align:left;
    font-size:0.7rem; color:var(--ink-soft);
  }

  /* vardas — antraštė per visą plotį, be pavadinimo */
  #rb-orders-table td.rb-cell-main,
  #rb-clients-table td.rb-cell-main{
    display:block; text-align:left;
    padding:0 0 8px; margin-bottom:6px;
    border-bottom:1px solid var(--line);
    font-size:0.98rem;
  }
  #rb-orders-table td.rb-cell-main::before,
  #rb-clients-table td.rb-cell-main::before{ content:none; }

  /* tuščias sąrašas — be kortelės rėmelio */
  #rb-orders-table td[colspan],
  #rb-clients-table td[colspan]{ display:block; text-align:center; }
  #rb-orders-table td[colspan]::before,
  #rb-clients-table td[colspan]::before{ content:none; }

  /* šioms lentelėms šoninio slinkimo nebereikia */
  #rb-tab-orders .rb-table-scroll,
  #rb-tab-clients .rb-table-scroll{ overflow:visible; }

  #rb-orders-table .num,
  #rb-clients-table .num{ text-align:right; }
}


/* ------------------------------------------------------------------
   Teisiniai puslapiai (privatumo politika)

   Hello Elementor juos rodo sistemine šriftų grupe ir per visą plotį —
   šalia registracijos atrodo kaip kitos svetainės puslapis. Čia
   atkuriam tą pačią tipografiją, paletę ir kortelę.
------------------------------------------------------------------ */
body.rb-policy-page .page-header{
  max-width:860px;
  margin:0 auto;
  padding:52px 20px 18px;
  text-align:left;
}
body.rb-policy-page .page-header .entry-title{
  margin:0;
  font-family:'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight:500;
  font-size:clamp(1.85rem, 4.2vw, 2.5rem);
  line-height:1.15;
  letter-spacing:-0.01em;
  color:#24201D;
}

.rb-app.rb-policy{
  padding:0 20px 72px;
  background:var(--cream);
  text-align:left;   /* temos kit'as centruoja turinį */
}

.rb-policy-inner{
  max-width:820px;
  margin:0 auto;
  padding:clamp(24px, 5vw, 52px);
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-m);
  box-shadow:0 1px 2px rgba(36,32,29,.04);
}

/* pirmoji pastraipa — „Atnaujinta …" — piliulė, kaip ir mygtukai */
.rb-policy-inner > p:first-child{
  display:inline-block;
  margin:0 0 24px;
  padding:6px 15px;
  border:1px solid var(--sage-line);
  border-radius:var(--radius-pill);
  background:var(--sage-tint);
  font-size:0.76rem;
  color:var(--ink-soft);
}
.rb-policy-inner > p:first-child em{ font-style:normal; }

/* įžanga stambesnė už likusį tekstą */
.rb-policy-inner > p:first-child + p{
  margin-bottom:6px;
  font-size:1.02rem;
  line-height:1.72;
  color:var(--ink);
}

.rb-policy h2{
  margin:36px 0 14px;
  padding-top:24px;
  border-top:1px solid var(--line);
  font-family:'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight:500;
  font-size:1.4rem;
  line-height:1.25;
  color:var(--forest);
}

.rb-policy h3{
  margin:24px 0 9px;
  font-family:'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-weight:500;
  font-size:0.98rem;
  line-height:1.4;
  color:var(--forest);
}

.rb-policy p{
  margin:0 0 15px;
  line-height:1.75;
  color:var(--ink-soft);
}

.rb-policy strong{ color:var(--ink); font-weight:500; }
.rb-policy em{ color:var(--ink-soft); }

.rb-policy ul,
.rb-policy ol{
  margin:0 0 18px;
  padding:0;
  list-style:none;
}
.rb-policy li{
  position:relative;
  margin-bottom:9px;
  padding-left:22px;
  line-height:1.7;
  color:var(--ink-soft);
}
.rb-policy li::before{
  content:'';
  position:absolute;
  left:5px;
  top:11px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--sage-line);
}
.rb-policy li:last-child{ margin-bottom:0; }

.rb-app.rb-policy a{
  color:var(--sage-dark);
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-thickness:1px;
}
.rb-app.rb-policy a:hover{ color:var(--forest); }

/* dokumento (PDF) mygtukas */
.rb-app.rb-policy a.rb-doc{
  display:inline-flex; align-items:center; gap:9px;
  margin:2px 0 18px; padding:12px 24px;
  border-radius:var(--radius-pill);
  background:var(--sage); color:#fff;
  font-size:0.9rem; text-decoration:none;
}
.rb-app.rb-policy a.rb-doc:hover{ background:var(--sage-dark); color:#fff; }

/* siuvimo reikmenų nuotraukos */
.rb-tools{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:14px; margin:18px 0 22px;
}
.rb-tools figure{ margin:0; text-align:center; }
.rb-tools img{
  display:block; width:100%; height:132px;
  object-fit:contain; padding:10px;
  background:var(--sand-soft);
  border:1px solid var(--line);
  border-radius:var(--radius-s);
}
.rb-tools figcaption{ margin-top:7px; font-size:0.74rem; color:var(--ink-soft); }

@media (max-width:600px){
  body.rb-policy-page .page-header{ padding:32px 16px 14px; }
  .rb-app.rb-policy{ padding:0 16px 48px; }
  .rb-tools{ grid-template-columns:repeat(2,1fr); gap:10px; }
  .rb-tools img{ height:108px; padding:8px; }
}


/* ------------------------------------------------------------------
   Mokinių paieška laukeliuose (pulte)
------------------------------------------------------------------ */
.rb-ac-wrap{ position:relative; display:block; }

.rb-ac{
  position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:60;
  max-height:264px; overflow-y:auto;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-s);
  box-shadow:0 10px 26px rgba(36,32,29,.14);
}
.rb-ac[hidden]{ display:none; }

.rb-app .rb-ac-item{
  display:block; width:100%; padding:9px 13px;
  border:none; border-bottom:1px solid var(--sand-soft); border-radius:0;
  background:none; text-align:left; cursor:pointer;
}
.rb-app .rb-ac-item:last-child{ border-bottom:none; }
.rb-app .rb-ac-item:hover,
.rb-app .rb-ac-item.on{ background:var(--sage-tint); color:inherit; }

/* ilgi el. paštai ir pavardės netelpa į siaurą sąrašą — trumpinam taškeliais,
   kad eilutė liktų viena ir pasirinkimas būtų greitas */
.rb-ac-name,
.rb-ac-meta,
.rb-ac-hist{
  display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.rb-ac-name{ font-size:0.88rem; color:var(--ink); }
.rb-ac-name em{ font-style:normal; font-size:0.74rem; color:var(--ochre-ink); }
.rb-ac-meta{ font-size:0.74rem; color:var(--ink-soft); margin-top:1px; }
.rb-ac-hist{ font-size:0.72rem; color:var(--muted); margin-top:1px; }

/* pasirinkta esama klientė */
.rb-ac-picked{
  display:flex; align-items:center; gap:8px;
  margin:8px 0 0; padding:8px 12px;
  background:var(--sage-tint); border:1px solid var(--sage-line);
  border-radius:var(--radius-s);
  font-size:0.76rem; color:var(--sage-dark);
}
.rb-ac-picked[hidden]{ display:none; }
.rb-ac-picked span{ flex:1; min-width:0; overflow-wrap:anywhere; }
.rb-ac-picked svg{ width:13px; height:13px; vertical-align:-2px; }
.rb-app .rb-ac-picked button{
  flex:0 0 auto; width:22px; height:22px; padding:0;
  font-size:1rem; line-height:1; color:var(--ink-soft);
}
.rb-app .rb-ac-picked button:hover{ background:var(--sand); color:var(--ink); }

/* įspėjimas apie galimą dublikatą */
.rb-ac-warn{
  margin:12px 0 0; padding:12px 14px;
  background:var(--ochre-tint); border:1px solid var(--ochre-line);
  border-radius:var(--radius-s);
}
.rb-ac-warn[hidden]{ display:none; }
.rb-ac-warn p{
  margin:0 0 10px; font-size:0.8rem; line-height:1.5; color:var(--ochre-ink);
  overflow-wrap:anywhere;
}
.rb-ac-warn-actions{ display:flex; gap:8px; flex-wrap:wrap; }
.rb-app .rb-ac-warn button{
  padding:8px 16px; border-radius:var(--radius-pill); font-size:0.78rem;
}
.rb-app .rb-ac-warn button.yes{ background:var(--sage); color:#fff; }
.rb-app .rb-ac-warn button.yes:hover{ background:var(--sage-dark); color:#fff; }
.rb-app .rb-ac-warn button.no{ background:var(--white); border:1px solid var(--line); color:var(--ink); }
.rb-app .rb-ac-warn button.no:hover{ background:var(--sand-soft); color:var(--ink); }

@media (max-width:640px){
  .rb-ac{ max-height:210px; }
  .rb-app .rb-ac-item{ padding:11px 13px; }
}

/* ================= laukiančiųjų eilė (pultas) ================= */
.rb-queue-sum{ font-size:0.86rem; color:var(--ink-soft); margin:0 0 14px; }
.rb-queue-sum strong{ color:var(--forest); }

.rb-qgroup{
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:14px 18px; margin-bottom:10px;
}
.rb-qgroup.special{ border-color:var(--ochre-soft); }

.rb-qhead{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
  padding-bottom:9px; margin-bottom:4px; border-bottom:1px solid var(--line);
}
.rb-qhead strong{ font-size:0.95rem; }
.rb-qcount{ font-size:0.74rem; color:var(--ink-soft); }
.rb-qtools{ margin-left:auto; display:flex; align-items:center; gap:8px; }

.rb-qtag{
  background:var(--sand); color:var(--ink-soft);
  padding:2px 10px; border-radius:var(--radius-pill); font-size:0.74rem;
  display:inline-flex; align-items:center; gap:5px;
}
.rb-qtag svg{ width:13px; height:13px; }
.rb-qtag.free{ background:var(--sage-tint); color:var(--sage-dark); font-weight:600; }
.rb-qtag.closed,
.rb-qtag.special{ background:var(--ochre-soft); color:var(--ochre); }

.rb-qperson{
  display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px;
  padding:9px 0; font-size:0.86rem; border-bottom:1px dashed var(--line);
}
.rb-qperson:last-child{ border-bottom:none; padding-bottom:0; }
.rb-qperson .rb-person-name{ flex:0 1 auto; min-width:0; }
.rb-qmeta{
  flex:1 1 100%; order:3;
  font-size:0.74rem; color:var(--ink-soft);
}
.rb-qactions{ margin-left:auto; display:flex; gap:4px; }
.rb-app .rb-qactions button{
  width:30px; height:30px; padding:0; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:var(--sand-soft); color:var(--ink-soft);
}
.rb-app .rb-qactions button svg{ width:14px; height:14px; }
.rb-app .rb-qactions button:hover{ background:var(--brick-soft); color:var(--brick); }

@media (max-width:520px){
  .rb-qgroup{ padding:13px 14px; }
  /* Telefone „Pranešti eilei" nebeturi kur tilpti antraštės gale — nuleidžiam. */
  .rb-qtools{ flex:1 1 100%; margin-left:0; }
  .rb-app .rb-qtools .rb-btn-small{ width:100%; justify-content:center; }
  .rb-qperson .rb-person-tel{ flex:1 1 auto; text-align:right; }
  /* Siauriau ✕ nebetilpdavo šalia ilgo vardo su telefonu ir nukrisdavo į
     tuščią eilutę. Pritvirtinam jį kampe — tekstas teka likusiame plotyje. */
  .rb-qperson{ position:relative; padding-right:38px; }
  .rb-app .rb-qactions{ position:absolute; top:6px; right:0; margin:0; }
}

/* Pilna grupė neprisijungusiai: ne siena, o kvietimas prisijungti. */
.rb-app a.rb-slot-join{
  color:var(--sage-dark); text-decoration:underline;
  text-underline-offset:3px; justify-content:flex-end;
}
.rb-app a.rb-slot-join:hover{ color:var(--forest); }
@media (max-width:620px){
  .rb-app a.rb-slot-join{ justify-content:flex-start; text-align:left; }
}

/* Tvarkaraštyje: ši mokinė jau laukia šios pamokos eilėje. */
.rb-app .rb-slot-state.waiting{ color:var(--sage-dark); font-weight:500; }
.rb-app .rb-slot-action .rb-linkbtn{ margin-left:0; }

/* ================= studijos pastabos apie mokinę ================= */
.rb-cnotes{
  background:var(--sand-soft); border:1px solid var(--line);
  border-radius:var(--radius-m); padding:14px 16px; margin:14px 0 18px;
}
.rb-cnotes.filled{ background:var(--ochre-soft); border-color:var(--ochre-soft); }

.rb-cnotes-head{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:9px; }
.rb-app .rb-cnotes-head .rb-ch{ margin:0; }
.rb-cnotes-who{
  display:inline-flex; align-items:center; gap:5px; margin-left:auto;
  font-size:0.72rem; color:var(--ink-soft);
}
.rb-cnotes-who svg{ width:13px; height:13px; }

.rb-app .rb-cnotes textarea{
  width:100%; box-sizing:border-box; resize:vertical; min-height:70px;
  padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius-s);
  background:var(--white); color:var(--ink);
  font-family:inherit; font-size:0.86rem; line-height:1.5;
}
.rb-app .rb-cnotes textarea:focus{ outline:none; border-color:var(--sage); }

.rb-cnotes-foot{ display:flex; align-items:center; gap:10px; margin-top:9px; }
.rb-cnotes-state{ font-size:0.74rem; color:var(--ink-soft); }
.rb-cnotes-state.ok{ color:var(--sage-dark); font-weight:600; }
.rb-cnotes-state.bad{ color:var(--brick); }
.rb-app .rb-cnotes-foot .rb-btn-small{ margin-left:auto; }

@media (max-width:520px){
  .rb-cnotes{ padding:13px 14px; }
  .rb-cnotes-who{ margin-left:0; flex:1 1 100%; }
  .rb-app .rb-cnotes-foot .rb-btn-small{ width:100%; justify-content:center; }
  .rb-cnotes-foot{ flex-wrap:wrap; }
}

/* Mokesčio priežastis šalia vardo — kad vėliau nebūtų nesusipratimų. */
.rb-fee-why{
  display:block; margin-top:2px;
  font-size:0.72rem; font-weight:400; color:var(--ink-soft);
}

/* Būsimos pamokos po pamokų skaičiumi klienčių sąraše. */
.rb-next{
  display:block; margin-top:3px;
  font-size:0.72rem; font-weight:400; color:var(--sage-dark);
  white-space:nowrap;
}
.rb-next.none{ color:var(--ink-soft); font-style:italic; }
.rb-next-more{ color:var(--ink-soft); }
