/* Unified components layer: comparison overlays -> integrations/requests -> modal UX. */

/* Comparison overlays */
.friend-search{margin:0 0 10px;direction:ltr;text-align:left}.friend-search::placeholder{direction:rtl;text-align:right}
.calendar-overlay-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-2px 0 12px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--border) 64%,transparent);border-radius:14px;background:color-mix(in srgb,var(--card) 72%,transparent);box-shadow:0 3px 12px rgba(79,67,43,.035)}
.calendar-overlay-bar.hidden{display:none}.overlay-bar-copy{display:grid;gap:1px;margin-inline-end:2px}.overlay-bar-copy strong{font-size:12px}.overlay-bar-copy small{font-size:10px;color:var(--muted)}
.overlay-chip-list{display:flex;gap:6px;flex-wrap:wrap;min-width:0}.overlay-chip{--overlay-color:var(--accent);min-height:34px;border:1px solid color-mix(in srgb,var(--overlay-color) 35%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--overlay-color) 10%,var(--card));color:var(--text);padding:5px 9px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:11px;font-weight:800}.overlay-chip:hover{background:color-mix(in srgb,var(--overlay-color) 18%,var(--card))}.overlay-chip.is-off{opacity:.42;filter:saturate(.45)}.overlay-chip-dot{width:8px;height:8px;border-radius:50%;background:var(--overlay-color)}
.overlay-clear{border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:800;cursor:pointer;padding:6px 8px;margin-inline-start:auto}.overlay-clear:hover{color:var(--text);background:var(--accent-soft);border-radius:9px}
.overlay-chip-0,.overlay-0{--overlay-color:var(--accent)}.overlay-chip-1,.overlay-1{--overlay-color:var(--shared-t)}.overlay-chip-2,.overlay-2{--overlay-color:var(--pending-t)}.overlay-chip-3,.overlay-3{--overlay-color:var(--friend-t)}.overlay-chip-4,.overlay-4{--overlay-color:var(--busy-t)}
.timeline-block.calendar-friend-overlay{z-index:2;left:3px;right:3px;background:color-mix(in srgb,var(--overlay-color) 24%,transparent);border:1px solid color-mix(in srgb,var(--overlay-color) 58%,transparent);color:color-mix(in srgb,var(--text) 86%,var(--overlay-color));box-shadow:inset 3px 0 0 var(--overlay-color);backdrop-filter:blur(1px);opacity:.82}.timeline-block.calendar-friend-overlay:hover{z-index:5;opacity:.96;background:color-mix(in srgb,var(--overlay-color) 32%,var(--card));box-shadow:inset 3px 0 0 var(--overlay-color),0 5px 14px rgba(79,67,43,.10)}.timeline-block.calendar-friend-overlay strong{font-size:9px}.timeline-block.calendar-friend-overlay .block-label{font-size:9px;font-weight:800}
.month-item.calendar-friend-overlay-month{--overlay-color:var(--accent);background:color-mix(in srgb,var(--overlay-color) 15%,var(--card));border:1px dashed color-mix(in srgb,var(--overlay-color) 48%,var(--border));color:var(--text)}
.day-card.today>.date{display:flex;width:max-content;margin:3px auto 0}.calendar.compare-view{display:block}.compare-day,.compare-scroll,.compare-grid,.compare-person,.compare-hint,.common-free{display:none}
@media(max-width:700px){.calendar-overlay-bar{align-items:flex-start;padding:9px;margin-bottom:10px}.overlay-bar-copy{width:100%}.overlay-chip-list{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}.overlay-chip-list::-webkit-scrollbar{display:none}.overlay-chip{flex:0 0 auto;min-height:40px}.overlay-clear{min-height:40px;margin-inline-start:0}.timeline-block.calendar-friend-overlay{left:4px;right:4px}.timeline-block.calendar-friend-overlay strong,.timeline-block.calendar-friend-overlay .block-label{font-size:10px}}

/* Integrations + requests */
.overnight-hint{margin-top:8px;padding:8px 10px;border-radius:10px;background:var(--accent-soft);color:var(--pending-t);font-size:12px;font-weight:700;border:1px solid var(--border)}
.dot.google{background:#6f7750}.timeline-block.google{background:#ece8d2;color:#4f5637;border-color:#b9b691}.month-item.google{background:#ece8d2;color:#4f5637}.google-tag{display:inline-block;margin-inline-start:5px;padding:1px 4px;border:1px solid #b9b691;border-radius:999px;font-size:8px;font-weight:700;vertical-align:1px}.google-connected{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.privacy-note{padding:10px 12px;background:#fff6e8;border:1px solid var(--border);border-radius:12px;color:var(--muted);font-size:12px;line-height:1.5}.google-source{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:6px}.google-event-details{white-space:pre-wrap;line-height:1.55;color:var(--muted);margin-top:10px}.google-link{display:flex;align-items:center;justify-content:center;text-decoration:none}.timeline-block.google .block-label{font-weight:600}
.busy-ack{margin-top:12px;padding:11px 12px;border:1px solid #c9b98f;border-radius:12px;background:#fff1d8;color:var(--text);font-size:12px;line-height:1.5}.busy-ack label{display:flex;align-items:flex-start;gap:9px;cursor:pointer}.busy-ack input{width:auto;margin-top:2px;flex:0 0 auto}.timeline-block[style*="width:calc"]{padding-left:4px;padding-right:4px}.timeline-block[style*="width:calc"] .block-label{font-size:9px}
.change-note-box{margin:10px 0 14px;padding:11px 12px;border-radius:12px;background:#f8fafc;border:1px solid #cbd5e1;color:#334155;line-height:1.5}.change-note-box strong{display:block;margin-bottom:4px;color:#0f172a}.request-card.change-waiting{border-color:#c4b5fd;box-shadow:inset 0 0 0 1px rgba(139,92,246,.08)}.change-request-banner{margin-top:9px;padding:9px 10px;border-radius:10px;background:#f5f3ff;border:1px solid #ddd6fe;color:#5b21b6;font-size:13px;line-height:1.45}.change-request-banner.resolved{background:#f8fafc;border-color:#e2e8f0;color:#475569}#meetingChangeModal,#meetingEditModal{z-index:70}

/* Modal UX */
.modal{position:fixed}.modal-x{position:sticky;top:0;float:left;z-index:5;width:36px;height:36px;margin:-8px -6px 4px 8px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text);font-size:24px;line-height:28px;cursor:pointer;box-shadow:0 2px 8px rgba(79,67,43,.10)}.modal-x:hover{background:#fff6e8}.fab{display:none}@media(max-width:980px){.fab:not(.hidden){display:block}}
.modal-bg:not(.hidden){animation:cfLayerIn .16s ease-out both}.modal-bg:not(.hidden)>.modal{animation:cfPopoverIn .18s cubic-bezier(.2,.8,.2,1) both;transform-origin:top center}.modal-bg.is-closing{animation:cfLayerOut .16s ease-in both;pointer-events:none}.modal-bg.is-closing>.modal{animation:cfPopoverOut .16s ease-in both}
@keyframes cfLayerIn{from{opacity:0}to{opacity:1}}@keyframes cfLayerOut{from{opacity:1}to{opacity:0}}@keyframes cfPopoverIn{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}@keyframes cfPopoverOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-4px) scale(.99)}}@keyframes cfSheetIn{from{opacity:.7;transform:translateY(36px)}to{opacity:1;transform:none}}@keyframes cfSheetOut{from{opacity:1;transform:none}to{opacity:.7;transform:translateY(28px)}}
.request-card{animation:cfCardIn .18s ease-out both}@keyframes cfCardIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.error:not(.hidden),.success:not(.hidden),.change-request-banner,.busy-ack:not(.hidden),.common-time-results-wrap:not(.hidden){animation:cfSoftIn .18s ease-out both}@keyframes cfSoftIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
button,input,select,textarea,.request-card,.timeline-block{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,opacity .16s ease,background-color .16s ease}button:active:not(:disabled){transform:scale(.985)}.timeline-block{animation:cfEventIn .20s ease-out both}@keyframes cfEventIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.modal>.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}.modal>.actions>*{min-width:120px}.request-card>.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch}.request-card>.actions>*{flex:1 1 120px;min-width:0}.action-note{font-size:12px;color:var(--muted);line-height:1.5;margin-top:7px}.pending-invite-list{display:grid;gap:6px;margin-top:9px}.pending-invite-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:1px solid var(--border);border-radius:10px;background:var(--card)}.pending-invite-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:7px}
#sharedInviteBox.is-disabled{opacity:.58}#sharedInviteBox.is-disabled .hint::after{content:' · הזמנות חדשות זמינות שוב לאחר סגירת השינוי הממתין.'}.friend-add-row{display:flex;gap:8px;align-items:stretch}.friend-add-row input{min-width:0;flex:1 1 auto}.friend-add-row button{flex:0 0 auto;white-space:nowrap}.modal button,.request-card button{overflow-wrap:anywhere}.modal .actions>a,.modal .actions>button,.request-card>.actions>button{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25}
@media(max-width:700px){.modal-bg:not(.hidden)>.modal{animation:cfSheetIn .22s cubic-bezier(.2,.8,.2,1) both;transform-origin:center bottom}.modal-bg.is-closing>.modal{animation:cfSheetOut .17s ease-in both}.modal{overflow-x:hidden}.modal>*{max-width:100%}.modal-x{width:40px;height:40px;margin:-8px -2px 4px 8px}.modal>.actions{gap:8px}.modal>.actions>*{flex:1 1 100%;width:100%;min-height:44px}.request-card>.actions{gap:7px}.request-card>.actions>*{flex:1 1 calc(50% - 4px);min-width:0;min-height:44px}.friend-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.friend-add-row button{min-width:72px;min-height:44px}.time-grid,.common-time-options{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.common-time-grid:not(.common-time-options){grid-template-columns:1fr}.time-grid>*,.common-time-grid>*{min-width:0}.time-grid select,.common-time-grid input,.common-time-grid select{width:100%;min-width:0}.common-time-options>div:last-child{grid-column:1/-1}.common-time-weekdays{gap:5px}.common-time-weekdays label{flex:1 1 44px;justify-content:center;min-width:44px;min-height:44px}.field-label{margin-top:13px}.repeat-box{padding:10px}.pending-invite-row{align-items:flex-start;flex-direction:column}.check-list,.common-time-results{max-width:100%}.check-row{min-width:0;min-height:44px}.check-row>*{min-width:0}.common-time-results-header{align-items:flex-start;flex-wrap:wrap}.common-time-results-header span{width:100%}.pending-invite-row button{width:100%;min-height:44px}}
@media(max-width:430px){.request-card>.actions>*{flex-basis:100%;width:100%}.friend-add-row{grid-template-columns:1fr}.friend-add-row button{width:100%}.time-grid,.common-time-grid,.common-time-options{grid-template-columns:1fr!important}.common-time-options>div:last-child{grid-column:auto!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* Meeting content polls */
.meeting-content-mode{margin:12px 0 4px}.meeting-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:13px;background:color-mix(in srgb,var(--accent-soft) 46%,var(--card));box-shadow:inset 0 1px 2px rgba(79,67,43,.04)}.meeting-mode-switch button{min-height:36px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:12px;font-weight:800;cursor:pointer}.meeting-mode-switch button.active{background:var(--card);color:var(--text);box-shadow:0 2px 8px rgba(79,67,43,.10),0 0 0 1px color-mix(in srgb,var(--accent) 30%,var(--border))}
.meeting-poll-composer{margin-top:9px;padding:11px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 54%,var(--card)),var(--card));box-shadow:0 4px 14px rgba(79,67,43,.045)}.meeting-poll-option-editors{display:grid;gap:7px;margin-top:9px}.meeting-poll-option-editor{display:grid;grid-template-columns:34px minmax(0,1fr) 30px;gap:7px;align-items:center}.meeting-poll-option-editor>input{min-width:0;margin:0}.meeting-poll-radio{position:relative;display:grid;place-items:center;width:34px;height:34px;cursor:pointer}.meeting-poll-radio input{position:absolute;opacity:0;pointer-events:none}.meeting-poll-radio span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--border);border-radius:50%;background:var(--card);color:var(--muted);font-size:11px;font-weight:900;box-shadow:0 1px 3px rgba(79,67,43,.06)}.meeting-poll-radio:has(input:checked) span{border-color:var(--accent);background:var(--accent);color:var(--card);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.meeting-poll-remove{width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}.meeting-poll-remove:hover{background:var(--accent-soft);color:var(--text)}.meeting-poll-remove-spacer{width:30px}.meeting-poll-add{display:flex;align-items:center;justify-content:center;width:100%;min-height:36px;margin-top:8px;border:1px dashed color-mix(in srgb,var(--accent) 44%,var(--border));border-radius:10px;background:transparent;color:var(--text);font-size:12px;font-weight:800;cursor:pointer}.meeting-poll-add:hover{background:var(--accent-soft)}
.meeting-poll-card{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--accent) 38%,var(--border));background:linear-gradient(145deg,color-mix(in srgb,var(--accent-soft) 34%,var(--card)),var(--card) 50%);box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent) 62%,transparent)}.meeting-poll-card.poll-closed{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--shared-t) 68%,transparent)}.meeting-poll-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-bottom:7px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 13%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));color:var(--text);font-size:10px;font-weight:900;letter-spacing:.01em}.meeting-poll-badge.resolved{background:color-mix(in srgb,var(--shared-t) 11%,var(--card));border-color:color-mix(in srgb,var(--shared-t) 30%,var(--border))}.meeting-poll-options{display:grid;gap:7px;margin:10px 0}.meeting-poll-option{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 10px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--card) 92%,var(--accent-soft));color:var(--text)}label.meeting-poll-option{cursor:pointer}.meeting-poll-option input{width:auto;flex:0 0 auto;margin:0}.meeting-poll-option.poll-selectable:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent-soft) 46%,var(--card))}.meeting-poll-option.poll-selectable:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 72%,var(--card));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}.meeting-poll-option.winner{border-color:color-mix(in srgb,var(--shared-t) 55%,var(--border));background:color-mix(in srgb,var(--shared-t) 9%,var(--card))}.meeting-poll-option-text{min-width:0;flex:1 1 auto;font-size:13px;font-weight:750;overflow-wrap:anywhere}.meeting-poll-count{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--accent-soft) 74%,var(--card));color:var(--muted);font-size:10px;font-weight:850;white-space:nowrap}.meeting-poll-winner-mark{flex:0 0 auto;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--shared-t) 17%,var(--card));color:var(--text);font-size:10px;font-weight:900}.poll-progress{margin-top:8px;color:var(--muted);font-size:12px;font-weight:750}.meeting-poll-tie{margin:10px 0 7px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--pending-t) 38%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--pending-t) 7%,var(--card))}.meeting-poll-tie .field-label{margin-top:0}.meeting-poll-tie select{margin-top:6px}
@media(max-width:700px){.meeting-mode-switch button{min-height:40px}.meeting-poll-composer{padding:10px}.meeting-poll-option-editor{grid-template-columns:38px minmax(0,1fr) 34px}.meeting-poll-radio{width:38px;height:38px}.meeting-poll-radio span{width:32px;height:32px}.meeting-poll-remove{width:34px;height:34px}.meeting-poll-add{min-height:42px}.meeting-poll-option{min-height:46px;padding:9px 10px}.meeting-poll-option-text{font-size:13px}.meeting-poll-card .request-primary-actions>*{min-height:44px}}
