.jt-ubc-wrap{font-family:inherit;color:#17211b;min-width:0}.jt-ubc-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.jt-ubc-head h2{margin:0 0 4px;font-size:28px;line-height:1.2}.jt-ubc-head p{margin:0;color:#65736b}.jt-ubc-month-nav{display:grid;grid-template-columns:auto minmax(120px,auto) auto;align-items:center;gap:12px;background:#fff;border:1px solid #dfe7e2;border-radius:14px;padding:7px}.jt-ubc-month-nav a{display:flex;align-items:center;gap:6px;min-height:38px;padding:0 10px;border-radius:9px;text-decoration:none;color:#173d2d;font-weight:700}.jt-ubc-month-nav a:hover{background:#f0f7f3}.jt-ubc-month-nav strong{text-align:center;white-space:nowrap}.jt-ubc-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.jt-ubc-filters select,.jt-ubc-filters input,.jt-ubc-reset{min-height:42px;max-width:100%;border:1px solid #d9e2dc;border-radius:10px;background:#fff;padding:9px 12px}.jt-ubc-reset{text-decoration:none;color:#0d6849;display:inline-flex;align-items:center;font-weight:700}.jt-ubc-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.jt-ubc-stats>div{min-width:0;background:#fff;border:1px solid #dfe8e2;border-radius:14px;padding:15px}.jt-ubc-stats strong{display:block;font-size:23px;line-height:1.15}.jt-ubc-stats span{display:block;margin-top:5px;font-size:12px;line-height:1.3;color:#68766e}.jt-ubc-calendar-shell{width:100%;min-width:0;overflow:hidden;background:#fff;border:1px solid #dfe8e2;border-radius:16px}.jt-ubc-calendar{display:grid;width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))}.jt-ubc-weekday{min-width:0;padding:11px 5px;text-align:center;font-weight:800;background:#f5f8f6;border-bottom:1px solid #e2e9e5}.jt-ubc-day{position:relative;min-width:0;min-height:128px;border-right:1px solid #edf1ee;border-bottom:1px solid #edf1ee;padding:8px;background:#fff;overflow:hidden}.jt-ubc-day:nth-child(7n){border-right:0}.jt-ubc-day.today{background:#f2fbf7;box-shadow:inset 0 0 0 2px #0f7654}.jt-ubc-day.today .jt-ubc-daynum{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:27px;border-radius:50%;background:#0f7654;color:#fff}.jt-ubc-day.blank{background:#fafcfb}.jt-ubc-daynum{font-weight:800}.jt-ubc-events{display:grid;gap:5px;margin-top:7px;min-width:0}.jt-ubc-event{position:relative;display:grid;gap:1px;width:100%;min-width:0;border:0;border-left:4px solid currentColor;border-radius:7px;padding:6px 7px;text-align:left;cursor:pointer;overflow:hidden}.jt-ubc-event-property,.jt-ubc-event-status{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jt-ubc-event-property{font-size:11px;font-weight:800}.jt-ubc-event-status{font-size:10px;opacity:.82}.jt-ubc-event.confirmed{background:#dff5e9;color:#075c3d}.jt-ubc-event.checked-in{background:#ccefe0;color:#004d38;font-weight:800}.jt-ubc-event.pending{background:#fff1c7;color:#7a5200}.jt-ubc-event.cancelled{background:#eef0f1;color:#687077}.jt-ubc-event.cancelled .jt-ubc-event-property{text-decoration:line-through}.jt-ubc-event.blocked{background:#ffe0df;color:#9a2520}.jt-ubc-more{font-size:11px;color:#68766e}.jt-ubc-bottom-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px}.jt-ubc-card{min-width:0;background:#fff;border:1px solid #dfe8e2;border-radius:16px;padding:18px}.jt-ubc-card h3{margin:0 0 15px}.jt-ubc-block-form{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(145px,.85fr) minmax(145px,.85fr) minmax(220px,1.5fr) auto;gap:12px;align-items:end}.jt-ubc-field{display:grid;gap:6px;min-width:0}.jt-ubc-field>span{font-size:12px;font-weight:800;color:#4e6056}.jt-ubc-date-row{display:contents}.jt-ubc-block-form input,.jt-ubc-block-form select{width:100%;min-width:0;min-height:43px;border:1px solid #d9e2dc;border-radius:9px;padding:10px;background:#fff}.jt-ubc-block-form button{justify-self:stretch;min-height:43px;white-space:nowrap;background:#ec3658;color:#fff;border:0;border-radius:9px;padding:11px 18px;font-weight:800;cursor:pointer}.jt-ubc-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 28px;width:100%;padding:4px 8px 0}.jt-ubc-legend span{display:flex;align-items:center;gap:8px}.jt-ubc-legend i{width:13px;height:13px;border-radius:4px}.jt-ubc-legend i.confirmed{background:#7bd9a6}.jt-ubc-legend i.checked-in{background:#218c68}.jt-ubc-legend i.pending{background:#f4c95e}.jt-ubc-legend i.cancelled{background:#bfc5c9}.jt-ubc-legend i.blocked{background:#ef7770}.jt-ubc-notice{padding:11px 14px;border-radius:10px;margin-bottom:14px}.jt-ubc-notice.success{background:#e3f6eb;color:#075c3d}.jt-ubc-notice.error{background:#ffe4e2;color:#921c18}.jt-ubc-empty{padding:30px;background:#fff;border:1px dashed #cdd8d1;border-radius:14px;text-align:center}.jt-ubc-modal{position:fixed;inset:0;background:rgba(10,20,15,.58);z-index:99999;display:none;align-items:center;justify-content:center;padding:18px}.jt-ubc-modal-card{position:relative;width:min(620px,100%);max-height:85vh;overflow:auto;background:#fff;border-radius:18px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.jt-ubc-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:30px;cursor:pointer}.jt-ubc-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.jt-ubc-detail-grid p{margin:0;padding:11px;background:#f7faf8;border-radius:10px}
@media(max-width:1100px){.jt-ubc-stats{grid-template-columns:repeat(3,1fr)}.jt-ubc-day{min-height:112px;padding:6px}.jt-ubc-event{padding:5px}.jt-ubc-event-property{font-size:10px}}
@media(max-width:760px){.jt-ubc-head{align-items:flex-start;flex-direction:column}.jt-ubc-month-nav{width:100%;grid-template-columns:1fr auto 1fr}.jt-ubc-month-nav a:last-child{justify-content:flex-end}.jt-ubc-filters>*{flex:1 1 calc(50% - 5px)}.jt-ubc-stats{grid-template-columns:repeat(2,1fr)}.jt-ubc-bottom-grid{grid-template-columns:1fr}.jt-ubc-day{min-height:86px;padding:4px}.jt-ubc-weekday{padding:8px 2px;font-size:11px}.jt-ubc-daynum{font-size:11px}.jt-ubc-event{border-left-width:3px;padding:4px}.jt-ubc-event-property{font-size:9px}.jt-ubc-event-status{display:none}}
@media(max-width:520px){.jt-ubc-head h2{font-size:24px}.jt-ubc-month-nav a span{display:none}.jt-ubc-filters>*{flex-basis:100%;width:100%}.jt-ubc-stats{gap:8px}.jt-ubc-stats>div{padding:12px}.jt-ubc-calendar-shell{border-radius:12px}.jt-ubc-day{min-height:62px;padding:3px}.jt-ubc-day.today .jt-ubc-daynum{min-width:21px;height:21px}.jt-ubc-events{gap:2px;margin-top:3px}.jt-ubc-event{height:8px;min-height:8px;padding:0;border:0;border-radius:4px;font-size:0}.jt-ubc-event-property,.jt-ubc-event-status{display:none}.jt-ubc-event.confirmed{background:#35a66f}.jt-ubc-event.checked-in{background:#087a55}.jt-ubc-event.pending{background:#e5ad20}.jt-ubc-event.cancelled{background:#aeb5b9}.jt-ubc-event.blocked{background:#df554e}.jt-ubc-more{font-size:8px}.jt-ubc-block-form{grid-template-columns:1fr}.jt-ubc-field-property,.jt-ubc-field-reason,.jt-ubc-block-form button{grid-column:auto}.jt-ubc-block-form button{width:100%}.jt-ubc-legend{justify-content:space-between;gap:10px 14px}.jt-ubc-detail-grid{grid-template-columns:1fr}.jt-ubc-modal-card{padding:22px 16px}}


/* v1.5.3 – block form containment and reversible blocked dates */
.jt-ubc-block-card{overflow:hidden}
.jt-ubc-block-form{width:100%;min-width:0;grid-template-columns:minmax(0,1.15fr) minmax(0,.82fr) minmax(0,.82fr) minmax(0,1.35fr) minmax(105px,.72fr)}
.jt-ubc-block-form *{box-sizing:border-box;min-width:0}
.jt-ubc-block-form button{width:100%;padding-left:10px;padding-right:10px;overflow:hidden;text-overflow:ellipsis}
.jt-ubc-block-detail{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-top:14px}
.jt-ubc-block-detail p{margin:0;padding:12px;background:#f7faf8;border-radius:10px}
.jt-ubc-unblock-form{margin-top:18px;padding-top:16px;border-top:1px solid #e6ece8}
.jt-ubc-remove-block{border:0;border-radius:9px;background:#d9343f;color:#fff;padding:11px 17px;font-weight:800;cursor:pointer}
.jt-ubc-remove-block:hover{background:#b92530}
@media(max-width:1100px){
  .jt-ubc-block-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jt-ubc-field-property,.jt-ubc-field-reason{grid-column:auto}
  .jt-ubc-block-form button{grid-column:1/-1;width:auto;justify-self:start;min-width:140px}
}
@media(max-width:620px){
  .jt-ubc-block-form{grid-template-columns:1fr}
  .jt-ubc-block-form button{grid-column:auto;width:100%}
  .jt-ubc-block-detail{grid-template-columns:1fr}
}
