.overview-calendar{min-height:0;margin-bottom:12px;padding:0;overflow:hidden;background:linear-gradient(145deg,#102737,#0d202f);border-color:#28465a}
.overview-calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:20px 20px 15px}
.overview-calendar-head .eyebrow{margin-bottom:6px!important;color:#6f98aa!important}
.overview-calendar-title{display:flex;align-items:center;gap:10px}
.overview-calendar-title h2{font-size:20px}
.calendar-count{padding:4px 8px;border:1px solid #315469;border-radius:999px;color:#8fc7d4;font-size:10px;font-weight:700;white-space:nowrap}
.calendar-range-label{margin:5px 0 0;color:#8ca8b5;font-size:12px}
.calendar-horizon{display:inline-flex;gap:3px;padding:4px;border:1px solid #29485b;border-radius:9px;background:#091a27}
.calendar-horizon button{min-height:34px;padding:0 11px;border:0;border-radius:6px;background:transparent;color:#7f9ba9;font:700 11px 'DM Sans',sans-serif;cursor:pointer;transition:background .16s,color .16s,box-shadow .16s}
.calendar-horizon button:hover{color:#d8f5fa;background:#122f40}
.calendar-horizon button[aria-pressed=true]{background:#1b4859;color:#eaffff;box-shadow:inset 0 0 0 1px #2b8194}
.calendar-horizon button:focus-visible,.calendar-event:focus-visible,.booking-calendar-scroll:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.calendar-kind-legend{display:flex;gap:16px;flex-wrap:wrap;padding:0 20px 14px;color:#8fa9b6;font-size:11px}
.calendar-kind-legend span{display:flex;align-items:center;gap:6px}
.calendar-kind-legend i{width:7px;height:7px;border-radius:50%;background:var(--kind-color)}
.kind-fact_find{--kind-color:#28c5e5;--kind-soft:rgba(40,197,229,.12);--kind-border:#27708a}
.kind-presentation{--kind-color:#9b8cff;--kind-soft:rgba(155,140,255,.12);--kind-border:#655ca4}
.kind-application_meeting{--kind-color:#25c495;--kind-soft:rgba(37,196,149,.12);--kind-border:#28745f}
.kind-follow_up{--kind-color:#ffb74a;--kind-soft:rgba(255,183,74,.12);--kind-border:#7c5a2c}
.kind-other{--kind-color:#91a8b7;--kind-soft:rgba(145,168,183,.11);--kind-border:#4b6677}
.booking-calendar-scroll{overflow-x:auto;border-top:1px solid #223d4f;scrollbar-color:#315568 #0a1a27;scrollbar-width:thin}
.booking-calendar-grid{min-width:980px}
.calendar-week+.calendar-week{border-top:1px solid #294557}
.calendar-week-label{display:flex;align-items:center;gap:10px;padding:9px 14px;background:#0b1e2c;border-bottom:1px solid #243f51}
.calendar-week-label span{color:#dff6fa;font:700 11px Manrope,sans-serif;letter-spacing:.02em}
.calendar-week-label small{color:#718e9d;font-size:10px}
.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-day{min-height:132px;border-right:1px solid #213b4d;background:rgba(8,26,39,.28)}
.calendar-day:last-child{border-right:0}
.calendar-day>header{display:flex;align-items:baseline;gap:5px;margin:0;padding:9px 10px;border-bottom:1px solid #1d3748;background:#0d2231}
.calendar-day>header span{margin-right:auto;color:#7695a5;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.calendar-day>header strong{font:700 16px Manrope,sans-serif;color:#dcebef}
.calendar-day>header small{color:#7896a5;font-size:9px;text-transform:uppercase}
.calendar-day.is-today>header{background:linear-gradient(90deg,rgba(40,197,229,.18),rgba(40,197,229,.05));box-shadow:inset 0 -2px var(--cyan)}
.calendar-day.is-today>header span,.calendar-day.is-today>header strong{color:#7eeafd}
.calendar-day-events{display:grid;align-content:start;gap:6px;padding:7px}
.calendar-day-empty{display:grid;place-items:center;min-height:56px;color:#375464;font-size:14px}
.calendar-event{position:relative;width:100%;min-width:0;padding:7px 7px 7px 10px;border:1px solid var(--kind-border);border-radius:7px;background:var(--kind-soft);color:#dcecf1;text-align:left;font:inherit;cursor:pointer;overflow:hidden}
.calendar-event:before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:var(--kind-color)}
.calendar-event:hover{filter:brightness(1.16);transform:translateY(-1px)}
.calendar-event:disabled{cursor:default;opacity:1}
.calendar-event-time{display:block;margin-bottom:3px;color:var(--kind-color);font-size:10px;font-weight:800;letter-spacing:.02em}
.calendar-event strong,.calendar-event small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-event strong{font-size:11px;color:#eef8fa}
.calendar-event small{margin-top:2px;color:#8da8b4;font-size:9px}
.calendar-empty-note{margin:0;padding:10px 18px;border-top:1px solid #203a4b;background:#0b1d2a;color:#7895a4;font-size:11px;text-align:center}
.calendar-empty-note[hidden]{display:none}
@media(max-width:900px){.overview-calendar-head{flex-direction:column;gap:14px}.calendar-horizon{width:100%;overflow-x:auto}.calendar-horizon button{flex:1;white-space:nowrap}.booking-calendar-grid{min-width:900px}}
@media(max-width:650px){.overview-calendar-head{padding:16px 14px 13px}.overview-calendar-title{align-items:flex-start;flex-direction:column;gap:7px}.overview-calendar-title h2{font-size:18px}.calendar-kind-legend{padding:0 14px 13px;gap:9px 13px}.calendar-horizon button{padding:0 9px}.booking-calendar-grid{min-width:810px}.calendar-day{min-height:120px}.calendar-week-label{position:sticky;left:0;z-index:2;width:100vw;max-width:calc(100vw - 28px)}}

/* Build 138: local broker tabs and clearer appointment hierarchy. */
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 20px 14px}
.calendar-toolbar .calendar-kind-legend{padding:0}
.calendar-broker-filter{display:flex;align-items:center;gap:8px;min-width:0}
.calendar-broker-filter>span{color:#6f91a1;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.calendar-broker-tabs{display:flex;gap:3px;max-width:620px;padding:3px;border:1px solid #29485b;border-radius:8px;background:#091a27;overflow-x:auto}
.calendar-broker-tabs button{min-height:28px;padding:0 10px;border:0;border-radius:5px;background:transparent;color:#7f9ba9;font:700 10px 'DM Sans',sans-serif;white-space:nowrap;cursor:pointer}
.calendar-broker-tabs button:hover{color:#d8f5fa;background:#122f40}
.calendar-broker-tabs button[aria-pressed=true]{background:#1a4151;color:#effcff;box-shadow:inset 0 0 0 1px #2b7286}
.calendar-broker-tabs button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.calendar-broker-filter.is-personal .calendar-broker-tabs{padding:0;border:0;background:transparent;overflow:visible}
.calendar-broker-filter.is-personal .calendar-broker-tabs strong{display:block;padding:7px 10px;border:1px solid #2b5b6d;border-radius:6px;background:#123444;color:#dff8fb;font-size:10px}
.calendar-day-events{gap:7px}
.calendar-event{min-height:82px;padding:8px 9px 8px 11px;border-radius:8px;background:color-mix(in srgb,var(--kind-soft) 72%,#123246)}
.calendar-event:before{width:4px}
.calendar-event strong,.calendar-event-broker,.calendar-event small{display:block;overflow:hidden;text-overflow:ellipsis}
.calendar-event strong{color:#f6fbfd;font-size:12px;line-height:1.25;white-space:nowrap}
.calendar-event-broker{margin-top:3px;color:#c5dbe3;font-size:10px;font-weight:700;white-space:nowrap}
.calendar-event-broker:before{content:'Broker · ';color:#7296a7;font-weight:600}
.calendar-event small{display:-webkit-box;margin-top:4px;color:#8da8b4;font-size:9px;line-height:1.25;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}
@media(max-width:1100px){.calendar-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.calendar-broker-filter{width:100%}.calendar-broker-tabs{max-width:none;flex:1}}
@media(max-width:650px){.calendar-toolbar{padding:0 14px 13px}.calendar-toolbar .calendar-kind-legend{padding:0}.calendar-broker-filter{align-items:flex-start;flex-direction:column;gap:5px;width:100%}.calendar-broker-tabs{width:100%;max-width:100%}.booking-calendar-grid{min-width:850px}}
