/* Meeting list view, quick-entry dialog and the saved meeting (call) form. */
.page-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 0 10px;border-bottom:1px solid var(--border-color)}
.standard-filter-section{display:flex;gap:8px;flex-wrap:wrap}
.filter-input{width:200px!important;min-height:28px!important;padding-top:3px!important;padding-bottom:3px!important}
.list-row-head,.list-row-container{display:flex;align-items:center;gap:15px;padding:0 12px}
.list-row-head{position:sticky;top:57px;z-index:2;height:32px;margin-top:10px;border-radius:var(--border-radius);background:var(--subtle-fg);font-size:12px;font-weight:500;color:var(--text-muted)}
.list-row-container{height:40px;border-bottom:1px solid var(--border-color);font-size:13px;color:var(--text-color)}
.list-row-container:hover{background:var(--highlight-color)}
body[data-list-density=compact] .list-row-container{height:32px}
.list-row-col{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.list-row-col.list-subject{flex:2.2;font-weight:500;color:var(--heading-color)}
.list-row-col.wide{flex:1.6}
.list-row-col.narrow{flex:.8}
.list-row-head .list-row-col.list-subject{font-weight:500;color:var(--text-muted)}
.list-count{flex-shrink:0;min-width:60px;text-align:right;font-weight:420;color:var(--text-muted)}
.list-row-container::after{content:"";flex-shrink:0;min-width:60px}
.list-paging-area{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0 0}
.page-lengths{display:flex}
.page-length-btn{height:28px;padding:0 12px;font-size:13px;border-radius:0}
.page-length-btn:first-child{border-radius:var(--border-radius) 0 0 var(--border-radius)}
.page-length-btn:last-child{border-radius:0 var(--border-radius) var(--border-radius) 0}
.page-length-btn+.page-length-btn{border-left:1px solid var(--dark-border-color)}
.page-length-btn.active{background:var(--btn-default-hover-bg);font-weight:500}
.paging-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-muted)}
#meeting-error{margin-top:16px}
#view-switcher .dropdown-menu{left:0;right:auto;min-width:180px}

/* Calendar view (Frappe's FullCalendar look: month/week grid, pastel events by status). */
.btn-group{display:inline-flex}
.btn-group>button{border-radius:0}
.btn-group>button:first-child{border-radius:var(--border-radius) 0 0 var(--border-radius)}
.btn-group>button:last-child{border-radius:0 var(--border-radius) var(--border-radius) 0}
.btn-group>button+button{border-left:1px solid var(--dark-border-color)}
.btn-group>button.active{background:var(--btn-default-hover-bg);font-weight:500}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 0 10px}
.calendar-title{font-size:18px;font-weight:600}
.calendar-actions{display:flex;gap:8px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--border-color);border-left:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}
.calendar-weekday{padding:6px 8px;font-size:12px;font-weight:500;color:var(--text-muted);background:var(--subtle-fg);border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);text-align:center}
.calendar-day{display:flex;flex-direction:column;gap:2px;min-width:0;min-height:112px;padding:4px;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:var(--bg-color)}
.calendar-grid[data-mode=week] .calendar-day{min-height:420px}
.calendar-day.other-month{background:var(--subtle-accent)}
.calendar-day.other-month .calendar-day-number{color:var(--text-light)}
.calendar-day.today{background:var(--bg-yellow)}
.calendar-day-number{align-self:flex-end;height:22px;min-width:22px;padding:0 6px;font-size:12px;background:none;color:var(--text-color);border-radius:var(--border-radius-full)}
.calendar-day-number:hover{background:var(--btn-default-hover-bg)}
.calendar-day.today .calendar-day-number{background:var(--primary);color:var(--btn-primary-text);font-weight:600}
.calendar-event{display:block;padding:2px 6px;border-radius:var(--border-radius-tiny);font-size:12px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--bg-gray);color:var(--text-on-gray)}
.calendar-event:hover{filter:brightness(.96)}
.calendar-event-time{font-weight:600;margin-right:4px}
.calendar-event.green{background:var(--bg-green);color:var(--text-on-green)}
.calendar-event.blue{background:var(--bg-blue);color:var(--text-on-blue)}
.calendar-event.orange{background:var(--bg-orange);color:var(--text-on-orange)}
.calendar-event.yellow{background:var(--bg-yellow);color:var(--text-on-yellow)}
.calendar-event.red{background:var(--bg-red);color:var(--text-on-red)}
.calendar-more{align-self:flex-start;font-size:12px;padding:0 4px}
@media(max-width:760px){.calendar-day{min-height:72px}.calendar-event-time{display:none}}

/* Quick-entry modal */
dialog{padding:0;border:0;border-radius:var(--border-radius-lg);background:var(--popover-bg);color:var(--text-color);box-shadow:var(--shadow-lg);width:600px;max-width:calc(100vw - 32px);max-height:90vh;overflow:auto}
dialog::backdrop{background:rgba(0,0,0,.4)}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 8px}
.modal-title{font-size:16px;font-weight:600}
.modal-body{padding:8px 20px 16px}
.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border-color)}
#new-meeting-error{margin:12px 0 0}
#new-meeting-dialog textarea{min-height:96px}

/* Schedule editor (quick entry and saved meeting) */
.schedule-editor{border:0;border-top:1px solid var(--border-color);margin:16px 0 0;padding:12px 0 0;min-width:0;font-size:13px}
.schedule-editor legend{padding:0;font-size:14px;font-weight:600;color:var(--heading-color);float:left;width:100%;margin-bottom:8px}
.schedule-editor legend+*{clear:both}
.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
.schedule-grid label,.schedule-editor label[for]{display:grid;gap:4px;margin-top:8px}
.schedule-grid label{margin-top:0}
.schedule-check{display:flex!important;align-items:center;gap:8px;margin:8px 0!important;color:var(--text-color)}
.schedule-editor .field-help{margin:6px 0 0}
.call-schedule{margin:0 0 20px;padding:16px 20px;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--card-bg)}
.call-schedule .schedule-editor{border-top:0;margin:0;padding:0}
.call-schedule>button{margin-top:12px}
.call-schedule [role=status]{font-size:13px;color:var(--text-muted);margin-top:8px}
.call-schedule [role=status]:empty{display:none}
.call-schedule:has(>p:empty):not(:has(fieldset)){display:none}

/* Saved meeting form: room + side panel, then summary and transcript. */
.call-detail-page .workspace>.intro,.call-detail-page .studio-sections,.call-detail-page #notice,.call-detail-page #stream-help,.call-detail-page .page-footer{display:none}
.call-detail-page .workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-content:start}
.call-detail-page .call-metadata,.call-detail-page .call-schedule{grid-column:1/-1}
.call-metadata{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text-muted);margin-top:-6px}
.call-meeting-link{color:var(--primary);font-weight:500;overflow-wrap:anywhere;text-decoration:none}
.call-meeting-link::before{content:'Meeting URL:';color:var(--text-muted);font-weight:400;margin-right:4px}
.call-meeting-link:hover{text-decoration:underline}
.call-detail-page .local-room{grid-column:1;display:grid;grid-template-columns:minmax(0,1fr) 260px;column-gap:16px;align-items:start}
.call-detail-page .local-room.expanded{position:relative;inset:auto;z-index:auto;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:12px;overflow:visible}
.call-detail-page .local-room>.room-heading{grid-column:1/-1}
.call-detail-page .local-room>.room-screen{grid-column:1;grid-row:2;aspect-ratio:16/9;max-height:none;min-height:200px}
.call-detail-page .local-room>.room-controls{grid-column:1;grid-row:3}
.call-detail-page .room-screen #live-preview,.call-detail-page .room-screen video{object-fit:cover}
.room-side{grid-column:2;grid-row:2/span 2;display:flex;flex-direction:column;gap:12px;min-width:0;max-height:100%;overflow:auto}
.room-side .room-caption-area{align-items:flex-start;text-align:left;padding:10px 12px;min-height:0;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--subtle-accent)}
.room-side .room-caption{font-size:14px;text-align:left}
.room-side .room-participants{flex-direction:column;align-items:flex-start;gap:8px;padding:0;border:0}
.room-side .room-hint{padding:0}
.room-side .room-chat{margin:0;max-height:340px}
.room-side .room-tweak{top:auto;right:auto;position:relative;width:auto;box-shadow:none;border:1px solid var(--border-color)}
.call-panels{display:contents}
.call-panel{min-width:0;padding:16px 20px;border:1px solid var(--border-color);border-radius:var(--border-radius-lg);background:var(--card-bg)}
.call-detail-page .call-panel:first-child{grid-column:2}
.call-detail-page .call-panel:last-child{grid-column:1/-1}
.call-panel h2{display:flex;align-items:baseline;gap:6px;font-size:14px;font-weight:600;margin:20px 0 8px}
.call-panel h2:first-child,.call-review h2{margin-top:0}
.call-panel>button{margin-top:8px}
.call-panel textarea{max-height:420px;overflow:auto}
.call-panel .field-help{margin-top:6px}
#attendee-count{font-size:12px;font-weight:420;color:var(--text-muted)}
#call-attendees,#call-notes{font-size:13px;color:var(--text-muted)}
#call-notes p{padding:6px 0;border-bottom:1px solid var(--border-color);color:var(--text-color)}
.attendee-row{display:flex;gap:8px;align-items:center;padding:5px 0}
.attendee-row>div{min-width:0}
.attendee-row strong{display:block;font-size:13px;font-weight:500;color:var(--heading-color)}
.attendee-row small{display:block;font-size:12px;color:var(--text-muted);overflow-wrap:anywhere}
.call-recordings>p{font-size:13px;color:var(--text-muted)}
.recording-download-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0;font-size:13px}
.recording-download{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:var(--border-radius);background:var(--btn-default-bg)}
.recording-download:hover{background:var(--btn-default-hover-bg)}
.call-review{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}
.call-review>div{min-width:0}
#call-summary{max-height:420px;overflow:auto}
.call-transcript{max-height:460px;overflow:auto}
.call-transcript:empty::before{content:"The transcript appears once the conversation starts.";font-size:13px;color:var(--text-muted)}
.call-ended .room-controls,.call-ended .room-screen-label,.call-ended #live-preview,.call-ended .room-side{display:none!important}
.call-ended .room-screen:has(video) #room-placeholder{display:none!important}
.call-ended.call-detail-page .local-room{grid-template-columns:minmax(0,1fr)}
.call-ended.call-detail-page .room-screen video{object-fit:contain}
#meeting-playback{background:#000}

/* Markdown rendering for agenda and summary */
.markdown-summary{font-size:13px;line-height:1.6;color:var(--text-color)}
.markdown-summary>:first-child{margin-top:0}
.markdown-summary h3,.markdown-summary h4,.markdown-summary h5,.markdown-summary h6{font-size:14px;font-weight:600;margin:14px 0 4px}
.markdown-summary p{margin:6px 0}
.markdown-summary ul,.markdown-summary ol{margin:6px 0;padding-left:20px}
.markdown-summary li{margin:2px 0}
.markdown-summary hr{border:0;border-top:1px solid var(--border-color);margin:12px 0}
.agenda-view{padding:8px 10px;border-radius:var(--border-radius);background:var(--control-bg)}
.agenda-view.collapsed{max-height:240px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 75%,transparent);mask-image:linear-gradient(#000 75%,transparent)}

@media(max-width:1100px){
 .call-detail-page .workspace{grid-template-columns:minmax(0,1fr)}
 .call-detail-page .local-room{grid-template-columns:minmax(0,1fr)}
 .room-side,.call-detail-page .call-panel:first-child{grid-column:1;grid-row:auto}
 .call-detail-page .local-room>.room-screen,.call-detail-page .local-room>.room-controls{grid-row:auto}
}
@media(max-width:760px){
 .list-row-head{top:0}
 .list-row-col.wide,.list-row-col.narrow{display:none}
 .call-review,.schedule-grid{grid-template-columns:1fr}
}
