/* Modern UI — dialogs: Save? Yes/No/X, confirmations, delete (simple and protected), errors.
   Presentation only; the .39 dialog markup, values and focus handling are unchanged. */
html body .unsaved-backdrop{background:rgba(12,24,49,.42)!important}
html body .unsaved-card{width:min(360px,calc(100% - 32px))!important;padding:20px!important;border-radius:18px!important;box-shadow:0 20px 50px rgba(12,24,49,.30)!important;font-family:var(--mc-font)!important;color:var(--mc-text,#1d283c)!important}
html body .unsaved-card h3{margin:0 0 6px!important;padding-right:36px!important;font:800 20px/1.25 var(--mc-font)!important;color:#14325a!important}
html body .unsaved-card p{margin:0 0 18px!important;font:400 15px/1.4 var(--mc-font)!important;color:#53627a!important}
html body .unsaved-card .unsaved-close{position:absolute!important;top:12px!important;right:12px!important;display:grid!important;place-items:center!important;width:36px!important;height:36px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#eef2f7!important;color:#1e3557!important;font:400 22px/1 var(--mc-font)!important;box-shadow:none!important}
html body .unsaved-card .unsaved-actions{gap:10px!important}
html body .unsaved-card .unsaved-actions button{min-height:46px!important;border-radius:12px!important;border:1px solid var(--mc-line,#cbd7e7)!important;background:#fff!important;color:#1e3557!important;font:600 16px/1.1 var(--mc-font)!important;box-shadow:none!important}
html body .unsaved-card .unsaved-actions .save{background:var(--mc-blue,#3877c8)!important;border-color:var(--mc-blue,#3877c8)!important;color:#fff!important}
html body .unsaved-card .unsaved-actions .discard{color:#b42318!important;border-color:#f1c4c0!important}
html body .unsaved-card button:focus-visible{outline:3px solid rgba(56,119,200,.4)!important;outline-offset:2px!important}

/* Delete dialogs (event, group, song library): warning panel and Cancel / Delete. */
html body #overlayRoot .sheet:has(.ya-delete-actions){border-radius:18px!important;font-family:var(--mc-font)!important}
html body #overlayRoot .sheet:has(.ya-delete-actions) .sheet-head h2{font:800 22px/1.25 var(--mc-font)!important;color:#14325a!important}
html body #overlayRoot .sheet .group-details-ya-delete-warning,html body #overlayRoot .sheet .ya-delete-warning{border-radius:12px!important;font:500 15px/1.4 var(--mc-font)!important}
html body #overlayRoot .sheet .ya-delete-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
html body #overlayRoot .sheet .ya-delete-actions .btn{min-height:46px!important;border-radius:12px!important;font:600 16px/1 var(--mc-font)!important;box-shadow:none!important}
html body #overlayRoot .sheet .ya-delete-actions .btn.ghost{background:#fff!important;border:1px solid var(--mc-line,#cbd7e7)!important;color:#1e3557!important}
html body #overlayRoot .sheet .ya-delete-actions .btn.danger{background:#c62828!important;border:1px solid #c62828!important;color:#fff!important}
html body #overlayRoot .sheet .ya-delete-actions .btn.danger:disabled{background:#f1c4c0!important;border-color:#f1c4c0!important;color:#fff!important;opacity:1!important}
html body #overlayRoot .sheet:has(.ya-delete-actions) input:not([type=checkbox]){min-height:44px!important;border-radius:10px!important;font-size:16px!important}
html body .unsaved-card .unsaved-actions .save+.discard:last-child{grid-column:1/-1!important}

/* ---------- Availability change (Table/Calendar cell): Y / N / ? picker with the table's status icons ---------- */
html body .availability-choice-picker{display:flex!important;gap:8px!important;padding:8px!important;border:1px solid #dfe5ee!important;border-radius:14px!important;background:#fff!important;box-shadow:0 12px 30px rgba(12,24,49,.22)!important}
html body .availability-choice-picker>button{display:grid!important;place-items:center!important;width:52px!important;height:48px!important;margin:0!important;padding:0!important;border:2px solid transparent!important;border-radius:12px!important;box-shadow:none!important;font-size:0!important;color:transparent!important;background-repeat:no-repeat!important;background-position:center!important}
html body .availability-choice-picker>button.y{background-color:var(--mc-green,#27a96b)!important;background-size:24px 24px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")!important}
html body .availability-choice-picker>button.n{background-color:var(--mc-red,#e0393e)!important;background-size:20px 20px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E")!important}
html body .availability-choice-picker>button.q{background-color:var(--mc-yellow,#fff200)!important;color:#111!important;font:800 22px/1 var(--mc-font)!important}
html body .availability-choice-picker>button.current{border-color:#14325a!important;box-shadow:0 0 0 2px #fff inset!important}

/* ---------- Apply Availability / Schedule Groups chooser (multi-group) ---------- */
html body #overlayRoot .sheet:has(#mgChooseApply){border-radius:18px!important;font-family:var(--mc-font)!important}
html body #overlayRoot .sheet:has(#mgChooseApply) .sheet-head h2{font:800 22px/1.2 var(--mc-font)!important;color:#14325a!important}
html body #overlayRoot .sheet:has(#mgChooseApply)>p{font:400 15px/1.4 var(--mc-font)!important;color:#53627a!important}
html body #overlayRoot .sheet:has(#mgChooseApply) .settings-toggle-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-height:50px!important;margin:0 0 8px!important;padding:0 14px!important;border:1px solid #e3e9f1!important;border-radius:12px!important;background:#fff!important;font:600 16px/1.2 var(--mc-font)!important;color:var(--mc-ink,#0c1831)!important;cursor:pointer!important}
html body #overlayRoot .sheet:has(#mgChooseApply) input[type=checkbox]{-webkit-appearance:none!important;appearance:none!important;flex:none!important;width:24px!important;height:24px!important;margin:0!important;border:2px solid #9fb3cc!important;border-radius:7px!important;background:#fff center/16px no-repeat!important}
html body #overlayRoot .sheet:has(#mgChooseApply) input[type=checkbox]:checked{border-color:var(--mc-blue,#3877c8)!important;background-color:var(--mc-blue,#3877c8)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5l4 4 8-9'/%3E%3C/svg%3E")!important}
html body #overlayRoot .sheet:has(#mgChooseApply) .choice{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:6px!important}
html body #overlayRoot .sheet:has(#mgChooseApply) .btn{min-height:46px!important;border-radius:12px!important;font:600 16px/1 var(--mc-font)!important;box-shadow:none!important}
html body #overlayRoot .sheet:has(#mgChooseApply) .btn.primary{background:var(--mc-blue,#3877c8)!important;border:1px solid var(--mc-blue,#3877c8)!important;color:#fff!important}
html body #overlayRoot .sheet:has(#mgChooseApply) .btn:not(.primary){background:#fff!important;border:1px solid var(--mc-line,#cbd7e7)!important;color:#1e3557!important}
html body #overlayRoot .sheet:has(#mgChooseApply) #mgChooseAll{min-height:38px!important;margin:0 0 10px!important}
/* Picker shows Y / N letters like the Table (Gary, Oct 18). */
html body .availability-choice-picker>button.y,html body .availability-choice-picker>button.n{background-image:none!important;color:#fff!important;font:800 22px/1 var(--mc-font)!important}
