
.uctb-wrap{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;--uctb-dark:#07152f;--uctb-dark-hover:#0b2250;--uctb-line:rgba(255,255,255,.08);--uctb-text:#dbe8ff;--uctb-muted:#8fa8d6}
.uctb-toolbar{display:none}
.uctb-filter{display:flex;flex-direction:column;gap:8px}
.uctb-filter label{font-size:14px;font-weight:600;color:#344054}
.uctb-filter-input{height:46px;border:1px solid #d5dceb;border-radius:14px;padding:0 14px;background:#fff;color:#101828;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--uctb-dark,#0b1f5e) 50%),linear-gradient(135deg,var(--uctb-dark,#0b1f5e) 50%,transparent 50%);background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:34px}
.uctb-table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(70,116,189,.24);border-radius:12px;background:linear-gradient(180deg,#071c41 0%,#06132d 100%);box-shadow:0 18px 45px rgba(5,18,43,.16)}
.uctb-table{width:100%;border-collapse:separate;border-spacing:0;min-width:920px;color:var(--uctb-text)}
.uctb-table th,.uctb-table td{padding:14px 18px;border-bottom:1px solid var(--uctb-line);text-align:left;vertical-align:middle;border-right:1px solid rgba(255,255,255,.05)}
.uctb-table th:last-child,.uctb-table td:last-child{border-right:0}
.uctb-table tr:last-child td{border-bottom:0}
.uctb-table th{font-size:12px;letter-spacing:.01em;color:#e8f1ff;background:linear-gradient(180deg,#0b3a7a 0%,#082c62 100%);white-space:nowrap;font-weight:700}
.uctb-table th:first-child{border-top-left-radius:10px}
.uctb-table th:last-child{border-top-right-radius:10px}
.uctb-table td{font-size:13px;color:var(--uctb-text);background:rgba(4,17,40,.55)}
.uctb-table tbody tr{transition:background .2s ease,transform .2s ease}
.uctb-table tbody tr:hover td{background:rgba(10,35,78,.72)}
.uctb-table th:nth-child(1),.uctb-table td:nth-child(1){min-width:190px}
.uctb-table th:nth-child(2),.uctb-table td:nth-child(2){min-width:270px}
.uctb-table th:nth-child(3),.uctb-table td:nth-child(3){min-width:170px}
.uctb-table th:nth-child(4),.uctb-table td:nth-child(4){min-width:110px}
.uctb-table th:nth-child(5),.uctb-table td:nth-child(5){min-width:110px}
.uctb-table th:nth-child(6),.uctb-table td:nth-child(6){min-width:120px}
.uctb-date-cell{display:flex;align-items:center;gap:10px;white-space:nowrap;color:#d7e7ff!important}
.uctb-date-icon{width:22px;height:22px;border-radius:6px;background:rgba(17,76,156,.6);border:1px solid rgba(92,147,236,.32);position:relative;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.uctb-date-icon:before{content:"";position:absolute;left:5px;right:5px;top:7px;height:2px;background:#dbe9ff;border-radius:2px;box-shadow:0 5px 0 rgba(219,233,255,.85)}
.uctb-date-icon:after{content:"";position:absolute;left:6px;right:6px;top:4px;height:2px;background:#7fb1ff;border-radius:2px}
.uctb-link{background:none;border:none;color:#e8f1ff;font-weight:600;padding:0;cursor:pointer;text-align:left;transition:color .2s ease;text-decoration:none;line-height:1.4}
.uctb-link:hover,.uctb-link:focus{color:#7fb1ff;text-decoration:none;outline:none}
.uctb-format-badge,.uctb-seat-badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:4px 9px;border-radius:6px;font-size:11px;font-weight:700;line-height:1;white-space:nowrap;border:1px solid transparent}
.uctb-format-in-person{color:#47e49b;background:rgba(16,185,129,.14);border-color:rgba(16,185,129,.24)}
.uctb-format-online{color:#65a8ff;background:rgba(37,99,235,.15);border-color:rgba(59,130,246,.28)}
.uctb-seat-open{color:#4ade80;background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.28)}
.uctb-seat-full{color:#f87171;background:rgba(239,68,68,.15);border-color:rgba(239,68,68,.3)}
.uctb-reserve-btn{height:32px;padding:0 15px;border-radius:5px;border:1px solid rgba(76,129,255,.55);background:linear-gradient(180deg,var(--uctb-primary,#2255ff),#1743df);color:#fff;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px rgba(34,85,255,.22);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.uctb-reserve-btn:hover,.uctb-reserve-btn:focus{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 12px 24px rgba(34,85,255,.3);outline:none}
.uctb-reserve-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none;box-shadow:none}
.uctb-empty-row{text-align:center;color:var(--uctb-muted)!important;padding:30px!important}
.uctb-modal{position:fixed;inset:0;display:none;z-index:99999}
.uctb-modal.is-open{display:block}
.uctb-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(5px)}
.uctb-modal-dialog{position:relative;max-width:860px;width:min(calc(100% - 32px),860px);margin:24px auto;background:#fff;border-radius:28px;box-shadow:0 40px 100px rgba(2,8,23,.28);max-height:calc(100vh - 48px);overflow:hidden}
.uctb-modal-content{padding:28px;max-height:calc(100vh - 48px);overflow-y:auto;overscroll-behavior:contain}
.uctb-modal-close{position:absolute;right:18px;top:12px;width:56px;height:56px;border-radius:50%;background:#fff;border:1px solid #e6ebf5;font-size:34px;line-height:1;cursor:pointer;color:#667085;display:flex;align-items:center;justify-content:center;z-index:3;box-shadow:0 8px 20px rgba(15,23,42,.06);transition:all .2s ease}
.uctb-modal-close:hover,.uctb-modal-close:focus{background:var(--uctb-dark,#0b1f5e);border-color:var(--uctb-dark,#0b1f5e);color:#fff;outline:none}
.uctb-badge{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(34,85,255,.08);color:var(--uctb-primary,#2255ff);font-size:13px;font-weight:700;margin-bottom:12px}
.uctb-step h2{margin:0 0 8px;font-size:32px;line-height:1.15;color:#101828;padding-right:88px}
.uctb-inline-meta{color:#667085;margin-bottom:22px}
.uctb-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}
.uctb-detail-item{padding:16px;border:1px solid #e7ebf3;border-radius:18px;background:#fafcff;min-height:96px;display:flex;flex-direction:column;justify-content:center}
.uctb-detail-item span{display:block;font-size:13px;color:#667085;margin-bottom:6px}
.uctb-detail-item strong{font-size:16px;color:#101828;line-height:1.4;word-break:break-word}
.uctb-detail-item--seats strong{font-size:30px;color:var(--uctb-dark,#0b1f5e)}
.uctb-description{margin-top:10px;padding:20px;border:1px solid #e7ebf3;border-radius:20px;background:#fff;overflow-wrap:anywhere}
.uctb-description h3,.uctb-calendar-block h3{margin:0 0 12px;font-size:20px;color:#101828}
.uctb-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;flex-wrap:wrap}
.uctb-btn{height:48px;padding:0 22px;border-radius:14px;border:1px solid transparent;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:.2s ease;-webkit-tap-highlight-color:transparent}
.uctb-btn-primary{background:var(--uctb-primary,#2255ff);color:#fff}
.uctb-btn-primary:hover,.uctb-btn-primary:focus{background:#1d49d9;color:#fff;outline:none;box-shadow:0 0 0 4px rgba(34,85,255,.12)}
.uctb-btn-secondary{background:var(--uctb-dark,#0b1f5e);border-color:var(--uctb-dark,#0b1f5e);color:#fff}
.uctb-btn-secondary:hover,.uctb-btn-secondary:focus{background:var(--uctb-dark-hover,#081742);border-color:var(--uctb-dark-hover,#081742);color:#fff;outline:none;box-shadow:0 0 0 4px rgba(11,31,94,.12)}
.uctb-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.uctb-field{display:flex;flex-direction:column;gap:8px;font-weight:600;color:#1c2434}
.uctb-field input{height:48px;border:1px solid #d5dceb;border-radius:14px;padding:0 14px;font-weight:400;width:100%}
.uctb-field input:focus,.uctb-filter-input:focus{outline:none;border-color:var(--uctb-dark,#0b1f5e);box-shadow:0 0 0 4px rgba(11,31,94,.1)}
.uctb-calendar-block{margin-top:20px;padding:22px;border-top:1px solid #edf1f7}
.uctb-calendar-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.uctb-calendar-btn{min-height:84px;padding:12px;border:1px solid #d5dceb;border-radius:16px;background:#fff;color:#1c2434;text-decoration:none;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;transition:all .2s ease}
.uctb-calendar-btn:hover,.uctb-calendar-btn:focus{border-color:var(--uctb-dark,#0b1f5e);background:var(--uctb-dark,#0b1f5e);color:#fff;outline:none;box-shadow:0 0 0 4px rgba(11,31,94,.08)}
.uctb-calendar-btn svg{width:26px;height:26px;display:block}
.uctb-calendar-btn span{display:block;font-size:15px;line-height:1.2}
.uctb-loading,.uctb-error{padding:48px 12px;text-align:center;font-size:18px}
body.uctb-no-scroll{overflow:hidden}
@media (max-width: 991px){.uctb-calendar-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 767px){.uctb-wrap{padding:16px;border-radius:18px}.uctb-toolbar{grid-template-columns:1fr}.uctb-table{min-width:980px}.uctb-table th,.uctb-table td{padding:14px 16px}.uctb-modal-dialog{margin:12px auto;width:calc(100% - 12px);border-radius:22px;max-height:calc(100vh - 24px)}.uctb-modal-content{padding:18px;max-height:calc(100vh - 24px)}.uctb-modal-close{right:12px;top:12px;width:48px;height:48px;font-size:28px}.uctb-step h2{font-size:24px;padding-right:64px}.uctb-detail-grid,.uctb-form-grid,.uctb-calendar-buttons{grid-template-columns:1fr}.uctb-actions{flex-direction:column}.uctb-btn{width:100%}.uctb-detail-item--seats strong{font-size:24px}}
.uctb-reserve-link{white-space:nowrap}
.uctb-field select{height:48px;border:1px solid #d5dceb;border-radius:14px;padding:0 14px;font-weight:400;width:100%;background:#fff;color:#101828}
.uctb-field select:focus{outline:none;border-color:var(--uctb-dark,#0b1f5e);box-shadow:0 0 0 4px rgba(11,31,94,.1)}
.uctb-field-full{grid-column:1/-1}
.uctb-check-field{border:1px solid #e7ebf3;border-radius:18px;padding:14px 16px;margin:0;font-weight:600;color:#1c2434}
.uctb-check-field legend{padding:0 6px;font-weight:700;color:#1c2434}
.uctb-check-list{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}
.uctb-check-list label{display:inline-flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}
.uctb-check-list input{width:auto;height:auto}
@media (max-width: 767px){.uctb-check-list{flex-direction:column;gap:10px}}
