/* TTI Scheduling - consultation calendar picker. Sits on a light gray panel. */
.tti-cal{--tti-orange:#FF7B00;--tti-green:#49CA5B;max-width:360px;margin:6px 0 4px;user-select:none;}
.tti-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.tti-cal-title{font-weight:800;font-size:1.02em;color:#111;letter-spacing:-0.01em;}
.tti-cal-nav{width:34px;height:34px;border:2px solid #c5c5c2;background:#fff;border-radius:8px;font-size:1.1em;line-height:1;cursor:pointer;color:#111;}
.tti-cal-nav:hover:not(:disabled){border-color:var(--tti-orange);color:var(--tti-orange);}
.tti-cal-nav:disabled{opacity:0.35;cursor:default;}
.tti-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.tti-cal-dow{text-align:center;font-size:0.72em;font-weight:700;color:#888;text-transform:uppercase;padding-bottom:2px;}
.tti-cal-day{text-align:center;padding:9px 0;border-radius:8px;font-size:0.92em;border:2px solid transparent;background:transparent;}
.tti-cal-day.is-off{color:#bbb;}
.tti-cal-day.is-open{background:#fff;border-color:#d7d7d4;color:#111;font-weight:700;cursor:pointer;}
.tti-cal-day.is-open:hover{border-color:var(--tti-orange);}
.tti-cal-day.is-active{background:var(--tti-orange);border-color:var(--tti-orange);color:#000;}
.tti-cal-times{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.tti-cal-times-head{width:100%;font-weight:700;color:#111;font-size:0.9em;margin-bottom:2px;}
.tti-cal-time{padding:9px 14px;border:2px solid #c5c5c2;background:#fff;border-radius:8px;font-size:0.9em;font-weight:600;cursor:pointer;color:#111;}
.tti-cal-time:hover{border-color:var(--tti-orange);}
.tti-cal-time.is-active{background:var(--tti-orange);border-color:var(--tti-orange);color:#000;}
.tti-cal-chosen:not(:empty){margin-top:14px;padding:9px 12px;background:#eafbec;border-left:4px solid var(--tti-green);border-radius:6px;font-weight:700;color:#166a2a;font-size:0.9em;}
.tti-cal-error{margin-top:12px;padding:9px 12px;background:#fcf0f1;border-left:4px solid #d63638;border-radius:6px;color:#a01b1d;font-size:0.9em;font-weight:600;}
