.ui-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}button .ui-icon,.button .ui-icon{margin-right:7px}summary [data-icon]{display:inline-flex;align-items:center;margin-right:7px}summary .ui-icon{color:var(--accent-text,var(--color))}.guest-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.guest-actions button .ui-icon{margin:0;width:17px;height:17px;flex-basis:17px}.guest-actions .guest-action-wa{background:#e8f2eb;color:#326a45;border-color:#c6decc}.guest-actions .guest-action-delete{color:#975167;background:transparent}.guest-actions{display:grid;grid-template-columns:1fr 1fr}.bank-account-card .text-link{display:inline-flex;align-items:center}.inv-music{position:fixed;right:max(16px,calc((100vw - 610px)/2));bottom:85px;z-index:25;color:var(--color)}.music-toggle{height:44px;width:44px;border-radius:50%;border:1px solid currentColor;background:var(--paper);color:inherit;box-shadow:0 5px 20px #0002;display:grid;place-content:center}.music-toggle .ui-icon{margin:0;width:20px;height:20px}.music-panel{position:absolute;right:0;bottom:55px;width:min(310px,calc(100vw - 32px));padding:15px;border-radius:14px;border:1px solid color-mix(in srgb,var(--color) 30%,transparent);background:var(--paper);box-shadow:0 15px 50px #0003}.music-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px;font-size:13px}.music-panel-head strong{overflow-wrap:anywhere}.music-panel-head button{border:0;background:transparent;color:inherit;min-height:35px;min-width:35px;padding:6px}.music-panel-head .ui-icon{margin:0}.music-panel audio,#music-editor-audio{width:100%;max-width:100%}#youtube-player iframe{width:100%;height:200px;border:0;display:block}#music-status{font-size:11px;line-height:1.5;margin:12px 0 0}.music-panel a{font-size:11px}.theme-midnight .music-toggle,.theme-midnight .music-panel{background:#20344b;color:#e9ddbf}.music-toggle.is-playing{animation:music-breathe 3s ease-in-out infinite}@keyframes music-breathe{50%{box-shadow:0 0 0 5px #ffffff35,0 5px 20px #0002}}@media(min-width:1000px){.invitation-open .inv-music{right:16px}}@media(prefers-reduced-motion:reduce){.music-toggle{animation:none!important}}

.role-photo-preview{width:100%;max-height:180px;object-fit:cover;border-radius:10px;margin-bottom:15px}.profile-photo{width:160px;height:200px;object-fit:cover;border-radius:100px 100px 12px 12px;margin:0 auto 20px}.chapter-photo{width:100%;max-width:320px;max-height:420px;object-fit:cover;border-radius:140px 140px 12px 12px;margin:0 auto 25px}.profile-social{display:inline-block;padding:12px;margin-top:12px}.event-block h4{font-size:18px;margin-top:18px}.event-block p{overflow-wrap:anywhere}

.events .event-cards .event-block{display:block}.events .event-block .invite-button{display:inline-block;font-size:13px;padding:12px 16px;margin-top:12px}

.invite-button [data-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.invite-button .ui-icon{margin:0;width:16px;height:16px;flex-basis:16px}.invite-button{gap:8px}.music-panel #music-credit{font-size:10px;line-height:1.5;margin-top:12px}#default-music-fields audio{width:100%}
/* A compact corner control: click toggles playback without opening a panel. */
body .inv-music{right:max(12px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:25}
body:has(.inv-nav:not([hidden])) .inv-music{bottom:max(82px,calc(env(safe-area-inset-bottom) + 72px))}
.music-toggle{position:relative;animation:none!important;overflow:hidden;background:color-mix(in srgb,var(--paper) 94%,transparent)}
.music-toggle .music-pause-icon{display:none}.music-toggle.is-playing .music-play-icon{display:none}.music-toggle.is-playing .music-pause-icon{display:block;width:17px;height:17px;transform:translateY(-3px)}
.music-equalizer{display:none;position:absolute;bottom:7px;left:15px;gap:2px;height:6px;align-items:flex-end}
.is-playing .music-equalizer{display:flex}.music-equalizer i{display:block;width:2px;height:6px;border-radius:2px;background:currentColor;transform-origin:bottom;animation:music-level .8s ease-in-out infinite alternate}
.music-equalizer i:nth-child(2){animation-delay:-.4s}.music-equalizer i:nth-child(3){animation-delay:-.2s}.music-equalizer i:nth-child(4){animation-delay:-.6s}
@keyframes music-level{from{transform:scaleY(.25)}to{transform:scaleY(1)}}
.closing .music-attribution{position:relative;font-size:10px;line-height:1.6;margin:16px auto 0;max-width:270px;opacity:.75}
@media(prefers-reduced-motion:reduce){.music-equalizer i{animation:none;transform:scaleY(.65)}}
.invitation-wrap .invite-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;vertical-align:middle}
.invite-button .ui-icon{display:block;vertical-align:middle;margin:0;flex-shrink:0}

/* Override event-card display rules so the map icon shares the text baseline. */
.invitation-wrap .events .event-cards .event-block .invite-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.4}
.invitation-wrap .events .event-block .invite-button [data-icon]{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex:0 0 16px;line-height:1}

/* Consistent native select controls + styled dropdown items across the app and invitation themes. */
select:not([multiple]):not([size]){appearance:none;-webkit-appearance:none;box-sizing:border-box;min-height:44px;max-width:100%;padding:10px 40px 10px 14px;border:1.5px solid color-mix(in srgb,var(--accent-text,var(--color,#87556d)) 34%,transparent);border-radius:10px;background-color:var(--surface,var(--paper,#fffdfd));color:var(--text,var(--color,#513e48));font-family:inherit;font-size:16px;line-height:1.4;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%2394516e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;background-size:18px}
select:not([multiple]):not([size]):hover{border-color:color-mix(in srgb,var(--accent-text,var(--color,#a25d7c)) 70%,transparent)}
select:not([multiple]):not([size]):focus-visible{outline:none;border-color:var(--accent-text,var(--color,#a25d7c));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#f0bfd3) 50%,transparent)}
select option{background:var(--surface,var(--paper,#fffdfd));color:var(--text,var(--color,#513e48));font:inherit;padding:10px}
select option:checked,select option:hover,select option:focus{background:var(--soft,#fbedf3);color:var(--text,var(--color,#513e48));font-weight:600}
select:disabled{opacity:.55;cursor:default}
.guest-filter-controls #guest-filter{appearance:none;padding:10px 40px 10px 14px;border-radius:10px;font-size:14px;min-width:150px;background-position:right 13px center}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) select:not([multiple]):not([size]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23e6a9c2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}
[data-theme=dark] select:not([multiple]):not([size]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23e6a9c2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
