/* Meetings calendar — moved from profile.html (work schedule tab) to tasks.html Calendar tab */
/* ============================================================
   Meetings Calendar (work-schedule tab)
   ============================================================ */
.meetings-calendar-card { border:1px solid #e2e8f0; border-radius:0; overflow:hidden; }
.mtg-view-toggle .mtg-view-btn { transition: background .15s ease, color .15s ease; }
.mtg-calendar { background:#fff; }

/* 2-column layout: calendar + right-side circular-button rail */
.mtg-cal-layout {
    display:grid;
    grid-template-columns: 1fr 96px;
    background:#fff;
}
.mtg-cal-main { min-width:0; }
.mtg-cal-rail {
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    border-left:1px solid #e5e7eb;
    padding:14px 8px;
    display:flex; flex-direction:column; align-items:center; gap:10px;
}
/* Circular rail button */
.mtg-rail-circle {
    width:46px; height:46px; flex-shrink:0;
    display:inline-flex; align-items:center; justify-content:center;
    background:#ffffff; border:1px solid #e2e8f0; color:#0f172a;
    border-radius:50%; cursor:pointer;
    font-size:.95rem;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
}
.mtg-rail-circle:hover { transform:translateY(-1px); box-shadow:0 4px 10px rgba(15,23,42,0.08); border-color:#cbd5e1; color:#0284c7; }
.mtg-rail-circle:active { transform:translateY(0); }
.mtg-rail-circle.active {
    background: linear-gradient(135deg, #0ea5e9, #0284c7);
    border-color:transparent; color:#ffffff;
    box-shadow:0 3px 10px rgba(2,132,199,0.30);
}
.mtg-rail-circle.active:hover { color:#ffffff; }
/* Primary (Book Meeting) is larger */
.mtg-rail-primary {
    width:56px; height:56px;
    background: linear-gradient(135deg, #0ea5e9, #0284c7);
    border-color:transparent; color:#ffffff;
    font-size:1.05rem;
    box-shadow:0 4px 14px rgba(2,132,199,0.30);
}
.mtg-rail-primary:hover { color:#ffffff; box-shadow:0 6px 18px rgba(2,132,199,0.40); }
/* Toolbar view-toggle (inline pill group, next to today/arrows) */
.mtg-toolbar-view-btn {
    display:inline-flex; align-items:center; gap:5px;
    background:transparent; border:none; color:#64748b;
    padding:5px 9px; border-radius:6px; cursor:pointer;
    font-size:.62rem; font-weight:600; text-transform:uppercase; letter-spacing:.4px;
    transition: background .15s ease, color .15s ease;
}
.mtg-toolbar-view-btn i { font-size:.7rem; }
.mtg-toolbar-view-btn:hover { background:#f1f5f9; color:#0f172a; }
.mtg-toolbar-view-btn.active {
    background: linear-gradient(135deg, #0ea5e9, #0284c7);
    color:#ffffff; box-shadow:0 1px 3px rgba(2,132,199,0.25);
}
.mtg-toolbar-view-btn.active:hover { color:#ffffff; }

/* ===== Book Meeting Modal — mirrors Employee Details (emp-mineops-style) from payroll.html ===== */
#bookMeetingModal.emp-mineops-style{
    position:fixed; inset:0; z-index:2200;
    background:rgba(15,23,42,0.55);
    align-items:flex-start; justify-content:center;
    padding:3rem 1rem; overflow:auto;
}
#bookMeetingModal.emp-mineops-style .bm-modal{
    background:#fff; border-radius:0;
    width:100%; max-width:760px; max-height:88vh;
    padding:0; overflow:hidden;
    box-shadow:0 18px 50px rgba(0,0,0,0.25);
    display:flex; flex-direction:column;
    border:none;
}
#bookMeetingModal.emp-mineops-style #bookMeetingForm{
    display:flex; flex-direction:column;
    flex:1; min-height:0; margin:0;
}
#bookMeetingModal.emp-mineops-style .employee-modal-header{
    padding:0.8rem 1rem;
    border-bottom:1px solid #e5e7eb;
    background:linear-gradient(135deg,#c2410c,#ea580c);
    color:#fff;
    display:flex; align-items:center; gap:0.6rem;
    flex:0 0 auto;
}
#bookMeetingModal.emp-mineops-style .employee-modal-header h3{
    font-size:0.95rem; margin:0; font-weight:600;
    color:#fff; display:flex; align-items:center; gap:0.5rem;
    margin-right:auto;
}
#bookMeetingModal.emp-mineops-style .employee-modal-header h3 i{ color:#fff; }
#bookMeetingModal.emp-mineops-style .employee-modal-close{
    background:rgba(255,255,255,0.15);
    border:1px solid rgba(255,255,255,0.25);
    color:#fff; width:28px; height:28px;
    border-radius:6px; cursor:pointer; font-size:1rem;
    display:flex; align-items:center; justify-content:center;
    padding:0; line-height:1;
}
#bookMeetingModal.emp-mineops-style .employee-modal-close:hover{ background:rgba(255,255,255,0.28); }
#bookMeetingModal.emp-mineops-style .emp-tab-nav{
    flex:0 0 auto; background:#f8fafc; border-bottom:1px solid #e5e7eb;
    padding:0 1rem; display:flex; gap:0;
}
#bookMeetingModal.emp-mineops-style .emp-tab-btn{
    padding:0.55rem 0.9rem; font-size:0.74rem; font-weight:500;
    color:#475569; background:transparent; border:none; cursor:pointer;
    border-bottom:2px solid transparent;
    display:inline-flex; align-items:center; gap:6px;
}
#bookMeetingModal.emp-mineops-style .emp-tab-btn i{ font-size:0.78rem; opacity:0.85; }
#bookMeetingModal.emp-mineops-style .emp-tab-btn:hover{ color:#0f172a; }
#bookMeetingModal.emp-mineops-style .emp-tab-btn.active{
    color:var(--secondary-color); font-weight:600;
    border-bottom-color:var(--secondary-color);
}
#bookMeetingModal.emp-mineops-style .emp-tab-btn.active i{ opacity:1; }
#bookMeetingModal.emp-mineops-style .employee-form-sections{
    flex:1; min-height:0; overflow-y:auto;
    padding:1rem; background:#fff;
}
#bookMeetingModal.emp-mineops-style .emp-section{ display:none; }
#bookMeetingModal.emp-mineops-style .emp-section.active{ display:block; }
#bookMeetingModal.emp-mineops-style .emp-section h4{
    font-size:0.78rem; color:#0f172a; margin:0 0 0.6rem;
    display:flex; align-items:center; gap:6px; font-weight:600;
}
#bookMeetingModal.emp-mineops-style .emp-section h4 i{ color:#64748b; }
#bookMeetingModal.emp-mineops-style .emp-grid{
    display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:0.5rem;
    background:#f8fafc; padding:0.6rem; border-radius:8px; border:1px solid #e5e7eb;
}
#bookMeetingModal.emp-mineops-style .emp-grid label{
    font-size:0.66rem; font-weight:600; color:#475569;
    display:flex; flex-direction:column; gap:3px; margin:0;
}
#bookMeetingModal.emp-mineops-style .emp-grid input,
#bookMeetingModal.emp-mineops-style .emp-grid select,
#bookMeetingModal.emp-mineops-style .emp-grid textarea{
    font-size:0.74rem; padding:0.35rem 0.45rem;
    border:1px solid #cbd5e1; border-radius:5px;
    background:#fff; color:#0f172a; width:100%; box-sizing:border-box;
}
#bookMeetingModal.emp-mineops-style .emp-grid textarea{ min-height:46px; resize:vertical; }
#bookMeetingModal.emp-mineops-style .emp-grid input:focus,
#bookMeetingModal.emp-mineops-style .emp-grid select:focus,
#bookMeetingModal.emp-mineops-style .emp-grid textarea:focus{
    outline:none; border-color:var(--secondary-color);
    box-shadow:0 0 0 2px rgba(52,152,219,.15);
}
#bookMeetingModal.emp-mineops-style .employee-modal-footer{
    flex:0 0 auto;
    padding:0.65rem 1rem;
    border-top:1px solid #e5e7eb;
    background:#f8fafc;
    display:flex; justify-content:flex-end; align-items:center; gap:0.5rem;
}
#bookMeetingModal.emp-mineops-style .employee-modal-footer .bm-feedback{ font-size:0.65rem; color:#64748b; margin-right:auto; }
#bookMeetingModal.emp-mineops-style .employee-modal-footer .bm-btn{
    font-size:0.72rem; font-weight:600;
    padding:0.4rem 0.75rem; border-radius:5px;
    display:inline-flex; align-items:center; gap:5px;
    border:1px solid transparent; cursor:pointer;
}
#bookMeetingModal.emp-mineops-style .employee-modal-footer .bm-btn-secondary{
    background:#fff; color:#334155; border:1px solid #cbd5e1;
}
#bookMeetingModal.emp-mineops-style .employee-modal-footer .bm-btn-secondary:hover{ background:#f1f5f9; }
#bookMeetingModal.emp-mineops-style .employee-modal-footer .bm-btn-success{
    background:var(--secondary-color); color:#fff;
}
#bookMeetingModal.emp-mineops-style .employee-modal-footer .bm-btn-success:hover{ background:#2576b8; }
#bookMeetingModal.emp-mineops-style .employee-modal-footer .sr-only-label{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* Attendees employee-search field — mirrors incidentboard.html responsible-person field */
#bookMeetingModal.emp-mineops-style .bm-attendee-input-row{
    display:flex; align-items:stretch; gap:6px; width:100%;
}
#bookMeetingModal.emp-mineops-style .bm-add-btn{
    flex:0 0 auto;
    display:inline-flex; align-items:center; justify-content:center;
    background:#ea580c; color:#fff; border:1px solid #c2410c;
    width:32px; padding:0; border-radius:5px; cursor:pointer;
    font-size:.8rem;
    transition: background .15s ease, transform .1s ease;
}
#bookMeetingModal.emp-mineops-style .bm-add-btn:hover{ background:#c2410c; }
#bookMeetingModal.emp-mineops-style .bm-add-btn:active{ transform:scale(0.96); }
#bookMeetingModal.emp-mineops-style .bm-search-container{ position:relative; }
#bookMeetingModal.emp-mineops-style .bm-search-dropdown{
    position:absolute; top:100%; left:0; right:0;
    background:#fff; border:1px solid #ced4da; border-top:none;
    border-radius:0 0 6px 6px; max-height:220px; overflow-y:auto;
    z-index:100; display:none;
    box-shadow:0 4px 10px rgba(15,23,42,0.08);
}
#bookMeetingModal.emp-mineops-style .bm-search-result{
    padding:8px 10px; cursor:pointer; border-bottom:1px solid #f0f0f0;
}
#bookMeetingModal.emp-mineops-style .bm-search-result:last-child{ border-bottom:none; }
#bookMeetingModal.emp-mineops-style .bm-search-result:hover{ background:#f8f9fa; }
#bookMeetingModal.emp-mineops-style .bm-search-result .user-name{ font-weight:600; color:#333; font-size:.78rem; }
#bookMeetingModal.emp-mineops-style .bm-search-result .user-title{ font-size:.7rem; color:#666; margin-top:2px; }
#bookMeetingModal.emp-mineops-style .bm-attendee-chips{
    display:flex; flex-wrap:wrap; gap:4px; margin-top:6px; min-height:0;
}
#bookMeetingModal.emp-mineops-style .bm-attendee-chip{
    display:inline-flex; align-items:center; gap:5px;
    background:#eff6ff; color:#1d4ed8;
    border:1px solid #bfdbfe; border-radius:14px;
    padding:3px 8px 3px 9px; font-size:.66rem; font-weight:600;
}
#bookMeetingModal.emp-mineops-style .bm-attendee-chip .bm-chip-remove{
    background:none; border:none; color:#1d4ed8; cursor:pointer;
    padding:0; font-size:.75rem; line-height:1; display:inline-flex; align-items:center;
}
#bookMeetingModal.emp-mineops-style .bm-attendee-chip .bm-chip-remove:hover{ color:#dc2626; }

/* Tooltip label appears below on hover (uses native title; this adds a subtle caption) */
.mtg-rail-caption { font-size:.55rem; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:1px; margin-top:2px; }
/* Stats list */
.mtg-rail-stats {
    width:100%; margin-top:6px;
    display:flex; flex-direction:column; gap:4px;
    padding-top:10px; border-top:1px dashed #e2e8f0;
}
.mtg-rail-stat {
    display:flex; flex-direction:column; align-items:center; gap:1px;
    font-size:.55rem; color:#64748b; font-weight:600; text-transform:uppercase; letter-spacing:.5px;
}
.mtg-rail-stat-value { font-weight:800; color:#0f172a; font-size:.95rem; letter-spacing:0; }

.mtg-cal-weekdays {
    display:grid; grid-template-columns:repeat(7,1fr);
    background:#f8fafc; border-bottom:1px solid #e5e7eb;
    font-size:.62rem; font-weight:700; color:#64748b; text-transform:uppercase; letter-spacing:.5px;
}
.mtg-cal-weekdays > div { padding:8px 6px; text-align:center; border-right:1px solid #e5e7eb; }
.mtg-cal-weekdays > div:last-child { border-right:none; }
.mtg-cal-grid {
    display:grid; grid-template-columns:repeat(7,1fr);
    grid-auto-rows:minmax(96px,1fr);
    background:#e5e7eb; gap:1px;
}
/* Dual-month compact view (two months side-by-side) — keeps total grid size similar
   by shrinking each cell instead of expanding the table. */
.mtg-cal-grid.dual-month { grid-auto-rows:minmax(50px,1fr); }
.mtg-cal-grid.dual-month .mtg-cal-day { min-height:50px; padding:3px 4px 2px; gap:1px; }
.mtg-cal-grid.dual-month .mtg-cal-day-number { font-size:.58rem; }
.mtg-cal-grid.dual-month .mtg-cal-day.today .mtg-cal-day-number { width:18px; height:18px; font-size:.55rem; }
.mtg-cal-grid.dual-month .mtg-ws-day-label { font-size:.45rem; padding:0 3px; line-height:1.25; letter-spacing:.2px; }
.mtg-cal-grid.dual-month .mtg-cal-event { font-size:.48rem; padding:1px 3px; }
.mtg-cal-grid.dual-month .mtg-cal-more { font-size:.48rem; padding:0 3px; }
/* Visual separator between the two months (7th column of each 14-column row) */
.mtg-cal-grid.dual-month .mtg-cal-day:nth-child(14n+7) { box-shadow: inset -3px 0 0 #94a3b8; }
.mtg-cal-weekdays.dual-month > div:nth-child(7) { box-shadow: inset -3px 0 0 #94a3b8; }
.mtg-cal-day {
    background:#fff; padding:6px 6px 4px; min-height:96px; cursor:pointer;
    display:flex; flex-direction:column; gap:3px; position:relative;
    transition: background .15s ease;
}
.mtg-cal-day:hover { background:#f0f9ff; }
.mtg-cal-day.other-month { background:#f8fafc; color:#cbd5e1; }
.mtg-cal-day.other-month:hover { background:#f1f5f9; }
.mtg-cal-day.today .mtg-cal-day-number {
    background:#0ea5e9; color:#fff; border-radius:50%;
    width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center;
    font-weight:700; box-shadow:0 2px 6px rgba(14,165,233,0.35);
}
.mtg-cal-day.selected { background:#e0f2fe; box-shadow: inset 0 0 0 2px #0ea5e9; }
/* Work-schedule day highlighting */
.mtg-cal-day.ws-workday { background:#f0fdf4; }
.mtg-cal-day.ws-workday:hover { background:#dcfce7; }
.mtg-cal-day.ws-offday { background:#fef2f2; }
.mtg-cal-day.ws-offday:hover { background:#fee2e2; }
.mtg-cal-day.ws-holiday { background:#fef3c7; box-shadow: inset 0 0 0 1px #f59e0b; }
.mtg-cal-day.ws-holiday:hover { background:#fde68a; }
.mtg-cal-day.ws-inactive { background:#f8fafc; opacity:.55; }
.mtg-cal-day.ws-inactive:hover { background:#f1f5f9; opacity:.75; }
.mtg-cal-day.ws-workday.other-month { background:#f7fdf9; }
.mtg-cal-day.ws-offday.other-month { background:#fdf5f5; }
.mtg-cal-day.ws-holiday.other-month { background:#fefbe8; }
/* Approved leave highlight */
.mtg-cal-day.ws-on-leave { background:#f3e8ff; box-shadow: inset 0 0 0 1px #a78bfa; }
.mtg-cal-day.ws-on-leave:hover { background:#ede9fe; }
.mtg-cal-day.ws-on-leave.other-month { background:#faf5ff; }
.mtg-cal-event.is-leave { background:#ede9fe; color:#6d28d9; }
.mtg-cal-day.today.ws-workday .mtg-cal-day-number, .mtg-cal-day.today.ws-offday .mtg-cal-day-number, .mtg-cal-day.today.ws-holiday .mtg-cal-day-number { background:#0ea5e9; color:#fff; }
.mtg-ws-day-label { font-size:.55rem; font-weight:600; letter-spacing:.3px; margin-top:1px; padding:1px 5px; border-radius:3px; align-self:flex-start; }
.mtg-ws-day-label.work { background:#bbf7d0; color:#166534; }
.mtg-ws-day-label.off  { background:#fecaca; color:#991b1b; }
.mtg-ws-day-label.holiday { background:#fde68a; color:#92400e; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mtg-cal-day-number { font-size:.7rem; color:#475569; font-weight:600; align-self:flex-start; }
.mtg-cal-day.other-month .mtg-cal-day-number { color:#cbd5e1; }
.mtg-cal-events { display:flex; flex-direction:column; gap:2px; overflow:hidden; }
.mtg-cal-event {
    background:#dbeafe; color:#1d4ed8;
    font-size:.6rem; font-weight:600;
    padding:2px 5px; border-radius:4px;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    border-left:3px solid #3b82f6;
    cursor:pointer;
    display:flex; align-items:center; gap:4px;
    line-height:1.3;
}
.mtg-cal-event:hover { filter:brightness(0.95); }
.mtg-cal-event .mtg-cal-event-time { font-weight:700; opacity:0.85; flex-shrink:0; }
.mtg-cal-event.is-upcoming { background:#ffedd5; color:#9a3412; border-left-color:#f97316; }
.mtg-cal-event.is-live { background:#d1fae5; color:#065f46; border-left-color:#10b981; animation: mtgLivePulse 2s ease-in-out infinite; }
.mtg-cal-event.is-past { background:#f1f5f9; color:#64748b; border-left-color:#94a3b8; opacity:0.85; }
@keyframes mtgLivePulse { 0%,100% { box-shadow:0 0 0 0 rgba(16,185,129,0.45);} 50% { box-shadow:0 0 0 4px rgba(16,185,129,0);} }
.mtg-cal-more {
    font-size:.58rem; font-weight:700; color:#0284c7;
    padding:1px 5px; cursor:pointer; align-self:flex-start;
}
.mtg-cal-more:hover { text-decoration:underline; }

/* Day details panel */
.mtg-day-details .mtg-day-card {
    background:#fff; border:1px solid #e2e8f0; border-radius:8px; padding:10px 12px;
    display:flex; gap:10px; align-items:flex-start;
    transition: box-shadow .15s ease, transform .15s ease;
}
.mtg-day-details .mtg-day-card:hover { box-shadow:0 4px 12px rgba(0,0,0,0.06); transform:translateY(-1px); }
.mtg-day-details .mtg-day-card .mtg-time-block {
    min-width:62px; text-align:center; padding:6px; border-radius:6px;
    background:#e0f2fe; color:#0369a1; font-weight:700;
}
.mtg-day-details .mtg-day-card .mtg-time-block .mtg-time-start { font-size:.78rem; }
.mtg-day-details .mtg-day-card .mtg-time-block .mtg-time-end { font-size:.58rem; opacity:0.75; }
.mtg-day-details .mtg-day-card .mtg-info { flex:1; min-width:0; }
.mtg-day-details .mtg-day-card .mtg-info .mtg-title { font-size:.78rem; font-weight:700; color:#0f172a; margin-bottom:3px; }
.mtg-day-details .mtg-day-card .mtg-info .mtg-meta { font-size:.65rem; color:#64748b; display:flex; gap:10px; flex-wrap:wrap; }
.mtg-day-details .mtg-day-card .mtg-info .mtg-meta i { margin-right:3px; opacity:0.7; }
.mtg-day-details .mtg-day-card .mtg-actions { display:flex; gap:4px; flex-shrink:0; }
.mtg-day-details .mtg-day-card .mtg-actions button { background:none; border:none; cursor:pointer; font-size:.78rem; padding:4px 6px; border-radius:5px; }
.mtg-day-details .mtg-day-card .mtg-actions .mtg-edit { color:#0ea5e9; }
.mtg-day-details .mtg-day-card .mtg-actions .mtg-edit:hover { background:#e0f2fe; }
.mtg-day-details .mtg-day-card .mtg-actions .mtg-del { color:#dc2626; }
.mtg-day-details .mtg-day-card .mtg-actions .mtg-del:hover { background:#fee2e2; }

/* ===== List view — enhanced ===== */
.mtg-list-view { display:flex; flex-direction:column; gap:16px; }
.mtg-list-section { display:flex; flex-direction:column; gap:6px; }
.mtg-list-section-header {
    display:flex; align-items:center; gap:8px;
    padding:6px 4px 8px; border-bottom:1px solid #e2e8f0;
    position:sticky; top:0; background:#fff; z-index:2;
}
.mtg-list-section-icon {
    width:26px; height:26px; border-radius:7px;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:.7rem; flex-shrink:0;
}
.mtg-list-section-icon.is-today { background:#dcfce7; color:#15803d; }
.mtg-list-section-icon.is-tomorrow { background:#dbeafe; color:#1d4ed8; }
.mtg-list-section-icon.is-week { background:#fef3c7; color:#a16207; }
.mtg-list-section-icon.is-later { background:#ede9fe; color:#6d28d9; }
.mtg-list-section-icon.is-past { background:#f1f5f9; color:#64748b; }
.mtg-list-section-title { font-size:.74rem; font-weight:700; color:#0f172a; letter-spacing:.2px; }
.mtg-list-section-sub { font-size:.6rem; color:#94a3b8; font-weight:500; margin-left:2px; }
.mtg-list-section-count {
    margin-left:auto; background:#f1f5f9; color:#475569;
    font-size:.58rem; font-weight:700; padding:2px 8px; border-radius:10px;
    text-transform:uppercase; letter-spacing:.5px;
}
.mtg-list-section.is-today .mtg-list-section-count { background:#dcfce7; color:#15803d; }

.mtg-list-card {
    position:relative; background:#fff; border:1px solid #e2e8f0; border-radius:10px;
    padding:10px 12px 10px 18px; display:grid;
    grid-template-columns: 78px 1fr auto; gap:12px; align-items:center;
    overflow:hidden;
    transition: box-shadow .15s ease, transform .15s ease, border-color .15s ease;
}
.mtg-list-card::before {
    content:''; position:absolute; left:0; top:0; bottom:0; width:4px;
    background:#cbd5e1;
}
.mtg-list-card:hover { box-shadow:0 6px 16px rgba(15,23,42,0.07); transform:translateY(-1px); border-color:#cbd5e1; }
.mtg-list-card:hover .mtg-list-actions { opacity:1; }
.mtg-list-card.status-scheduled::before { background:#3b82f6; }
.mtg-list-card.status-upcoming::before { background:#fb923c; }
.mtg-list-card.status-live::before { background:#10b981; }
.mtg-list-card.status-past::before { background:#94a3b8; }
.mtg-list-card.status-live { background:linear-gradient(90deg,#ecfdf5 0%, #fff 60%); }

.mtg-list-time {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:6px 4px; border-radius:8px; min-height:48px;
    background:#f8fafc; border:1px solid #e2e8f0;
    color:#0f172a;
}
.mtg-list-time .start { font-size:.95rem; font-weight:700; line-height:1; letter-spacing:.3px; }
.mtg-list-time .ampm { font-size:.55rem; font-weight:700; color:#64748b; margin-top:2px; text-transform:uppercase; letter-spacing:.5px; }
.mtg-list-time .end { font-size:.58rem; color:#94a3b8; margin-top:3px; }
.mtg-list-card.status-upcoming .mtg-list-time { background:#fff7ed; border-color:#fed7aa; color:#9a3412; }
.mtg-list-card.status-upcoming .mtg-list-time .ampm,
.mtg-list-card.status-upcoming .mtg-list-time .end { color:#c2410c; }
.mtg-list-card.status-live .mtg-list-time { background:#ecfdf5; border-color:#a7f3d0; color:#065f46; }
.mtg-list-card.status-live .mtg-list-time .ampm,
.mtg-list-card.status-live .mtg-list-time .end { color:#047857; }
.mtg-list-card.status-past .mtg-list-time { background:#f8fafc; border-color:#e2e8f0; color:#64748b; }

.mtg-list-body { min-width:0; }
.mtg-list-title-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:5px; }
.mtg-list-title { font-size:.82rem; font-weight:700; color:#0f172a; line-height:1.25;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%; }
.mtg-list-status-pill {
    font-size:.55rem; font-weight:700; padding:2px 8px; border-radius:10px;
    text-transform:uppercase; letter-spacing:.4px; white-space:nowrap;
    display:inline-flex; align-items:center; gap:4px;
}
.mtg-list-status-pill .pulse {
    width:5px; height:5px; border-radius:50%; background:currentColor;
    animation:mtgLivePulse 1.6s ease-in-out infinite;
}

.mtg-list-meta {
    display:flex; flex-wrap:wrap; gap:5px 6px;
    margin-top:4px;
}
.mtg-meta-chip {
    display:inline-flex; align-items:center; gap:4px;
    background:#f8fafc; border:1px solid #e2e8f0; color:#475569;
    padding:2px 7px; border-radius:6px; font-size:.6rem; font-weight:600;
    line-height:1.4; max-width:100%;
}
.mtg-meta-chip i { font-size:.6rem; opacity:.7; }
.mtg-meta-chip.is-type-virtual { background:#eff6ff; border-color:#bfdbfe; color:#1d4ed8; }
.mtg-meta-chip.is-type-in-person { background:#f0fdf4; border-color:#bbf7d0; color:#15803d; }
.mtg-meta-chip.is-type-phone { background:#fdf4ff; border-color:#f5d0fe; color:#a21caf; }
.mtg-meta-chip.is-type-hybrid { background:#fff7ed; border-color:#fed7aa; color:#9a3412; }
.mtg-meta-chip .chip-text { max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.mtg-list-notes {
    margin-top:6px; font-size:.65rem; color:#64748b; line-height:1.4;
    display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical;
    overflow:hidden;
}

.mtg-attendee-stack { display:inline-flex; align-items:center; margin-right:2px; }
.mtg-attendee-stack .av {
    width:18px; height:18px; border-radius:50%;
    background:linear-gradient(135deg,#0ea5e9,#0284c7); color:#fff;
    font-size:.55rem; font-weight:700; display:inline-flex;
    align-items:center; justify-content:center;
    border:2px solid #fff; margin-left:-6px;
    text-transform:uppercase;
}
.mtg-attendee-stack .av:first-child { margin-left:0; }
.mtg-attendee-stack .av.more { background:#e2e8f0; color:#475569; }

.mtg-list-actions {
    display:inline-flex; gap:3px; flex-shrink:0;
    opacity:0; transition:opacity .15s ease;
}
.mtg-list-actions button {
    background:transparent; border:1px solid transparent; cursor:pointer;
    font-size:.78rem; padding:6px 8px; border-radius:6px; line-height:1;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.mtg-list-actions .mtg-edit { color:#0ea5e9; }
.mtg-list-actions .mtg-edit:hover { background:#e0f2fe; border-color:#bae6fd; }
.mtg-list-actions .mtg-del { color:#dc2626; }
.mtg-list-actions .mtg-del:hover { background:#fee2e2; border-color:#fecaca; }

@media (max-width: 640px) {
    .mtg-list-card { grid-template-columns: 64px 1fr; padding:10px 12px 10px 16px; }
    .mtg-list-actions { grid-column:1/-1; justify-content:flex-end; opacity:1; }
    .mtg-list-time { min-height:42px; }
    .mtg-list-time .start { font-size:.85rem; }
}

/* List view (alternative) */
.mtg-list-view .mtg-list-group { margin-bottom:14px; }
.mtg-list-view .mtg-list-group-title {
    font-size:.7rem; font-weight:700; color:#0f172a; text-transform:uppercase;
    letter-spacing:.5px; padding:6px 0; border-bottom:2px solid #e0f2fe; margin-bottom:8px;
}
.mtg-list-view .mtg-day-card { margin-bottom:6px; }

/* Empty state */
.mtg-cal-empty {
    grid-column:1/-1; padding:40px 16px; text-align:center; color:#94a3b8; font-size:.78rem;
    background:#fff;
}
.mtg-cal-empty i { font-size:2.2rem; opacity:0.35; display:block; margin-bottom:8px; }

/* Compact on narrow screens */
@media (max-width: 768px) {
    .mtg-cal-layout { grid-template-columns: 1fr; }
    .mtg-cal-rail {
        border-left:none; border-top:1px solid #e5e7eb;
        flex-direction:row; flex-wrap:wrap; justify-content:center; gap:8px; padding:10px;
    }
    .mtg-cal-rail .mtg-rail-stats { flex-direction:row; flex-wrap:wrap; justify-content:center; gap:14px; border-top:none; padding-top:0; margin-top:0; }
    .mtg-cal-grid { grid-auto-rows: minmax(76px, 1fr); }
    .mtg-cal-day { padding:4px; min-height:76px; }
    .mtg-cal-day-number { font-size:.62rem; }
    .mtg-cal-day.today .mtg-cal-day-number { width:18px; height:18px; font-size:.6rem; }
    .mtg-cal-event { font-size:.55rem; padding:1px 4px; }
    .mtg-cal-event .mtg-cal-event-time { display:none; }
    .mtg-cal-toolbar { flex-wrap:wrap; }
    #mtgCalTitle { order:-1; flex-basis:100%; text-align:center; font-size:.85rem; }
    .mtg-toolbar-views { flex-wrap:wrap; }
    .mtg-toolbar-view-btn span { display:none; }
    .meetings-calendar-card .tab-card-header { flex-wrap:wrap; }
}

/* Card chrome previously provided by profile.html .tab-card */
.meetings-calendar-card { background:#fff; }
.meetings-calendar-card .tab-card-body { padding:0; }
