/* js-datepicker structure and the existing TM24 calendar design. */
.tm24-calendar.qs-datepicker-container{position:absolute;z-index:10001;width:292px;max-width:calc(100vw - 16px);box-sizing:border-box;padding:12px;background:#f3f8fd;border:1px solid #d7e6f3;border-radius:14px;box-shadow:0 14px 32px rgba(20,60,90,.16);color:#17212b;font-family:inherit;font-size:15px;line-height:1.4;user-select:none;overflow:hidden;}
.tm24-calendar *{box-sizing:border-box;}
.tm24-calendar.qs-hidden,.tm24-calendar .qs-overlay{display:none;}
.tm24-calendar .qs-controls{display:flex;align-items:center;justify-content:space-between;padding:6px 0 10px;background:transparent;}
.tm24-calendar .qs-month-year{font-weight:600;line-height:32px;text-align:center;}
.tm24-calendar .qs-month{margin-right:4px;}
.tm24-calendar .qs-arrow{position:relative;width:32px;height:32px;border-radius:8px;cursor:pointer;flex-shrink:0;}
.tm24-calendar .qs-arrow:before{content:"";position:absolute;top:12px;width:8px;height:8px;border-top:2px solid var(--tm24-theme-main, #1e73be);border-right:2px solid var(--tm24-theme-main, #1e73be);}
.tm24-calendar .qs-left:before{left:12px;transform:rotate(-135deg);}
.tm24-calendar .qs-right:before{right:12px;transform:rotate(45deg);}
.tm24-calendar .qs-arrow:hover{background:#e5f0f9;}
.tm24-calendar .qs-arrow[aria-disabled=true]{opacity:.25;pointer-events:none;}
.tm24-calendar .qs-squares{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px 0;}
.tm24-calendar .qs-square{display:flex;align-items:center;justify-content:center;width:34px;height:34px;max-width:100%;margin:0 auto;border-radius:8px;}
.tm24-calendar .qs-day{color:#5f6b76;font-weight:600;margin-bottom:10px;}
.tm24-calendar .qs-num{cursor:pointer;}
.tm24-calendar .qs-num:not(.qs-disabled):hover{background:#377bc2;color:#fff;}
.tm24-calendar .qs-current{box-shadow:inset 0 0 0 1px var(--tm24-theme-main, #1e73be);}
.tm24-calendar .qs-active{background:var(--tm24-theme-main, #1e73be);color:#fff;font-weight:600;}
.tm24-calendar .qs-disabled{color:#aebac5;opacity:.45;cursor:default;}
.tm24-calendar [role=button]:focus-visible{outline:2px solid var(--tm24-theme-main, #1e73be);outline-offset:1px;}
