:root{--base-bodyfont: "DM Sans", sans-serif;--base-bodyfont-Size: 15px;--base-bodyfont-lignheight: 26px;--base-bodyfont-fontweight: 400;--base-bodyfont-color: #595959;--base-skin: #0eb977;--base-dark: #2a2a2a;--base-grey: #f8f9fa;--base-white: #ffffff;--base-condensed: "Barlow Condensed", serif;--base-headingfont: "Barlow Condensed", serif;--base-headingfont-color: var(--base-dark)}.dc-wrapper{font-family:var(--base-bodyfont),serif;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;background:var(--base-white);width:100%;box-shadow:0 4px 20px #0000000d;font-size:var(--base-bodyfont-Size);line-height:var(--base-bodyfont-lignheight);color:var(--base-bodyfont-color)}.dc-header{display:flex;align-items:center;justify-content:center;padding:12px 16px;background:var(--base-grey);border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:1;flex-wrap:wrap;gap:10px;font-family:var(--base-headingfont);color:var(--base-headingfont-color)}.dc-header .nav button{margin-right:8px;padding:8px 14px;border:1px solid #e5e7eb;background:var(--base-white);color:var(--base-bodyfont-color);border-radius:10px;cursor:pointer;font-family:var(--base-bodyfont);transition:all .2s ease;font-weight:500}.dc-header .nav button:hover{background:var(--base-grey);border-color:var(--base-skin);color:var(--base-skin);transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.dc-grid{display:grid;grid-template-columns:repeat(var(--dc-days, 5),minmax(auto,260px));margin:10px auto}@media (max-width: 768px){.dc-grid{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.dc-grid:after{content:"";display:table;clear:both}.dc-grid:not(.dc-grid-mobile) .day-head,.dc-grid:not(.dc-grid-mobile) .cell.dc-day-col{float:left;width:200px;min-width:200px}.dc-grid-mobile{display:flex;flex-direction:column;overflow-x:visible}.dc-mobile-day{margin-bottom:12px;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.mobile-day-head{display:flex;flex-direction:row!important;justify-content:space-between;align-items:center;padding:14px!important;cursor:pointer;position:relative;font-family:var(--base-headingfont),serif;background:var(--base-grey);transition:all .2s ease}.mobile-day-head:hover{background:#0eb9770d}.mobile-day-head .fw-bold{flex:1;color:var(--base-headingfont-color)}.mobile-day-head .day-sub{flex:2;text-align:left;color:var(--base-bodyfont-color)}.mobile-expand-icon{margin-left:8px;color:var(--base-skin);font-size:14px}.dc-header{flex-direction:column;align-items:flex-start}.dc-header .nav{width:100%;display:flex;justify-content:space-between}.dc-header .nav button{flex:1;margin:0 0 0 2px}}.dc-grid .cell{border-top:1px solid #f1f5f9;border-left:1px solid #e5e7eb;font-size:var(--base-bodyfont-Size);color:var(--base-bodyfont-color)}.dc-grid .cell:last-child{border-right:1px solid #e5e7eb}.dc-grid .day-head{font-family:var(--base-headingfont),serif;font-weight:600;text-align:center;background:var(--base-grey);padding:10px 8px;border-left:1px solid #e5e7eb;display:flex;flex-direction:column;gap:4px;color:var(--base-headingfont-color)}.dc-grid .day-head:last-child{border-right:1px solid #e5e7eb}.dc-grid .day-head .day-sub{font-weight:400;font-size:13px;color:var(--base-bodyfont-color)}.dc-day-col{display:flex;flex-direction:column;gap:8px;padding:10px;min-height:100%}.dc-block{padding:10px 8px;border:1px solid #e5e7eb;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-family:var(--base-bodyfont);box-shadow:0 1px 3px #0000000d}.dc-block .dc-time{font-weight:500;color:var(--base-dark)}.dc-block.free{color:var(--base-skin);border-color:var(--base-skin)}.dc-block.free:hover{background:#0eb9771a;transform:translateY(-2px);box-shadow:0 3px 6px #0000001a}.dc-block.busy{background:#e2e8f0;color:#64748b;cursor:not-allowed;text-decoration:line-through;opacity:.7}.dc-block.blocked{background:#fee2e2;color:#b91c1c;cursor:not-allowed;border-left:3px solid #ef4444}.dc-wrapper .btn:focus,.dc-wrapper .form-control:focus,.dc-wrapper .form-select:focus{box-shadow:0 0 0 .25rem #0d6efd40}.dc-wrapper .form-control,.dc-wrapper .form-select{transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.dc-modal .row{--bs-gutter-y: 0;margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}.dc-modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dc-modal{background:var(--base-white);max-width:560px;width:92vw;border-radius:16px;box-shadow:0 15px 40px #00000026;overflow:hidden}.dc-modal header{padding:16px 20px;border-bottom:1px solid #e5e7eb;font-weight:600;font-family:var(--base-headingfont);color:var(--base-headingfont-color);font-size:20px}.dc-modal .body{padding:20px;font-family:var(--base-bodyfont);color:var(--base-bodyfont-color);font-size:var(--base-bodyfont-Size);line-height:var(--base-bodyfont-lignheight)}.dc-modal .row{margin-bottom:16px;display:flex}.dc-modal label{flex:1;font-size:14px;color:var(--base-dark);display:flex;flex-direction:column;gap:6px;font-weight:500}.dc-modal input,.dc-modal select,.dc-modal textarea{max-width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;transition:all .2s ease;font-family:var(--base-bodyfont)}.dc-modal input:focus,.dc-modal select:focus,.dc-modal textarea:focus{border-color:var(--base-skin);outline:none;box-shadow:0 0 0 3px #0eb97733}.dc-modal footer{padding:16px 20px;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end}.ttm-btn{position:relative;display:inline-block;border:none;border-radius:5px;padding:20px 35px;font-size:14px;line-height:14px;font-weight:700;z-index:9;vertical-align:middle;text-transform:capitalize;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;font-family:var(--base-bodyfont)}.dc-modal footer .ttm-btn{cursor:pointer}.dc-modal footer .ttm-btn.ttm-btn-primary{background-color:var(--base-skin);color:#fff}.dc-modal footer .ttm-btn.ttm-btn-primary:hover{background-color:#0ca76a;transform:translateY(-2px);box-shadow:0 4px 8px #0eb97733}.dc-modal footer .ttm-btn.ttm-btn-secondary{background-color:var(--base-grey);color:var(--base-dark);border:1px solid #e5e7eb}.dc-modal footer .ttm-btn.ttm-btn-secondary:hover{background-color:#e9ecef;transform:translateY(-2px)}@media (max-width: 576px){.dc-modal{width:100%;max-width:100%;border-radius:0;height:100%;display:flex;flex-direction:column}.dc-modal .body{flex:1;overflow-y:auto}.dc-modal .row{flex-direction:column;gap:15px}.dc-modal footer button{flex:1;padding:12px}}.dc-badge{background:#0eb97726;color:var(--base-skin);padding:6px 12px;border-radius:999px;font-size:14px;font-weight:500;display:inline-block}.dc-alert{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-size:14px;line-height:1.5}.dc-alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.dc-time-picker{position:relative;width:100%;font-family:var(--base-bodyfont)}.dc-time-picker-display{padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:var(--base-white);transition:all .2s ease;font-size:var(--base-bodyfont-Size);color:var(--base-dark)}.dc-time-picker-display:hover{background:var(--base-grey);border-color:var(--base-skin)}.dc-time-picker-arrow{font-size:12px;color:var(--base-skin)}.dc-time-picker-dropdown{position:absolute;top:100%;left:0;width:100%;max-height:280px;overflow-y:auto;background:var(--base-white);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 20px #0000001a;z-index:10;margin-top:6px}.dc-time-picker-hour{padding:10px 14px;border-bottom:1px solid #f1f5f9;font-weight:600;color:var(--base-dark);font-family:var(--base-headingfont),serif}.dc-time-picker-minutes{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:8px}.dc-time-picker-time{padding:8px 10px;border-radius:8px;font-size:14px;cursor:pointer;text-align:center;transition:all .15s ease}.dc-time-picker-time:hover{background:#0eb9771a}.dc-time-picker-time.selected{background:var(--base-skin);color:#fff;font-weight:500}
