/* BCM calendar release 37 */
.bcm-calendar-host{min-width:0;width:100%;height:100%;color:var(--foreground);font-family:var(--font-family-base,inherit)}
.bcm-calendar{display:flex;flex-direction:column;min-height:620px;height:100%;background:var(--background);border-top:1px solid var(--border)}
.bcm-cal-strip{display:flex;gap:12px;align-items:stretch;padding:10px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 78%,transparent);overflow:hidden}.bcm-strip-label{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;min-width:92px}.bcm-strip-label small{font-size:10px;letter-spacing:.14em;color:var(--muted-foreground)}.bcm-strip-label strong{font-size:13px}.bcm-strip-items{display:flex;gap:8px;overflow:auto;scrollbar-width:none;flex:1}.bcm-strip-items::-webkit-scrollbar{display:none}.bcm-strip-items>button{border:1px solid var(--border);border-left:4px solid var(--event);background:var(--card);color:var(--card-foreground);border-radius:13px;padding:7px 11px;min-width:142px;max-width:230px;text-align:left;display:grid;gap:1px;cursor:pointer}.bcm-strip-items>button small{font-size:10px;color:var(--muted-foreground)}.bcm-strip-items>button strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcm-strip-empty{display:flex;align-items:center;color:var(--muted-foreground);font-size:12px}
.bcm-cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap}.bcm-cal-title,.bcm-cal-tools,.bcm-view-switch{display:flex;align-items:center;gap:7px}.bcm-cal-title h2{font-size:19px;min-width:180px;margin:0 0 0 5px}.bcm-cal-toolbar button,.bcm-cal-rail button,.bcm-event-form button,.bcm-detail-dialog button,.bcm-cal-error button{border:1px solid var(--border);background:var(--surface);color:var(--foreground);border-radius:10px;min-height:34px;padding:6px 11px;font:inherit;cursor:pointer}.bcm-cal-title>[data-prev],.bcm-cal-title>[data-next]{font-size:22px;padding-inline:10px}.bcm-primary{background:var(--primary)!important;color:var(--primary-foreground)!important;border-color:var(--primary)!important}.bcm-view-switch{padding:3px;border:1px solid var(--border);border-radius:12px;background:var(--background)}.bcm-view-switch button{border:0;min-height:30px;background:transparent}.bcm-view-switch button[aria-pressed="true"]{background:var(--secondary);color:var(--secondary-foreground)}.bcm-search{display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:11px;padding:0 10px;background:var(--background);min-height:38px}.bcm-search input{border:0;outline:0;background:transparent;color:inherit;width:150px;font:inherit}
.bcm-cal-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:0;flex:1}.bcm-cal-rail{border-right:1px solid var(--border);padding:14px;background:var(--surface);overflow:auto}.bcm-rail-section{border-top:1px solid var(--border);padding-top:14px;margin-top:14px;display:grid;gap:7px}.bcm-rail-head{display:flex;align-items:center;justify-content:space-between}.bcm-rail-head button{min-height:28px;padding:2px 8px}.bcm-rail-section>button{text-align:left;background:transparent;border:0;padding:6px 3px;min-height:28px}.bcm-cal-toggle{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;font-size:12px;padding:4px 0;cursor:pointer}.bcm-cal-toggle input{width:15px;height:15px}.bcm-cal-toggle i{width:9px;height:9px;border-radius:50%;background:var(--dot)}.bcm-cal-main{min-width:0;min-height:0;overflow:auto;background:var(--background)}.bcm-cal-body{min-width:700px;min-height:100%}.bcm-cal-loading,.bcm-empty{padding:40px;text-align:center;color:var(--muted-foreground)}
.bcm-mini>strong{font-size:12px;display:block;margin-bottom:8px}.bcm-mini-week,.bcm-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.bcm-mini-week span{text-align:center;font-size:9px;color:var(--muted-foreground)}.bcm-mini-grid button{min-height:24px;height:24px;padding:0;border:0;border-radius:7px;background:transparent;font-size:10px}.bcm-mini-grid button.outside{opacity:.35}.bcm-mini-grid button.today{background:var(--primary);color:var(--primary-foreground)}
.bcm-week-head{display:grid;grid-template-columns:repeat(7,1fr);height:34px;align-items:center;border-bottom:1px solid var(--border);background:var(--surface)}.bcm-week-head span{text-align:center;font-size:11px;color:var(--muted-foreground)}.bcm-month-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));grid-template-rows:repeat(6,minmax(105px,1fr));min-height:650px}.bcm-day-cell{padding:7px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0;background:var(--background)}.bcm-day-cell.outside{background:color-mix(in srgb,var(--muted) 30%,transparent);opacity:.62}.bcm-day-cell.today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 55%,transparent)}.bcm-day-num{border:0!important;background:transparent!important;min-height:24px!important;width:26px;padding:0!important;font-size:11px}.bcm-day-cell.today .bcm-day-num{background:var(--primary)!important;color:var(--primary-foreground)!important;border-radius:50%!important}.bcm-event-chip{width:100%;display:flex;align-items:center;gap:4px;border:0;border-left:3px solid var(--event);background:color-mix(in srgb,var(--event) 14%,var(--surface));color:var(--foreground);border-radius:6px;padding:4px 5px;margin:2px 0;cursor:pointer;text-align:left;min-width:0}.bcm-event-chip i{font-style:normal;font-size:9px}.bcm-event-chip span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.bcm-event-chip em{font-style:normal;font-size:8px;margin-left:auto;background:var(--secondary);padding:1px 4px;border-radius:5px}.bcm-event-chip.readonly{opacity:.78}.bcm-more{border:0;background:transparent;color:var(--muted-foreground);font-size:9px;cursor:pointer;padding:2px 4px}
.bcm-time-view{min-width:780px}.bcm-time-head,.bcm-all-day{display:grid;grid-template-columns:64px repeat(var(--cols,7),1fr);position:sticky;top:0;background:var(--surface);z-index:4;border-bottom:1px solid var(--border)}.bcm-time-head:has(>button:nth-child(3):last-child),.bcm-all-day:has(>div:nth-child(3):last-child){grid-template-columns:64px 1fr}.bcm-time-head>button{border:0;background:transparent;color:var(--foreground);padding:9px}.bcm-time-head small{display:block;color:var(--muted-foreground)}.bcm-time-head strong{font-size:17px}.bcm-all-day{top:48px;z-index:3;min-height:40px;align-items:start}.bcm-all-day>span{font-size:10px;color:var(--muted-foreground);padding:10px}.bcm-all-day>div{padding:4px;border-left:1px solid var(--border)}.bcm-hours{height:calc(100vh - 340px);min-height:480px;overflow:auto;display:grid;grid-template-columns:64px repeat(var(--cols,7),minmax(100px,1fr));position:relative}.bcm-time-view:has(.bcm-time-head>button:nth-child(2):last-child) .bcm-hours{grid-template-columns:64px 1fr}.bcm-hour-labels{position:relative;height:1440px}.bcm-hour-labels span{position:absolute;right:8px;transform:translateY(-50%);font-size:9px;color:var(--muted-foreground)}.bcm-day-column{position:relative;height:1440px;border-left:1px solid var(--border)}.bcm-day-column>i{position:absolute;left:0;right:0;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.bcm-time-event{position:absolute;left:4px;right:4px;border:0;border-left:4px solid var(--event);background:color-mix(in srgb,var(--event) 18%,var(--surface));color:var(--foreground);border-radius:8px;padding:5px;text-align:left;overflow:hidden;cursor:pointer;z-index:2}.bcm-time-event strong,.bcm-time-event small{display:block;font-size:10px}.bcm-time-event small{color:var(--muted-foreground)}
.bcm-agenda{max-width:900px;margin:0 auto;padding:18px}.bcm-agenda section{margin-bottom:24px}.bcm-agenda section>header{padding:0 2px 7px;border-bottom:1px solid var(--border);font-size:12px}.bcm-agenda-event{display:grid;grid-template-columns:5px 85px 1fr auto;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid var(--border);background:transparent;color:inherit;padding:11px 5px;text-align:left;cursor:pointer}.bcm-agenda-event>i{width:4px;height:36px;border-radius:4px;background:var(--event)}.bcm-agenda-event time{font-size:11px;color:var(--muted-foreground)}.bcm-agenda-event span{display:grid}.bcm-agenda-event span strong{font-size:12px}.bcm-agenda-event span small{font-size:10px;color:var(--muted-foreground)}.bcm-agenda-event em{font-size:9px;font-style:normal;background:var(--muted);padding:3px 7px;border-radius:12px}
.bcm-year{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:22px}.bcm-year section{border:1px solid var(--border);border-radius:14px;padding:10px;background:var(--surface)}.bcm-year h3{font-size:12px;margin:0 0 8px}.bcm-year-week,.bcm-year-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.bcm-year-week span{text-align:center;font-size:8px;color:var(--muted-foreground)}.bcm-year-grid button{border:0;background:transparent;color:inherit;padding:0;min-height:22px;border-radius:6px;font-size:9px;position:relative;cursor:pointer}.bcm-year-grid button.outside{opacity:.2}.bcm-year-grid button.has:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--primary);bottom:1px;left:50%;transform:translateX(-50%)}
.bcm-cal-dialog{width:min(760px,calc(100vw - 24px));max-height:min(90vh,900px);border:1px solid var(--border);border-radius:18px;background:var(--popup,var(--surface));color:var(--popup-foreground,var(--foreground));padding:0;box-shadow:0 24px 80px rgba(0,0,0,.25)}.bcm-cal-dialog::backdrop{background:rgba(15,20,16,.5);backdrop-filter:blur(3px)}.bcm-event-form>header,.bcm-detail-dialog article>header{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px;border-bottom:1px solid var(--border)}.bcm-event-form header h2,.bcm-detail-dialog h2{margin:2px 0 0;font-size:21px}.bcm-event-form header small,.bcm-detail-dialog header small{font-size:9px;letter-spacing:.12em;color:var(--muted-foreground)}.bcm-event-form header>button,.bcm-detail-dialog header>button{border:0;background:transparent;font-size:24px;padding:0;min-height:28px}.bcm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:18px 20px;overflow:auto;max-height:65vh}.bcm-form-grid>label,.bcm-form-grid fieldset{display:grid;gap:6px;font-size:11px}.bcm-form-grid input,.bcm-form-grid select,.bcm-form-grid textarea{border:1px solid var(--border);border-radius:10px;background:var(--background);color:var(--foreground);font:inherit;font-size:13px;padding:9px;min-width:0}.bcm-form-grid textarea{resize:vertical}.bcm-form-grid .span2{grid-column:1/-1}.bcm-form-grid fieldset{border:1px solid var(--border);border-radius:12px;padding:10px}.bcm-form-grid legend{padding:0 5px;color:var(--muted-foreground)}.bcm-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.bcm-check input{width:16px;height:16px}.bcm-repeat-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.bcm-reminders{display:flex;gap:10px;flex-wrap:wrap}.bcm-reminders label{display:flex;gap:4px;align-items:center}.bcm-reminders input{width:15px;height:15px}.bcm-invite-box [data-people]{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;max-height:130px;overflow:auto}.bcm-invite-box [data-people]>label{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;padding:7px;border:1px solid var(--border);border-radius:9px}.bcm-invite-box [data-people] input{width:15px;height:15px}.bcm-invite-box small{color:var(--muted-foreground)}.bcm-outline{background:transparent!important}.bcm-event-form>footer,.bcm-detail-dialog article>footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}.bcm-conflict{display:flex;gap:8px;align-items:center;padding:9px 11px;border:1px solid color-mix(in srgb,#b77 50%,var(--border));border-radius:10px;background:color-mix(in srgb,#b77 10%,transparent);font-size:11px}.bcm-conflict span{color:var(--muted-foreground)}.bcm-suggested{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:8px}.bcm-suggested button{min-height:28px;padding:3px 8px}.bcm-assistant-note{font-size:10px;color:var(--muted-foreground);margin:5px 0}
.bcm-detail-dialog article{min-width:0}.bcm-detail-dialog article>p,.bcm-detail-dialog article>section,.bcm-detail-dialog article>details,.bcm-detail-time{margin:0;padding:12px 20px;border-bottom:1px solid var(--border)}.bcm-detail-time{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.bcm-detail-time span{color:var(--muted-foreground);font-size:11px}.bcm-detail-dialog h3{font-size:11px;margin:0 0 8px}.bcm-description{white-space:normal;line-height:1.55}.bcm-attendees{display:flex;gap:7px;flex-wrap:wrap}.bcm-attendees>span{display:grid;grid-template-columns:28px auto;grid-template-rows:auto auto;column-gap:6px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:5px 8px}.bcm-attendees i{grid-row:1/3;width:26px;height:26px;border-radius:50%;background:var(--secondary);font-style:normal;display:grid;place-items:center}.bcm-attendees b{font-size:10px}.bcm-attendees small{font-size:9px;color:var(--muted-foreground)}.bcm-rsvp{display:flex;align-items:center;gap:5px;margin-top:10px}.bcm-rsvp span{font-size:10px;margin-right:4px}.bcm-rsvp button[aria-pressed="true"]{background:var(--secondary)}.bcm-history p{display:grid;grid-template-columns:auto 1fr;gap:5px;margin:7px 0;font-size:10px}.bcm-history small{grid-column:1/-1;color:var(--muted-foreground)}.bcm-danger{color:#a13f3f!important}.bcm-cal-error{display:grid;gap:8px;place-items:center;padding:60px;color:var(--muted-foreground)}
#bcm-cal-toast-root{position:fixed;right:18px;bottom:18px;z-index:2147483647;display:grid;gap:7px}.bcm-cal-toast{background:var(--foreground);color:var(--background);padding:10px 13px;border-radius:11px;box-shadow:0 8px 30px rgba(0,0,0,.2);font:500 12px/1.3 var(--font-family-base,system-ui);max-width:300px}.bcm-cal-toast.bad{background:#8f3f3f;color:#fff}
[data-bcm-room-calendar][data-state="active"],[data-bcm-direct-calendar][aria-pressed="true"]{background:var(--secondary)!important;color:var(--secondary-foreground)!important}.bcm-context-calendar-host{min-height:620px}.bcm-main-calendar-host{height:100%}
@media(max-width:900px){.bcm-cal-toolbar{align-items:flex-start}.bcm-cal-tools{width:100%;overflow:auto}.bcm-search{min-width:150px}.bcm-cal-layout{grid-template-columns:1fr}.bcm-cal-rail{display:flex;gap:14px;border-right:0;border-bottom:1px solid var(--border);overflow:auto;padding:9px 12px}.bcm-mini{display:none}.bcm-rail-section{border:0;margin:0;padding:0;min-width:180px}.bcm-cal-body{min-width:680px}.bcm-year{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.bcm-cal-strip{padding:8px 10px}.bcm-strip-label{min-width:70px}.bcm-strip-label strong{font-size:11px}.bcm-cal-toolbar{padding:9px 10px}.bcm-cal-title{width:100%}.bcm-cal-title h2{font-size:16px;min-width:0;flex:1}.bcm-cal-tools{gap:5px;width:100%;overflow-x:auto;scrollbar-width:none}.bcm-cal-tools::-webkit-scrollbar{display:none}.bcm-search{display:none}.bcm-view-switch{flex:0 0 auto}.bcm-view-switch button{font-size:10px;padding:4px 6px}.bcm-cal-layout{display:block}.bcm-cal-rail{position:relative}.bcm-cal-main{overflow:auto}.bcm-cal-body{min-width:0;width:100%}.bcm-week-head{grid-template-columns:repeat(7,minmax(0,1fr));height:30px}.bcm-week-head span{font-size:9px}.bcm-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(72px,1fr));min-height:432px}.bcm-day-cell{padding:3px 2px;overflow:hidden}.bcm-day-num{width:22px!important;min-height:22px!important;font-size:10px}.bcm-event-chip{height:14px;min-height:14px;padding:0 2px;margin:1px 0;border:0;background:transparent;justify-content:center;overflow:visible}.bcm-event-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--event);display:block}.bcm-event-chip>*{display:none!important}.bcm-more{font-size:8px;padding:0 1px;white-space:nowrap}.bcm-time-view{min-width:0;width:100%}.bcm-time-head,.bcm-all-day{grid-template-columns:52px repeat(var(--cols,1),minmax(0,1fr))}.bcm-hours{grid-template-columns:52px repeat(var(--cols,1),minmax(0,1fr));height:calc(100vh - 330px);min-height:460px}.bcm-hour-labels span{right:5px;font-size:8px}.bcm-time-head>button{padding:7px 2px}.bcm-time-head strong{font-size:15px}.bcm-time-event{left:2px;right:2px;padding:4px 3px}.bcm-time-event strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcm-time-event small{font-size:8px}.bcm-agenda{padding:10px}.bcm-agenda-event{grid-template-columns:4px 58px minmax(0,1fr);gap:7px;padding:10px 2px}.bcm-agenda-event em{display:none}.bcm-year{grid-template-columns:1fr;padding:10px;gap:8px}.bcm-form-grid{grid-template-columns:1fr}.bcm-form-grid .span2{grid-column:1}.bcm-repeat-row{grid-template-columns:1fr}.bcm-invite-box [data-people]{grid-template-columns:1fr}.bcm-event-form>header,.bcm-detail-dialog article>header,.bcm-form-grid,.bcm-event-form>footer{padding-left:14px;padding-right:14px}}
.bcm-attachment-box{align-content:start}.bcm-attachment-box>[data-attachments]{display:flex;gap:6px;flex-wrap:wrap;min-height:26px;align-items:center}.bcm-file-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--muted);border-radius:999px;padding:4px 7px;font-size:10px;max-width:100%}.bcm-file-chip>button{border:0;background:transparent;color:var(--muted-foreground);font-size:15px;line-height:1;padding:0 1px;min-height:18px}.bcm-file-picker{padding:16px 20px;max-height:58vh;overflow:auto;display:grid;gap:7px}.bcm-file-picker>label{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:10px;cursor:pointer}.bcm-file-picker>label:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.bcm-file-picker input{width:17px;height:17px}.bcm-file-picker span{display:grid;gap:2px;min-width:0}.bcm-file-picker strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.bcm-file-picker small{color:var(--muted-foreground);font-size:9px}.bcm-detail-files{display:grid;gap:6px}.bcm-file-row{width:100%;display:grid;grid-template-columns:30px 1fr auto;grid-template-rows:auto auto;gap:1px 8px;align-items:center;text-align:left;border:1px solid var(--border);border-radius:11px;background:var(--background);color:inherit;padding:8px 10px;cursor:pointer}.bcm-file-row>span{grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--muted)}.bcm-file-row>b{font-size:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bcm-file-row>small{font-size:9px;color:var(--muted-foreground)}.bcm-file-row>em{grid-column:3;grid-row:1/3;font-size:9px;font-style:normal;color:var(--primary)}.bcm-section-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.bcm-section-title h3{margin:0}.bcm-mini-action{border:1px solid var(--border);background:transparent;color:inherit;border-radius:8px;min-height:27px;padding:3px 7px;font-size:9px}.bcm-linked-tasks{display:grid;gap:6px}.bcm-linked-tasks>span{display:grid;grid-template-columns:24px 1fr auto;gap:7px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:7px 9px}.bcm-linked-tasks i{font-style:normal;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--muted)}.bcm-linked-tasks i.done{background:color-mix(in srgb,var(--primary) 20%,var(--muted));color:var(--primary)}.bcm-linked-tasks b{font-size:10px}.bcm-linked-tasks small,.bcm-muted-copy{font-size:9px;color:var(--muted-foreground)}
.bcm-time-proposals{display:grid;gap:6px}.bcm-time-proposals>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:8px}.bcm-time-proposals span{display:grid;gap:2px}.bcm-time-proposals b{font-size:10px}.bcm-time-proposals small{font-size:9px;color:var(--muted-foreground)}.bcm-time-proposals em{font-size:9px;font-style:normal;text-transform:capitalize;padding:3px 6px;border-radius:999px;background:var(--muted)}.bcm-time-proposals em[data-status="accepted"]{background:color-mix(in srgb,var(--primary) 18%,var(--muted));color:var(--primary)}.bcm-time-proposals button{min-height:26px;padding:3px 7px;font-size:9px}
@media(max-width:620px){.bcm-time-proposals>div{grid-template-columns:1fr auto}.bcm-time-proposals button{grid-row:2}}
.bcm-series-dialog{width:min(460px,calc(100vw - 24px))}.bcm-series-dialog article>header{display:flex;justify-content:space-between;align-items:flex-start;padding:17px 18px;border-bottom:1px solid var(--border)}.bcm-series-dialog header h2{margin:2px 0 0;font-size:18px}.bcm-series-dialog header small{font-size:9px;letter-spacing:.12em;color:var(--muted-foreground)}.bcm-series-dialog header button{border:0;background:transparent;font-size:22px}.bcm-series-options{display:grid;gap:8px;padding:14px}.bcm-series-options>button{display:grid;gap:2px;text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--background);color:inherit;padding:11px 12px}.bcm-series-options strong{font-size:11px}.bcm-series-options small{font-size:9px;color:var(--muted-foreground)}

/* Calendar Fix Batch 2 */
.bcm-series-edit-note{display:block;margin-top:8px;color:var(--muted-foreground,#667168);font-size:.82rem;line-height:1.35}
.bcm-event-form :disabled{opacity:.62;cursor:not-allowed}
[data-calendar-notifications]{position:relative}
[data-cal-unread]{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;margin-left:.35rem;border-radius:999px;background:var(--primary,#526f5b);color:white;font-size:.72rem;font-style:normal;font-weight:700}
.bcm-cal-notifications article{width:min(680px,92vw)}
.bcm-notification-list{display:grid;gap:.55rem;max-height:min(62vh,620px);overflow:auto;padding:.15rem}
.bcm-notification-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;text-align:left;border:1px solid var(--border,#d7dfd5);background:var(--background,#fff);border-radius:16px;padding:.9rem 1rem;color:inherit}
.bcm-notification-list>button.unread{border-color:color-mix(in srgb,var(--primary,#526f5b) 55%,var(--border,#d7dfd5));background:color-mix(in srgb,var(--primary,#526f5b) 8%,var(--background,#fff))}
.bcm-notification-list span{display:grid;gap:.18rem;min-width:0}.bcm-notification-list strong,.bcm-notification-list small{overflow:hidden;text-overflow:ellipsis}.bcm-notification-list time{font-size:.76rem;color:var(--muted-foreground,#6b756d);white-space:nowrap}
.bcm-reminder-options{display:grid;gap:.55rem}.bcm-reminder-options label{display:flex;align-items:center;gap:.7rem;border:1px solid var(--border,#d7dfd5);border-radius:14px;padding:.75rem .9rem;background:var(--background,#fff)}
@media(max-width:620px){.bcm-notification-list>button{grid-template-columns:1fr}.bcm-notification-list time{white-space:normal}}


/* Calendar v5 — scheduled calls, call activity and recordings */
.bcm-call-activity{display:grid;gap:12px}
.bcm-call-activity .bcm-section-title>span{font-size:12px;padding:5px 9px;border:1px solid var(--border,#d8dfd5);border-radius:999px;color:var(--muted-foreground,#68756c)}
.bcm-call-history-list{display:grid;gap:8px}
.bcm-calendar-call-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border,#d8dfd5);border-radius:14px;background:color-mix(in srgb,var(--card,#fff) 92%,var(--background,#f6f8f4))}
.bcm-calendar-call-row.live{border-color:color-mix(in srgb,var(--primary,#526f5b) 55%,var(--border,#d8dfd5));box-shadow:inset 3px 0 0 var(--primary,#526f5b)}
.bcm-calendar-call-row>i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--primary,#526f5b) 12%,transparent);font-style:normal}
.bcm-calendar-call-row>span{display:grid;gap:2px;min-width:0}.bcm-calendar-call-row b{font-size:13px}.bcm-calendar-call-row small{font-size:11px;color:var(--muted-foreground,#68756c)}
.bcm-calendar-call-row>em{font-size:11px;font-style:normal;color:var(--muted-foreground,#68756c);white-space:nowrap}
.bcm-calendar-recordings{display:grid;gap:7px;padding-top:2px}.bcm-calendar-recordings>strong{font-size:12px}
.bcm-calendar-recordings>button{display:grid;grid-template-columns:32px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:9px;align-items:center;text-align:left;border:1px solid var(--border,#d8dfd5);background:var(--card,#fff);border-radius:12px;padding:9px 10px;cursor:pointer;color:inherit}
.bcm-calendar-recordings>button>span{grid-row:1/3;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--primary,#526f5b) 10%,transparent)}
.bcm-calendar-recordings>button>b{grid-column:2;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bcm-calendar-recordings>button>small{grid-column:2;font-size:10px;color:var(--muted-foreground,#68756c)}.bcm-calendar-recordings>button>em{grid-column:3;grid-row:1/3;font-size:10px;font-style:normal;color:var(--primary,#526f5b);white-space:nowrap}
@media(max-width:620px){.bcm-calendar-call-row{grid-template-columns:32px minmax(0,1fr)}.bcm-calendar-call-row>em{grid-column:2}.bcm-calendar-recordings>button{grid-template-columns:30px minmax(0,1fr)}.bcm-calendar-recordings>button>em{grid-column:2;grid-row:3;margin-top:2px}.bcm-detail-dialog footer [data-scheduled-call]{width:100%}}
/* Calendar Fix Batch 5: desktop time-grid interaction + privacy masking */
.bcm-day-column.drag-target{background:color-mix(in srgb,var(--primary,#526f5b) 8%,transparent);outline:2px dashed color-mix(in srgb,var(--primary,#526f5b) 45%,transparent);outline-offset:-2px}
.bcm-time-event[draggable="true"]{cursor:grab}.bcm-time-event[draggable="true"]:active{cursor:grabbing}
.bcm-time-event.masked{border-left-color:var(--muted-foreground);background:color-mix(in srgb,var(--muted-foreground) 12%,var(--surface));font-style:italic}
.bcm-event-resize{position:absolute;left:10px;right:10px;bottom:1px;height:8px;cursor:ns-resize;touch-action:none;border-radius:999px}
.bcm-event-resize::after{content:"";position:absolute;left:50%;bottom:2px;width:24px;height:2px;transform:translateX(-50%);border-radius:999px;background:color-mix(in srgb,var(--foreground) 35%,transparent)}
.bcm-time-event[data-resizing="1"]{opacity:.92;box-shadow:0 8px 24px color-mix(in srgb,var(--foreground) 12%,transparent);z-index:5}
@media(max-width:620px){.bcm-event-resize{display:none}.bcm-time-event[draggable="true"]{cursor:pointer}.bcm-day-column.drag-target{outline:none;background:transparent}}

/* Calendar Layout Repair — panel-width responsive layout */
.bcm-calendar-host{container-type:inline-size;container-name:bcmcalendar;max-width:100%;overflow:hidden}
.bcm-calendar{max-width:100%;overflow:hidden;min-height:560px}
.bcm-cal-strip,.bcm-cal-toolbar,.bcm-cal-layout,.bcm-cal-main,.bcm-cal-body{max-width:100%;min-width:0;box-sizing:border-box}
.bcm-cal-title{min-width:0}.bcm-cal-title h2{min-width:0;max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bcm-cal-tools{min-width:0}.bcm-view-switch{min-width:0}.bcm-view-switch button{white-space:nowrap}
.bcm-cal-main{overscroll-behavior:contain}.bcm-cal-body{width:100%}
.bcm-month,.bcm-time-view{width:100%;max-width:100%}
.bcm-day-cell{box-sizing:border-box}.bcm-event-chip{box-sizing:border-box}

@container bcmcalendar (max-width: 980px){
  .bcm-cal-toolbar{align-items:flex-start;padding:10px 12px;gap:9px}
  .bcm-cal-title{width:100%}
  .bcm-cal-title h2{flex:1;max-width:none}
  .bcm-cal-tools{width:100%;display:flex;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding-bottom:1px}
  .bcm-cal-tools::-webkit-scrollbar{display:none}
  .bcm-search{flex:0 0 170px}
  .bcm-cal-layout{grid-template-columns:minmax(0,1fr)}
  .bcm-cal-rail{display:flex;align-items:center;gap:8px;border-right:0;border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;padding:7px 10px;scrollbar-width:none;white-space:nowrap}
  .bcm-cal-rail::-webkit-scrollbar{display:none}
  .bcm-mini{display:none}
  .bcm-rail-section{display:flex;align-items:center;gap:6px;border:0;margin:0;padding:0;min-width:max-content}
  .bcm-rail-section+.bcm-rail-section{padding-left:8px;border-left:1px solid var(--border)}
  .bcm-rail-head{display:flex;align-items:center;gap:4px}
  .bcm-rail-head strong,.bcm-rail-section>strong{font-size:10px;color:var(--muted-foreground);font-weight:600}
  .bcm-rail-section>[data-calendars]{display:flex;align-items:center;gap:8px}
  .bcm-cal-toggle{display:inline-flex;gap:6px;padding:4px 6px;border-radius:9px;background:color-mix(in srgb,var(--muted) 35%,transparent)}
  .bcm-rail-section>button{min-height:30px;padding:5px 8px;border:1px solid var(--border);border-radius:9px;background:var(--background)}
  .bcm-cal-body{min-width:0}
  .bcm-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(94px,1fr));min-height:564px}
  .bcm-day-cell{padding:5px 4px}
  .bcm-event-chip{padding:3px 4px}
  .bcm-year{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}
}

@container bcmcalendar (max-width: 760px){
  .bcm-cal-strip{padding:8px 10px;gap:8px}
  .bcm-strip-label{min-width:72px}
  .bcm-strip-label small{font-size:9px}.bcm-strip-label strong{font-size:11px}
  .bcm-strip-items>button{min-width:132px;max-width:190px;padding:6px 9px}
  .bcm-cal-toolbar{padding:8px 10px}
  .bcm-cal-title{gap:5px}
  .bcm-cal-title h2{font-size:16px}
  .bcm-cal-title>button{min-height:32px;padding:5px 9px}
  .bcm-cal-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;overflow:visible}
  .bcm-search{display:none}
  .bcm-view-switch{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;justify-content:flex-start}
  .bcm-view-switch::-webkit-scrollbar{display:none}
  .bcm-view-switch button{font-size:10px;padding:4px 7px;min-height:29px}
  .bcm-cal-tools>[data-create]{white-space:nowrap;min-height:34px}
  .bcm-rail-head strong,.bcm-rail-section>strong{display:none}
  .bcm-cal-rail{padding:6px 8px}
  .bcm-cal-toggle{font-size:11px}
  .bcm-rail-section>button{font-size:10px;min-height:29px;padding:4px 7px}
  .bcm-week-head{height:31px}.bcm-week-head span{font-size:9px}
  .bcm-month-grid{grid-template-rows:repeat(6,minmax(80px,1fr));min-height:480px}
  .bcm-day-cell{padding:4px 3px}
  .bcm-day-num{width:23px!important;min-height:23px!important;font-size:10px}
  .bcm-event-chip{height:18px;min-height:18px;padding:1px 3px;margin:1px 0;border-left-width:2px}
  .bcm-event-chip i{display:none}.bcm-event-chip span{font-size:9px}.bcm-event-chip em{display:none}
  .bcm-time-view{min-width:0;width:100%}
  .bcm-time-head,.bcm-all-day{grid-template-columns:54px repeat(var(--cols,3),minmax(0,1fr))}
  .bcm-hours{grid-template-columns:54px repeat(var(--cols,3),minmax(0,1fr));height:clamp(480px,calc(100dvh - 300px),760px);min-height:480px}
  .bcm-hour-labels span{right:5px;font-size:8px}
  .bcm-time-head>button{padding:7px 3px}.bcm-time-head strong{font-size:15px}
  .bcm-all-day>span{padding:9px 5px}.bcm-all-day>div{padding:3px}
  .bcm-time-event{left:2px;right:2px;padding:4px 3px;border-left-width:3px}
  .bcm-time-event strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcm-time-event small{font-size:8px}
  .bcm-agenda{padding:10px 12px}
  .bcm-year{grid-template-columns:1fr;padding:10px;gap:8px}
}

@container bcmcalendar (max-width: 620px){
  .bcm-calendar{min-height:0}
  .bcm-cal-strip{padding:7px 8px}
  .bcm-strip-label{display:none}
  .bcm-strip-items>button{min-width:126px}
  .bcm-cal-title h2{font-size:15px}
  .bcm-cal-title>[data-today]{padding-inline:8px;font-size:11px}
  .bcm-cal-title>[data-prev],.bcm-cal-title>[data-next]{font-size:19px;padding-inline:8px}
  .bcm-cal-tools{gap:5px}
  .bcm-view-switch{gap:2px;padding:2px}
  .bcm-view-switch button{font-size:9px;padding:4px 6px}
  .bcm-cal-tools>[data-create]{font-size:10px;padding:5px 8px}
  .bcm-cal-rail{gap:5px}
  .bcm-rail-section{gap:4px}.bcm-rail-section+.bcm-rail-section{padding-left:5px}
  .bcm-cal-toggle{padding:3px 5px}.bcm-cal-toggle input{width:14px;height:14px}.bcm-cal-toggle i{width:7px;height:7px}
  .bcm-rail-section>button{font-size:0;width:32px;min-width:32px;padding:4px;overflow:hidden}
  .bcm-rail-section>button::first-letter{font-size:14px}
  .bcm-month-grid{grid-template-rows:repeat(6,minmax(68px,1fr));min-height:408px}
  .bcm-day-cell{padding:3px 2px;overflow:hidden}
  .bcm-event-chip{height:13px;min-height:13px;padding:0 2px;border:0;background:transparent;justify-content:center;overflow:visible}
  .bcm-event-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--event);display:block}
  .bcm-event-chip>*{display:none!important}
  .bcm-more{font-size:8px;padding:0 1px;white-space:nowrap}
  .bcm-agenda-event{grid-template-columns:4px 58px minmax(0,1fr);gap:7px;padding:10px 2px}.bcm-agenda-event em{display:none}
}

/* Layout refinement: readable utility rail at chat-pane widths */
@container bcmcalendar (min-width: 621px) and (max-width: 980px){
  .bcm-cal-rail{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:5px;overflow:hidden;padding:7px 10px}
  .bcm-rail-section{width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:0!important;border:0!important}
  .bcm-rail-section::-webkit-scrollbar{display:none}
  .bcm-rail-section>[data-calendars]{display:flex;align-items:center;gap:8px;min-width:max-content}
}
@container bcmcalendar (max-width: 620px){
  .bcm-cal-rail{display:flex;overflow-x:auto;overflow-y:hidden}
  .bcm-rail-section{width:auto;overflow:visible}
}

/* Calendar Layout Audit + Dialog Repair — Batch 15 */
/* Main calendar fills the available panel instead of leaving a dead area below Month view. */
.bcm-cal-main{display:flex;flex-direction:column;min-height:0}
.bcm-cal-body{flex:1 1 auto;height:100%;min-height:100%}
.bcm-month{display:flex;flex-direction:column;min-height:100%;height:100%}
.bcm-month-grid{flex:1 1 auto}

/* Period first, navigation second: easier to scan on desktop and in chat panes. */
.bcm-cal-title h2{order:0;margin:0 8px 0 0;line-height:1.2}
.bcm-cal-title>[data-prev],.bcm-cal-title>[data-next]{width:36px;min-width:36px;padding-inline:0!important}
.bcm-cal-title>[data-today]{white-space:nowrap}

/* Keyboard focus must remain visible across compact navigation and dialogs. */
.bcm-calendar :is(button,input,select,textarea):focus-visible,
.bcm-cal-dialog :is(button,input,select,textarea):focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 75%,white);outline-offset:2px}

/* All calendar dialogs are contained by their own rounded surface. */
.bcm-cal-dialog{box-sizing:border-box;max-width:calc(100vw - 24px);max-height:min(90dvh,900px);overflow:hidden}
.bcm-cal-dialog :is(article,form){box-sizing:border-box;min-width:0}

/* Composer-like windows: fixed header/footer with one intentional scrolling body. */
.bcm-event-form{display:flex;flex-direction:column;width:100%;max-height:min(90dvh,900px);min-height:0}
.bcm-event-form>header{flex:0 0 auto;background:var(--popup,var(--surface));position:relative;z-index:2}
.bcm-form-grid{flex:1 1 auto;min-height:0;max-height:none;overscroll-behavior:contain;scrollbar-gutter:stable}
.bcm-event-form>footer{flex:0 0 auto;flex-wrap:wrap;background:var(--popup,var(--surface));position:relative;z-index:2}
.bcm-event-form>header>div{min-width:0;padding-right:10px}
.bcm-event-form header h2{line-height:1.2;overflow-wrap:anywhere}

/* Event details: keep the whole event inside the modal, with sticky controls. */
.bcm-detail-dialog{overflow:hidden}
.bcm-detail-dialog article{display:flex;flex-direction:column;max-height:min(90dvh,900px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.bcm-detail-dialog article>header{position:sticky;top:0;z-index:6;background:var(--popup,var(--surface))}
.bcm-detail-dialog article>header>div{min-width:0;padding-right:12px}
.bcm-detail-dialog h2{line-height:1.22;overflow-wrap:anywhere}
.bcm-detail-dialog article>footer{position:sticky;bottom:0;z-index:6;flex-wrap:wrap;align-items:center;background:var(--popup,var(--surface));box-shadow:0 -8px 18px color-mix(in srgb,var(--foreground) 6%,transparent)}
.bcm-detail-time strong{font-size:13px}
.bcm-detail-dialog h3{font-size:12px}
.bcm-detail-dialog article>p,.bcm-detail-dialog article>section,.bcm-detail-dialog article>details{font-size:13px}
.bcm-rsvp{flex-wrap:wrap}
.bcm-attendees>span{max-width:100%;min-width:0}
.bcm-attendees b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Notification window previously missed the common dialog chrome entirely. */
.bcm-cal-notifications{width:min(680px,calc(100vw - 24px));overflow:hidden}
.bcm-cal-notifications article{width:100%;max-height:min(86dvh,780px);display:flex;flex-direction:column;min-width:0}
.bcm-cal-notifications article>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:17px 18px;border-bottom:1px solid var(--border);background:var(--popup,var(--surface));flex:0 0 auto}
.bcm-cal-notifications article>header>div{min-width:0}.bcm-cal-notifications article>header small{display:block;font-size:9px;letter-spacing:.12em;color:var(--muted-foreground)}.bcm-cal-notifications article>header h2{margin:2px 0 0;font-size:20px;line-height:1.2}
.bcm-cal-notifications article>header button{border:0;background:transparent;color:inherit;font-size:23px;line-height:1;min-width:30px;min-height:30px;border-radius:8px;cursor:pointer}
.bcm-notification-list{flex:1 1 auto;min-height:0;max-height:none;padding:12px 16px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.bcm-cal-notifications article>footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--border);background:var(--popup,var(--surface));flex:0 0 auto}
.bcm-cal-notifications article>footer button{border:1px solid var(--border);background:var(--surface);color:var(--foreground);border-radius:10px;min-height:34px;padding:6px 11px;font:inherit;cursor:pointer}

/* Purpose-sized secondary windows instead of making every dialog 760px wide. */
.bcm-storage-picker-dialog{width:min(660px,calc(100vw - 24px))}
.bcm-reminder-dialog{width:min(480px,calc(100vw - 24px))}
.bcm-suggest-dialog,.bcm-settings-dialog{width:min(620px,calc(100vw - 24px))}
.bcm-reminder-dialog .bcm-reminder-options{padding:16px 18px 8px}
.bcm-reminder-dialog .bcm-assistant-note{margin:0;padding:0 18px 14px;line-height:1.45}

@container bcmcalendar (max-width: 620px){
  .bcm-cal-title h2{margin-right:5px;min-width:0}
  .bcm-cal-title>[data-prev],.bcm-cal-title>[data-next]{width:32px;min-width:32px}
  .bcm-month-grid{min-height:408px}
}

@media(max-width:620px){
  .bcm-cal-dialog{width:calc(100vw - 16px);max-width:none;max-height:calc(100dvh - 16px);border-radius:16px}
  .bcm-event-form,.bcm-detail-dialog article,.bcm-cal-notifications article{max-height:calc(100dvh - 18px)}
  .bcm-event-form>header,.bcm-detail-dialog article>header{padding:14px 15px}
  .bcm-event-form header h2,.bcm-detail-dialog h2{font-size:18px}
  .bcm-form-grid{padding:14px 15px;gap:11px}
  .bcm-event-form>footer{padding:10px 15px}
  .bcm-detail-dialog article>p,.bcm-detail-dialog article>section,.bcm-detail-dialog article>details,.bcm-detail-time{padding:11px 15px}
  .bcm-detail-dialog article>footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px 12px}
  .bcm-detail-dialog article>footer button{width:100%;min-width:0;min-height:40px;padding:7px 8px;white-space:normal;line-height:1.2}
  .bcm-detail-dialog footer [data-scheduled-call],.bcm-detail-dialog footer [data-suggest-time]{grid-column:1/-1}
  .bcm-rsvp span{flex:0 0 100%;margin:0 0 2px}
  .bcm-rsvp button{flex:1 1 80px;min-width:0}
  .bcm-file-row{grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto auto}
  .bcm-file-row>em{grid-column:2;grid-row:3;margin-top:3px;white-space:normal}
  .bcm-linked-tasks>span{grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto}.bcm-linked-tasks small{grid-column:2}
  .bcm-cal-notifications article>header{padding:14px 15px}.bcm-cal-notifications article>header h2{font-size:18px}
  .bcm-notification-list{padding:10px 12px}
  .bcm-cal-notifications article>footer{padding:10px 12px}.bcm-cal-notifications article>footer button{flex:1 1 auto}
  .bcm-reminder-dialog .bcm-reminder-options{padding:13px 15px 7px}.bcm-reminder-dialog .bcm-assistant-note{padding:0 15px 12px}
}
/* Phone host must remain a 2-row grid; the old viewport media rule used display:block and left dead space below Month view. */
@media(max-width:620px){
  .bcm-cal-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-height:0}
  .bcm-cal-main{min-height:0;height:100%}
  .bcm-cal-body,.bcm-month{height:100%;min-height:100%}
  .bcm-month-grid{height:100%}
}


/* Calendar Layout Fix Batch 16 — modal consistency, safe-area behavior and semantic navigation */
html:has(.bcm-cal-dialog[open]){scrollbar-gutter:stable}
body:has(.bcm-cal-dialog[open]){overflow:hidden;overscroll-behavior:none}
.bcm-cal-title{min-width:0}.bcm-cal-title h2{flex:0 1 auto}.bcm-cal-title>[data-prev],.bcm-cal-title>[data-next]{font-size:22px;line-height:1}.bcm-cal-title>[data-today]{font-size:12px}
.bcm-cal-dialog{max-height:calc(100dvh - 24px)}.bcm-cal-dialog::backdrop{overscroll-behavior:none}
.bcm-storage-picker-dialog::backdrop{background:rgba(15,20,16,.22);backdrop-filter:blur(1px)}
.bcm-input-dialog,.bcm-confirm-dialog{width:min(480px,calc(100vw - 24px))}
.bcm-simple-form-grid{grid-template-columns:minmax(0,1fr);max-height:none}
.bcm-dialog-copy{padding:18px 20px;line-height:1.5;color:var(--foreground)}.bcm-dialog-copy p{margin:0;color:var(--muted-foreground);font-size:13px}
.bcm-danger-fill{background:#9f4242!important;border-color:#9f4242!important;color:#fff!important}
.bcm-color-control{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center}.bcm-color-control input[type="color"]{width:48px;height:38px;padding:3px;cursor:pointer}.bcm-color-control output{display:flex;align-items:center;min-height:38px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:var(--background);font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}
.bcm-series-dialog article{max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
@media(max-width:620px){
  .bcm-cal-dialog{max-height:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));margin-top:max(8px,env(safe-area-inset-top,0px));margin-bottom:max(8px,env(safe-area-inset-bottom,0px))}
  .bcm-input-dialog,.bcm-confirm-dialog{width:calc(100vw - 16px)}
  .bcm-dialog-copy{padding:15px}
  .bcm-input-dialog .bcm-event-form>footer,.bcm-confirm-dialog .bcm-event-form>footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .bcm-input-dialog .bcm-event-form>footer button,.bcm-confirm-dialog .bcm-event-form>footer button{width:100%;min-width:0;min-height:40px;white-space:normal}
  .bcm-series-dialog article>header{position:sticky;top:0;z-index:2;background:var(--popup,var(--surface))}
  .bcm-series-options{padding:10px;gap:7px}.bcm-series-options>button{min-height:58px;padding:10px}
}


/* Calendar Layout Fix Batch 17 — dense cells, overlap lanes and compact controls */
/* Timed events that overlap now share the day column instead of covering one another. */
.bcm-time-event{box-sizing:border-box;min-width:0}
.bcm-time-event[data-overlap]:hover,.bcm-time-event[data-overlap]:focus-visible{z-index:7;box-shadow:0 7px 20px color-mix(in srgb,var(--foreground) 13%,transparent)}
.bcm-time-event[data-overlap="2"] strong,.bcm-time-event[data-overlap="3"] strong{font-size:9px}
.bcm-time-event[data-overlap="3"] small{display:none}

/* Search remains reachable when the toolbar collapses into a narrow chat panel. */
@container bcmcalendar (max-width:760px){
  .bcm-cal-tools{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"views create" "search search"}
  .bcm-view-switch{grid-area:views}
  .bcm-cal-tools>[data-create]{grid-area:create}
  .bcm-search{grid-area:search;display:flex!important;width:100%;min-width:0;min-height:34px}
  .bcm-search input{width:100%;min-width:0;font-size:11px}
}
@container bcmcalendar (max-width:420px){
  .bcm-cal-toolbar{gap:7px}
  .bcm-cal-tools{grid-template-columns:minmax(0,1fr) auto;gap:5px}
  .bcm-view-switch button{padding-inline:5px}
  .bcm-search{min-height:32px;padding-inline:8px}
}

/* Phone tool buttons use explicit symbols; do not rely on ::first-letter rendering. */
@container bcmcalendar (max-width:620px){
  .bcm-rail-section>button[data-mobile-icon]{font-size:0;display:inline-flex;align-items:center;justify-content:center;gap:2px}
  .bcm-rail-section>button[data-mobile-icon]::before{content:attr(data-mobile-icon);font-size:14px;line-height:1}
  .bcm-rail-section>button[data-calendar-notifications] [data-cal-unread]{font-size:10px;line-height:1;min-width:16px;height:16px;padding:0 3px;margin-left:1px}
}

/* Tiny Month cells use one compact dot cluster rather than four stacked mini rows. */
@container bcmcalendar (max-width:620px){
  .bcm-day-cell>.bcm-day-events{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:center;gap:2px;padding:2px 1px 0;min-width:0}
  .bcm-day-cell>.bcm-day-events .bcm-event-chip{flex:0 0 8px;width:8px;height:8px;min-height:8px;margin:0;padding:0;border:0;border-radius:50%;background:transparent}
  .bcm-day-cell>.bcm-day-events .bcm-event-chip::before{width:7px;height:7px;flex:0 0 7px}
  .bcm-day-cell>.bcm-day-events .bcm-more{flex:0 0 auto;margin:0;padding:1px 2px;line-height:1;font-weight:600;border-radius:5px}
  .bcm-day-cell>.bcm-day-events .bcm-more-word{display:none}
}


/* Calendar Hybrid Redesign — Batch 18
   HONOR-inspired mobile hierarchy + Google Calendar-inspired desktop structure. */
.bcm-calendar-hybrid{--cal-radius:16px;--cal-soft:color-mix(in srgb,var(--surface) 86%,var(--background));--cal-hover:color-mix(in srgb,var(--primary) 8%,transparent);background:var(--background)}
.bcm-calendar-hybrid .bcm-cal-toolbar{flex:0 0 auto;min-height:64px;padding:10px 18px;gap:16px;flex-wrap:nowrap;background:var(--background);border-bottom:1px solid var(--border)}
.bcm-calendar-hybrid .bcm-cal-title{flex:1 1 auto;min-width:0;gap:12px}
.bcm-calendar-hybrid .bcm-cal-title h2{font-size:24px;font-weight:650;letter-spacing:-.025em;min-width:0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bcm-period-nav{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.bcm-calendar-hybrid .bcm-period-nav button{border:0;background:transparent;min-height:36px;border-radius:18px;padding:0 11px}
.bcm-calendar-hybrid .bcm-period-nav [data-prev],.bcm-calendar-hybrid .bcm-period-nav [data-next]{width:36px;min-width:36px;padding:0;font-size:22px}
.bcm-calendar-hybrid .bcm-period-nav button:hover{background:var(--cal-hover)}
.bcm-calendar-hybrid .bcm-cal-tools{flex:0 1 auto;gap:10px;min-width:0;justify-content:flex-end}
.bcm-calendar-hybrid .bcm-search{height:38px;min-height:38px;border:0;background:var(--cal-soft);border-radius:20px;padding:0 13px;transition:box-shadow .15s ease,background .15s ease}
.bcm-calendar-hybrid .bcm-search:focus-within{background:var(--surface);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 24%,transparent)}
.bcm-calendar-hybrid .bcm-search input{width:168px}
.bcm-calendar-hybrid .bcm-view-switch{border:0;border-radius:18px;padding:3px;background:var(--cal-soft);gap:1px}
.bcm-calendar-hybrid .bcm-view-switch button{min-height:32px;border-radius:15px;padding:5px 10px;font-size:11px;color:var(--muted-foreground)}
.bcm-calendar-hybrid .bcm-view-switch button[aria-pressed="true"]{background:var(--surface);color:var(--foreground);box-shadow:0 1px 4px color-mix(in srgb,var(--foreground) 10%,transparent)}
.bcm-calendar-hybrid .bcm-cal-layout{grid-template-columns:236px minmax(0,1fr);background:var(--background)}
.bcm-calendar-hybrid .bcm-cal-rail{padding:16px 14px 18px;background:var(--background);border-right:1px solid var(--border)}
.bcm-rail-create{width:max-content;min-width:112px!important;min-height:44px!important;border:0!important;border-radius:22px!important;padding:0 18px!important;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 3px 12px color-mix(in srgb,var(--primary) 20%,transparent);margin-bottom:16px}
.bcm-rail-create span{font-size:19px;line-height:1}.bcm-rail-create b{font-size:12px}
.bcm-calendar-hybrid .bcm-mini{padding:4px 2px 8px}
.bcm-calendar-hybrid .bcm-mini>strong{font-size:13px;font-weight:650;margin:0 0 10px 5px}
.bcm-calendar-hybrid .bcm-mini-week span{font-size:9px}
.bcm-calendar-hybrid .bcm-mini-grid{gap:3px}
.bcm-calendar-hybrid .bcm-mini-grid button{height:27px;min-height:27px;border-radius:50%;font-size:10px}
.bcm-calendar-hybrid .bcm-mini-grid button.today{box-shadow:none}
.bcm-calendar-hybrid .bcm-rail-section{margin-top:13px;padding-top:13px;gap:5px}
.bcm-calendar-hybrid .bcm-rail-head strong,.bcm-calendar-hybrid .bcm-rail-section>strong{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}
.bcm-calendar-hybrid .bcm-cal-toggle{min-height:31px;padding:5px 7px;border-radius:9px;font-size:11px}.bcm-calendar-hybrid .bcm-cal-toggle:hover{background:var(--cal-hover)}
.bcm-calendar-hybrid .bcm-cal-toggle i{width:10px;height:10px}
.bcm-calendar-hybrid .bcm-tool-section>button{min-height:31px!important;padding:5px 7px!important;border:0!important;border-radius:9px!important;background:transparent!important;font-size:10px!important;color:var(--muted-foreground)!important}.bcm-calendar-hybrid .bcm-tool-section>button:hover{background:var(--cal-hover)!important;color:var(--foreground)!important}
.bcm-calendar-hybrid .bcm-cal-main{background:var(--surface);border-radius:18px 0 0 0;overflow:hidden}
.bcm-calendar-hybrid .bcm-cal-strip{min-height:50px;padding:7px 14px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,var(--primary));gap:10px}
.bcm-calendar-hybrid .bcm-strip-label{min-width:70px}.bcm-calendar-hybrid .bcm-strip-label small{font-size:8px}.bcm-calendar-hybrid .bcm-strip-label strong{font-size:12px}
.bcm-calendar-hybrid .bcm-strip-items>button{min-width:136px;max-width:210px;border:0;border-left:3px solid var(--event);border-radius:10px;background:var(--background);padding:6px 9px;box-shadow:0 1px 3px color-mix(in srgb,var(--foreground) 7%,transparent)}
.bcm-calendar-hybrid .bcm-cal-body{background:var(--surface)}
.bcm-calendar-hybrid .bcm-week-head{height:38px;background:var(--surface)}
.bcm-calendar-hybrid .bcm-week-head span{font-size:10px;font-weight:600;letter-spacing:.02em}
.bcm-calendar-hybrid .bcm-month-grid{min-height:630px;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(96px,1fr));background:var(--border);gap:1px}
.bcm-calendar-hybrid .bcm-day-cell{border:0;background:var(--surface);padding:7px 7px 5px;transition:background .12s ease}.bcm-calendar-hybrid .bcm-day-cell:hover{background:color-mix(in srgb,var(--surface) 95%,var(--primary))}
.bcm-calendar-hybrid .bcm-day-cell.outside{background:color-mix(in srgb,var(--surface) 94%,var(--muted));opacity:.74}
.bcm-calendar-hybrid .bcm-day-cell.today{box-shadow:none}
.bcm-calendar-hybrid .bcm-day-num{display:flex;align-items:center;justify-content:center;width:28px!important;height:28px;min-height:28px!important;border-radius:50%!important;font-size:11px;font-weight:600;margin:0 0 4px auto}
.bcm-calendar-hybrid .bcm-day-cell.today .bcm-day-num{background:var(--primary)!important;color:var(--primary-foreground)!important}
.bcm-calendar-hybrid .bcm-event-chip{min-height:21px;border:0;border-left:3px solid var(--event);border-radius:5px;padding:3px 5px;background:color-mix(in srgb,var(--event) 12%,var(--surface));margin:2px 0}.bcm-calendar-hybrid .bcm-event-chip:hover{background:color-mix(in srgb,var(--event) 20%,var(--surface))}
.bcm-calendar-hybrid .bcm-event-chip span{font-size:10px;font-weight:550}.bcm-calendar-hybrid .bcm-event-chip i{font-size:8px}
.bcm-calendar-hybrid .bcm-more{font-size:9px;font-weight:600;color:var(--primary)}
.bcm-calendar-hybrid .bcm-time-head,.bcm-calendar-hybrid .bcm-all-day{background:var(--surface)}
.bcm-calendar-hybrid .bcm-time-head>button{border-left:1px solid var(--border)}
.bcm-calendar-hybrid .bcm-time-head button strong{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:50%;font-size:15px}
.bcm-calendar-hybrid .bcm-time-head button:hover strong{background:var(--cal-hover)}
.bcm-calendar-hybrid .bcm-day-column{background:var(--surface)}
.bcm-calendar-hybrid .bcm-time-event{border:0;border-left:4px solid var(--event);border-radius:7px;background:color-mix(in srgb,var(--event) 16%,var(--surface));box-shadow:0 1px 2px color-mix(in srgb,var(--foreground) 6%,transparent)}
.bcm-calendar-hybrid .bcm-agenda{max-width:940px;padding:24px}.bcm-calendar-hybrid .bcm-agenda section>header{font-weight:650;font-size:13px}.bcm-calendar-hybrid .bcm-agenda-event{border-radius:10px;border-bottom:0;margin:3px 0;padding:11px 9px}.bcm-calendar-hybrid .bcm-agenda-event:hover{background:var(--cal-hover)}
.bcm-calendar-hybrid .bcm-year{gap:14px;padding:18px}.bcm-calendar-hybrid .bcm-year section{border:0;background:var(--background);border-radius:14px;box-shadow:inset 0 0 0 1px var(--border)}
.bcm-mobile-fab{display:none;position:absolute;right:18px;bottom:18px;width:52px;height:52px;border-radius:50%!important;border:0!important;padding:0!important;font-size:25px!important;z-index:15;box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 30%,transparent)}

/* Softer HONOR-style event windows while retaining BCM's form controls. */
.bcm-cal-dialog{border:0;border-radius:24px;box-shadow:0 28px 90px rgba(0,0,0,.28)}
.bcm-event-form>header,.bcm-detail-dialog article>header,.bcm-cal-notifications article>header{padding:18px 20px;border-bottom:0;background:var(--popup,var(--surface))}
.bcm-event-form>header small,.bcm-detail-dialog article>header small,.bcm-cal-notifications article>header small{letter-spacing:.1em}
.bcm-form-grid{padding:4px 18px 18px;gap:8px;background:var(--popup,var(--surface))}
.bcm-form-grid>label,.bcm-form-grid>fieldset{border:0;border-radius:14px;background:var(--cal-soft);padding:10px 12px}
.bcm-form-grid>label>input,.bcm-form-grid>label>select,.bcm-form-grid>label>textarea{border:0;background:transparent;border-radius:8px;padding-left:0;padding-right:0;box-shadow:none}
.bcm-event-form>footer,.bcm-detail-dialog article>footer,.bcm-cal-notifications article>footer{border-top:0;background:var(--popup,var(--surface));padding:12px 18px 18px}
.bcm-detail-dialog article>p,.bcm-detail-dialog article>section,.bcm-detail-dialog article>details,.bcm-detail-time{margin-inline:18px;border-radius:14px;border-color:transparent;background:var(--cal-soft)}

@container bcmcalendar (max-width:980px){
  .bcm-calendar-hybrid .bcm-cal-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
  .bcm-calendar-hybrid .bcm-cal-main{border-radius:0}
  .bcm-calendar-hybrid .bcm-cal-rail{display:flex;align-items:center;gap:8px;padding:7px 10px;border-right:0;border-bottom:1px solid var(--border);overflow-x:auto;white-space:nowrap}
  .bcm-calendar-hybrid .bcm-rail-create{display:none}
  .bcm-calendar-hybrid .bcm-mini{display:none}
  .bcm-calendar-hybrid .bcm-rail-section{display:flex;align-items:center;gap:7px;border:0;margin:0;padding:0;min-width:max-content}
  .bcm-calendar-hybrid .bcm-rail-section+.bcm-rail-section{border-left:1px solid var(--border);padding-left:8px}
  .bcm-calendar-hybrid .bcm-rail-section>[data-calendars]{display:flex;gap:5px}
  .bcm-calendar-hybrid .bcm-cal-toggle{display:inline-flex;background:var(--cal-soft)}
  .bcm-calendar-hybrid .bcm-tool-section>button{border:1px solid var(--border)!important;background:var(--background)!important}
}

@container bcmcalendar (max-width:760px){
  .bcm-calendar-hybrid .bcm-cal-toolbar{display:grid;grid-template-columns:minmax(0,1fr);padding:10px 12px 8px;gap:8px}
  .bcm-calendar-hybrid .bcm-cal-title{width:100%;display:flex;justify-content:space-between;gap:8px}
  .bcm-calendar-hybrid .bcm-cal-title h2{font-size:21px;order:0;flex:1}
  .bcm-calendar-hybrid .bcm-period-nav{order:1}
  .bcm-calendar-hybrid .bcm-period-nav [data-today]{font-size:10px;padding-inline:8px}
  .bcm-calendar-hybrid .bcm-cal-tools{width:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"views" "search";gap:6px}
  .bcm-calendar-hybrid .bcm-view-switch{grid-area:views;width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;border-radius:17px}
  .bcm-calendar-hybrid .bcm-view-switch button{min-width:0;padding-inline:4px;font-size:10px}
  .bcm-calendar-hybrid .bcm-search{grid-area:search;width:100%;min-height:34px;height:34px}
  .bcm-calendar-hybrid .bcm-search input{width:100%}
}

@container bcmcalendar (max-width:620px){
  .bcm-calendar-hybrid{position:relative;min-height:0}
  .bcm-calendar-hybrid .bcm-cal-toolbar{padding:11px 12px 7px;background:var(--surface)}
  .bcm-calendar-hybrid .bcm-cal-title h2{font-size:23px}
  .bcm-calendar-hybrid .bcm-period-nav{gap:1px}.bcm-calendar-hybrid .bcm-period-nav button{min-height:32px}.bcm-calendar-hybrid .bcm-period-nav [data-prev],.bcm-calendar-hybrid .bcm-period-nav [data-next]{width:30px;min-width:30px;font-size:20px}.bcm-calendar-hybrid .bcm-period-nav [data-today]{display:none}
  .bcm-calendar-hybrid .bcm-cal-tools{display:block}
  .bcm-calendar-hybrid .bcm-search{display:none!important}
  .bcm-calendar-hybrid .bcm-view-switch{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--cal-soft);border-radius:18px}
  .bcm-calendar-hybrid .bcm-view-switch button{min-height:31px;font-size:9px;border-radius:15px}
  .bcm-calendar-hybrid .bcm-cal-rail{display:none}
  .bcm-calendar-hybrid .bcm-cal-layout{grid-template-rows:minmax(0,1fr)}
  .bcm-calendar-hybrid .bcm-cal-strip{display:none}
  .bcm-calendar-hybrid .bcm-mobile-fab{display:flex;align-items:center;justify-content:center}
  .bcm-calendar-hybrid .bcm-cal-main{overflow:auto;background:var(--surface)}
  .bcm-calendar-hybrid .bcm-cal-body{height:auto;min-height:100%}
  .bcm-calendar-hybrid .bcm-month{height:auto;min-height:0;background:var(--surface)}
  .bcm-calendar-hybrid .bcm-week-head{height:32px;border-bottom:0;padding:0 6px}.bcm-calendar-hybrid .bcm-week-head span{font-size:9px}
  .bcm-calendar-hybrid .bcm-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,48px);min-height:288px;height:auto;background:transparent;gap:0;padding:0 6px 6px}
  .bcm-calendar-hybrid .bcm-day-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:48px;padding:1px 0;border:0;background:transparent!important;opacity:1!important;cursor:pointer;overflow:visible}
  .bcm-calendar-hybrid .bcm-day-cell.outside{opacity:.34!important}
  .bcm-calendar-hybrid .bcm-day-num{width:30px!important;height:30px;min-height:30px!important;margin:0;border-radius:50%!important;font-size:11px;font-weight:600}
  .bcm-calendar-hybrid .bcm-day-cell.selected .bcm-day-num{background:var(--primary)!important;color:var(--primary-foreground)!important}
  .bcm-calendar-hybrid .bcm-day-cell.today:not(.selected) .bcm-day-num{background:transparent!important;color:var(--primary)!important;box-shadow:inset 0 0 0 1.5px var(--primary)}
  .bcm-mobile-month-dots{height:9px;display:flex;align-items:center;justify-content:center;gap:2px;max-width:36px}.bcm-mobile-month-dots i{width:4px;height:4px;border-radius:50%;background:var(--event);display:block}.bcm-mobile-month-dots small{font-size:7px;line-height:1;color:var(--muted-foreground)}
  .bcm-mobile-day-agenda{border-top:1px solid var(--border);background:var(--background);padding:13px 12px 84px;min-height:210px}
  .bcm-mobile-day-agenda>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.bcm-mobile-day-agenda>header div{min-width:0}.bcm-mobile-day-agenda>header small{display:block;font-size:8px;letter-spacing:.13em;color:var(--muted-foreground)}.bcm-mobile-day-agenda h3{margin:2px 0 0;font-size:18px;line-height:1.2}.bcm-mobile-day-agenda h3 em{font-size:9px;font-style:normal;font-weight:600;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);padding:3px 6px;border-radius:8px;vertical-align:middle}
  .bcm-mobile-day-agenda>header button{border:0;background:var(--cal-soft);color:var(--foreground);border-radius:14px;padding:7px 10px;font:inherit;font-size:10px;cursor:pointer;white-space:nowrap}
  .bcm-mobile-day-list{display:grid;gap:6px}.bcm-mobile-day-event{width:100%;display:grid;grid-template-columns:4px minmax(0,1fr) 12px;align-items:center;gap:9px;border:0;border-radius:13px;background:var(--surface);color:inherit;padding:10px 11px;text-align:left;box-shadow:0 1px 3px color-mix(in srgb,var(--foreground) 7%,transparent);cursor:pointer}.bcm-mobile-day-event>i{width:4px;height:32px;border-radius:4px;background:var(--event)}.bcm-mobile-day-event span{display:grid;min-width:0;gap:2px}.bcm-mobile-day-event strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcm-mobile-day-event small{font-size:9px;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcm-mobile-day-event>b{font-size:18px;font-weight:400;color:var(--muted-foreground)}
  .bcm-mobile-day-empty{display:grid;place-items:center;text-align:center;min-height:104px;border-radius:14px;background:var(--surface);color:var(--muted-foreground)}.bcm-mobile-day-empty strong{font-size:12px;color:var(--foreground)}.bcm-mobile-day-empty span{font-size:10px;margin-top:-30px}
  .bcm-calendar-hybrid .bcm-time-view{min-width:0}.bcm-calendar-hybrid .bcm-hours{height:calc(100dvh - 190px);min-height:520px}
  .bcm-calendar-hybrid .bcm-agenda{padding:12px 10px 78px}.bcm-calendar-hybrid .bcm-year{padding:10px 8px 78px}
}


/* Batch 18 mobile search + HONOR-style overflow menu */
.bcm-mobile-more{display:none;position:relative}
.bcm-mobile-more>summary{list-style:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:18px;cursor:pointer;font-size:20px;color:var(--foreground)}
.bcm-mobile-more>summary::-webkit-details-marker{display:none}.bcm-mobile-more>summary:hover{background:var(--cal-hover)}
.bcm-mobile-more>div{position:absolute;right:0;top:42px;z-index:30;width:210px;padding:7px;border:1px solid var(--border);border-radius:14px;background:var(--popup,var(--surface));box-shadow:0 12px 34px rgba(0,0,0,.18);display:grid;gap:2px}
.bcm-mobile-more>div button{display:flex;align-items:center;gap:8px;min-height:38px;border:0;border-radius:9px;background:transparent;color:var(--foreground);font:inherit;font-size:11px;text-align:left;padding:7px 9px;cursor:pointer}.bcm-mobile-more>div button:hover{background:var(--cal-hover)}
.bcm-mobile-more em{margin-left:auto;font-style:normal;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--primary);color:var(--primary-foreground);font-size:9px;display:inline-flex;align-items:center;justify-content:center}
.bcm-mobile-more em[hidden]{display:none}
@container bcmcalendar (max-width:620px){
  .bcm-calendar-hybrid .bcm-cal-tools{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;grid-template-areas:"search views more";align-items:center;gap:5px;position:relative}
  .bcm-calendar-hybrid .bcm-search{grid-area:search;display:flex!important;width:36px;min-width:36px;height:34px;min-height:34px;padding:0 10px;overflow:hidden;z-index:12}
  .bcm-calendar-hybrid .bcm-search span{flex:0 0 auto;font-size:15px}.bcm-calendar-hybrid .bcm-search input{width:0;min-width:0;opacity:0;padding:0;transition:opacity .12s ease}
  .bcm-calendar-hybrid .bcm-search:focus-within{position:absolute;left:0;right:41px;width:auto;min-width:0;background:var(--surface);box-shadow:0 2px 14px rgba(0,0,0,.12)}
  .bcm-calendar-hybrid .bcm-search:focus-within input{width:100%;opacity:1;margin-left:7px}
  .bcm-calendar-hybrid .bcm-view-switch{grid-area:views}
  .bcm-calendar-hybrid .bcm-mobile-more{grid-area:more;display:block}
}

.bcm-mobile-menu-heading{display:block;padding:7px 8px 4px;font-size:8px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--muted-foreground)}
.bcm-mobile-calendar-filters{display:grid;gap:2px;padding-bottom:5px;border-bottom:1px solid var(--border)}
.bcm-mobile-calendar-filters .bcm-cal-toggle{display:grid;grid-template-columns:auto auto minmax(0,1fr);min-height:34px;padding:5px 8px;border-radius:8px;font-size:10px;white-space:normal}
.bcm-mobile-calendar-filters .bcm-cal-toggle:hover{background:var(--cal-hover)}


/* Calendar Hybrid Layout Audit — Batch 19
   Keep the Google/HONOR direction, remove inherited mid-width clutter. */
.bcm-toolbar-create{display:none;align-items:center;justify-content:center;gap:5px;white-space:nowrap;border-radius:18px!important;min-height:36px!important;padding:0 13px!important;font-size:11px!important}
.bcm-mobile-more>div{max-height:min(70dvh,520px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.bcm-mobile-day-empty{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.bcm-mobile-day-empty span{margin-top:0!important}

/* Chat-panel / tablet width: one clean calendar surface, no horizontal utility rail. */
@container bcmcalendar (min-width:621px) and (max-width:980px){
  .bcm-calendar-hybrid .bcm-cal-toolbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;padding:10px 14px;flex-wrap:initial}
  .bcm-calendar-hybrid .bcm-cal-title{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}
  .bcm-calendar-hybrid .bcm-cal-title h2{flex:1 1 auto;max-width:none;font-size:21px}
  .bcm-calendar-hybrid .bcm-cal-tools{width:100%;display:grid;grid-template-columns:minmax(150px,1fr) auto auto 36px;grid-template-areas:"search views create more";align-items:center;gap:7px;overflow:visible;padding:0}
  .bcm-calendar-hybrid .bcm-search{grid-area:search;width:100%;min-width:0;max-width:none}
  .bcm-calendar-hybrid .bcm-search input{width:100%;min-width:0}
  .bcm-calendar-hybrid .bcm-view-switch{grid-area:views;min-width:0}
  .bcm-calendar-hybrid .bcm-toolbar-create{grid-area:create;display:inline-flex}
  .bcm-calendar-hybrid .bcm-mobile-more{grid-area:more;display:block}
  .bcm-calendar-hybrid .bcm-cal-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
  .bcm-calendar-hybrid .bcm-cal-rail{display:none!important}
  .bcm-calendar-hybrid .bcm-cal-main{border-radius:0;min-width:0}
}

/* Smaller chat panel: keep views/action together, move search to a calm second row. */
@container bcmcalendar (min-width:621px) and (max-width:760px){
  .bcm-calendar-hybrid .bcm-cal-tools{grid-template-columns:minmax(0,1fr) auto 36px;grid-template-areas:"views create more" "search search search"}
  .bcm-calendar-hybrid .bcm-view-switch{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}
  .bcm-calendar-hybrid .bcm-view-switch button{min-width:0;padding-inline:5px;font-size:10px}
}

/* Phone: Create belongs to the floating action button, not the toolbar. */
@container bcmcalendar (max-width:620px){
  .bcm-calendar-hybrid .bcm-toolbar-create{display:none!important}
  .bcm-calendar-hybrid .bcm-cal-title{min-height:34px}
  .bcm-calendar-hybrid .bcm-cal-title h2{font-size:22px;line-height:1.12}
  .bcm-calendar-hybrid .bcm-mobile-more>div{max-height:min(68dvh,460px)}
  .bcm-calendar-hybrid .bcm-mobile-day-agenda{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}

/* Extremely narrow phones: preserve the period label and tappable nav arrows. */
@container bcmcalendar (max-width:360px){
  .bcm-calendar-hybrid .bcm-cal-toolbar{padding-inline:9px}
  .bcm-calendar-hybrid .bcm-cal-title{gap:4px}
  .bcm-calendar-hybrid .bcm-cal-title h2{font-size:20px}
  .bcm-calendar-hybrid .bcm-period-nav [data-prev],.bcm-calendar-hybrid .bcm-period-nav [data-next]{width:28px;min-width:28px}
  .bcm-calendar-hybrid .bcm-cal-tools{grid-template-columns:34px minmax(0,1fr) 34px;gap:4px}
  .bcm-calendar-hybrid .bcm-mobile-more>summary{width:34px;height:34px}
}

/* Calendar Hybrid Redesign Repair — Batch 20
   Desktop/tablet follows Google Calendar structure; phone keeps HONOR-style selected-day flow. */

/* A dialog is a dialog, not a page: always center it in the viewport. */
.bcm-cal-dialog[open]{
  position:fixed!important;
  inset:0!important;
  margin:auto!important;
  max-width:calc(100vw - 24px);
  max-height:calc(100dvh - 24px);
}
.bcm-composer-dialog{width:min(720px,calc(100vw - 40px));max-height:min(84dvh,820px)}
.bcm-composer-dialog .bcm-event-form{max-height:min(84dvh,820px)}

/* Google-style editor: clear controls, compact information density, prominent title. */
.bcm-composer-dialog .bcm-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:8px 22px 20px;background:var(--popup,var(--surface))}
.bcm-composer-dialog .bcm-form-grid>label{padding:0;background:transparent;border-radius:0;gap:6px;font-size:11px;color:var(--muted-foreground)}
.bcm-composer-dialog .bcm-form-grid>label>input,
.bcm-composer-dialog .bcm-form-grid>label>select,
.bcm-composer-dialog .bcm-form-grid>label>textarea{border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:10px;padding:10px 11px;font-size:13px;min-height:40px}
.bcm-composer-dialog .bcm-form-grid>label>textarea{min-height:82px}
.bcm-composer-dialog .bcm-title-field{padding:0 0 4px!important}
.bcm-composer-dialog .bcm-title-field>input{font-size:20px!important;font-weight:550;letter-spacing:-.015em;min-height:50px!important;border-width:0 0 1px!important;border-radius:0!important;background:transparent!important;padding:5px 2px 8px!important}
.bcm-composer-dialog .bcm-title-field>input::placeholder{color:var(--muted-foreground);opacity:.75}
.bcm-composer-dialog .bcm-custom-type[hidden]{display:none!important}
.bcm-composer-dialog fieldset{background:var(--cal-soft);border:0;border-radius:14px;padding:12px}
.bcm-composer-dialog .bcm-check{align-self:end;min-height:40px;padding:8px 2px!important;color:var(--foreground)!important}
.bcm-composer-dialog>form>header{padding:17px 22px 10px}
.bcm-composer-dialog>form>footer{padding:12px 22px 17px;box-shadow:0 -8px 18px color-mix(in srgb,var(--foreground) 4%,transparent)}
.bcm-composer-dialog>form>footer button{min-height:40px;border-radius:20px;padding-inline:18px}

/* Main calendar surface: desktop should read unmistakably like a calendar app. */
.bcm-calendar-hybrid{background:var(--surface);border-top:0;border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--border)}
.bcm-calendar-hybrid .bcm-cal-toolbar{min-height:64px;padding:10px 18px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:nowrap}
.bcm-calendar-hybrid .bcm-cal-title{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto}
.bcm-calendar-hybrid .bcm-period-nav{order:0;display:flex;align-items:center;gap:3px}
.bcm-calendar-hybrid .bcm-period-nav [data-today]{order:0;border:1px solid var(--border);border-radius:18px!important;padding:0 14px!important;min-height:36px!important;background:var(--surface)}
.bcm-calendar-hybrid .bcm-period-nav [data-prev]{order:1}
.bcm-calendar-hybrid .bcm-period-nav [data-next]{order:2}
.bcm-calendar-hybrid .bcm-cal-title h2{order:1;font-size:22px;font-weight:550;letter-spacing:-.02em;margin:0;min-width:0;flex:0 1 auto}
.bcm-calendar-hybrid .bcm-cal-tools{flex:0 1 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;overflow:visible}
.bcm-calendar-hybrid .bcm-search{min-width:170px;max-width:260px;flex:1 1 210px}
.bcm-calendar-hybrid .bcm-view-switch{flex:0 0 auto}
.bcm-calendar-hybrid .bcm-cal-layout{grid-template-columns:220px minmax(0,1fr);min-height:0;background:var(--surface)}
.bcm-calendar-hybrid .bcm-cal-rail{display:block;padding:14px 12px 18px;background:var(--surface);border-right:1px solid var(--border);overflow:auto}
.bcm-calendar-hybrid .bcm-rail-create{min-width:118px!important;min-height:44px!important;border-radius:22px!important}
.bcm-calendar-hybrid .bcm-cal-main{min-width:0;min-height:0;overflow:hidden;background:var(--surface);border-radius:0}
.bcm-calendar-hybrid .bcm-cal-body{height:auto;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;background:var(--surface)}
/* Google desktop does not insert a second “My day” strip above the grid. HONOR-style day focus is kept on phone. */
.bcm-calendar-hybrid .bcm-cal-strip{display:none!important}

/* Month: always render the full six-week calendar; scroll only when the host is genuinely short. */
.bcm-calendar-hybrid .bcm-month{height:100%;min-height:520px;background:var(--surface)}
.bcm-calendar-hybrid .bcm-week-head{position:sticky;top:0;z-index:3;height:34px;background:var(--surface);border-bottom:1px solid var(--border)}
.bcm-calendar-hybrid .bcm-week-head span{font-size:10px;font-weight:500;color:var(--muted-foreground)}
.bcm-calendar-hybrid .bcm-month-grid{flex:1 0 auto;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(78px,1fr));min-height:468px;height:calc(100% - 34px);gap:0;background:var(--surface);border-left:1px solid var(--border);border-top:1px solid var(--border)}
.bcm-calendar-hybrid .bcm-day-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:5px 6px;background:var(--surface)}
.bcm-calendar-hybrid .bcm-day-cell.outside{background:color-mix(in srgb,var(--surface) 97%,var(--muted));opacity:.58}
.bcm-calendar-hybrid .bcm-day-num{width:26px!important;height:26px;min-height:26px!important;margin:0 0 2px auto;font-size:11px;font-weight:500}
.bcm-calendar-hybrid .bcm-event-chip{min-height:20px;margin:1px 0;border-radius:4px;padding:2px 5px}
.bcm-calendar-hybrid .bcm-event-chip span{font-size:10px;font-weight:500}

/* Keep the sidebar at normal laptop/chat-panel widths so the layout still reads as Google Calendar. */
@container bcmcalendar (min-width:820px) and (max-width:1120px){
  .bcm-calendar-hybrid .bcm-cal-toolbar{display:flex;align-items:center;gap:10px;padding:9px 12px}
  .bcm-calendar-hybrid .bcm-cal-title{width:auto;justify-content:flex-start;gap:8px}
  .bcm-calendar-hybrid .bcm-cal-title h2{font-size:19px}
  .bcm-calendar-hybrid .bcm-cal-tools{width:auto;display:flex;gap:6px;min-width:0;margin-left:auto}
  .bcm-calendar-hybrid .bcm-search{width:145px;min-width:125px;max-width:170px;flex:0 1 170px}
  .bcm-calendar-hybrid .bcm-search input{width:100%}
  .bcm-calendar-hybrid .bcm-view-switch button{padding-inline:7px;font-size:10px}
  .bcm-calendar-hybrid .bcm-toolbar-create{display:none!important}
  .bcm-calendar-hybrid .bcm-mobile-more{display:block}
  .bcm-calendar-hybrid .bcm-cal-layout{grid-template-columns:184px minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important}
  .bcm-calendar-hybrid .bcm-cal-rail{display:block!important;padding:12px 10px 16px!important;border-right:1px solid var(--border)!important;border-bottom:0!important;overflow:auto!important;white-space:normal!important}
  .bcm-calendar-hybrid .bcm-rail-create{display:inline-flex!important}
  .bcm-calendar-hybrid .bcm-mini{display:block!important}
  .bcm-calendar-hybrid .bcm-rail-section{display:grid!important;min-width:0!important;border-top:1px solid var(--border)!important;margin-top:12px!important;padding-top:12px!important}
  .bcm-calendar-hybrid .bcm-rail-section+.bcm-rail-section{border-left:0!important;padding-left:0!important}
  .bcm-calendar-hybrid .bcm-rail-section>[data-calendars]{display:grid!important;gap:2px!important}
  .bcm-calendar-hybrid .bcm-tool-section{display:none!important}
  .bcm-calendar-hybrid .bcm-cal-toggle{display:grid!important;background:transparent!important}
}

/* Compact tablet/chat width: hide the drawer, retain Google-like controls in two calm rows. */
@container bcmcalendar (min-width:621px) and (max-width:819px){
  .bcm-calendar-hybrid .bcm-cal-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:9px 12px}
  .bcm-calendar-hybrid .bcm-cal-title{width:100%;justify-content:flex-start}
  .bcm-calendar-hybrid .bcm-cal-title h2{font-size:20px}
  .bcm-calendar-hybrid .bcm-cal-tools{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto 36px;grid-template-areas:"search views create more";gap:6px}
  .bcm-calendar-hybrid .bcm-search{grid-area:search;min-width:0;max-width:none;width:100%}
  .bcm-calendar-hybrid .bcm-view-switch{grid-area:views}
  .bcm-calendar-hybrid .bcm-toolbar-create{grid-area:create;display:inline-flex}
  .bcm-calendar-hybrid .bcm-mobile-more{grid-area:more;display:block}
  .bcm-calendar-hybrid .bcm-cal-layout{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important}
  .bcm-calendar-hybrid .bcm-cal-rail{display:none!important}
}
@container bcmcalendar (min-width:621px) and (max-width:700px){
  .bcm-calendar-hybrid .bcm-cal-tools{grid-template-columns:minmax(0,1fr) auto 36px;grid-template-areas:"views create more" "search search search"}
  .bcm-calendar-hybrid .bcm-view-switch{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
}

/* HONOR-inspired phone: large month identity + selected-day schedule; keep the chrome quiet. */
@container bcmcalendar (max-width:620px){
  .bcm-calendar-hybrid{border-radius:0;box-shadow:none}
  .bcm-calendar-hybrid .bcm-cal-toolbar{padding:12px 12px 8px;gap:8px;background:var(--surface)}
  .bcm-calendar-hybrid .bcm-cal-title{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .bcm-calendar-hybrid .bcm-period-nav{order:1}
  .bcm-calendar-hybrid .bcm-period-nav [data-today]{display:none}
  .bcm-calendar-hybrid .bcm-cal-title h2{order:0;flex:1;font-size:24px;font-weight:600}
  .bcm-calendar-hybrid .bcm-cal-tools{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;grid-template-areas:"search views more";gap:5px}
  .bcm-calendar-hybrid .bcm-view-switch{grid-template-columns:repeat(4,minmax(0,1fr))}
  .bcm-calendar-hybrid .bcm-view-switch [data-view="year"]{display:none}
  .bcm-calendar-hybrid .bcm-mobile-year-option{display:flex!important}
  .bcm-calendar-hybrid .bcm-month{min-height:0;height:auto}
  .bcm-calendar-hybrid .bcm-month-grid{height:auto;min-height:288px;grid-template-rows:repeat(6,48px);border:0;padding:0 6px 6px}
  .bcm-calendar-hybrid .bcm-day-cell{border:0;padding:1px 0}
  .bcm-calendar-hybrid .bcm-week-head{position:static;border:0}
}
.bcm-mobile-year-option{display:none!important}
@container bcmcalendar (max-width:620px){.bcm-mobile-year-option{display:flex!important}}

/* Small viewport dialog stays centered too; no more top-left full-screen panel. */
@media(max-width:620px){
  .bcm-cal-dialog[open]{inset:0!important;margin:auto!important}
  .bcm-composer-dialog{width:min(560px,calc(100vw - 18px));max-width:calc(100vw - 18px);max-height:calc(100dvh - 18px);border-radius:20px}
  .bcm-composer-dialog .bcm-event-form{max-height:calc(100dvh - 18px)}
  .bcm-composer-dialog .bcm-form-grid{grid-template-columns:1fr;padding:6px 14px 16px;gap:10px}
  .bcm-composer-dialog .bcm-form-grid .span2{grid-column:1}
  .bcm-composer-dialog>form>header{padding:14px 15px 8px}
  .bcm-composer-dialog>form>footer{padding:10px 14px 14px}
  .bcm-composer-dialog .bcm-title-field>input{font-size:18px!important}
}
/* Batch 20 phone override must come after the desktop drawer rules. */
@container bcmcalendar (max-width:620px){
  .bcm-calendar-hybrid .bcm-cal-layout{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important}
  .bcm-calendar-hybrid .bcm-cal-rail{display:none!important}
  .bcm-calendar-hybrid .bcm-cal-main{width:100%;min-width:0;overflow:auto}
  .bcm-calendar-hybrid .bcm-cal-body{width:100%;min-width:0}
}


/* Calendar Week/Day structural repair — Batch 21
   One vertical timeline scroller, no horizontal spreadsheet scrollbars. */
.bcm-calendar-hybrid.bcm-time-mode .bcm-cal-main{
  min-height:0;
  overflow:hidden;
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-cal-body{
  height:100%;
  min-height:0;
  overflow:hidden;
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-time-view{
  width:100%;
  min-width:0;
  height:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:var(--surface);
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-time-head,
.bcm-calendar-hybrid.bcm-time-mode .bcm-all-day{
  flex:0 0 auto;
  position:relative;
  top:auto;
  width:100%;
  min-width:0;
  grid-template-columns:56px repeat(var(--cols,7),minmax(0,1fr));
  background:var(--surface);
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-time-head{
  min-height:58px;
  z-index:4;
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-time-head>button{
  min-width:0;
  padding:7px 3px 8px;
  border-left:1px solid var(--border);
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-time-head small{
  font-size:10px;
  font-weight:500;
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-time-head strong{
  margin-top:3px;
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-all-day{
  z-index:3;
  min-height:36px;
  max-height:88px;
  overflow-y:auto;
  overflow-x:hidden;
  border-bottom:1px solid var(--border);
  scrollbar-width:thin;
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-all-day>span{
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  padding:9px 7px 0 2px;
  white-space:nowrap;
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-all-day>div{
  min-width:0;
  padding:3px 4px;
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-hours{
  flex:1 1 auto;
  width:100%;
  min-width:0;
  min-height:0;
  height:auto;
  overflow-y:auto;
  overflow-x:hidden;
  grid-template-columns:56px repeat(var(--cols,7),minmax(0,1fr));
  scrollbar-width:thin;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-hour-labels span{
  right:7px;
  font-size:9px;
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-day-column{
  min-width:0;
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-time-event{
  min-width:0;
  padding:4px 5px;
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-time-event strong,
.bcm-calendar-hybrid.bcm-time-mode .bcm-time-event small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* On a narrower calendar panel, give the timeline the width before sacrificing columns. */
@container bcmcalendar (max-width:1180px){
  .bcm-calendar-hybrid.bcm-time-mode .bcm-cal-layout{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .bcm-calendar-hybrid.bcm-time-mode .bcm-cal-rail{
    display:none!important;
  }
}

/* Compact Week becomes a useful 3-day timeline before columns get crushed. */
@container bcmcalendar (max-width:980px){
  .bcm-calendar-hybrid.bcm-time-mode .bcm-cal-toolbar{
    padding-inline:12px;
  }
}

/* Mini calendar: show where the visible view is, not only today's date. */
.bcm-calendar-hybrid .bcm-mini-grid button.in-view:not(.today){
  background:var(--cal-hover);
}
.bcm-calendar-hybrid .bcm-mini-grid button.selected:not(.today){
  box-shadow:inset 0 0 0 1.5px var(--primary);
  color:var(--foreground);
}
.bcm-calendar-hybrid .bcm-mini-grid button.today.selected{
  box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent);
}

/* The Create action must remain obvious when the desktop rail is visible. */
@container bcmcalendar (min-width:1181px){
  .bcm-calendar-hybrid .bcm-rail-create{display:inline-flex!important}
}

/* Phone / narrow timeline keeps one usable scroll surface as well. */
@container bcmcalendar (max-width:620px){
  .bcm-calendar-hybrid.bcm-time-mode .bcm-cal-body{height:100%;min-height:0;overflow:hidden}
  .bcm-calendar-hybrid.bcm-time-mode .bcm-time-view{height:100%;min-height:0}
  .bcm-calendar-hybrid.bcm-time-mode .bcm-time-head,
  .bcm-calendar-hybrid.bcm-time-mode .bcm-all-day,
  .bcm-calendar-hybrid.bcm-time-mode .bcm-hours{
    grid-template-columns:48px repeat(var(--cols,1),minmax(0,1fr));
  }
  .bcm-calendar-hybrid.bcm-time-mode .bcm-time-head{min-height:52px}
}

/* Calendar Week/Day full-week + time-format repair — Batch 22 */
.bcm-calendar-hybrid.bcm-time-mode .bcm-time-head,
.bcm-calendar-hybrid.bcm-time-mode .bcm-all-day{
  grid-template-columns:76px repeat(var(--cols,7),minmax(0,1fr));
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-hours{
  grid-template-columns:76px repeat(var(--cols,7),minmax(0,1fr));
}
.bcm-time-axis-head{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:5px 4px;
  color:var(--muted-foreground);
  border-right:0;
}
.bcm-time-axis-head>span{
  font-size:10px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.bcm-time-axis-head>button{
  min-height:22px!important;
  height:22px;
  padding:1px 7px!important;
  border:1px solid var(--border)!important;
  border-radius:999px!important;
  background:var(--background)!important;
  color:var(--foreground)!important;
  font-size:9px!important;
  font-weight:650;
  line-height:1;
  cursor:pointer;
}
.bcm-time-axis-head>button:hover,
.bcm-time-axis-head>button:focus-visible{
  background:var(--cal-hover)!important;
  outline:none;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent);
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-hour-labels span{
  right:9px;
  max-width:62px;
  white-space:nowrap;
  text-align:right;
  font-variant-numeric:tabular-nums;
}

/* Explicit time-format controls in the calendar tools menus. */
.bcm-rail-time-format,
.bcm-time-format-menu{
  display:grid;
  gap:6px;
  min-width:0;
}
.bcm-rail-time-format>span,
.bcm-time-format-menu>span{
  color:var(--muted-foreground);
  font-size:10px;
  font-weight:650;
}
.bcm-time-format-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  padding:3px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--background);
}
.bcm-time-format-options>button{
  min-height:28px!important;
  padding:4px 6px!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:var(--muted-foreground)!important;
  font-size:9px!important;
  justify-content:center!important;
  text-align:center!important;
}
.bcm-time-format-options>button[aria-pressed="true"]{
  background:var(--surface)!important;
  color:var(--foreground)!important;
  box-shadow:0 1px 4px color-mix(in srgb,var(--foreground) 10%,transparent);
}
.bcm-mobile-more .bcm-time-format-menu{
  padding:7px 9px 8px;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  margin:3px 0;
}
.bcm-mobile-more .bcm-time-format-options>button{
  display:flex;
}

/* Week always means seven days. At normal desktop/tablet/chat-panel widths,
   all seven columns fit the available panel instead of silently becoming 3 days. */
@container bcmcalendar (min-width:621px){
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-time-view{
    overflow-x:hidden;
  }
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-time-head,
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-all-day,
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-hours{
    width:100%;
    min-width:0;
    grid-template-columns:76px repeat(7,minmax(0,1fr));
  }
}

/* On phones, keep all seven days too. The entire week scrolls horizontally
   as one coordinated surface rather than changing the meaning of Week. */
@container bcmcalendar (max-width:620px){
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-time-view{
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
  }
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-time-head,
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-all-day,
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-hours{
    width:700px;
    min-width:700px;
    grid-template-columns:64px repeat(7,minmax(90px,1fr));
  }
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-hours{
    overflow-y:auto;
    overflow-x:hidden;
  }
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-time-head,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-all-day,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-hours{
    width:100%;
    min-width:0;
    grid-template-columns:64px minmax(0,1fr);
  }
  .bcm-calendar-hybrid.bcm-time-mode .bcm-hour-labels span{right:7px;font-size:8px}
  .bcm-time-axis-head{padding-inline:2px}
  .bcm-time-axis-head>span{font-size:9px}
  .bcm-time-axis-head>button{padding-inline:5px!important;font-size:8px!important}
}

/* Calendar Week/Day mini-calendar rail — Batch 23
   Restore the Google-style date navigator without squeezing the timeline with the full utility rail. */
@container bcmcalendar (min-width:820px){
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-layout,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-layout{
    grid-template-columns:188px minmax(0,1fr)!important;
    grid-template-rows:minmax(0,1fr)!important;
  }

  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail{
    display:block!important;
    padding:14px 11px 16px!important;
    border-right:1px solid var(--border)!important;
    border-bottom:0!important;
    overflow:auto!important;
    white-space:normal!important;
    background:var(--surface)!important;
  }

  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail .bcm-mini,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail .bcm-mini{
    display:block!important;
  }

  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail .bcm-rail-create,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail .bcm-rail-create{
    display:inline-flex!important;
    width:100%;
    justify-content:center;
    margin-bottom:14px;
  }

  /* Week/Day needs a date navigator here, not the full management/tool stack. */
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail .bcm-rail-section,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail .bcm-rail-section,
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail>[data-file],
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail>[data-file]{
    display:none!important;
  }

  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-mini,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-mini{
    padding-top:2px;
  }
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-mini>strong,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-mini>strong{
    font-size:13px;
    font-weight:600;
    margin:0 2px 9px;
  }
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-mini-grid button,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-mini-grid button{
    min-height:25px;
    height:25px;
    border-radius:50%;
  }

  /* The visible week/day is the soft selection; today remains the strong filled date. */
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-mini-grid button.in-view:not(.today),
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-mini-grid button.in-view:not(.today){
    background:color-mix(in srgb,var(--primary) 10%,transparent);
  }
}

/* Below tablet width, prioritize the timeline. The mini calendar remains available
   through Month/date navigation rather than crushing seven Week columns. */
@container bcmcalendar (max-width:819px){
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-layout,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-layout{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail{
    display:none!important;
  }
}


/* Batch 25 — removable custom personal calendars */
.bcm-cal-toggle-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;position:relative}
.bcm-cal-toggle-row .bcm-cal-toggle{min-width:0}
.bcm-cal-toggle-row .bcm-cal-toggle span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bcm-cal-row-actions{position:relative}
.bcm-cal-row-actions>summary{list-style:none;width:28px;height:28px;border-radius:8px;color:var(--muted-foreground);display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;cursor:pointer;user-select:none}
.bcm-cal-row-actions>summary::-webkit-details-marker{display:none}
.bcm-cal-row-actions>summary:hover,.bcm-cal-row-actions>summary:focus-visible,.bcm-cal-row-actions[open]>summary{background:var(--cal-hover);color:var(--foreground);outline:none}
.bcm-cal-row-actions>div{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:138px;padding:5px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 12px 30px rgb(0 0 0 / .14)}
.bcm-cal-row-actions>div button{width:100%;border:0;border-radius:7px;background:transparent;color:#a33;text-align:left;padding:8px 9px;font:inherit;cursor:pointer;white-space:nowrap}
.bcm-cal-row-actions>div button:hover,.bcm-cal-row-actions>div button:focus-visible{background:color-mix(in srgb,#b33 10%,transparent);outline:none}
.bcm-mobile-calendar-filters .bcm-cal-toggle-row{grid-template-columns:minmax(0,1fr) auto}
.bcm-mobile-calendar-filters .bcm-cal-row-actions>summary{width:30px;height:30px}
@media(max-width:980px){.bcm-calendar-hybrid .bcm-rail-section>[data-calendars] .bcm-cal-toggle-row{display:inline-grid;grid-template-columns:auto auto;min-width:max-content}.bcm-calendar-hybrid .bcm-rail-section>[data-calendars] .bcm-cal-row-actions>summary{width:26px;height:26px;font-size:16px}}
@media(max-width:620px){.bcm-mobile-calendar-filters .bcm-cal-toggle-row{width:100%;display:grid}.bcm-mobile-calendar-filters .bcm-cal-toggle-row .bcm-cal-toggle{display:grid!important}.bcm-mobile-calendar-filters .bcm-cal-row-actions>div{right:0;min-width:150px}}


/* Batch 26 — calmer event composer + filterable Schedule view */
.bcm-composer-dialog{width:min(760px,calc(100vw - 40px))}
.bcm-composer-dialog .bcm-composer-grid{align-content:start;gap:12px}
.bcm-composer-dialog .bcm-when-section{border:1px solid var(--border);background:var(--cal-soft);border-radius:14px;padding:12px 13px}
.bcm-composer-dialog .bcm-when-section>legend{font-size:11px;font-weight:650;color:var(--foreground);padding:0 5px}
.bcm-when-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;align-items:end}
.bcm-when-grid>label{display:grid;gap:6px;color:var(--muted-foreground);font-size:11px}
.bcm-when-grid input{width:100%}
.bcm-when-grid .bcm-all-day-check{align-self:center;padding-top:17px!important;color:var(--foreground)!important}
.bcm-form-section{border:1px solid var(--border)!important;border-radius:14px!important;background:var(--popup,var(--surface))!important;padding:0!important;overflow:hidden}
.bcm-form-section[hidden]{display:none!important}
.bcm-form-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:10px 13px;cursor:pointer;user-select:none;color:var(--foreground)}
.bcm-form-section>summary::-webkit-details-marker{display:none}
.bcm-form-section>summary:hover,.bcm-form-section>summary:focus-visible{background:var(--cal-hover);outline:none}
.bcm-form-section>summary>span{display:grid;gap:2px;min-width:0}
.bcm-form-section>summary b{font-size:12px;font-weight:650}
.bcm-form-section>summary small{font-size:10px;color:var(--muted-foreground);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bcm-form-section>summary>i{font-style:normal;color:var(--muted-foreground);transition:transform .16s ease}
.bcm-form-section[open]>summary>i{transform:rotate(180deg)}
.bcm-form-section[open]>summary{border-bottom:1px solid var(--border)}
.bcm-section-content{padding:13px;display:grid;gap:12px}
.bcm-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.bcm-section-grid>label,.bcm-section-content>label{display:grid;gap:6px;font-size:11px;color:var(--muted-foreground)}
.bcm-section-grid>.span2{grid-column:1/-1}
.bcm-field-help{display:block;margin-top:1px;color:var(--muted-foreground);font-size:9px;line-height:1.4;font-weight:400}
.bcm-repeat-options{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;padding-top:2px}
.bcm-repeat-options[hidden],[data-repeat-interval][hidden]{display:none!important}
.bcm-repeat-inline{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:center}
.bcm-repeat-inline input{width:100%}
.bcm-composer-dialog .bcm-reminders{gap:8px}
.bcm-composer-dialog .bcm-reminders label{border:1px solid var(--border);border-radius:999px;padding:7px 10px;background:var(--background);color:var(--foreground);font-size:10px}
.bcm-composer-dialog .bcm-invite-box [data-people]{max-height:170px}
.bcm-composer-dialog .bcm-attachment-box [data-attachments]{display:flex;flex-wrap:wrap;gap:6px}
.bcm-composer-dialog .bcm-assistant-note{margin:0;color:var(--muted-foreground)}

.bcm-agenda-shell{min-width:0}
.bcm-agenda-filterbar{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(10px)}
.bcm-agenda-filterbar>div:first-child{display:grid;gap:1px}.bcm-agenda-filterbar>div:first-child>strong{font-size:14px}.bcm-agenda-filterbar>div:first-child>small{font-size:10px;color:var(--muted-foreground)}
.bcm-agenda-filters{position:relative}.bcm-agenda-filters>summary{list-style:none;display:flex;align-items:center;gap:6px;min-height:34px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--background);font-size:11px;font-weight:600;cursor:pointer}.bcm-agenda-filters>summary::-webkit-details-marker{display:none}.bcm-agenda-filters>summary span{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;background:var(--primary);color:var(--primary-foreground);font-size:9px}
.bcm-agenda-filter-panel{position:absolute;right:0;top:calc(100% + 7px);z-index:30;width:min(330px,calc(100vw - 28px));display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--popup,var(--surface));box-shadow:0 16px 42px rgb(0 0 0 / .16)}
.bcm-agenda-filter-panel>label{display:grid;gap:5px;font-size:10px;color:var(--muted-foreground)}.bcm-agenda-filter-panel select{width:100%;min-height:38px;border:1px solid var(--border);border-radius:10px;background:var(--background);color:var(--foreground);padding:7px 9px;font:inherit;font-size:11px}.bcm-agenda-filter-panel .bcm-filter-check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:8px;color:var(--foreground);padding:4px 0}.bcm-agenda-filter-panel .bcm-filter-check input{width:16px;height:16px}.bcm-agenda-filter-panel>button{min-height:36px}
.bcm-calendar-hybrid .bcm-agenda-shell>.bcm-agenda{padding-top:16px}

@container bcmcalendar (max-width:620px){
  .bcm-composer-dialog{width:min(560px,calc(100vw - 18px))}
  .bcm-when-grid,.bcm-section-grid,.bcm-repeat-options{grid-template-columns:1fr}
  .bcm-when-grid .bcm-all-day-check{padding-top:2px!important}
  .bcm-form-section>summary{min-height:52px;padding:9px 11px}
  .bcm-section-content{padding:11px}
  .bcm-agenda-filterbar{padding:10px 11px}
  .bcm-agenda-filterbar>div:first-child>small{display:none}
  .bcm-agenda-filter-panel{position:fixed;left:9px;right:9px;top:auto;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;max-height:min(72dvh,520px);overflow:auto}
}

/* Batch 27 — organised calendar sources + complete mobile view switch */
.bcm-calendar-organizer{display:grid;gap:6px;margin:8px 0 10px;min-width:0}
.bcm-calendar-list-search{display:flex;align-items:center;gap:6px;min-height:34px;padding:0 8px;border:1px solid var(--border);border-radius:10px;background:var(--background);color:var(--muted-foreground)}
.bcm-calendar-list-search>span{font-size:13px;flex:0 0 auto}
.bcm-calendar-list-search>input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--foreground);font:inherit;font-size:10px}
.bcm-calendar-organizer>select{width:100%;min-width:0;min-height:34px;border:1px solid var(--border);border-radius:10px;background:var(--background);color:var(--foreground);padding:5px 8px;font:inherit;font-size:10px}
.bcm-calendar-list-group{display:grid;gap:2px;margin:0 0 9px;min-width:0}
.bcm-calendar-list-group:last-child{margin-bottom:0}
.bcm-calendar-list-group>h4{margin:4px 2px 3px;font-size:8px;line-height:1.2;letter-spacing:.10em;text-transform:uppercase;color:var(--muted-foreground);font-weight:700}
.bcm-calendar-list-empty{padding:12px 4px;color:var(--muted-foreground);font-size:10px;text-align:center}
.bcm-calendar-section>[data-calendars]{display:grid;gap:0}
.bcm-mobile-calendar-filters .bcm-calendar-list-group{margin-bottom:7px;padding-bottom:6px;border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent)}
.bcm-mobile-calendar-filters .bcm-calendar-list-group:last-child{border-bottom:0;padding-bottom:0}
.bcm-mobile-calendar-filters .bcm-calendar-list-group>h4{padding:2px 6px;margin:1px 0 2px}
.bcm-calendar-organizer-mobile{padding:2px 5px 8px;margin:0;border-bottom:1px solid var(--border)}
.bcm-mobile-more>div{width:min(270px,calc(100vw - 24px))}

/* All five calendar views are first-class choices on phone.
   Search and More live on the first compact row; views get the full second row. */
@container bcmcalendar (max-width:620px){
  .bcm-calendar-hybrid .bcm-cal-tools{
    display:grid!important;
    grid-template-columns:36px minmax(0,1fr) 36px!important;
    grid-template-areas:"search spacer more" "views views views"!important;
    row-gap:7px!important;
    column-gap:5px!important;
    width:100%!important;
    overflow:visible!important;
  }
  .bcm-calendar-hybrid .bcm-search{grid-area:search!important}
  .bcm-calendar-hybrid .bcm-mobile-more{grid-area:more!important;justify-self:end}
  .bcm-calendar-hybrid .bcm-view-switch{
    grid-area:views!important;
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:2px!important;
    overflow:visible!important;
  }
  .bcm-calendar-hybrid .bcm-view-switch button{
    display:block!important;
    min-width:0!important;
    padding:5px 2px!important;
    font-size:9px!important;
    white-space:nowrap;
  }
  .bcm-calendar-hybrid .bcm-view-switch [data-view="year"]{display:block!important}
  .bcm-mobile-year-option{display:none!important}
  .bcm-calendar-organizer-mobile{display:grid!important}
  .bcm-mobile-calendar-filters{padding-top:5px}
}

@container bcmcalendar (max-width:360px){
  .bcm-calendar-hybrid .bcm-view-switch button{font-size:8px!important;padding-inline:1px!important}
}

/* Batch 28 — schedule filter clarity */
.bcm-filter-panel-title{display:grid;gap:2px;padding:1px 1px 4px}
.bcm-filter-panel-title strong{font-size:13px;color:var(--foreground)}
.bcm-filter-panel-title small{font-size:10px;line-height:1.35;color:var(--muted-foreground)}
.bcm-filter-panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:2px}
.bcm-filter-panel-actions button{min-height:38px}
.bcm-agenda-filter-panel .bcm-primary{border:1px solid var(--primary);border-radius:10px;background:var(--primary);color:var(--primary-foreground);font:inherit;font-size:11px;font-weight:600;cursor:pointer}
@media (max-width:620px){.bcm-filter-panel-actions{position:sticky;bottom:-12px;margin:2px -12px -12px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--popup,var(--surface));border-top:1px solid var(--border)}}

/* Batch 29 schedule filter simplification */
.bcm-agenda-filter-panel select:disabled{opacity:.55;cursor:not-allowed}
.bcm-filter-note{display:block;margin-top:-4px;color:var(--muted,#6f7c73);font-size:.78rem;line-height:1.35}

/* Batch 31 — desktop calendar list cleanup + stable composer accordions */
/* Desktop keeps the grouped calendar list clean. Search/category organization remains in the mobile More menu. */
.bcm-cal-rail .bcm-calendar-section>.bcm-calendar-organizer{display:none!important}

/* Replace native <details> composer sections with explicit buttons to avoid browser/layout glitches. */
.bcm-composer-dialog .bcm-form-section{display:block!important;min-width:0}
.bcm-composer-dialog .bcm-form-section-toggle{
  width:100%;min-height:56px;padding:10px 13px;border:0!important;border-radius:0!important;
  display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;
  background:transparent!important;color:var(--foreground)!important;box-shadow:none!important;
}
.bcm-composer-dialog .bcm-form-section-toggle:hover,
.bcm-composer-dialog .bcm-form-section-toggle:focus-visible{background:var(--cal-hover)!important;outline:none}
.bcm-composer-dialog .bcm-form-section-toggle>span{display:grid;gap:2px;min-width:0}
.bcm-composer-dialog .bcm-form-section-toggle b{font-size:12px;font-weight:650}
.bcm-composer-dialog .bcm-form-section-toggle small{font-size:10px;color:var(--muted-foreground);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bcm-composer-dialog .bcm-form-section-toggle>i{font-style:normal;color:var(--muted-foreground);transition:transform .16s ease}
.bcm-composer-dialog .bcm-form-section[data-open="true"]>.bcm-form-section-toggle{border-bottom:1px solid var(--border)!important}
.bcm-composer-dialog .bcm-form-section[data-open="true"]>.bcm-form-section-toggle>i{transform:rotate(180deg)}
.bcm-composer-dialog [data-section-content][hidden]{display:none!important}

/* Keep All-day as a normal option, not a fifth grid cell. */
.bcm-composer-dialog .bcm-when-section{display:block!important}
.bcm-composer-dialog .bcm-all-day-check{
  display:inline-flex!important;align-items:center!important;gap:8px!important;width:max-content;
  margin:0 0 10px;padding:7px 10px!important;border:1px solid var(--border);border-radius:999px;
  background:var(--background);color:var(--foreground)!important;font-size:11px
}
.bcm-composer-dialog .bcm-all-day-check input{width:16px;height:16px;margin:0;flex:0 0 auto}
.bcm-composer-dialog .bcm-all-day-check span{white-space:nowrap}
.bcm-composer-dialog .bcm-when-grid{align-items:start}
.bcm-composer-dialog .bcm-when-grid>[hidden]{display:none!important}
.bcm-composer-dialog .bcm-when-section.is-all-day .bcm-when-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Schedule rows explicitly show their source (for example, Group · Hmm). */
.bcm-agenda-event>span>small{line-height:1.35;white-space:normal;overflow-wrap:anywhere}

@container bcmcalendar (max-width:620px){
  .bcm-composer-dialog .bcm-form-section-toggle{min-height:52px;padding:9px 11px}
  .bcm-composer-dialog .bcm-all-day-check{margin-bottom:9px}
  .bcm-composer-dialog .bcm-when-section.is-all-day .bcm-when-grid{grid-template-columns:1fr}
}

/* Batch 32 — type visibility, BCM date picker, clean month-event rows */
.bcm-composer-dialog .bcm-date-field{
  width:100%;min-height:42px;padding:8px 10px!important;border:1px solid var(--border)!important;
  border-radius:10px!important;background:var(--background)!important;color:var(--foreground)!important;
  display:flex!important;align-items:center;justify-content:space-between;gap:10px;text-align:left;
  font:inherit;cursor:pointer;box-shadow:none!important
}
.bcm-composer-dialog .bcm-date-field:hover,
.bcm-composer-dialog .bcm-date-field:focus-visible{
  border-color:color-mix(in srgb,var(--primary) 65%,var(--border))!important;
  outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 14%,transparent)!important
}
.bcm-composer-dialog .bcm-date-field>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--foreground)}
.bcm-composer-dialog .bcm-date-field>i{font-style:normal;color:var(--muted-foreground);font-size:14px;flex:0 0 auto}

.bcm-date-picker-dialog{width:min(390px,calc(100vw - 24px));max-height:min(620px,calc(100dvh - 24px));padding:0;border-radius:18px;overflow:hidden}
.bcm-date-picker-dialog .bcm-date-picker{display:flex;flex-direction:column;min-height:0;background:var(--popup,var(--surface))}
.bcm-date-picker-dialog .bcm-date-picker>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 17px 10px;border-bottom:1px solid var(--border)}
.bcm-date-picker-dialog .bcm-date-picker>header small{display:block;font-size:9px;letter-spacing:.12em;color:var(--muted-foreground)}
.bcm-date-picker-dialog .bcm-date-picker>header h2{margin:2px 0 0;font-size:18px}
.bcm-date-picker-dialog .bcm-date-picker>header button{border:0;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer}
.bcm-date-picker-nav{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:8px;padding:11px 14px 7px}
.bcm-date-picker-nav strong{text-align:center;font-size:13px;font-weight:650}
.bcm-date-picker-nav button{width:34px;height:34px;border:1px solid var(--border);border-radius:50%;background:var(--background);color:inherit;font-size:22px;line-height:1;cursor:pointer}
.bcm-date-picker-week,.bcm-date-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding-inline:14px}
.bcm-date-picker-week{padding-top:4px;padding-bottom:4px}
.bcm-date-picker-week span{text-align:center;font-size:9px;color:var(--muted-foreground);font-weight:600}
.bcm-date-picker-grid{padding-bottom:12px}
.bcm-date-picker-grid button{aspect-ratio:1;border:0;border-radius:50%;background:transparent;color:var(--foreground);font:inherit;font-size:11px;cursor:pointer}
.bcm-date-picker-grid button:hover,.bcm-date-picker-grid button:focus-visible{background:var(--cal-hover);outline:none}
.bcm-date-picker-grid button.outside{opacity:.36}
.bcm-date-picker-grid button.today{box-shadow:inset 0 0 0 1.5px var(--primary)}
.bcm-date-picker-grid button.selected{background:var(--primary);color:var(--primary-foreground);box-shadow:none}
.bcm-date-picker-grid button:disabled{opacity:.2;cursor:not-allowed;background:transparent}
.bcm-date-picker-dialog .bcm-date-picker>footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px 14px;border-top:1px solid var(--border)}
.bcm-date-picker-dialog .bcm-date-picker>footer button{min-height:34px;padding:6px 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--foreground);font:inherit;cursor:pointer}
.bcm-date-picker-dialog .bcm-date-picker>footer [data-date-today]{margin-right:auto}

/* Month cells must never leak event rows into the next week. Keep rows simple and readable. */
.bcm-calendar-hybrid .bcm-day-events{min-height:0;max-height:62px;overflow:hidden}
.bcm-calendar-hybrid .bcm-event-chip{height:20px;min-height:20px!important;margin:1px 0;padding:2px 5px;border-left:3px solid var(--event);gap:3px;overflow:hidden}
.bcm-calendar-hybrid .bcm-event-chip span{display:block!important;min-width:0;font-size:10px;line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bcm-calendar-hybrid .bcm-event-chip>i{display:none!important}
.bcm-calendar-hybrid .bcm-event-chip.readonly{opacity:1}
.bcm-calendar-hybrid .bcm-event-chip.continuation{background:color-mix(in srgb,var(--event) 9%,var(--surface))}
.bcm-calendar-hybrid .bcm-more{display:block;min-height:16px!important;height:16px;padding:0 4px!important;margin:1px 0;border:0!important;background:transparent!important;font-size:9px;line-height:15px;text-align:left;white-space:nowrap}

@container bcmcalendar (min-width:621px) and (max-width:1099px){
  .bcm-calendar-hybrid .bcm-day-events{max-height:58px}
}
@media(max-width:620px){
  .bcm-date-picker-dialog{width:min(380px,calc(100vw - 18px));max-height:calc(100dvh - 18px)}
  .bcm-date-picker-week,.bcm-date-picker-grid{padding-inline:10px}
  .bcm-date-picker-dialog .bcm-date-picker>footer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
}
.bcm-composer-dialog .bcm-date-field:disabled{opacity:.5;cursor:not-allowed;background:var(--muted)!important;box-shadow:none!important}


/* Batch 33 — calendar colour personalisation, bulk visibility, schedule source filter, mobile grid/filter repair */
.bcm-calendar-bulk{display:flex;align-items:center;gap:6px;margin:0 0 8px;padding:0 0 8px;border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent)}
.bcm-calendar-bulk button{min-height:28px!important;padding:4px 8px!important;border:1px solid var(--border)!important;border-radius:999px!important;background:var(--background)!important;color:var(--foreground)!important;font-size:9px!important;cursor:pointer}
.bcm-calendar-bulk button:hover{background:var(--cal-hover)!important}
.bcm-cal-toggle{grid-template-columns:auto auto minmax(0,1fr)!important;cursor:default}
.bcm-cal-toggle>span{cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bcm-cal-colour-dot{width:14px!important;height:14px!important;min-height:14px!important;min-width:14px!important;padding:0!important;border:2px solid var(--surface)!important;border-radius:50%!important;background:var(--dot)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--dot) 70%,var(--border));cursor:pointer!important}
.bcm-cal-colour-dot:hover,.bcm-cal-colour-dot:focus-visible{transform:scale(1.12);outline:2px solid color-mix(in srgb,var(--primary) 30%,transparent);outline-offset:2px}
.bcm-colour-dialog{width:min(430px,calc(100vw - 24px));max-height:min(680px,calc(100dvh - 24px))}
.bcm-colour-editor{display:grid;gap:14px;padding:16px 18px;overflow:auto}
.bcm-colour-preview{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--background)}
.bcm-colour-preview i{width:28px;height:28px;border-radius:50%;background:var(--preview);box-shadow:0 0 0 1px color-mix(in srgb,var(--preview) 60%,var(--border))}
.bcm-colour-preview span{font-size:12px;font-weight:600}
.bcm-colour-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}
.bcm-colour-palette button{aspect-ratio:1;min-height:0!important;padding:0!important;border:2px solid var(--surface)!important;border-radius:50%!important;background:var(--swatch)!important;box-shadow:0 0 0 1px var(--border)}
.bcm-colour-editor>label{display:grid;gap:6px;font-size:10px;color:var(--muted-foreground)}
.bcm-colour-editor>label>div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px}
.bcm-colour-editor input[type="color"]{width:52px;height:42px;padding:3px;border:1px solid var(--border);border-radius:10px;background:var(--background)}
.bcm-colour-editor input[type="text"]{min-width:0;height:42px;border:1px solid var(--border);border-radius:10px;background:var(--background);color:var(--foreground);padding:0 10px;font:inherit;text-transform:uppercase}
.bcm-type-colour-dialog{width:min(520px,calc(100vw - 24px));max-height:min(760px,calc(100dvh - 24px))}
.bcm-type-colour-list{display:grid;gap:2px;padding:12px 16px;overflow:auto}
.bcm-type-colour-list>button{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:42px!important;padding:7px 9px!important;border:0!important;border-radius:10px!important;background:transparent!important;text-align:left}
.bcm-type-colour-list>button:hover{background:var(--cal-hover)!important}
.bcm-type-colour-list i{width:16px;height:16px;border-radius:50%;background:var(--type);box-shadow:0 0 0 1px color-mix(in srgb,var(--type) 65%,var(--border))}
.bcm-type-colour-list span{font-size:11px}.bcm-type-colour-list b{font-size:9px;color:var(--muted-foreground);font-weight:500}

.bcm-agenda-filter-actions{display:flex;align-items:center;gap:8px}
.bcm-schedule-source-quick{display:flex;align-items:center;gap:6px;min-height:34px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:var(--background)}
.bcm-schedule-source-quick>span{font-size:9px;color:var(--muted-foreground)}
.bcm-schedule-source-quick select{border:0;outline:0;background:transparent;color:var(--foreground);font:inherit;font-size:10px;max-width:120px}
.bcm-agenda-event .bcm-agenda-source{font-weight:650;color:var(--event)}
.bcm-agenda-event>em{background:color-mix(in srgb,var(--type) 14%,var(--surface))!important;color:var(--type)!important;border:1px solid color-mix(in srgb,var(--type) 22%,transparent)}

.bcm-schedule-filter-dialog{border:0;padding:0;margin:auto 0 0;width:100%;max-width:none;max-height:82dvh;border-radius:22px 22px 0 0;background:var(--popup,var(--surface));color:var(--foreground);box-shadow:0 -18px 55px rgba(0,0,0,.2)}
.bcm-schedule-filter-dialog::backdrop{background:rgba(20,28,24,.42);backdrop-filter:blur(2px)}
.bcm-schedule-filter-sheet{display:flex;flex-direction:column;max-height:82dvh;min-height:0}
.bcm-schedule-filter-sheet>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px 10px;border-bottom:1px solid var(--border)}
.bcm-schedule-filter-sheet>header small{display:block;font-size:8px;letter-spacing:.12em;color:var(--muted-foreground)}
.bcm-schedule-filter-sheet>header h2{margin:2px 0 0;font-size:18px}
.bcm-schedule-filter-sheet>header button{border:0;background:transparent;color:inherit;font-size:22px;cursor:pointer}
.bcm-schedule-filter-dialog .bcm-agenda-filter-panel{position:static!important;inset:auto!important;width:auto!important;max-height:none!important;overflow:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;flex:1;min-height:0;padding:14px 16px calc(14px + env(safe-area-inset-bottom))}
.bcm-schedule-filter-dialog .bcm-filter-panel-actions{position:sticky;bottom:calc(-14px - env(safe-area-inset-bottom));margin:4px -16px calc(-14px - env(safe-area-inset-bottom));padding:11px 16px calc(11px + env(safe-area-inset-bottom));background:var(--popup,var(--surface));border-top:1px solid var(--border)}

@container bcmcalendar (max-width:620px){
  .bcm-schedule-source-quick{display:none}
  .bcm-agenda-filters>.bcm-agenda-filter-panel{display:none!important}
  .bcm-month-mobile .bcm-week-head{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;height:34px!important;padding:0!important;border-top:1px solid var(--border)!important;border-bottom:1px solid var(--border)!important;background:var(--surface)!important}
  .bcm-month-mobile .bcm-week-head span{display:flex!important;align-items:center!important;justify-content:center!important;height:34px!important;padding:0!important;margin:0!important;font-size:9px!important;text-align:center!important}
  .bcm-month-mobile .bcm-month-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-template-rows:repeat(6,54px)!important;min-height:324px!important;height:auto!important;padding:0!important;gap:0!important;border-left:1px solid var(--border)!important;border-top:0!important;background:var(--surface)!important}
  .bcm-month-mobile .bcm-day-cell{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;min-width:0!important;min-height:54px!important;height:54px!important;padding:4px 1px 2px!important;border-right:1px solid var(--border)!important;border-bottom:1px solid var(--border)!important;background:var(--surface)!important;overflow:hidden!important}
  .bcm-month-mobile .bcm-day-cell.outside{background:color-mix(in srgb,var(--surface) 97%,var(--muted))!important;opacity:.46!important}
  .bcm-month-mobile .bcm-day-num{display:flex!important;align-items:center!important;justify-content:center!important;width:26px!important;height:26px!important;min-height:26px!important;margin:0 auto!important;padding:0!important}
  .bcm-month-mobile .bcm-mobile-month-dots{margin-top:2px!important;height:8px!important}
  .bcm-calendar-bulk{position:sticky;top:0;z-index:2;background:var(--popup,var(--surface));padding-top:4px}
  .bcm-cal-colour-dot{width:13px!important;height:13px!important;min-width:13px!important;min-height:13px!important}
}
@container bcmcalendar (max-width:620px){
  .bcm-agenda-event{grid-template-columns:4px 52px minmax(0,1fr) auto!important}
  .bcm-agenda-event>em{display:inline-flex!important;align-items:center;justify-content:center;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;padding:3px 6px;border-radius:999px}
}


/* BCM Calendar Batch 34 — month-cell event stack repair */
@media (min-width: 621px){
  .bcm-calendar-hybrid .bcm-month-grid{
    grid-template-rows:repeat(6,minmax(96px,1fr));
    min-height:576px;
  }
  .bcm-calendar-hybrid .bcm-day-cell{
    display:grid;
    grid-template-rows:24px minmax(0,1fr);
    align-content:stretch;
    overflow:hidden;
    min-height:96px;
  }
  .bcm-calendar-hybrid .bcm-day-num{
    align-self:start;
    justify-self:end;
    position:relative;
    z-index:1;
  }
  .bcm-calendar-hybrid .bcm-day-events{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-height:0;
    max-height:none;
    overflow:hidden;
    padding-top:1px;
  }
  .bcm-calendar-hybrid .bcm-day-events .bcm-event-chip{
    flex:0 0 18px;
    height:18px;
    min-height:18px!important;
    margin:0;
    padding:1px 5px;
  }
  .bcm-calendar-hybrid .bcm-day-events .bcm-event-chip span{
    font-size:10px;
    line-height:15px;
  }
  .bcm-calendar-hybrid .bcm-day-events .bcm-more{
    flex:0 0 15px;
    height:15px!important;
    min-height:15px!important;
    margin:0;
    padding:0 5px!important;
    line-height:15px;
    border-radius:5px;
    width:max-content;
    max-width:100%;
  }
  .bcm-calendar-hybrid .bcm-day-events .bcm-more:hover,
  .bcm-calendar-hybrid .bcm-day-events .bcm-more:focus-visible{
    background:color-mix(in srgb,var(--primary) 9%,transparent)!important;
  }
}

/* Batch 36 — release/cache repair + event type picker refinement */
.bcm-type-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}
.bcm-type-field>label{min-width:0}
.bcm-type-colour-button{min-height:36px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--foreground);padding:0 10px;font:inherit;font-size:10px;white-space:nowrap;cursor:pointer}
.bcm-type-colour-button:hover{background:var(--cal-hover)}
.bcm-other-type[hidden],.bcm-custom-type[hidden]{display:none!important}

/* On a real desktop, use the desktop calendar rail instead of the phone-style three-dot drawer. */
@media (min-width:901px){
  .bcm-main-calendar-host .bcm-mobile-more{display:none!important}
  .bcm-main-calendar-host .bcm-tool-section{display:grid!important}
}
@media (min-width:901px){
  @container bcmcalendar (min-width:621px) and (max-width:819px){
    .bcm-main-calendar-host .bcm-cal-layout{grid-template-columns:190px minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important}
    .bcm-main-calendar-host .bcm-cal-rail{display:block!important;padding:12px 10px 16px!important;border-right:1px solid var(--border)!important;border-bottom:0!important;overflow:auto!important;white-space:normal!important}
    .bcm-main-calendar-host .bcm-mini{display:none!important}
    .bcm-main-calendar-host .bcm-rail-section{display:grid!important;min-width:0!important}
    .bcm-main-calendar-host .bcm-cal-tools{grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-areas:"search views create"!important}
  }
}
@media (max-width:620px){
  .bcm-type-field{grid-template-columns:1fr}
  .bcm-type-colour-button{justify-self:start}
}

/* Batch 37 — schedule filter: Others -> created types + type colours */
.bcm-schedule-custom-type[hidden]{display:none!important}
.bcm-schedule-type-colours{width:100%;min-height:36px;display:flex;align-items:center;justify-content:center;gap:7px}

/* Batch 38 — custom Others type colours */
.bcm-type-colour-list{gap:12px!important}
.bcm-type-colour-section{display:grid;gap:2px}
.bcm-type-colour-section>h3,.bcm-type-colour-section-head h3{margin:0;padding:5px 8px 3px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground)}
.bcm-type-colour-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding-top:8px;margin-top:2px}
.bcm-type-colour-section-head>div{min-width:0}
.bcm-type-colour-section-head p{margin:0;padding:0 8px 5px;font-size:9px;color:var(--muted-foreground)}
.bcm-type-colour-section>button{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:42px!important;padding:7px 9px!important;border:0!important;border-radius:10px!important;background:transparent!important;text-align:left}
.bcm-type-colour-section>button:hover{background:var(--cal-hover)!important}
.bcm-type-colour-empty{margin:2px 8px 5px;padding:11px 12px;border:1px dashed var(--border);border-radius:10px;background:var(--cal-soft);font-size:10px;line-height:1.45;color:var(--muted-foreground)}
.bcm-custom-type-colour[hidden]{display:none!important}
.bcm-custom-type-colour-control{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px}
.bcm-custom-type-colour-control input[type="color"]{width:52px;height:40px;padding:3px!important;border:1px solid var(--border)!important;border-radius:10px!important;background:var(--background)!important}
.bcm-custom-type-colour-control output{display:flex;align-items:center;min-height:40px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:var(--background);color:var(--foreground);font-size:11px;font-weight:600}

/* BCM calendar release 40 */

/* Batch 39 — desktop room-calendar tools + Week/Day column alignment */
@media (min-width:901px){
  /* Room calendars use the same visible desktop tool rail as the main calendar.
     Do not collapse desktop controls into the phone three-dot menu. */
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-mobile-more{display:none!important}
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-cal-layout{
    grid-template-columns:200px minmax(0,1fr)!important;
    grid-template-rows:minmax(0,1fr)!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-cal-rail{
    display:block!important;
    padding:12px 10px 16px!important;
    border-right:1px solid var(--border)!important;
    border-bottom:0!important;
    overflow:auto!important;
    white-space:normal!important;
    background:var(--surface)!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-rail-create{display:inline-flex!important}
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-rail-section,
  .bcm-context-calendar-host .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail .bcm-rail-section,
  .bcm-context-calendar-host .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail .bcm-rail-section{
    display:grid!important;
    min-width:0!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-tool-section{display:grid!important}
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-cal-rail>[data-file]{display:none!important}
}

/* Week/Day: the scrollable hour grid loses the native scrollbar width, while the
   fixed date/all-day rows do not. Reserve the measured gutter so every vertical
   line stays on the exact same x-position. */
.bcm-calendar-hybrid.bcm-time-mode .bcm-time-head,
.bcm-calendar-hybrid.bcm-time-mode .bcm-all-day{
  box-sizing:border-box;
  padding-right:var(--bcm-time-scrollbar,0px);
}
.bcm-calendar-hybrid.bcm-time-mode .bcm-all-day{
  max-height:none;
  overflow-y:visible;
}


/* Batch 40 — keep the full desktop calendar rail available in every view.
   Earlier Week/Day rules intentionally hid Calendars + Tools. The user wants
   those controls to stay available when switching Month / Week / Day / Schedule / Year. */
@media (min-width:901px){
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-layout,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-layout{
    grid-template-columns:220px minmax(0,1fr)!important;
    grid-template-rows:minmax(0,1fr)!important;
  }
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail{
    display:block!important;
    padding:14px!important;
    border-right:1px solid var(--border)!important;
    border-bottom:0!important;
    overflow:auto!important;
    white-space:normal!important;
    background:var(--surface)!important;
  }
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail .bcm-mini,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail .bcm-mini{
    display:block!important;
  }
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail .bcm-rail-create,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail .bcm-rail-create{
    display:inline-flex!important;
  }
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail .bcm-rail-section,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail .bcm-rail-section,
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail .bcm-calendar-section,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail .bcm-calendar-section,
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail .bcm-tool-section,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail .bcm-tool-section{
    display:grid!important;
    min-width:0!important;
  }
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail>[data-file],
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail>[data-file]{
    display:none!important;
  }
}

/* BCM Calendar Batch 41 — rail containment, month +N more, and view isolation */
@media (min-width:901px){
  /* The room calendar rail must stay a vertical list even when its calendar host
     is narrow enough to trigger the older <=980px container rules. */
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-cal-rail{
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-calendar-section{
    min-width:0!important;
    width:100%!important;
    overflow:hidden!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-calendar-section>[data-calendars]{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:2px!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    white-space:normal!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-calendar-section .bcm-cal-toggle-row,
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-calendar-section .bcm-team-calendar-filter{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-calendar-section .bcm-team-calendar-filter{
    display:grid!important;
    gap:3px!important;
    margin:8px 0 0!important;
    padding-top:8px!important;
    border-top:1px solid var(--border)!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-calendar-section .bcm-team-calendar-filter h4{
    min-width:0!important;
    margin:0 7px 3px!important;
    font-size:9px!important;
    line-height:1.25!important;
    letter-spacing:.07em!important;
    text-transform:uppercase!important;
    color:var(--muted-foreground)!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-calendar-list-empty{
    min-width:0!important;
    max-width:100%!important;
    padding:5px 7px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
}

/* Month: +1 more / +2 more stays inside the square instead of becoming the
   fourth vertical row and getting clipped. The date remains top-right. */
@media (min-width:621px){
  .bcm-calendar-hybrid .bcm-day-cell{position:relative}
  .bcm-calendar-hybrid .bcm-day-events .bcm-more{
    position:absolute!important;
    top:8px!important;
    left:7px!important;
    right:auto!important;
    bottom:auto!important;
    z-index:3!important;
    display:inline-flex!important;
    align-items:center!important;
    width:auto!important;
    max-width:calc(100% - 44px)!important;
    min-height:20px!important;
    height:20px!important;
    padding:1px 6px!important;
    margin:0!important;
    border-radius:999px!important;
    background:color-mix(in srgb,var(--primary) 9%,var(--surface))!important;
    line-height:18px!important;
    font-size:9px!important;
    white-space:nowrap!important;
  }
  .bcm-calendar-hybrid .bcm-day-events .bcm-more:hover,
  .bcm-calendar-hybrid .bcm-day-events .bcm-more:focus-visible{
    background:color-mix(in srgb,var(--primary) 16%,var(--surface))!important;
  }
}

/* No hour-grid artifact may survive outside Week/Day. */
.bcm-calendar-hybrid:not(.bcm-time-mode) .bcm-time-view,
.bcm-calendar-hybrid[data-calendar-view="month"] .bcm-time-view,
.bcm-calendar-hybrid[data-calendar-view="agenda"] .bcm-time-view,
.bcm-calendar-hybrid[data-calendar-view="year"] .bcm-time-view{
  display:none!important;
}

/* BCM Calendar Batch 43 — room rail, composer, month and phone-week repair */

/* Desktop room calendars keep a real vertical rail with visible section labels.
   Older container rules hid the Tools label and could make calendar subsections
   look as though Import/Export belonged to Groups / Departments. */
@media (min-width:901px){
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-cal-layout{
    grid-template-columns:232px minmax(0,1fr)!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-cal-rail{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
    padding:14px 12px 18px!important;
    white-space:normal!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-rail-head,
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-rail-head strong,
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-rail-section>strong{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-rail-head{
    align-items:center!important;
    justify-content:space-between!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-rail-head strong,
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-rail-section>strong{
    width:auto!important;
    min-height:18px!important;
    margin:0 6px 4px!important;
    color:var(--muted-foreground)!important;
    font-size:9px!important;
    line-height:1.25!important;
    font-weight:700!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-calendar-section,
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-tool-section{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    gap:7px!important;
    overflow:visible!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-tool-section{
    margin-top:0!important;
    padding:12px 0 0!important;
    border-top:1px solid var(--border)!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-calendar-section>[data-calendars]{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    gap:5px!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-calendar-bulk{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    gap:6px!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-calendar-bulk button{
    min-width:0!important;
    padding-inline:8px!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-calendar-list-group{
    width:100%!important;
    min-width:0!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-calendar-list-group h4{
    margin:7px 6px 3px!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-team-calendar-filter{
    margin-top:8px!important;
    padding-top:10px!important;
    border-top:1px solid var(--border)!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-team-calendar-filter + *{
    margin-top:0!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-tool-section>button,
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-rail-time-format{
    width:100%!important;
    min-width:0!important;
  }
}

/* Composer accordions are real, readable controls. A native/global button rule
   was able to collapse these into bare horizontal lines in the room composer. */
.bcm-composer-dialog .bcm-form-section{
  display:block!important;
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  min-height:56px!important;
  height:auto!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:hidden!important;
  border:1px solid var(--border)!important;
  border-radius:14px!important;
  background:var(--popup,var(--surface))!important;
}
.bcm-composer-dialog .bcm-form-section[hidden]{display:none!important}
.bcm-composer-dialog .bcm-form-section-toggle{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  min-width:0!important;
  min-height:56px!important;
  height:auto!important;
  margin:0!important;
  padding:11px 13px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--foreground)!important;
  font:inherit!important;
  line-height:1.3!important;
  text-align:left!important;
  visibility:visible!important;
  opacity:1!important;
  box-shadow:none!important;
}
.bcm-composer-dialog .bcm-form-section-toggle>span{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:3px!important;
  min-width:0!important;
  color:var(--foreground)!important;
  visibility:visible!important;
  opacity:1!important;
}
.bcm-composer-dialog .bcm-form-section-toggle b{
  display:block!important;
  color:var(--foreground)!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.25!important;
  visibility:visible!important;
  opacity:1!important;
}
.bcm-composer-dialog .bcm-form-section-toggle small{
  display:block!important;
  color:var(--muted-foreground)!important;
  font-size:10px!important;
  font-weight:400!important;
  line-height:1.35!important;
  visibility:visible!important;
  opacity:1!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.bcm-composer-dialog .bcm-form-section-toggle>i{
  display:block!important;
  flex:0 0 auto!important;
  color:var(--muted-foreground)!important;
  font-size:15px!important;
  visibility:visible!important;
  opacity:1!important;
}
.bcm-composer-dialog .bcm-form-section[data-open="false"] .bcm-section-content{display:none!important}
.bcm-composer-dialog .bcm-form-section[data-open="true"] .bcm-section-content{display:grid!important}

/* Explicit room Event / Task chooser. */
.bcm-room-create-dialog{width:min(520px,calc(100vw - 24px));max-height:min(760px,calc(100dvh - 24px))}
.bcm-room-create-dialog .bcm-event-form{display:flex;flex-direction:column;max-height:min(760px,calc(100dvh - 24px))}
.bcm-room-create-options{display:grid;gap:8px;padding:14px 16px 16px;overflow:auto}
.bcm-room-create-options>p{margin:0 0 4px;color:var(--muted-foreground);font-size:11px;line-height:1.45}
.bcm-room-create-options>button{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
  min-height:58px!important;width:100%!important;padding:10px 12px!important;
  border:1px solid var(--border)!important;border-radius:13px!important;
  background:var(--background)!important;color:var(--foreground)!important;text-align:left!important;
}
.bcm-room-create-options>button:hover,.bcm-room-create-options>button:focus-visible{background:var(--cal-hover)!important}
.bcm-room-create-options>button>span{display:grid;gap:2px;min-width:0}
.bcm-room-create-options>button b{font-size:12px}
.bcm-room-create-options>button small{font-size:10px;color:var(--muted-foreground);font-weight:400;white-space:normal}
.bcm-room-create-options>button>i{font-style:normal;font-size:20px;color:var(--muted-foreground)}

/* Month is always a six-week matrix. Returning from Week/Day must not leave the
   Month canvas scrolled into the middle so that only dates 2–29 are visible. */
@media (min-width:621px){
  .bcm-calendar-hybrid[data-calendar-view="month"] .bcm-month{
    display:flex!important;
    flex-direction:column!important;
    min-height:610px!important;
    height:auto!important;
  }
  .bcm-calendar-hybrid[data-calendar-view="month"] .bcm-month-grid{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    grid-template-rows:repeat(6,minmax(88px,1fr))!important;
    min-height:528px!important;
    height:auto!important;
    flex:1 0 auto!important;
  }
}

/* Phone Week: horizontal swipes that start directly on the hour grid must reach
   the whole-week scroller, while vertical swipes continue to scroll time. */
@container bcmcalendar (max-width:620px){
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-time-view{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:auto!important;
    touch-action:pan-x pan-y!important;
    -webkit-overflow-scrolling:touch;
  }
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-hours{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior-y:contain!important;
    overscroll-behavior-x:auto!important;
    /* A swipe can begin on an empty hour cell and still move the parent week
       surface sideways; vertical swipes continue to move through the hours. */
    touch-action:pan-x pan-y!important;
  }
}

@media (max-width:620px){
  .bcm-room-create-dialog{width:calc(100vw - 18px);max-width:calc(100vw - 18px)}
  .bcm-room-create-options{padding:11px 12px 14px}
}

/* Batch 44 — schedule filters, permissions readability, optional creator-defined responses */
.bcm-permissions-dialog{width:min(780px,calc(100vw - 28px));max-height:min(780px,calc(100dvh - 28px))}
.bcm-permissions-dialog .bcm-event-form>header p{margin:6px 0 0;color:var(--muted-foreground);font-size:11px;line-height:1.45}
.bcm-permissions-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px 20px 20px;overflow:auto}
.bcm-permission-card{display:grid;align-content:start;gap:14px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--cal-soft,var(--secondary))}
.bcm-permission-heading{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start}
.bcm-permission-heading>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--secondary);border:1px solid var(--border);font-size:11px;font-weight:800}
.bcm-permission-heading h3{margin:1px 0 4px;font-size:14px;line-height:1.25}
.bcm-permission-heading p,.bcm-permission-card>small{margin:0;color:var(--muted-foreground);font-size:10px;line-height:1.5}
.bcm-permission-card>label{display:grid;gap:7px;font-size:10px;font-weight:700}
.bcm-permission-card select{width:100%}
.bcm-permission-approval{grid-column:1/-1;display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:start;padding:15px 16px!important;border:1px solid var(--border);border-radius:16px;background:var(--background)!important}
.bcm-permission-approval input{margin-top:2px}
.bcm-permission-approval span{display:grid;gap:3px}
.bcm-permission-approval b{font-size:12px}
.bcm-permission-approval small{font-size:10px;line-height:1.45;color:var(--muted-foreground);font-weight:400}

.bcm-response-settings{padding:0!important;overflow:hidden}
.bcm-response-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;background:var(--background)}
.bcm-response-toggle{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px!important;align-items:start;min-width:0;cursor:pointer}
.bcm-response-toggle input{margin-top:3px}
.bcm-response-toggle span{display:grid;gap:3px}
.bcm-response-toggle b{font-size:12px}
.bcm-response-toggle small,.bcm-response-note{font-size:9px;line-height:1.45;color:var(--muted-foreground);font-weight:400}
.bcm-response-toggle-row>em{flex:0 0 auto;padding:5px 8px;border:1px solid var(--border);border-radius:999px;background:var(--secondary);font-size:9px;font-style:normal;font-weight:700;color:var(--muted-foreground)}
.bcm-response-builder{display:grid;gap:14px;padding:15px;border-top:1px solid var(--border);background:var(--cal-soft,var(--secondary))}
.bcm-response-builder[hidden]{display:none!important}
.bcm-response-builder>label{display:grid;gap:6px;font-size:10px;font-weight:700}
.bcm-response-builder fieldset{display:grid;gap:9px;margin:0;padding:12px;border:1px solid var(--border);border-radius:13px;background:var(--background)}
.bcm-response-builder fieldset>legend{padding:0 5px;font-size:10px;font-weight:800}
.bcm-response-builder fieldset>p{margin:0 0 2px;color:var(--muted-foreground);font-size:9px;line-height:1.4}
.bcm-response-builder fieldset>label{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:10px;font-size:10px;font-weight:700}
.bcm-response-builder fieldset>label span small{font-size:8px;color:var(--muted-foreground);font-weight:400}

.bcm-response-prompt{display:grid;gap:9px;margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--cal-soft,var(--secondary))}
.bcm-response-prompt>strong{font-size:11px;line-height:1.45}
.bcm-response-prompt .bcm-rsvp{margin:0;display:flex;gap:7px;flex-wrap:wrap}
.bcm-response-prompt .bcm-rsvp button{min-height:34px;padding:6px 12px;border:1px solid var(--border);border-radius:10px;background:var(--background);color:var(--foreground);cursor:pointer}
.bcm-response-prompt .bcm-rsvp button[aria-pressed="true"]{background:var(--secondary);box-shadow:inset 0 0 0 1px var(--foreground)}
.bcm-attendees>span:not(:has(small)){grid-template-rows:auto}
.bcm-attendees>span:not(:has(small)) i{grid-row:1}

@media (max-width:720px){
  .bcm-permissions-content{grid-template-columns:1fr;padding:14px}
  .bcm-permission-approval{grid-column:auto}
  .bcm-response-toggle-row{align-items:flex-start;flex-direction:column}
  .bcm-response-builder fieldset>label{grid-template-columns:1fr;gap:5px}
  .bcm-response-prompt .bcm-rsvp button{flex:1 1 90px}
}
.bcm-response-options-readonly{display:flex;gap:6px;flex-wrap:wrap}
.bcm-response-options-readonly span{padding:5px 8px;border:1px solid var(--border);border-radius:999px;background:var(--background);font-size:9px;color:var(--muted-foreground)}


/* Batch 45 — desktop schedule filter and composer interaction fixes */
@media (min-width: 769px){
  /* Type colours already lives in the desktop Calendar tools rail. Do not
     duplicate it inside the Schedule filter popover. */
  .bcm-agenda-filter-panel .bcm-schedule-type-colours{display:none!important}
}
.bcm-composer-dialog .bcm-form-section-toggle{cursor:pointer!important;pointer-events:auto!important}
.bcm-composer-dialog .bcm-section-content{pointer-events:auto!important}

/* Batch 49 — native composer accordions. Native <details> handles open/close,
   avoiding room-level click handlers and removing the hidden-content conflict. */
.bcm-composer-dialog details.bcm-form-section{
  display:block!important;
  height:auto!important;
  min-height:56px!important;
  overflow:visible!important;
}
.bcm-composer-dialog details.bcm-form-section>summary{
  list-style:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:100%!important;
  min-height:56px!important;
  margin:0!important;
  padding:11px 13px!important;
  cursor:pointer!important;
  user-select:none!important;
  color:var(--foreground)!important;
  background:transparent!important;
}
.bcm-composer-dialog details.bcm-form-section>summary::-webkit-details-marker{display:none!important}
.bcm-composer-dialog details.bcm-form-section>summary>span{display:grid!important;gap:3px!important;min-width:0!important}
.bcm-composer-dialog details.bcm-form-section>summary b{display:block!important;font-size:12px!important;font-weight:700!important;color:var(--foreground)!important}
.bcm-composer-dialog details.bcm-form-section>summary small{display:block!important;font-size:10px!important;line-height:1.35!important;color:var(--muted-foreground)!important;white-space:normal!important}
.bcm-composer-dialog details.bcm-form-section>summary>i{font-style:normal!important;transition:transform .16s ease!important;color:var(--muted-foreground)!important}
.bcm-composer-dialog details.bcm-form-section[open]>summary{border-bottom:1px solid var(--border)!important}
.bcm-composer-dialog details.bcm-form-section[open]>summary>i{transform:rotate(180deg)!important}
.bcm-composer-dialog details.bcm-form-section:not([open])>.bcm-section-content{display:none!important}
.bcm-composer-dialog details.bcm-form-section[open]>.bcm-section-content{display:grid!important;height:auto!important;visibility:visible!important;opacity:1!important}

/* Batch 50 — hard ownership of composer accordion content. Earlier rules from
   multiple calendar batches could leave a section marked open while its body
   was still collapsed. Keep the state and layout unambiguous. */
.bcm-composer-dialog [data-form-section]{height:auto!important;min-height:56px!important;overflow:hidden!important;align-self:start!important}
.bcm-composer-dialog [data-form-section] > [data-section-content]{display:none!important;position:static!important;height:0!important;min-height:0!important;visibility:hidden!important;opacity:0!important;overflow:hidden!important}
.bcm-composer-dialog [data-form-section][data-open="true"] > [data-section-content],
.bcm-composer-dialog details[data-form-section][open] > [data-section-content]{display:grid!important;position:static!important;height:auto!important;min-height:0!important;visibility:visible!important;opacity:1!important;overflow:visible!important;padding:13px!important}
.bcm-composer-dialog [data-form-section][data-open="true"] > summary,
.bcm-composer-dialog details[data-form-section][open] > summary{border-bottom:1px solid var(--border)!important}
.bcm-composer-dialog .bcm-form-grid{align-items:start!important;grid-auto-rows:max-content!important}

/* Batch 51 — single deterministic composer section system.
   Sections use ordinary buttons + hidden bodies. This final block overrides
   the old native-details/data-open experiments from previous releases. */
.bcm-composer-dialog .bcm-form-grid{
  align-items:start!important;
  grid-auto-rows:max-content!important;
}
.bcm-composer-dialog section.bcm-form-section[data-form-section]{
  display:block!important;
  align-self:start!important;
  height:auto!important;
  min-height:56px!important;
  overflow:hidden!important;
  padding:0!important;
}
.bcm-composer-dialog section.bcm-form-section[data-form-section] > .bcm-form-section-toggle{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:100%!important;
  min-height:56px!important;
  margin:0!important;
  padding:11px 13px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--foreground)!important;
  text-align:left!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.bcm-composer-dialog section.bcm-form-section[data-form-section] > .bcm-form-section-toggle > span{
  display:grid!important;
  gap:3px!important;
  min-width:0!important;
}
.bcm-composer-dialog section.bcm-form-section[data-form-section] > .bcm-form-section-toggle b{
  display:block!important;
  font-size:12px!important;
  font-weight:700!important;
  color:var(--foreground)!important;
}
.bcm-composer-dialog section.bcm-form-section[data-form-section] > .bcm-form-section-toggle small{
  display:block!important;
  font-size:10px!important;
  line-height:1.35!important;
  color:var(--muted-foreground)!important;
  white-space:normal!important;
}
.bcm-composer-dialog section.bcm-form-section[data-form-section] > .bcm-form-section-toggle > i{
  flex:0 0 auto!important;
  display:block!important;
  font-style:normal!important;
  color:var(--muted-foreground)!important;
  transition:transform .16s ease!important;
}
.bcm-composer-dialog section.bcm-form-section[data-form-section][data-open="true"] > .bcm-form-section-toggle{
  border-bottom:1px solid var(--border)!important;
}
.bcm-composer-dialog section.bcm-form-section[data-form-section][data-open="true"] > .bcm-form-section-toggle > i{
  transform:rotate(180deg)!important;
}
.bcm-composer-dialog section.bcm-form-section[data-form-section] > [data-section-content],
.bcm-composer-dialog section.bcm-form-section[data-form-section] > [data-section-content][hidden]{
  display:none!important;
  position:static!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  visibility:hidden!important;
  opacity:0!important;
  overflow:hidden!important;
}
.bcm-composer-dialog section.bcm-form-section[data-form-section][data-open="true"] > [data-section-content]:not([hidden]){
  display:grid!important;
  position:static!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:13px!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:visible!important;
}

/* ============================================================
   Batch 52 — calendar organisation, scalable people picker,
   custom reminders, device uploads and separated tools.
   This final block intentionally owns the affected layout.
   ============================================================ */

/* Global filter is available in every calendar view. */
.bcm-calendar-hybrid .bcm-filter-trigger{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:36px!important;
  padding:7px 12px!important;
  border:1px solid var(--border)!important;
  border-radius:999px!important;
  background:var(--background)!important;
  color:var(--foreground)!important;
  font:inherit!important;
  font-size:11px!important;
  font-weight:650!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.bcm-calendar-hybrid .bcm-filter-trigger:hover,
.bcm-calendar-hybrid .bcm-filter-trigger.is-active{
  border-color:color-mix(in srgb,var(--primary) 62%,var(--border))!important;
  background:color-mix(in srgb,var(--primary) 9%,var(--background))!important;
}
.bcm-calendar-hybrid .bcm-filter-trigger span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:19px!important;
  height:19px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  background:var(--primary)!important;
  color:var(--primary-foreground)!important;
  font-size:9px!important;
  line-height:1!important;
}
.bcm-calendar-hybrid .bcm-filter-trigger span[hidden]{display:none!important}

/* Tools are deliberately outside of the calendar list. */
.bcm-calendar-hybrid .bcm-calendar-utilitybar{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  min-height:48px!important;
  padding:7px 14px!important;
  border-bottom:1px solid var(--border)!important;
  background:color-mix(in srgb,var(--surface) 94%,var(--background))!important;
  position:relative!important;
  z-index:9!important;
}
.bcm-calendar-hybrid .bcm-desktop-utilitytools{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex-wrap:wrap!important;
  width:100%!important;
}
.bcm-calendar-hybrid .bcm-desktop-utilitytools>strong{
  margin-right:auto!important;
  color:var(--muted-foreground)!important;
  font-size:9px!important;
  font-weight:750!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.bcm-calendar-hybrid .bcm-desktop-utilitytools>button,
.bcm-calendar-hybrid .bcm-mobile-tools-menu>div>button{
  appearance:none!important;
  -webkit-appearance:none!important;
  min-height:34px!important;
  padding:6px 9px!important;
  border:1px solid var(--border)!important;
  border-radius:9px!important;
  background:var(--background)!important;
  color:var(--foreground)!important;
  font:inherit!important;
  font-size:10px!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.bcm-calendar-hybrid .bcm-desktop-utilitytools>button:hover,
.bcm-calendar-hybrid .bcm-mobile-tools-menu>div>button:hover{background:var(--cal-hover)!important}
.bcm-calendar-hybrid .bcm-desktop-utilitytools em,
.bcm-calendar-hybrid .bcm-mobile-tools-menu em{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:17px!important;
  height:17px!important;
  margin-left:4px!important;
  padding:0 4px!important;
  border-radius:999px!important;
  background:var(--primary)!important;
  color:var(--primary-foreground)!important;
  font-size:8px!important;
  font-style:normal!important;
}
.bcm-calendar-hybrid .bcm-desktop-utilitytools em[hidden],
.bcm-calendar-hybrid .bcm-mobile-tools-menu em[hidden]{display:none!important}
.bcm-calendar-hybrid .bcm-utility-time-format{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-height:34px!important;
  padding:4px 6px 4px 8px!important;
  border:1px solid var(--border)!important;
  border-radius:9px!important;
  background:var(--background)!important;
}
.bcm-calendar-hybrid .bcm-utility-time-format>span{font-size:9px!important;color:var(--muted-foreground)!important}
.bcm-calendar-hybrid .bcm-utility-time-format .bcm-time-format-options{display:flex!important;gap:2px!important}
.bcm-calendar-hybrid .bcm-utility-time-format .bcm-time-format-options button{
  min-height:25px!important;
  min-width:34px!important;
  padding:3px 6px!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:var(--muted-foreground)!important;
  font:inherit!important;
  font-size:9px!important;
  cursor:pointer!important;
}
.bcm-calendar-hybrid .bcm-utility-time-format .bcm-time-format-options button[aria-pressed="true"],
.bcm-calendar-hybrid .bcm-utility-time-format .bcm-time-format-options button.is-active{
  background:var(--surface)!important;
  color:var(--foreground)!important;
  box-shadow:0 1px 4px color-mix(in srgb,var(--foreground) 10%,transparent)!important;
}
.bcm-calendar-hybrid .bcm-mobile-tools-menu{display:none!important}

/* Desktop calendar rail = calendars only. */
@media (min-width:621px){
  .bcm-calendar-hybrid .bcm-cal-layout{
    grid-template-columns:220px minmax(0,1fr)!important;
  }
  .bcm-calendar-hybrid .bcm-cal-rail,
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    padding:13px 11px 18px!important;
    overflow:auto!important;
    border-right:1px solid var(--border)!important;
    border-bottom:0!important;
    background:var(--surface)!important;
    white-space:normal!important;
  }
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail .bcm-rail-section,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail .bcm-rail-section,
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail .bcm-calendar-section,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail .bcm-calendar-section{
    display:block!important;
  }
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail .bcm-mini,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail .bcm-mini,
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail .bcm-rail-create,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail .bcm-rail-create{
    display:block!important;
  }
  .bcm-calendar-hybrid .bcm-mobile-calendars-menu{display:none!important}
}

/* Calendar categories */
.bcm-calendar-hybrid .bcm-calendar-list-group{margin:0 0 14px!important;padding:0 0 11px!important;border-bottom:1px solid color-mix(in srgb,var(--border) 82%,transparent)!important}
.bcm-calendar-hybrid .bcm-calendar-list-group:last-child{margin-bottom:0!important;padding-bottom:0!important;border-bottom:0!important}
.bcm-calendar-hybrid .bcm-calendar-list-group>h4{
  margin:0 0 7px!important;
  padding:0 2px!important;
  color:var(--muted-foreground)!important;
  font-size:9px!important;
  font-weight:750!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.bcm-calendar-hybrid .bcm-rail-head>button[data-new-calendar]{
  width:28px!important;
  height:28px!important;
  padding:0!important;
  border:1px solid var(--border)!important;
  border-radius:50%!important;
  background:var(--background)!important;
  color:var(--foreground)!important;
  font-size:18px!important;
  line-height:1!important;
  cursor:pointer!important;
}

/* Global filter dialog — sources are controlled by the Calendars list, not duplicated here. */
.bcm-global-filter-dialog .bcm-filter-dialog-body{
  display:grid!important;
  gap:14px!important;
  padding:18px!important;
}
.bcm-global-filter-dialog .bcm-filter-dialog-body>label{
  display:grid!important;
  gap:6px!important;
  color:var(--muted-foreground)!important;
  font-size:10px!important;
  font-weight:650!important;
}
.bcm-global-filter-dialog .bcm-filter-dialog-body select{
  width:100%!important;
  min-height:44px!important;
  padding:8px 12px!important;
  border:1px solid var(--border)!important;
  border-radius:11px!important;
  background:var(--background)!important;
  color:var(--foreground)!important;
  font:inherit!important;
  font-size:12px!important;
}

/* People picker scales to dozens/hundreds without dumping everyone into the form. */
.bcm-composer-dialog .bcm-people-picker{display:grid!important;gap:9px!important}
.bcm-composer-dialog .bcm-people-search{display:grid!important;gap:5px!important;color:var(--muted-foreground)!important;font-size:10px!important}
.bcm-composer-dialog .bcm-people-search input{
  width:100%!important;
  min-height:42px!important;
  padding:8px 12px!important;
  border:1px solid var(--border)!important;
  border-radius:11px!important;
  background:var(--background)!important;
  color:var(--foreground)!important;
  font:inherit!important;
  font-size:12px!important;
}
.bcm-composer-dialog .bcm-people-picker-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-height:26px!important;
  color:var(--muted-foreground)!important;
  font-size:9px!important;
}
.bcm-composer-dialog .bcm-link-button{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  color:var(--primary)!important;
  font:inherit!important;
  font-size:10px!important;
  font-weight:700!important;
  cursor:pointer!important;
  padding:3px 0!important;
}
.bcm-composer-dialog .bcm-link-button[hidden]{display:none!important}
.bcm-composer-dialog .bcm-people-list,
.bcm-composer-dialog .bcm-invite-box [data-people]{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  max-height:260px!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  padding:1px!important;
}
.bcm-composer-dialog .bcm-people-list>label{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  min-height:45px!important;
  padding:8px 10px!important;
  border:1px solid var(--border)!important;
  border-radius:11px!important;
  background:var(--background)!important;
  color:var(--foreground)!important;
  cursor:pointer!important;
}
.bcm-composer-dialog .bcm-people-list>label input{width:17px!important;height:17px!important;margin:0!important}
.bcm-composer-dialog .bcm-people-list>label span{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:11px!important}
.bcm-composer-dialog .bcm-people-list>label small{color:var(--muted-foreground)!important;font-size:9px!important;white-space:nowrap!important}

/* Find-a-time: clear time window + button, no oversized focus halo. */
.bcm-composer-dialog .bcm-find-time-box{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:10px!important;
  margin-top:10px!important;
  padding:11px!important;
  border:1px solid var(--border)!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--surface) 82%,var(--background))!important;
}
.bcm-composer-dialog .bcm-find-time-window{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.bcm-composer-dialog .bcm-find-time-window label{display:grid!important;gap:4px!important;color:var(--muted-foreground)!important;font-size:9px!important}
.bcm-composer-dialog .bcm-find-time-window input{
  width:100%!important;
  min-height:38px!important;
  padding:7px 9px!important;
  border:1px solid var(--border)!important;
  border-radius:10px!important;
  background:var(--background)!important;
  color:var(--foreground)!important;
  font:inherit!important;
}
.bcm-composer-dialog .bcm-find-time-button{
  min-height:40px!important;
  width:auto!important;
  min-width:128px!important;
  padding:8px 14px!important;
  border:1px solid var(--border)!important;
  border-radius:10px!important;
  background:var(--background)!important;
  color:var(--foreground)!important;
  font:inherit!important;
  font-size:11px!important;
  cursor:pointer!important;
  box-shadow:none!important;
  outline:none!important;
}
.bcm-composer-dialog .bcm-find-time-button:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 68%,transparent)!important;outline-offset:2px!important}

/* Reminders */
.bcm-composer-dialog .bcm-reminder-explain{
  margin:0 0 9px!important;
  padding:9px 11px!important;
  border-radius:10px!important;
  background:color-mix(in srgb,var(--primary) 7%,var(--background))!important;
  line-height:1.45!important;
}
.bcm-composer-dialog .bcm-reminders{display:flex!important;flex-wrap:wrap!important;gap:7px!important}
.bcm-composer-dialog .bcm-reminders label{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:36px!important;
  padding:7px 10px!important;
  border:1px solid var(--border)!important;
  border-radius:999px!important;
  background:var(--background)!important;
  color:var(--foreground)!important;
  font-size:10px!important;
  cursor:pointer!important;
}
.bcm-composer-dialog .bcm-custom-reminder-wrap{display:grid!important;gap:8px!important;margin-top:10px!important}
.bcm-composer-dialog [data-custom-reminders]{display:flex!important;flex-wrap:wrap!important;gap:6px!important;min-height:24px!important;align-items:center!important}
.bcm-composer-dialog .bcm-reminder-chip{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:6px 8px!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--primary) 10%,var(--background))!important;
  color:var(--foreground)!important;
  font-size:9px!important;
}
.bcm-composer-dialog .bcm-reminder-chip button{
  width:19px!important;height:19px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--muted-foreground)!important;cursor:pointer!important;font-size:15px!important;line-height:1!important
}
.bcm-composer-dialog .bcm-custom-reminder-entry{
  display:grid!important;
  grid-template-columns:minmax(80px,110px) minmax(130px,1fr) auto!important;
  gap:7px!important;
  align-items:center!important;
}
.bcm-composer-dialog .bcm-custom-reminder-entry input,
.bcm-composer-dialog .bcm-custom-reminder-entry select{
  min-height:38px!important;
  padding:7px 9px!important;
  border:1px solid var(--border)!important;
  border-radius:10px!important;
  background:var(--background)!important;
  color:var(--foreground)!important;
  font:inherit!important;
  font-size:10px!important;
}
.bcm-composer-dialog .bcm-custom-reminder-entry button{min-height:38px!important;white-space:nowrap!important}

/* Attachments: app Storage and local-device upload are equal choices. */
.bcm-composer-dialog .bcm-attachment-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:9px!important;
}
.bcm-composer-dialog .bcm-attachment-actions button{
  min-height:42px!important;
  padding:8px 11px!important;
  border:1px solid var(--border)!important;
  border-radius:11px!important;
  background:var(--background)!important;
  color:var(--foreground)!important;
  font:inherit!important;
  font-size:11px!important;
  cursor:pointer!important;
}
.bcm-composer-dialog .bcm-attachment-box [data-attachments]{display:flex!important;flex-wrap:wrap!important;gap:6px!important}

/* Clarification copy under Repeat. */
.bcm-composer-dialog [data-repeat-help]{
  display:block!important;
  margin-top:7px!important;
  color:var(--muted-foreground)!important;
  font-size:9px!important;
  line-height:1.4!important;
}

/* Mobile: Calendars and Tools are separate menus. */
@media (max-width:620px){
  .bcm-calendar-hybrid .bcm-cal-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    padding:9px 10px!important;
  }
  .bcm-calendar-hybrid .bcm-cal-tools{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-areas:"views views views" "calendars filter create"!important;
    align-items:center!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .bcm-calendar-hybrid .bcm-view-switch{
    grid-area:views!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    width:100%!important;
    overflow:visible!important;
  }
  .bcm-calendar-hybrid .bcm-view-switch [data-view="year"]{display:block!important}
  .bcm-calendar-hybrid .bcm-view-switch button{min-width:0!important;padding-inline:4px!important;font-size:9px!important}
  .bcm-calendar-hybrid .bcm-mobile-calendars-menu{
    grid-area:calendars!important;
    display:block!important;
    position:relative!important;
    min-width:0!important;
  }
  .bcm-calendar-hybrid .bcm-mobile-calendars-menu>summary,
  .bcm-calendar-hybrid .bcm-mobile-tools-menu>summary{
    list-style:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:36px!important;
    padding:7px 11px!important;
    border:1px solid var(--border)!important;
    border-radius:10px!important;
    background:var(--background)!important;
    color:var(--foreground)!important;
    font:inherit!important;
    font-size:10px!important;
    font-weight:650!important;
    cursor:pointer!important;
  }
  .bcm-calendar-hybrid .bcm-mobile-calendars-menu>summary::-webkit-details-marker,
  .bcm-calendar-hybrid .bcm-mobile-tools-menu>summary::-webkit-details-marker{display:none!important}
  .bcm-calendar-hybrid .bcm-mobile-calendars-menu>div{
    position:absolute!important;
    top:calc(100% + 6px)!important;
    left:0!important;
    z-index:80!important;
    width:min(310px,calc(100vw - 22px))!important;
    max-height:min(68dvh,520px)!important;
    overflow:auto!important;
    padding:10px!important;
    border:1px solid var(--border)!important;
    border-radius:13px!important;
    background:var(--popup,var(--surface))!important;
    box-shadow:0 14px 35px color-mix(in srgb,var(--foreground) 18%,transparent)!important;
  }
  .bcm-calendar-hybrid .bcm-filter-trigger{grid-area:filter!important;min-width:78px!important}
  .bcm-calendar-hybrid .bcm-toolbar-create{grid-area:create!important;min-width:74px!important}
  .bcm-calendar-hybrid .bcm-cal-search{display:none!important}
  .bcm-calendar-hybrid .bcm-cal-rail{display:none!important}

  .bcm-calendar-hybrid .bcm-calendar-utilitybar{
    justify-content:flex-end!important;
    min-height:43px!important;
    padding:5px 10px!important;
  }
  .bcm-calendar-hybrid .bcm-desktop-utilitytools{display:none!important}
  .bcm-calendar-hybrid .bcm-mobile-tools-menu{
    display:block!important;
    position:relative!important;
  }
  .bcm-calendar-hybrid .bcm-mobile-tools-menu>summary{min-width:86px!important}
  .bcm-calendar-hybrid .bcm-mobile-tools-menu>div{
    position:absolute!important;
    top:calc(100% + 6px)!important;
    right:0!important;
    z-index:90!important;
    display:grid!important;
    gap:4px!important;
    width:min(260px,calc(100vw - 22px))!important;
    max-height:min(68dvh,500px)!important;
    overflow:auto!important;
    padding:9px!important;
    border:1px solid var(--border)!important;
    border-radius:13px!important;
    background:var(--popup,var(--surface))!important;
    box-shadow:0 14px 35px color-mix(in srgb,var(--foreground) 18%,transparent)!important;
  }
  .bcm-calendar-hybrid .bcm-mobile-tools-menu>div>button{text-align:left!important;width:100%!important}
  .bcm-calendar-hybrid .bcm-mobile-tools-menu .bcm-time-format-menu{
    display:grid!important;
    gap:7px!important;
    padding:7px 8px!important;
    border-top:1px solid var(--border)!important;
    border-bottom:1px solid var(--border)!important;
    color:var(--muted-foreground)!important;
    font-size:9px!important;
  }

  .bcm-composer-dialog .bcm-people-list,
  .bcm-composer-dialog .bcm-invite-box [data-people]{grid-template-columns:1fr!important;max-height:235px!important}
  .bcm-composer-dialog .bcm-find-time-box{grid-template-columns:1fr!important}
  .bcm-composer-dialog .bcm-find-time-button{width:100%!important}
  .bcm-composer-dialog .bcm-custom-reminder-entry{grid-template-columns:86px minmax(0,1fr)!important}
  .bcm-composer-dialog .bcm-custom-reminder-entry button{grid-column:1/-1!important;width:100%!important}
  .bcm-composer-dialog .bcm-attachment-actions{grid-template-columns:1fr!important}
  .bcm-global-filter-dialog .bcm-event-form{width:min(94vw,520px)!important}
}

@media (max-width:390px){
  .bcm-calendar-hybrid .bcm-view-switch button{font-size:8px!important;padding-inline:2px!important}
  .bcm-calendar-hybrid .bcm-cal-tools{grid-template-columns:minmax(0,1fr) auto auto!important}
  .bcm-composer-dialog .bcm-find-time-window{grid-template-columns:1fr!important}
}

/* Batch 53 — editable calendar organisation + mobile keyboard visibility */
.bcm-calendar-category-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-left:4px solid var(--category-colour,#6f8f78);padding-left:8px;margin-bottom:6px}
.bcm-calendar-category-head h4{margin:0!important}
.bcm-calendar-category-head button,.bcm-cal-row-menu{border:0;background:transparent;border-radius:9px;min-width:32px;min-height:32px;font-size:20px;line-height:1;cursor:pointer;color:inherit}
.bcm-calendar-category-head button:hover,.bcm-cal-row-menu:hover{background:color-mix(in srgb,var(--primary,#4b6f58) 10%,transparent)}
.bcm-cal-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:6px}
.bcm-cal-toggle-row .bcm-cal-toggle{min-width:0;flex:1}
.bcm-calendar-add-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px}
.bcm-calendar-add-choices>button{padding:20px;text-align:left;border:1px solid var(--border,#cbd8ca);background:var(--surface,#fff);border-radius:18px;display:flex;flex-direction:column;gap:6px;font:inherit;color:inherit;cursor:pointer}
.bcm-calendar-add-choices b{font-size:1.05rem}.bcm-calendar-add-choices span{opacity:.72;line-height:1.4}
.bcm-calendar-category-form,.bcm-calendar-source-form{padding:20px;display:grid;gap:16px}
.bcm-calendar-category-form label,.bcm-calendar-source-form label{display:grid;gap:7px;font-weight:650}
.bcm-calendar-category-form input,.bcm-calendar-source-form input,.bcm-calendar-source-form select{min-height:48px;border:1px solid var(--border,#cbd8ca);border-radius:14px;background:var(--surface,#fff);padding:0 14px;font:inherit;color:inherit}
.bcm-colour-edit-row{min-height:58px;border:1px solid var(--border,#cbd8ca);border-radius:14px;background:var(--surface,#fff);display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:12px;padding:10px 14px;text-align:left;color:inherit;font:inherit}
.bcm-colour-edit-row i{width:22px;height:22px;border-radius:999px;background:var(--dot);box-shadow:inset 0 0 0 2px #fff,0 0 0 1px var(--dot)}
.bcm-colour-edit-row span{display:grid}.bcm-colour-edit-row small{opacity:.65}.bcm-colour-edit-row em{font-style:normal;font-weight:700}
.bcm-danger-ghost{margin-right:auto!important;color:#9b3535!important;border-color:#d7aaaa!important}
@media(max-width:620px){
  .bcm-calendar-add-choices{grid-template-columns:1fr;padding:14px}
  .bcm-mobile-calendars-menu[open]>div{max-height:min(68vh,calc(100dvh - 150px));overflow:auto;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom))}
  .bcm-mobile-calendars-menu input[type="search"]{scroll-margin-top:100px;scroll-margin-bottom:180px;font-size:16px!important}
  .bcm-search input{font-size:16px!important;scroll-margin-top:100px;scroll-margin-bottom:180px}
}


/* Batch 54 — compact three-dot Calendar tools menu */
.bcm-calendar-hybrid .bcm-calendar-utilitybar,
.bcm-calendar-hybrid .bcm-desktop-utilitytools,
.bcm-calendar-hybrid .bcm-mobile-tools-menu{display:none!important}
.bcm-calendar-hybrid .bcm-calendar-more-menu{position:relative;display:block!important;flex:0 0 auto;z-index:80}
.bcm-calendar-hybrid .bcm-calendar-more-menu>summary{list-style:none;display:grid;place-items:center;width:42px;height:42px;min-width:42px;border:1px solid var(--border);border-radius:50%;background:var(--secondary);color:var(--foreground);font-size:25px;line-height:1;cursor:pointer;user-select:none;padding:0!important}
.bcm-calendar-hybrid .bcm-calendar-more-menu>summary::-webkit-details-marker{display:none}
.bcm-calendar-hybrid .bcm-calendar-more-menu[open]>summary{background:var(--cal-hover,var(--accent));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 22%,transparent)}
.bcm-calendar-hybrid .bcm-calendar-more-popover{position:absolute;right:0;top:calc(100% + 10px);z-index:120;width:min(300px,calc(100vw - 28px));max-height:min(620px,calc(100dvh - 110px));overflow:auto;padding:10px;border:1px solid var(--border);border-radius:18px;background:var(--background);box-shadow:0 18px 50px rgba(20,35,26,.18);display:grid;gap:5px}
.bcm-calendar-hybrid .bcm-calendar-more-heading{display:grid;gap:2px;padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:3px}
.bcm-calendar-hybrid .bcm-calendar-more-heading strong{font-size:12px}
.bcm-calendar-hybrid .bcm-calendar-more-heading small{font-size:10px;color:var(--muted-foreground);font-weight:400}
.bcm-calendar-hybrid .bcm-calendar-more-popover>button{width:100%;min-height:42px;border:0;border-radius:12px;background:transparent;color:var(--foreground);font:inherit;font-size:12px;text-align:left;padding:0 12px;cursor:pointer}
.bcm-calendar-hybrid .bcm-calendar-more-popover>button:hover{background:var(--cal-hover,var(--secondary))}
.bcm-calendar-hybrid .bcm-calendar-more-popover em{font-style:normal;display:inline-grid;place-items:center;min-width:19px;height:19px;border-radius:999px;background:var(--primary);color:var(--primary-foreground);font-size:10px;margin-left:4px}
.bcm-calendar-hybrid .bcm-calendar-more-popover em[hidden]{display:none!important}
.bcm-calendar-hybrid .bcm-calendar-more-time{display:grid;gap:7px;padding:10px 12px;border-top:1px solid var(--border);margin-top:3px}
.bcm-calendar-hybrid .bcm-calendar-more-time>span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground)}
.bcm-calendar-hybrid .bcm-calendar-more-time .bcm-time-format-options{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;background:var(--secondary);border-radius:12px}
.bcm-calendar-hybrid .bcm-calendar-more-time .bcm-time-format-options button{min-height:34px;border:0;border-radius:9px;background:transparent;color:var(--foreground);font:inherit;font-size:11px}
.bcm-calendar-hybrid .bcm-calendar-more-time .bcm-time-format-options button[aria-pressed="true"]{background:var(--background);box-shadow:0 1px 5px rgba(20,35,26,.12)}
@media (max-width:620px){
  .bcm-calendar-hybrid .bcm-calendar-more-menu>summary{width:36px;height:36px;min-width:36px;font-size:22px}
  .bcm-calendar-hybrid .bcm-calendar-more-popover{position:fixed;right:10px;top:112px;width:min(290px,calc(100vw - 20px));max-height:calc(100dvh - 190px)}
}

/* Batch 54 toolbar placement refinement */
.bcm-calendar-hybrid .bcm-calendar-more-menu{grid-area:more}
@media (max-width:620px){
  .bcm-calendar-hybrid .bcm-cal-tools{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-areas:"views views views" "calendars filter more"!important;
  }
  .bcm-calendar-hybrid .bcm-calendar-more-menu{grid-area:more!important;justify-self:end!important}
}


/* Batch 55 — category hierarchy, clean menus, and reorderable calendar list */
.bcm-global-filter-dialog [data-filter-custom-wrap][hidden]{display:none!important}
.bcm-calendar-category-head button,
.bcm-cal-row-menu{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline-offset:2px;
  min-width:28px!important;
  width:28px!important;
  min-height:28px!important;
  height:28px!important;
  padding:0!important;
  border-radius:0!important;
  display:grid!important;
  place-items:center!important;
}
.bcm-calendar-category-head button:hover,
.bcm-cal-row-menu:hover{background:transparent!important;color:var(--primary,#4b6f58)!important}
.bcm-calendar-category-head button:focus-visible,
.bcm-cal-row-menu:focus-visible{outline:2px solid var(--primary,#4b6f58)!important}
.bcm-calendar-category-head[data-category-drag-handle],
.bcm-cal-toggle-row[data-organizer-source]{cursor:grab}
.bcm-calendar-category-head[data-category-drag-handle]:active,
.bcm-cal-toggle-row[data-organizer-source]:active{cursor:grabbing}
.bcm-calendar-list-group.is-reordering,
.bcm-cal-toggle-row.is-reordering{opacity:.58;transform:scale(.995)}
.bcm-calendar-list-group.is-touch-reordering,
.bcm-cal-toggle-row.is-touch-reordering{box-shadow:0 8px 26px rgba(20,35,26,.16);background:var(--background,#fff);border-radius:12px}
.bcm-fixed-calendar-category{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--border,#cbd8ca);border-radius:14px;background:color-mix(in srgb,var(--secondary,#edf2ea) 55%,transparent)}
.bcm-fixed-calendar-category>span{font-weight:700}
.bcm-fixed-calendar-category>strong{font-size:1rem}
.bcm-fixed-calendar-category>small{color:var(--muted-foreground,#6d786f);font-weight:400}
.bcm-calendar-destination-picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding:14px;border:1px solid color-mix(in srgb,var(--border,#cbd8ca) 85%,transparent);border-radius:18px;background:color-mix(in srgb,var(--secondary,#edf2ea) 38%,transparent)}
.bcm-calendar-destination-picker>label{display:grid;gap:7px;min-width:0;font-weight:700}
.bcm-calendar-destination-picker select{width:100%;min-width:0}
@media(max-width:620px){
  .bcm-calendar-destination-picker{grid-template-columns:1fr;gap:10px;padding:12px}
  .bcm-calendar-category-head[data-category-drag-handle],.bcm-cal-toggle-row[data-organizer-source]{-webkit-user-select:none;user-select:none}
}


/* Batch 56 — reliable calendar/category reorder handles on mouse, pen and touch */
.bcm-calendar-list-group .bcm-calendar-category-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:6px!important;
}
.bcm-calendar-category-title{display:flex;align-items:center;gap:4px;min-width:0}
.bcm-calendar-category-title h4{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bcm-calendar-list-group .bcm-cal-toggle-row[data-organizer-source]{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) 30px!important;
  align-items:center!important;
  gap:4px!important;
}
.bcm-calendar-drag-grip{
  width:28px;height:28px;min-width:28px;min-height:28px;
  display:grid;place-items:center;border:0;background:transparent;color:var(--muted-foreground,#6d786f);
  font-size:19px;line-height:1;cursor:grab;border-radius:8px;
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;
}
.bcm-calendar-drag-grip:hover{color:var(--primary,#4b6f58);background:color-mix(in srgb,var(--primary,#4b6f58) 8%,transparent)}
.bcm-calendar-drag-grip:focus-visible{outline:2px solid var(--primary,#4b6f58);outline-offset:1px}
.bcm-calendar-drag-grip:active{cursor:grabbing}
.bcm-calendar-source-grip{justify-self:start}
.bcm-calendar-category-grip{flex:0 0 auto}
.bcm-cal-toggle-row.is-reordering,.bcm-calendar-list-group.is-reordering{opacity:.72!important;transform:scale(.995);position:relative;z-index:6}
.bcm-cal-toggle-row.is-reorder-target{box-shadow:inset 0 -2px 0 var(--primary,#4b6f58)}
.bcm-calendar-list-group.is-reorder-target{box-shadow:inset 0 -3px 0 var(--primary,#4b6f58)}
body.bcm-organizer-dragging{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}
body.bcm-organizer-dragging *{cursor:grabbing!important}
@media(max-width:620px),(pointer:coarse){
  .bcm-calendar-list-group .bcm-cal-toggle-row[data-organizer-source]{grid-template-columns:38px minmax(0,1fr) 34px!important}
  .bcm-calendar-drag-grip{width:36px;height:36px;min-width:36px;min-height:36px;font-size:22px}
}


/* Batch 57 — clean composer select focus. Avoid the double/thick ring seen on Type. */
.bcm-composer-dialog .bcm-type-field select:focus,
.bcm-composer-dialog .bcm-type-field select:focus-visible,
.bcm-composer-dialog .bcm-type-field label:focus-within{
  outline:none!important;box-shadow:none!important;
}
.bcm-composer-dialog .bcm-type-field select:focus,
.bcm-composer-dialog .bcm-type-field select:focus-visible{
  border-color:color-mix(in srgb,var(--primary) 58%,var(--border))!important;
}


/* Batch 58 — keep Filter in the top toolbar; never spend a full row on it. */
@media (min-width:621px){
  .bcm-calendar-hybrid .bcm-cal-toolbar{
    display:grid!important;
    grid-template-columns:minmax(250px,1fr) auto!important;
    align-items:center!important;
    gap:10px 16px!important;
    padding:10px 18px!important;
  }
  .bcm-calendar-hybrid .bcm-cal-title{min-width:0!important;width:auto!important}
  .bcm-calendar-hybrid .bcm-cal-tools{
    width:auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    overflow:visible!important;
    padding:0!important;
  }
  .bcm-calendar-hybrid .bcm-filter-trigger{
    width:auto!important;
    min-width:72px!important;
    max-width:none!important;
    flex:0 0 auto!important;
    margin:0!important;
  }
  .bcm-calendar-hybrid .bcm-toolbar-create{flex:0 0 auto!important;margin:0!important}
}
@media (min-width:621px) and (max-width:1080px){
  .bcm-calendar-hybrid .bcm-cal-toolbar{grid-template-columns:1fr!important}
  .bcm-calendar-hybrid .bcm-cal-tools{width:100%!important;justify-content:flex-start!important}
  .bcm-calendar-hybrid .bcm-search{flex:1 1 180px!important}
  .bcm-calendar-hybrid .bcm-view-switch{margin-left:auto!important}
}
@media (max-width:620px){
  .bcm-calendar-hybrid .bcm-cal-tools{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-areas:"views views views" "calendars filter more"!important;
  }
  .bcm-calendar-hybrid .bcm-filter-trigger{
    grid-area:filter!important;
    width:auto!important;
    min-width:64px!important;
    padding-inline:10px!important;
  }
  .bcm-calendar-hybrid .bcm-toolbar-create{display:none!important}
}


/* Batch 59 — room calendars can be narrower than the viewport. Use the calendar's
   own width so Search / view buttons never collapse into each other. */
.bcm-calendar-hybrid{container-type:inline-size}
.bcm-calendar-hybrid .bcm-search{min-width:170px!important;flex:0 1 220px!important;max-width:280px!important}
.bcm-calendar-hybrid .bcm-search input{min-width:0!important;width:100%!important}
@container (max-width:1120px){
  .bcm-calendar-hybrid .bcm-cal-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }
  .bcm-calendar-hybrid .bcm-cal-tools{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    padding-bottom:1px!important;
  }
  .bcm-calendar-hybrid .bcm-cal-tools::-webkit-scrollbar{display:none!important}
  .bcm-calendar-hybrid .bcm-search{flex:0 0 190px!important;min-width:190px!important}
  .bcm-calendar-hybrid .bcm-view-switch{flex:0 0 auto!important}
  .bcm-calendar-hybrid .bcm-toolbar-create,
  .bcm-calendar-hybrid .bcm-filter-trigger,
  .bcm-calendar-hybrid .bcm-calendar-more-menu{flex:0 0 auto!important}
}
@container (max-width:700px){
  .bcm-calendar-hybrid .bcm-search{display:none!important}
}


/* Batch 60 — give the Type label breathing room from its select without changing the compact row layout. */
.bcm-composer-dialog .bcm-type-field>label{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  min-width:0!important;
}
.bcm-composer-dialog .bcm-type-field>label>select{
  flex:1 1 auto!important;
  min-width:0!important;
  margin-left:0!important;
}
@media (max-width:620px){
  .bcm-composer-dialog .bcm-type-field>label{gap:14px!important}
}


/* BCM Batch 62: personal-calendar room recipient source */
.bcm-composer-dialog select[data-bcm-recipient-room]{display:none!important}


/* Batch 64: bounded calendar filter type chooser; never opens beyond the viewport. */
.bcm-global-filter-dialog .bcm-filter-type-field{display:grid;gap:8px;min-width:0}
.bcm-global-filter-dialog .bcm-filter-type-field>span{font-size:.82rem;font-weight:700;color:var(--muted,#68776e)}
.bcm-global-filter-dialog .bcm-filter-type-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:min(42vh,360px);overflow:auto;overscroll-behavior:contain;padding:4px 6px 4px 2px;scrollbar-gutter:stable}
.bcm-global-filter-dialog .bcm-filter-type-option{min-height:46px;padding:10px 12px;border:1px solid rgba(95,116,103,.25);border-radius:14px;background:rgba(245,248,242,.75);color:inherit;text-align:left;font:inherit;cursor:pointer}
.bcm-global-filter-dialog .bcm-filter-type-option:hover{background:rgba(111,143,120,.10)}
.bcm-global-filter-dialog .bcm-filter-type-option.is-selected{border-color:#6f8f78;box-shadow:0 0 0 2px rgba(111,143,120,.16) inset;background:rgba(111,143,120,.14);font-weight:700}
.bcm-composer-dialog[data-bcm-private-calendar="1"] .bcm-visibility-section .bcm-section-content{grid-template-columns:minmax(0,1fr)}
.bcm-composer-dialog[data-bcm-private-calendar="1"] .bcm-visibility-section label[hidden]{display:none!important}
@media(max-width:620px){.bcm-global-filter-dialog .bcm-filter-type-list{grid-template-columns:1fr;max-height:44vh}}

/* Batch 66 — mobile Calendar tools closure + toolbar collision fix. */
.bcm-calendar-hybrid .bcm-calendar-more-heading{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:8px!important;
}
.bcm-calendar-hybrid .bcm-calendar-more-heading>span{display:grid;gap:2px;min-width:0}
.bcm-calendar-hybrid .bcm-calendar-more-close{
  width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
  display:grid!important;place-items:center!important;padding:0!important;border:0!important;border-radius:999px!important;
  background:transparent!important;color:var(--foreground)!important;font-size:24px!important;line-height:1!important;cursor:pointer!important;
}
.bcm-calendar-hybrid .bcm-calendar-more-close:hover,
.bcm-calendar-hybrid .bcm-calendar-more-close:focus-visible{background:var(--cal-hover,var(--secondary))!important;outline:none!important}

@media (max-width:620px){
  /* Batch 59's container rule changed this toolbar back to a horizontal scroller.
     Restore a real grid so Calendars can never sit behind / to the right of the dots button. */
  .bcm-calendar-hybrid .bcm-cal-tools{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto 40px!important;
    grid-template-areas:"views views views" "calendars filter more"!important;
    align-items:center!important;
    gap:6px!important;
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    padding-bottom:0!important;
  }
  .bcm-calendar-hybrid .bcm-view-switch{grid-area:views!important;width:100%!important;min-width:0!important}
  .bcm-calendar-hybrid .bcm-mobile-calendars-menu{
    grid-area:calendars!important;
    min-width:0!important;max-width:100%!important;width:100%!important;justify-self:stretch!important;
    position:relative!important;z-index:82!important;
  }
  .bcm-calendar-hybrid .bcm-mobile-calendars-menu>summary{
    width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;
    white-space:nowrap!important;text-overflow:ellipsis!important;
  }
  .bcm-calendar-hybrid .bcm-filter-trigger{grid-area:filter!important;position:relative!important;z-index:83!important;justify-self:end!important}
  .bcm-calendar-hybrid .bcm-calendar-more-menu{
    grid-area:more!important;justify-self:end!important;position:relative!important;z-index:140!important;
    width:36px!important;min-width:36px!important;overflow:visible!important;
  }
  .bcm-calendar-hybrid .bcm-calendar-more-menu>summary{
    position:relative!important;z-index:142!important;width:36px!important;height:36px!important;min-width:36px!important;
  }
  .bcm-calendar-hybrid .bcm-calendar-more-popover{
    position:fixed!important;z-index:141!important;
    width:min(330px,calc(100vw - 20px))!important;
    overflow:auto!important;overscroll-behavior:contain!important;
  }
}

/* Batch 68 — toolbar create placement, compact multi-select Filter, schedule reachability, nav sizing. */
@media (min-width:621px){
  .bcm-calendar-hybrid .bcm-toolbar-create{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    min-width:88px!important;
    min-height:38px!important;
    margin:0!important;
  }
}
@media (max-width:620px){
  .bcm-calendar-hybrid .bcm-toolbar-create{display:none!important}
}

/* The old rail Create control is intentionally gone. Keep this defensive rule for
   any stale cached shell while the new JS is loading. */
.bcm-calendar-hybrid .bcm-rail-create{display:none!important}

/* Schedule must always be able to scroll its final rows fully above browser / OS chrome. */
.bcm-calendar-hybrid[data-calendar-view="agenda"] .bcm-cal-main{
  min-height:0!important;
  overflow-y:auto!important;
  scroll-padding-bottom:110px;
  overscroll-behavior-y:contain;
}
.bcm-calendar-hybrid[data-calendar-view="agenda"] .bcm-cal-body{min-height:max-content!important}
.bcm-calendar-hybrid[data-calendar-view="agenda"] .bcm-agenda-shell{
  min-height:100%;
  box-sizing:border-box;
  padding-bottom:max(110px,calc(env(safe-area-inset-bottom) + 72px));
}
.bcm-calendar-hybrid[data-calendar-view="agenda"] .bcm-agenda{padding-bottom:36px!important}

/* Previous / next should stay compact even after being clicked/focused. */
.bcm-calendar-hybrid .bcm-period-nav [data-prev],
.bcm-calendar-hybrid .bcm-period-nav [data-next]{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  max-width:38px!important;
  max-height:38px!important;
  padding:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
.bcm-calendar-hybrid .bcm-period-nav [data-prev]:focus-visible,
.bcm-calendar-hybrid .bcm-period-nav [data-next]:focus-visible{
  outline:2px solid color-mix(in srgb,var(--primary) 60%,transparent)!important;
  outline-offset:2px!important;
  box-shadow:none!important;
}

/* Compact Filter popover — same family as Calendar tools, not a full-screen dialog. */
.bcm-calendar-filter-popover{
  position:fixed;
  z-index:100000;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-width:280px;
  max-width:calc(100vw - 20px);
  max-height:min(620px,calc(100dvh - 20px));
  overflow:hidden;
  border:1px solid var(--border,#cbd8ca);
  border-radius:18px;
  background:var(--background,#fff);
  color:var(--foreground,#23342a);
  box-shadow:0 18px 50px rgba(20,35,26,.18);
  font-family:var(--font-family-base,inherit);
}
.bcm-calendar-filter-popover .bcm-filter-popover-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:12px 12px 10px;
  border-bottom:1px solid var(--border,#cbd8ca);
}
.bcm-calendar-filter-popover .bcm-filter-popover-heading>span{display:grid;gap:2px;min-width:0}
.bcm-calendar-filter-popover .bcm-filter-popover-heading strong{font-size:13px}
.bcm-calendar-filter-popover .bcm-filter-popover-heading small{font-size:10px;color:var(--muted-foreground,#6d786f)}
.bcm-calendar-filter-popover .bcm-calendar-more-close{
  width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border:0;border-radius:999px;
  display:grid;place-items:center;background:transparent;color:inherit;font:inherit;font-size:22px;cursor:pointer;
}
.bcm-calendar-filter-popover .bcm-calendar-more-close:hover,
.bcm-calendar-filter-popover .bcm-calendar-more-close:focus-visible{background:var(--cal-hover,var(--secondary,#edf2ea));outline:none}
.bcm-filter-popover-body{display:grid;gap:14px;padding:11px;overflow:auto;overscroll-behavior:contain}
.bcm-filter-popover-body>section{display:grid;gap:8px}
.bcm-filter-popover-label{display:flex;align-items:center;justify-content:space-between;gap:8px}
.bcm-filter-popover-label>b,.bcm-filter-popover-subtitle{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground,#6d786f)}
.bcm-filter-popover-label>button{
  min-height:28px;padding:4px 8px;border:0;border-radius:8px;background:transparent;color:var(--foreground,#23342a);font:inherit;font-size:10px;cursor:pointer;
}
.bcm-filter-popover-label>button:hover,.bcm-filter-popover-label>button.is-selected{background:color-mix(in srgb,var(--primary,#4b6f58) 10%,transparent)}
.bcm-filter-popover-types{display:grid;grid-template-columns:1fr 1fr;gap:5px;max-height:280px;overflow:auto;overscroll-behavior:contain;padding-right:2px}
.bcm-filter-popover-types>button{
  min-width:0;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:7px 9px;border:1px solid color-mix(in srgb,var(--border,#cbd8ca) 88%,transparent);border-radius:10px;
  background:var(--surface,var(--background,#fff));color:inherit;text-align:left;font:inherit;font-size:10px;cursor:pointer;
}
.bcm-filter-popover-types>button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bcm-filter-popover-types>button i{opacity:0;font-style:normal;font-weight:800;color:var(--primary,#4b6f58)}
.bcm-filter-popover-types>button:hover{background:color-mix(in srgb,var(--primary,#4b6f58) 5%,var(--surface,var(--background,#fff)))}
.bcm-filter-popover-types>button.is-selected{
  border-color:color-mix(in srgb,var(--primary,#4b6f58) 58%,var(--border,#cbd8ca));
  background:color-mix(in srgb,var(--primary,#4b6f58) 9%,var(--surface,var(--background,#fff)));
}
.bcm-filter-popover-types>button.is-selected i{opacity:1}
.bcm-filter-popover-subtitle{grid-column:1/-1;padding:7px 2px 2px}
.bcm-filter-reminder-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.bcm-filter-reminder-options>button{
  min-height:36px;padding:6px;border:1px solid var(--border,#cbd8ca);border-radius:10px;background:var(--surface,var(--background,#fff));color:inherit;font:inherit;font-size:9px;cursor:pointer;
}
.bcm-filter-reminder-options>button.is-selected{border-color:var(--primary,#4b6f58);background:color-mix(in srgb,var(--primary,#4b6f58) 10%,var(--surface,var(--background,#fff)));font-weight:750}
.bcm-filter-popover-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-top:1px solid var(--border,#cbd8ca)}
.bcm-filter-popover-footer>button{min-height:32px;padding:5px 9px;border:1px solid var(--border,#cbd8ca);border-radius:9px;background:var(--surface,var(--background,#fff));color:inherit;font:inherit;font-size:10px;cursor:pointer}
.bcm-filter-popover-footer small{font-size:9px;color:var(--muted-foreground,#6d786f);text-align:right}
@media(max-width:620px){
  .bcm-filter-popover-types{grid-template-columns:1fr;max-height:min(42dvh,300px)}
  .bcm-filter-reminder-options{grid-template-columns:1fr}
}

/* Batch 69: Require a response is intentionally unavailable for Only me. */
.bcm-response-toggle.is-disabled{cursor:not-allowed;opacity:.58}
.bcm-response-toggle.is-disabled input{cursor:not-allowed}
.bcm-response-settings:has(.bcm-response-toggle.is-disabled) [data-bcm-response-summary]{opacity:.78}


/* Batch 70 — Room visibility / scheduled-call composer feature removed. */
.bcm-composer-dialog .bcm-visibility-section{display:none!important}

/* Batch 71 — keep the desktop calendar and calendar rail fully reachable.
   The app shell clips overflowing pages, so the calendar owns the remaining
   visible height and both columns scroll inside that area instead of disappearing
   behind the bottom of the window. */
.bcm-calendar-host{
  min-height:0!important;
  overflow:hidden!important;
}
.bcm-calendar-host>.bcm-calendar-hybrid{
  min-height:0!important;
  height:100%!important;
  max-height:100%!important;
}
.bcm-calendar-hybrid .bcm-cal-layout{
  min-height:0!important;
  overflow:hidden!important;
}
.bcm-calendar-hybrid .bcm-cal-main{
  min-height:0!important;
}
@media (min-width:621px){
  .bcm-calendar-hybrid .bcm-cal-rail,
  .bcm-calendar-hybrid[data-calendar-view="week"].bcm-time-mode .bcm-cal-rail,
  .bcm-calendar-hybrid[data-calendar-view="day"].bcm-time-mode .bcm-cal-rail{
    min-height:0!important;
    max-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain!important;
    scrollbar-gutter:stable!important;
    scroll-padding-bottom:96px!important;
    padding-bottom:max(96px,calc(env(safe-area-inset-bottom,0px) + 52px))!important;
  }

  /* Month and Year used to inherit overflow:hidden from the hybrid shell.
     That made the last calendar rows unreachable on shorter desktop windows. */
  .bcm-calendar-hybrid[data-calendar-view="month"] .bcm-cal-main,
  .bcm-calendar-hybrid[data-calendar-view="year"] .bcm-cal-main,
  .bcm-calendar-hybrid[data-calendar-view="agenda"] .bcm-cal-main{
    overflow-x:auto!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    scroll-padding-bottom:96px!important;
  }

  .bcm-calendar-hybrid[data-calendar-view="month"] .bcm-cal-body,
  .bcm-calendar-hybrid[data-calendar-view="year"] .bcm-cal-body,
  .bcm-calendar-hybrid[data-calendar-view="agenda"] .bcm-cal-body{
    box-sizing:border-box!important;
    padding-bottom:max(96px,calc(env(safe-area-inset-bottom,0px) + 52px))!important;
  }
}

@media (max-width:620px){
  .bcm-calendar-hybrid .bcm-cal-main{
    min-height:0!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    scroll-padding-bottom:max(86px,calc(env(safe-area-inset-bottom,0px) + 64px))!important;
  }
}

/* Batch 72 — restore every calendar view in room/narrow desktop layouts and
   keep Calendar tools outside scroll/clipping containers. */
@container bcmcalendar (min-width:621px) and (max-width:1120px){
  .bcm-calendar-hybrid .bcm-cal-tools{
    display:grid!important;
    grid-template-columns:minmax(340px,1fr) auto auto 44px!important;
    grid-template-areas:"views create filter more"!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    padding-bottom:0!important;
  }
  .bcm-calendar-hybrid .bcm-search{display:none!important}
  .bcm-calendar-hybrid .bcm-view-switch{
    grid-area:views!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    overflow:visible!important;
  }
  .bcm-calendar-hybrid .bcm-view-switch button{
    display:block!important;
    min-width:0!important;
    padding-inline:7px!important;
    white-space:nowrap!important;
  }
  .bcm-calendar-hybrid .bcm-view-switch [data-view="month"],
  .bcm-calendar-hybrid .bcm-view-switch [data-view="week"],
  .bcm-calendar-hybrid .bcm-view-switch [data-view="day"],
  .bcm-calendar-hybrid .bcm-view-switch [data-view="agenda"],
  .bcm-calendar-hybrid .bcm-view-switch [data-view="year"]{display:block!important}
  .bcm-calendar-hybrid .bcm-toolbar-create{grid-area:create!important}
  .bcm-calendar-hybrid .bcm-filter-trigger{grid-area:filter!important}
  .bcm-calendar-hybrid .bcm-calendar-more-menu{grid-area:more!important;overflow:visible!important;z-index:100001!important}
}

/* The menu is positioned against the viewport by JS. This avoids the toolbar's
   historical overflow rules clipping the panel in room/private calendar views. */
.bcm-calendar-hybrid .bcm-calendar-more-popover{
  position:fixed!important;
  z-index:100000!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
}

/* Batch 73 — Room calendar rail shows event types instead of the room name.
   The room colour is a personal display preference and never changes other members' calendars. */
.bcm-room-calendar-type-group{padding-top:2px}
.bcm-room-calendar-type-head{margin-bottom:0}
.bcm-room-calendar-type-head .bcm-calendar-category-title{display:flex;align-items:center;gap:10px;min-width:0}
.bcm-room-calendar-type-head h4{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bcm-room-calendar-colour{width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important;padding:0!important;border:1px solid var(--border)!important;border-radius:50%!important;background:transparent!important;display:grid!important;place-items:center;cursor:pointer!important}
.bcm-room-calendar-colour i{display:block;width:14px;height:14px;border-radius:50%;background:var(--dot,#718f78);box-shadow:0 0 0 1px color-mix(in srgb,var(--dot,#718f78) 72%,var(--border))}
.bcm-room-calendar-colour:hover,.bcm-room-calendar-colour:focus-visible{background:color-mix(in srgb,var(--primary,#4b6f58) 8%,transparent)!important;outline:2px solid color-mix(in srgb,var(--primary,#4b6f58) 24%,transparent);outline-offset:2px}
.bcm-room-calendar-colour-note{margin:6px 4px 12px 12px;font-size:12px;line-height:1.45;color:var(--muted,#6b756d)}
.bcm-room-event-type-row{padding:2px 0 2px 12px!important;cursor:default!important}
.bcm-room-event-type-row .bcm-cal-toggle{display:flex!important;align-items:center;gap:10px;min-width:0}
.bcm-room-event-type-row .bcm-cal-toggle span{font-weight:600;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bcm-room-type-empty{display:grid;gap:3px;margin:8px 4px 6px 12px;padding:10px 12px;border:1px dashed var(--border);border-radius:12px;color:var(--muted,#6b756d)}
.bcm-room-type-empty strong{color:var(--text,#24372c);font-size:13px}
.bcm-room-type-empty span{font-size:12px;line-height:1.4}
.bcm-colour-note{margin:0 0 12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--primary,#4b6f58) 5%,transparent);font-size:13px;line-height:1.45;color:var(--muted,#6b756d)}

@media(max-width:620px){
  .bcm-mobile-calendar-filters .bcm-room-calendar-colour-note{font-size:12px}
  .bcm-mobile-calendar-filters .bcm-room-event-type-row{padding-left:8px!important}
}


/* Batch 74 — tidy the Room calendar personal-colour control.
   The older category-button rules were forcing the colour button into a square. */
.bcm-room-calendar-type-head .bcm-room-calendar-category-title{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
}
.bcm-room-calendar-type-head .bcm-room-calendar-category-title h4{
  flex:0 1 auto!important;
  min-width:0!important;
  margin:0!important;
}
.bcm-room-calendar-type-head button.bcm-room-calendar-colour{
  width:auto!important;
  min-width:0!important;
  height:30px!important;
  min-height:30px!important;
  padding:0 9px!important;
  border:1px solid var(--border,#cbd8ca)!important;
  border-radius:999px!important;
  background:var(--background,#fff)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  color:var(--foreground,#24372c)!important;
  font:inherit!important;
  font-size:10px!important;
  font-weight:750!important;
  line-height:1!important;
  box-shadow:none!important;
  flex:0 0 auto!important;
}
.bcm-room-calendar-type-head button.bcm-room-calendar-colour i{
  display:block!important;
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  border-radius:50%!important;
  background:var(--dot,#718f78)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--dot,#718f78) 72%,var(--border,#cbd8ca))!important;
}
.bcm-room-calendar-type-head button.bcm-room-calendar-colour span{
  display:inline!important;
  white-space:nowrap!important;
}
.bcm-room-calendar-type-head button.bcm-room-calendar-colour:hover{
  background:color-mix(in srgb,var(--primary,#4b6f58) 8%,var(--background,#fff))!important;
  color:var(--foreground,#24372c)!important;
}
.bcm-room-calendar-type-head button.bcm-room-calendar-colour:focus-visible{
  outline:2px solid color-mix(in srgb,var(--primary,#4b6f58) 35%,transparent)!important;
  outline-offset:2px!important;
}
.bcm-room-calendar-colour-note{
  margin:4px 4px 12px 12px!important;
  max-width:310px!important;
  color:var(--muted-foreground,#65746a)!important;
  opacity:1!important;
  font-size:10.5px!important;
  font-weight:400!important;
  line-height:1.45!important;
}
.bcm-room-calendar-colour-note strong{
  color:var(--foreground,#24372c)!important;
  font-weight:750!important;
}
@media(max-width:620px){
  .bcm-room-calendar-type-head .bcm-room-calendar-category-title{gap:8px!important}
  .bcm-room-calendar-type-head button.bcm-room-calendar-colour{height:28px!important;min-height:28px!important;padding:0 8px!important;font-size:10px!important}
  .bcm-room-calendar-colour-note{margin-left:8px!important;max-width:none!important;font-size:10.5px!important}
}


/* Batch 75 — private-chat event-type rail, sticky private Calendar tab,
   and calmer context-month cells. */
.bcm-direct-calendar-type-group{padding-top:2px}
.bcm-direct-calendar-type-head{margin-bottom:0}
.bcm-direct-calendar-type-head .bcm-calendar-category-title{display:flex!important;align-items:center!important;min-width:0!important}
.bcm-direct-calendar-type-head h4{margin:0!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bcm-direct-event-type-row{padding:2px 0 2px 12px!important;cursor:default!important}
.bcm-direct-event-type-row .bcm-cal-toggle{display:flex!important;align-items:center;gap:9px;min-width:0}
.bcm-direct-event-type-row .bcm-cal-toggle span{font-weight:600;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bcm-direct-type-dot{display:block;flex:0 0 12px;width:12px;height:12px;border-radius:50%;background:var(--dot,#416c54);box-shadow:0 0 0 1px color-mix(in srgb,var(--dot,#416c54) 70%,var(--border))}
.bcm-direct-type-empty{display:grid;gap:3px;margin:8px 4px 6px 12px;padding:10px 12px;border:1px dashed var(--border);border-radius:12px;color:var(--muted-foreground,#65746a)}
.bcm-direct-type-empty strong{color:var(--foreground,#24372c);font-size:13px}
.bcm-direct-type-empty span{font-size:12px;line-height:1.4}

@media (min-width:621px){
  /* In Room/private-chat calendars, do not pin +N more beside the date.
     Keep it in the event stack so the date and event count never collide. */
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-day-events .bcm-more{
    position:static!important;
    inset:auto!important;
    z-index:auto!important;
    display:inline-flex!important;
    align-items:center!important;
    align-self:flex-start!important;
    flex:0 0 15px!important;
    width:auto!important;
    max-width:100%!important;
    min-height:15px!important;
    height:15px!important;
    padding:0 4px!important;
    margin:0!important;
    border-radius:5px!important;
    background:transparent!important;
    color:var(--muted-foreground)!important;
    line-height:15px!important;
    font-size:9px!important;
  }
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-day-events .bcm-more:hover,
  .bcm-context-calendar-host .bcm-calendar-hybrid .bcm-day-events .bcm-more:focus-visible{
    background:color-mix(in srgb,var(--primary) 9%,transparent)!important;
  }
}

@media(max-width:620px){
  .bcm-mobile-calendar-filters .bcm-direct-event-type-row{padding-left:8px!important}
}


/* Batch 76 — room colour clarity + full Room calendars title. */
.bcm-room-calendar-type-head .bcm-room-calendar-category-title{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:7px!important;
  align-items:start!important;
  justify-items:start!important;
}
.bcm-room-calendar-type-head .bcm-room-calendar-category-title h4{
  width:100%!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  line-height:1.25!important;
}
.bcm-room-calendar-type-head button.bcm-room-calendar-colour{
  justify-self:start!important;
  margin:0!important;
}
.bcm-room-calendar-colour-note{
  margin:5px 4px 12px 0!important;
  max-width:none!important;
}
.bcm-colour-dialog .bcm-colour-note{
  color:var(--muted-foreground,#627168)!important;
  background:color-mix(in srgb,var(--primary,#4b6f58) 8%,var(--background,#fff))!important;
  border-color:color-mix(in srgb,var(--primary,#4b6f58) 18%,var(--border,#cbd8ca))!important;
  opacity:1!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.5!important;
}
.bcm-colour-dialog .bcm-event-form>header>button[data-close]{
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  border:1px solid var(--border,#cbd8ca)!important;
  border-radius:50%!important;
  background:var(--background,#fff)!important;
  color:var(--foreground,#24372c)!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  flex:0 0 34px!important;
}
.bcm-colour-dialog .bcm-event-form>header>button[data-close]:hover{
  background:color-mix(in srgb,var(--primary,#4b6f58) 8%,var(--background,#fff))!important;
}


/* Batch 78 — clearer detail context, mouse-wheel chaining, and live-sync polish. */
.bcm-detail-dialog .bcm-detail-context{
  display:block!important;
  margin:0 0 7px!important;
  font-size:12.5px!important;
  line-height:1.25!important;
  font-weight:750!important;
  letter-spacing:.07em!important;
  color:var(--muted-foreground,#65746a)!important;
  text-transform:none!important;
}

/* Nested calendar panes should never trap a desktop mouse wheel at their edge. */
@media (pointer:fine){
  .bcm-calendar-hybrid .bcm-cal-main,
  .bcm-calendar-hybrid .bcm-cal-body,
  .bcm-calendar-hybrid .bcm-cal-rail,
  .bcm-detail-dialog article,
  .bcm-event-form .bcm-form-grid,
  .bcm-notification-list,
  .bcm-calendar-more-popover,
  .bcm-filter-popover-body,
  .bcm-filter-popover-types{
    overscroll-behavior-y:auto!important;
  }
}

/* Batch 79 — clearer event details and explicit device-reminder switch. */
.bcm-calendar-hybrid .bcm-device-reminder-control{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  min-height:54px!important;
  padding:8px 10px!important;
}
.bcm-device-reminder-copy{display:grid;gap:2px;min-width:0;text-align:left}
.bcm-device-reminder-copy b{font-size:12px;font-weight:650}
.bcm-device-reminder-copy small{font-size:9.5px;color:var(--muted-foreground,#66756b);font-weight:400;line-height:1.35}
.bcm-device-reminder-state{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:26px;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--primary,#4c7159) 16%,var(--secondary,#edf2ec));color:var(--foreground,#22352a);font-size:10px;font-weight:800}
.bcm-device-reminder-control.is-off .bcm-device-reminder-state{background:var(--secondary,#edf2ec);color:var(--muted-foreground,#66756b)}
.bcm-device-reminder-control.is-off .bcm-device-reminder-copy b{color:var(--muted-foreground,#66756b)}

.bcm-detail-dialog{width:min(720px,calc(100vw - 24px))!important}
.bcm-detail-dialog article{gap:8px;padding-bottom:10px;background:var(--popup,var(--surface))}
.bcm-detail-dialog article>header{
  margin:0!important;
  padding:20px 22px 14px!important;
  border-bottom:1px solid var(--border,#d7dfd7)!important;
  box-shadow:none!important;
}
.bcm-detail-dialog .bcm-detail-context{
  margin-bottom:5px!important;
  font-size:13px!important;
  font-weight:800!important;
  color:var(--primary,#486c55)!important;
  letter-spacing:.04em!important;
}
.bcm-detail-dialog h2{font-size:27px!important;line-height:1.12!important;margin-top:0!important}
.bcm-detail-dialog .bcm-detail-time{
  margin:8px 18px 0!important;
  padding:13px 15px!important;
  border:1px solid var(--border,#d7dfd7)!important;
  border-radius:14px!important;
  background:var(--background,#fbfcf9)!important;
}
.bcm-detail-time strong{font-size:14px!important;line-height:1.45}
.bcm-detail-dialog article>p{
  margin:0 18px!important;
  padding:12px 14px!important;
  border:1px solid var(--border,#d7dfd7)!important;
  border-radius:12px!important;
  background:var(--background,#fbfcf9)!important;
}
.bcm-detail-dialog .bcm-detail-card,
.bcm-detail-dialog .bcm-detail-history{
  margin:0 18px!important;
  padding:14px 15px!important;
  border:1px solid var(--border,#d7dfd7)!important;
  border-radius:14px!important;
  background:var(--background,#fbfcf9)!important;
  box-shadow:0 1px 0 color-mix(in srgb,var(--foreground,#203228) 4%,transparent)!important;
}
.bcm-detail-dialog .bcm-detail-card h3,
.bcm-detail-dialog .bcm-detail-history>summary{
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.025em!important;
  color:var(--foreground,#21342a)!important;
}
.bcm-detail-dialog .bcm-detail-history>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:7px}
.bcm-detail-dialog .bcm-detail-history>summary::before{content:"›";font-size:18px;line-height:1;transition:transform .14s ease}
.bcm-detail-dialog .bcm-detail-history[open]>summary::before{transform:rotate(90deg)}
.bcm-detail-dialog .bcm-attendees{gap:8px}
.bcm-detail-dialog .bcm-attendees>span{background:var(--surface,#fff);padding:7px 10px;border-radius:999px}
.bcm-detail-dialog .bcm-attendees i{width:31px;height:31px;font-size:11px}
.bcm-detail-dialog .bcm-attendees b{font-size:11px}
.bcm-detail-dialog .bcm-section-title{margin-bottom:7px}
.bcm-detail-dialog .bcm-section-title .bcm-mini-action{min-height:34px;padding:5px 11px;font-size:10px}
.bcm-detail-dialog article>footer{
  margin-top:2px!important;
  padding:12px 18px 16px!important;
  border-top:1px solid var(--border,#d7dfd7)!important;
  box-shadow:0 -10px 26px color-mix(in srgb,var(--foreground,#203228) 5%,transparent)!important;
}
@media(max-width:620px){
  .bcm-detail-dialog{width:calc(100vw - 12px)!important}
  .bcm-detail-dialog h2{font-size:22px!important}
  .bcm-detail-dialog article>header{padding:15px 16px 12px!important}
  .bcm-detail-dialog .bcm-detail-time,
  .bcm-detail-dialog article>p,
  .bcm-detail-dialog .bcm-detail-card,
  .bcm-detail-dialog .bcm-detail-history{margin-inline:12px!important}
  .bcm-detail-dialog .bcm-detail-card,.bcm-detail-dialog .bcm-detail-history{padding:12px!important}
}
.bcm-detail-dialog article>header>button{
  width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;
  border:1px solid var(--border,#d7dfd7)!important;border-radius:50%!important;background:var(--background,#fff)!important;
  display:grid!important;place-items:center!important;line-height:1!important;font-size:22px!important;flex:0 0 36px!important;
}
.bcm-detail-dialog article>header>button:hover{background:var(--secondary,#edf2ee)!important}
.bcm-detail-dialog .bcm-description{font-size:12.5px!important;line-height:1.6!important;color:var(--foreground,#21342a)!important}

/* BCM Batch 80: selected-day agenda + clearer mobile Calendars action */
.bcm-selected-day-agenda{border-top:1px solid var(--border);background:var(--background);padding:16px 18px 24px}
.bcm-selected-day-agenda>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.bcm-selected-day-agenda>header>div{min-width:0}.bcm-selected-day-agenda>header small{display:block;font-size:9px;letter-spacing:.13em;color:var(--muted-foreground)}
.bcm-selected-day-agenda h3{margin:2px 0 0;font-size:20px;line-height:1.2}.bcm-selected-day-agenda h3 em{font-size:9px;font-style:normal;font-weight:700;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);padding:3px 7px;border-radius:999px;vertical-align:middle}
.bcm-selected-day-agenda>header button{border:1px solid var(--border);background:var(--surface);color:var(--foreground);border-radius:14px;padding:8px 12px;font:inherit;font-size:11px;cursor:pointer;white-space:nowrap}
.bcm-selected-day-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.bcm-selected-day-event{width:100%;display:grid;grid-template-columns:5px minmax(0,1fr) 14px;align-items:center;gap:10px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:14px;background:var(--surface);color:inherit;padding:10px 12px;text-align:left;box-shadow:0 1px 3px color-mix(in srgb,var(--foreground) 6%,transparent);cursor:pointer;min-width:0}
.bcm-selected-day-event>i{width:5px;height:34px;border-radius:5px;background:var(--event)}.bcm-selected-day-event>span{display:grid;min-width:0;gap:2px}.bcm-selected-day-event strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcm-selected-day-event small{font-size:10px;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcm-selected-day-event>b{font-size:18px;font-weight:400;color:var(--muted-foreground)}
.bcm-calendar-hybrid .bcm-day-cell.selected{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 52%,transparent)}
.bcm-mobile-menu-heading{display:flex!important;align-items:center;justify-content:space-between;gap:18px;padding:9px 8px 7px!important}
.bcm-mobile-menu-heading>span:first-child{min-width:0}
.bcm-mobile-menu-create-event{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--foreground);padding:7px 11px;font:inherit;font-size:10px;font-weight:700;letter-spacing:0;text-transform:none;cursor:pointer}
.bcm-mobile-menu-create-event>span{white-space:nowrap}
@media(max-width:720px){
  .bcm-selected-day-agenda{padding:13px 12px calc(84px + env(safe-area-inset-bottom,0px));min-height:210px}
  .bcm-selected-day-list{grid-template-columns:1fr;gap:6px}
  .bcm-selected-day-event{grid-template-columns:4px minmax(0,1fr) 12px;padding:10px 11px;border:0;border-radius:13px}
  .bcm-selected-day-event>i{width:4px;height:32px}.bcm-selected-day-event strong{font-size:11px}.bcm-selected-day-event small{font-size:9px}
  .bcm-mobile-menu-create-event{padding:7px 10px;font-size:10px}
}
