.tb-site-calendar-source{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important;}
.tb-site-calendar-input{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23124f57' stroke-width='1.8'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E")!important;background-position:right 12px center!important;background-repeat:no-repeat!important;padding-right:38px!important;}
.tb-site-calendar{position:fixed;inset:auto;margin:0;z-index:2147483647;box-sizing:border-box;width:320px;max-width:calc(100vw - 16px);padding:16px;border:1px solid #d8e7e9;border-radius:16px;background:#fff;color:#18373d;box-shadow:0 16px 50px #0c39452b;font:14px/1.4 Arial,sans-serif;}
.tb-site-calendar[hidden]{display:none!important;}
.tb-site-calendar *{box-sizing:border-box;}
.tb-site-calendar-head{display:flex;align-items:center;gap:6px;margin-bottom:14px;}
.tb-site-calendar button{cursor:pointer;border:0;background:transparent;color:inherit;font:inherit;}
.tb-site-calendar-head button{width:30px;height:34px;flex:0 0 auto;border-radius:8px;font-size:24px;}
.tb-site-calendar-head select{min-width:0;height:34px;flex:1;border:1px solid #d8e7e9;border-radius:8px;background:white;color:#18373d;padding:0 6px;font:600 13px Arial,sans-serif;}
.tb-site-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;}
.tb-site-calendar-grid span{text-align:center;font-size:11px;color:#7b9196;padding:4px 0;}
.tb-site-calendar-grid button{height:34px;border-radius:9px;}
.tb-site-calendar-grid button:hover:not(:disabled),.tb-site-calendar-head button:hover:not(:disabled){background:#e8f4f4;}
.tb-site-calendar-grid button.is-today{box-shadow:inset 0 0 0 1px #86b4bb;}
.tb-site-calendar-grid button.is-selected{background:#124f57;color:white;font-weight:700;}
.tb-site-calendar button:disabled{color:#c0ccd0;cursor:default;}
.tb-site-calendar :focus-visible{outline:2px solid #124f57;outline-offset:2px;}
.tb-site-calendar-foot{display:flex;justify-content:space-between;border-top:1px solid #edf3f4;margin-top:12px;padding-top:10px;}
.tb-site-calendar-foot button{padding:5px 9px;border-radius:8px;color:#124f57;font-size:12px;font-weight:600;}
.tb-site-calendar select:focus,.tb-site-calendar select:focus-visible{outline:none!important;outline-offset:0!important;box-shadow:none!important;border-color:#70aab2!important}.tb-site-calendar button:focus-visible{outline:1px solid #70aab2;outline-offset:0;box-shadow:none}
