.ubp1-admin .ubp1-card,.ubp1-front .ubp1-card{background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:18px;margin:16px 0;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.ubp1-two{display:grid;grid-template-columns:360px 1fr;gap:18px;align-items:start}.ubp1-two .wide{overflow:auto}.ubp1-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.ubp1-kpis{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin:20px 0}.ubp1-kpis>div{background:#fff;border:1px solid #ddd;border-radius:12px;padding:18px}.ubp1-kpis strong{font-size:28px;display:block}.ubp1-kpis span{color:#555}.ubp1-badge{display:inline-block;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;background:#eef}.ubp1-badge.open{background:#d9f7df;color:#135e1f}.ubp1-badge.few{background:#fff3cd;color:#7a5200}.ubp1-badge.waitlist,.ubp1-badge.full{background:#ffe1e1;color:#8a1f1f}.ubp1-badge.cancelled{background:#e5e5e5;color:#555}.ubp1-inline{display:flex;gap:6px;align-items:center}.ubp1-front{max-width:1100px;margin:0 auto}.ubp1-front input,.ubp1-front select,.ubp1-front textarea{width:100%;max-width:560px;padding:10px;border:1px solid #ddd;border-radius:8px}.ubp1-button{display:inline-block;background:#0f172a;color:#fff!important;border:0;border-radius:999px;padding:10px 18px;text-decoration:none;cursor:pointer;margin-top:8px}.ubp1-button.secondary{background:#6b7280}.ubp1-button.small{font-size:13px;padding:7px 12px}.ubp1-list{display:grid;gap:12px}.ubp1-session{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px}.ubp1-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.ubp1-notice{background:#fff7d6;border:1px solid #facc15;border-radius:10px;padding:12px;margin:12px 0}@media(max-width:800px){.ubp1-two{grid-template-columns:1fr}.ubp1-session{display:block}.ubp1-kpis{grid-template-columns:1fr}}


/* v0.2.1 admin settings layout fix */
.ubp1-admin .ubp1-card h2{margin-top:28px;padding-top:10px;border-top:1px solid #e5e7eb}
.ubp1-admin .ubp1-card h2:first-of-type{margin-top:0;border-top:0;padding-top:0}
.ubp1-admin .ubp1-card p{margin:14px 0 18px}
.ubp1-admin .ubp1-card p>label{display:inline-block;vertical-align:top;min-width:260px;margin:0 22px 14px 0;font-weight:600;color:#1d2327}
.ubp1-admin .ubp1-card p>label input:not([type="checkbox"]),
.ubp1-admin .ubp1-card p>label select,
.ubp1-admin .ubp1-card p>label textarea{display:block;width:100%;max-width:440px;margin-top:6px;padding:8px 10px;border-radius:8px;border:1px solid #8c8f94;font-weight:400}
.ubp1-admin .ubp1-card p>label input.large-text{max-width:720px}
.ubp1-admin .ubp1-card input[type="checkbox"]{width:22px;height:22px;margin:0 10px 0 0;vertical-align:middle}
.ubp1-admin .ubp1-card p>label:has(input[type="checkbox"]){display:flex;align-items:center;min-width:0;font-size:16px;font-weight:500}
.ubp1-admin .ubp1-helper{background:#eef6ff;border-left:4px solid #2271b1;padding:12px 14px;margin:12px 0;border-radius:8px}


/* v0.2.3 frontend page spacing + form polish */
.ubp1-front,
.entry-content .ubp1-front,
.elementor-widget-container .ubp1-front{
  width:100%;
  max-width:1120px;
  margin:clamp(28px,5vw,64px) auto;
  padding:0 clamp(18px,3vw,28px);
  box-sizing:border-box;
}
.ubp1-front *, .ubp1-admin *{box-sizing:border-box}
.ubp1-front h2{
  font-size:clamp(36px,4.4vw,62px)!important;
  line-height:1.05!important;
  letter-spacing:-.035em;
  margin:0 0 28px!important;
  font-weight:700!important;
  color:#242424;
}
.ubp1-front h3{
  font-size:clamp(24px,2.8vw,38px)!important;
  line-height:1.12!important;
  letter-spacing:-.025em;
  margin:0 0 22px!important;
  font-weight:700!important;
  color:#242424;
}
.ubp1-front .ubp1-card{
  padding:clamp(22px,3vw,34px)!important;
  margin:22px 0!important;
  border:1px solid #e1e1e1!important;
  border-radius:18px!important;
  box-shadow:0 8px 26px rgba(15,23,42,.05)!important;
}
.ubp1-register .ubp1-notice{max-width:100%;margin:0 0 18px!important}
.ubp1-register form{width:100%}
.ubp1-register .ubp1-card p{margin:0 0 18px!important;max-width:760px}
.ubp1-front label{font-size:16px;line-height:1.35;color:#242424;font-weight:500}
.ubp1-front input:not([type="checkbox"]),
.ubp1-front select,
.ubp1-front textarea{
  width:100%!important;
  max-width:760px!important;
  min-height:52px;
  padding:12px 16px!important;
  margin-top:8px;
  border:1px solid #d9d9d9!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#1f2937!important;
  font-size:16px!important;
  line-height:1.35!important;
  box-shadow:none!important;
}
.ubp1-front textarea{min-height:120px;resize:vertical}
.ubp1-front input[type="checkbox"]{width:22px!important;height:22px!important;margin:0 10px 0 0!important;vertical-align:middle;accent-color:#ff5a5f}
.ubp1-front select{appearance:auto;background:#fff!important}
.ubp1-button{
  background:#ff5a5f!important;
  color:#fff!important;
  border:0!important;
  border-radius:999px!important;
  padding:14px 28px!important;
  font-size:16px!important;
  font-weight:700!important;
  text-transform:uppercase;
  letter-spacing:.02em;
  box-shadow:none!important;
}
.ubp1-button:hover{filter:brightness(.96)}
.ubp1-button.secondary{background:#374151!important}
.ubp1-button.small{padding:10px 18px!important;font-size:14px!important}
.ubp1-grid{gap:22px!important}
.ubp1-session{padding:20px!important;border-radius:18px!important}
@media (min-width:900px){
  .ubp1-register .ubp1-card:nth-of-type(2) p,
  .ubp1-register .ubp1-card:nth-of-type(4) p{
    display:inline-block;
    width:calc(50% - 12px);
    margin-right:18px!important;
    vertical-align:top;
  }
  .ubp1-register .ubp1-card:nth-of-type(2) p:nth-child(even),
  .ubp1-register .ubp1-card:nth-of-type(4) p:nth-child(even){margin-right:0!important}
}
@media (max-width:767px){
  .ubp1-front{margin:28px auto;padding:0 16px}
  .ubp1-front .ubp1-card{padding:20px!important;border-radius:14px!important}
  .ubp1-front h2{font-size:34px!important}
  .ubp1-front h3{font-size:26px!important}
  .ubp1-front input:not([type="checkbox"]), .ubp1-front select, .ubp1-front textarea{max-width:100%!important}
}

.ubp1-help{font-size:15px!important;color:#6b7280!important;margin:-8px 0 18px!important}
.ubp1-session-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.ubp1-session-actions form{margin:0!important}
.ubp1-session-bookable{align-items:center!important}
@media (max-width:767px){
  .ubp1-session-actions{justify-content:flex-start;width:100%;margin-top:12px}
  .ubp1-session{display:block!important}
}
