.tcrp-wrap{font-family:Arial,sans-serif;background:linear-gradient(180deg,#f9fcfa 0%,#f3f8f4 100%);border:1px solid #dbe7df;border-radius:24px;padding:20px;box-shadow:0 12px 32px rgba(31,111,67,.08)}
.tcrp-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.tcrp-date-tools{display:flex;align-items:center;gap:12px}.tcrp-nav-row{display:flex;align-items:center;gap:12px}
.tcrp-day-nav,.tcrp-finish-btn,.tcrp-submit,.tcrp-calendar-trigger{background:#1F6F43;color:#fff;border:none;border-radius:14px;padding:12px 18px;cursor:pointer;font-weight:700;box-shadow:0 8px 20px rgba(31,111,67,.18)}
.tcrp-day-nav:hover,.tcrp-finish-btn:hover,.tcrp-submit:hover,.tcrp-calendar-trigger:hover{filter:brightness(.96)}
.tcrp-day-nav[disabled],.tcrp-finish-btn[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}.tcrp-calendar-trigger{padding:12px 14px;min-width:52px}.tcrp-calendar-icon{font-size:20px;line-height:1}.tcrp-date-picker{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.tcrp-date-box{text-align:center;background:#fff;border-radius:20px;padding:14px 24px;min-width:220px;box-shadow:0 10px 24px rgba(0,0,0,.05);border:1px solid #e6eee8}
.tcrp-current-day{font-size:22px;font-weight:800;color:#1f2f25}
.tcrp-current-date{font-size:18px;font-weight:700;color:#466456;margin-top:4px}
.tcrp-grid-message{min-height:22px;margin:0 0 12px;font-weight:700}
.tcrp-grid-message.is-error{color:#9b2f2f}.tcrp-grid-message.is-success{color:#1F6F43}
.tcrp-grid{width:100%;border-collapse:separate;border-spacing:5px}
.tcrp-grid th{background:#1F6F43;color:#fff;padding:12px;border-radius:14px;text-align:center;font-size:14px}
.tcrp-grid th small{display:block;color:#d7f0e1;font-weight:400;margin-top:4px}
.tcrp-grid.is-weekend th{background:#2b7b4f}
.tcrp-grid.is-weekend .tcrp-time,.tcrp-grid.is-weekend .tcrp-cell{background:#f7f2e8}
.tcrp-time{background:#eef5f0;border-radius:12px;padding:10px;font-weight:700;white-space:nowrap;color:#284033}
.tcrp-cell{background:#fff;border-radius:14px;border:1px solid #dfe8e1;padding:8px;min-width:120px;height:56px;vertical-align:middle;text-align:center;transition:.2s;position:relative;font-weight:700;color:#2d4034}
.tcrp-cell-text{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.tcrp-cell:not(.reserved):not(.admin){cursor:pointer}
.tcrp-cell.selected{background:#1F6F43;color:#fff;border-color:#1F6F43}
.tcrp-cell.selected .tcrp-cell-text{color:#fff}
.tcrp-cell.reserved{background:#C46A2E;color:#fff;border-color:#C46A2E}
.tcrp-cell.admin{background:#f2efe7;color:#6b5218;border-color:#dbc78a}
.tcrp-sticky-footer{position:sticky;bottom:10px;display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;border:1px solid #dde6df;border-radius:18px;padding:14px 16px;margin-top:16px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.tcrp-summary{font-weight:700;color:#21352a}
.tcrp-modal{position:fixed;inset:0;background:rgba(28,37,32,.45);z-index:9999;padding:20px;overflow:auto}
.tcrp-modal-card{max-width:680px;margin:40px auto;background:#fff;border-radius:24px;padding:24px;position:relative;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.tcrp-modal-close{position:absolute;right:18px;top:14px;font-size:28px;background:none;border:none;cursor:pointer}
.tcrp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tcrp-booking-form label{display:block;font-weight:600;color:#2b4033;margin:10px 0}
.tcrp-booking-form input,.tcrp-booking-form select,.tcrp-booking-form textarea{width:100%;padding:10px 12px;border:1px solid #d5ded7;border-radius:12px;background:#fcfdfc}
.tcrp-price-row{align-items:end}.tcrp-price-box{padding:10px 12px;border-radius:14px;background:#f5faf6;border:1px solid #dfe8e1;min-height:44px}
.tcrp-price-subline{margin-top:6px;color:#587061;font-size:13px}
.tcrp-check{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important}.tcrp-check input{width:auto!important;margin-top:2px}.tcrp-check a{color:#1F6F43;text-decoration:underline}
.tcrp-form-message{margin-top:12px;font-weight:700;color:#1F6F43}
.tcrp-mobile-controls{display:none;margin-bottom:12px}.tcrp-mobile-controls select{width:100%;max-width:360px}
.tcrp-card{background:#fff;border:1px solid #e1e7e2;border-radius:20px;padding:18px;box-shadow:0 8px 24px rgba(0,0,0,.04)}
.tcrp-stat-list{display:grid;gap:10px}.tcrp-stat-row{display:grid;grid-template-columns:minmax(180px,2fr) 4fr auto;gap:12px;align-items:center}.tcrp-stat-label{font-weight:600}.tcrp-stat-bar{height:12px;border-radius:999px;background:#edf3ef;overflow:hidden}.tcrp-stat-bar span{display:block;height:100%;background:#1F6F43;border-radius:999px}.tcrp-stat-value{font-weight:700}
@media (max-width:800px){.tcrp-topbar{display:block}.tcrp-date-tools{display:grid;grid-template-columns:1fr auto;align-items:stretch}.tcrp-date-box{width:100%;min-width:0}.tcrp-nav-row{display:grid;grid-template-columns:1fr 1fr;margin-top:10px}.tcrp-mobile-controls{display:block}.tcrp-grid-2{grid-template-columns:1fr}.tcrp-sticky-footer{flex-direction:column;align-items:stretch}.tcrp-grid th,.tcrp-grid td{font-size:12px;padding:8px}.tcrp-cell{min-width:unset;height:52px}.tcrp-current-day{font-size:20px}.tcrp-current-date{font-size:16px}.tcrp-stat-row{grid-template-columns:1fr}}

@media (min-width:801px){
  .tcrp-grid thead th,
  .tcrp-grid tbody td{display:table-cell!important}
}
.tcrp-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(12px);z-index:10000;max-width:min(92vw,720px);padding:14px 18px;border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,.18);font-weight:700;opacity:0;transition:all .22s ease;background:#fff;border:1px solid #e3e8e4;color:#21352a}
.tcrp-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}
.tcrp-toast.is-error{background:#fff4f4;border-color:#e7b5b5;color:#9b2f2f}
.tcrp-toast.is-success{background:#f2fbf4;border-color:#bfe0c6;color:#1F6F43}
