.monthly-panel{max-width:none;margin:0;padding:28px}.monthly-heading,.monthly-record-heading,.monthly-record-bottom,.monthly-tools,.monthly-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.monthly-heading{align-items:flex-start}.monthly-heading h2{font-family:Georgia,serif;font-size:30px;margin:9px 0}.monthly-heading p{margin:4px 0;max-width:660px}.monthly-outline{background:transparent;color:#813340;border:1px solid #d8c4c7}.monthly-tools{align-items:end;margin-top:22px}.monthly-tools label{margin:0;flex:1;min-width:180px}.monthly-tools input,.monthly-tools select{padding:12px;margin-top:7px;width:100%;border:1px solid #dcd4d0;border-radius:10px;font:inherit;background:#fdfcfb;color:#342b2c}.monthly-manager-tools{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.monthly-note{background:#f7f4ee;border:1px solid #e9e2dd;padding:13px 16px;border-radius:12px;font-size:14px}.monthly-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.monthly-stat{border:1px solid #e9e2dd;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px}.monthly-stat>strong{font-size:27px}.monthly-badge{display:inline-block;font-size:12px;font-weight:750;border-radius:9px;padding:7px 10px;line-height:1.45;width:fit-content}.monthly-badge.green{color:#155b38;background:#dff3e6}.monthly-badge.yellow{color:#745100;background:#fff1c5}.monthly-badge.red{color:#972323;background:#ffe3e3}.monthly-badge.blue{color:#1e5288;background:#e1edfc}.monthly-badge.neutral{color:#51475e;background:#eee9f3}.monthly-record{border:1px solid #e9e2dd;border-radius:16px;padding:20px;margin:12px 0}.monthly-record h3{font-size:17px;margin:0 0 6px}.monthly-record p{margin:0;font-size:13px}.monthly-record-bottom{margin-top:18px}.monthly-amount{font-size:23px;display:block}.monthly-record small{display:block;color:#766b6c;margin-top:5px;font-size:13px}.monthly-empty{border:1px dashed #d8c4c7;padding:24px;border-radius:14px}.monthly-feedback{font-weight:650;color:#813340!important}.monthly-dialog{width:min(560px,calc(100% - 28px));border:1px solid #e9e2dd;border-radius:20px;padding:26px;color:#342b2c;background:#fff}.monthly-dialog::backdrop{background:#24191c88}.monthly-dialog h2{font-family:Georgia,serif;margin-top:0}.monthly-dialog p{line-height:1.6;color:#766b6c}.monthly-dialog select,.monthly-dialog textarea{width:100%;margin-top:8px;border:1px solid #dcd4d0;border-radius:10px;padding:13px;font:inherit;background:#fdfcfb;color:#342b2c}.monthly-dialog textarea{min-height:90px;resize:vertical}.monthly-dialog small{display:block;line-height:1.5;font-weight:400;margin-top:7px;color:#766b6c}.monthly-actions{justify-content:flex-end;margin-top:22px}button:disabled{opacity:.55;cursor:wait}#monthly-title:focus{outline:none}@media(max-width:650px){.monthly-panel{padding:19px}.monthly-summary{grid-template-columns:repeat(2,1fr)}.monthly-heading h2{font-size:27px}.monthly-tools{gap:16px}.monthly-tools label{min-width:100%}.monthly-manager-tools>button{width:100%}.monthly-record-heading{align-items:flex-start;flex-direction:column}.monthly-record{padding:17px}.monthly-record-bottom>button{width:100%}.monthly-dialog{padding:21px}.monthly-stat{padding:13px}.monthly-badge{font-size:12px}}
.monthly-summary{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}.receipts-dialog{width:min(700px,calc(100% - 28px));max-height:90vh;overflow-y:auto}.receipt-item{padding:18px;border:1px solid #e9e2dd;border-radius:14px;margin:16px 0;overflow-wrap:anywhere}.receipt-review,.receipt-upload{border-top:1px solid #e9e2dd;margin-top:22px;padding-top:16px}.receipt-file-link{display:inline-block;color:#0b817d;font-weight:700;margin:12px}.receipt-reason{background:#fff0ed;padding:12px;border-radius:10px;color:#842d26!important}.receipt-upload input[type=file]{font-size:13px}.receipt-item .monthly-record-heading strong{max-width:100%;overflow-wrap:anywhere}@media(max-width:650px){.monthly-summary{grid-template-columns:repeat(2,1fr)}}
.receipt-alert{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #cddfd5;background:#edf6f0;border-radius:16px;padding:18px 20px;margin-top:20px}.receipt-alert strong{display:block;font-size:16px}.receipt-alert small{display:block;font-size:12px;color:#655e61;margin-top:7px}.receipt-alert-pending{background:#fff4db;border-color:#e7d09e}.receipt-alert button{flex-shrink:0}.receipt-queue-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #e9e2dd}.receipt-queue-item h3{font-size:17px;margin:0 0 7px}.receipt-queue-item p{font-size:13px;margin:4px 0}@media(max-width:650px){.receipt-alert,.receipt-queue-item{align-items:stretch;flex-direction:column}.receipt-alert button,.receipt-queue-item button{width:100%}}
.directory-person{display:flex;align-items:center;gap:14px}.directory-avatar{width:54px;height:54px;flex:0 0 54px;border-radius:50%;background:#eee3e4;color:#813340;display:grid;place-items:center;overflow:hidden;font-weight:750}.directory-avatar img,.profile-photo-preview img{width:100%;height:100%;object-fit:cover}.profile-photo-preview{width:160px;height:160px;border-radius:20px;overflow:hidden;background:#f1e8e7;display:grid;place-items:center;font-size:38px;font-weight:700;color:#813340;margin:18px auto}#my-photo-open{margin-top:8px}#member-photo-file{font-size:13px}

/* Main sections replace the home cards while open. */
#dashboard > .panel { scroll-margin-top: 1rem; }
#directory > button:first-child { margin-bottom: 1rem; }

.events-list { display:grid; gap:1rem; margin:1.5rem 0; }
.event-card { border:1px solid #e9e2dd; border-radius:14px; padding:1.25rem; min-width:0; }
.event-heading { display:flex; justify-content:space-between; align-items:start; gap:1rem; }
.event-heading h3 { margin:0; overflow-wrap:anywhere; }
.event-card p { overflow-wrap:anywhere; }
.event-notes { white-space:pre-wrap; }
#event-form textarea { width:100%; box-sizing:border-box; font:inherit; padding:.75rem; border:1px solid #d8c7ca; border-radius:9px; resize:vertical; }
@media(max-width:600px) { .event-heading { flex-direction:column; } }

.attendance-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1rem; }
#attendance-form { display:grid; gap:1rem; }
#attendance-form.hidden { display:none; }
#attendance-form label { display:grid; gap:.5rem; }
#attendance-form label.hidden { display:none; }
#attendance-form textarea { width:100%; box-sizing:border-box; padding:.75rem; border:1px solid #d8c7ca; border-radius:9px; font:inherit; resize:vertical; }
#attendance-form small { color:#766b6c; line-height:1.5; }
#attendance-list { display:grid; gap:1rem; }

.event-response-count { font-weight:600; color:#0b817d; }
.event-response-note { padding:.75rem; border-radius:9px; background:#fff4dc; color:#634c18; }

.kit-lists { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin-top:1.5rem; }
.kit-card { border:1px solid #e9e2dd; padding:1.25rem; border-radius:14px; min-width:0; }
.kit-card h3 { margin-top:0; }
.kit-card li { line-height:1.6; margin-bottom:.5rem; white-space:pre-wrap; overflow-wrap:anywhere; }
.kit-editor-row { padding:1rem 0; border-bottom:1px solid #e9e2dd; }
.kit-editor-row label { display:grid; gap:.5rem; }
.kit-item-actions { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.75rem; }
#kit-add { margin-top:1rem; }
@media(max-width:650px) { .kit-lists { grid-template-columns:1fr; } }

.contribution-items { display:grid; gap:1rem; margin-top:1rem; }
.management-dialog .contribution-complete:disabled { background:#d9f0e2; color:#195d35; border:1px solid #82b99a; opacity:1; cursor:default; }
.contribution-check { display:flex!important; align-items:center; gap:.75rem; }
.contribution-check input { width:auto!important; flex:0 0 auto; }
#contribution-form { display:grid; gap:1rem; }
#contribution-form label { display:grid; gap:.5rem; }
.contribution-choice { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.75rem; align-items:center; border-top:1px solid #e9e2dd; padding-top:.75rem; margin-top:.75rem; }
#contribution-dialog .event-card > label { display:grid; gap:.5rem; max-width:18rem; }

/* Event cards: essentials first, secondary details on demand. */
#events-panel .event-card { padding:1.25rem; }
#events-panel .event-card > .event-date { margin:.75rem 0 .35rem; font-size:.9rem; color:#766b6c; }
#events-panel .event-card > .event-location { margin:0 0 1rem; font-size:.95rem; }
#events-panel .event-response-count { font-size:.85rem; color:#766b6c; font-weight:500; margin:.75rem 0; }
#events-panel .event-card > .attendance-actions { gap:.5rem; margin:.75rem 0 1rem; }
#events-panel .management-outline { background:transparent; border:1px solid #d8c4c7; color:#8b3441; }
#events-panel .event-card > .attendance-actions > button:first-child { background:#8b3441; color:#fff; border-color:#8b3441; }
#events-panel .event-card button { padding:.65rem .85rem; font-size:.8rem; }
.event-details { border-top:1px solid #eee6e2; padding-top:.8rem; }
.event-details summary { cursor:pointer; color:#0b817d; font-size:.85rem; font-weight:600; }
.event-details p { font-size:.9rem; line-height:1.5; }
.event-admin-actions { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }

/* Phone first: constrain native date controls and keep touch targets readable. */
#events-panel, #events-panel .management-toolbar, #events-panel .management-toolbar > label { min-width:0; max-width:100%; }
#events-panel .management-toolbar { grid-template-columns:minmax(0,1fr) auto auto; }
#events-month, #monthly-month { min-width:0; width:100%; max-width:100%; box-sizing:border-box; -webkit-appearance:none; appearance:none; font-size:16px; min-height:46px; }
#events-month::-webkit-date-and-time-value, #monthly-month::-webkit-date-and-time-value { min-width:0; text-align:left; }
#contribution-dialog .event-card { padding:1rem; }
#contribution-dialog .event-card h3 { font-size:1.05rem; line-height:1.4; margin:0 0 .5rem; overflow-wrap:anywhere; }
#contribution-dialog .contribution-progress { margin:.25rem 0; color:#766b6c; font-size:1rem; }
#contribution-dialog .contribution-own { margin:.25rem 0; color:#195d35; font-size:.95rem; }
#contribution-dialog .contribution-item-actions { align-items:end; gap:.65rem; margin-top:.75rem; }
#contribution-dialog .contribution-short-quantity { flex:0 0 5.5rem; width:5.5rem; min-width:0; margin:0; font-size:.9rem; }
#contribution-dialog .contribution-short-quantity input { width:100%; min-width:0; padding:.65rem .5rem; margin-top:.35rem; text-align:center; min-height:46px; font-size:16px; }
#contribution-dialog .contribution-item-actions button { min-height:46px; padding:.7rem .9rem; font-size:.9rem; }
#contribution-dialog .contribution-item-actions > button:last-child:not(:first-child) { flex-shrink:0; }
#contribution-dialog .contribution-items { gap:.75rem; }
#contribution-dialog { overflow-x:hidden; overflow-y:auto; }
#contribution-dialog > .management-dialog-heading { position:sticky; top:-22px; padding:.5rem 0; background:#fff; z-index:1; }
@media(max-width:700px) {
  #events-panel .management-toolbar { grid-template-columns:minmax(0,1fr); }
  #events-panel .management-toolbar > label { width:100%; }
  #events-panel button, #events-panel summary { min-height:44px; }
  #events-panel .event-card button { font-size:.9rem; }
  #contribution-dialog { padding:18px; width:calc(100% - 20px); max-height:calc(100dvh - 24px); }
  #contribution-dialog > .management-dialog-heading { top:-18px; }
  #contribution-dialog #contribution-title { font-size:1.35rem; }
  #contribution-dialog .management-dialog-heading { gap:.75rem; }
  #contribution-dialog .management-dialog-heading > button { min-width:44px; min-height:44px; }
}

#contribution-dialog .contribution-item-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; }
#contribution-dialog .contribution-item-actions > .contribution-short-quantity,
#contribution-dialog .contribution-item-actions > .contribution-complete,
#contribution-dialog .contribution-item-actions > button:only-child { grid-column:1 / -1; }
#contribution-dialog .contribution-item-actions > button { min-width:0; width:100%; white-space:normal; }

#contribution-dialog .contribution-item-summary { display:flex; align-items:baseline; justify-content:space-between; gap:.5rem; }
#contribution-dialog .contribution-item-summary > p { font-size:.9rem; white-space:nowrap; }
#contribution-dialog .contribution-has-quantity { grid-template-columns:4.5rem minmax(0,1fr) minmax(0,1fr); gap:.4rem; }
#contribution-dialog .contribution-has-quantity > .contribution-short-quantity { grid-column:auto; width:100%; font-size:.8rem; }
#contribution-dialog .contribution-has-quantity > button:not(.contribution-complete) { grid-column:auto; padding:.65rem .3rem; font-size:.85rem; }

/* Keep phone inputs readable without Safari's automatic focus zoom. */
@media (max-width:700px) {
  #login input,
  #first-password-change input { font-size:16px; }
}

#profile-panel { max-width:680px; }
.profile-photo-row { display:flex; align-items:center; gap:1rem; margin:1rem 0; }
#profile-photo { flex:0 0 80px; width:80px; min-width:80px; height:80px; aspect-ratio:1; border-radius:50%; font-size:1.5rem; }
#profile-fixed { display:grid; grid-template-columns:auto 1fr; gap:.5rem 1rem; padding:1rem; border-radius:12px; background:#f7f4ee; }
#profile-fixed dt { color:#766b6c; }
#profile-fixed dd { margin:0; overflow-wrap:anywhere; }
#profile-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1rem; }
#profile-form > button { grid-column:1/-1; justify-self:start; min-height:46px; }
@media(max-width:700px) {
 #profile-form { grid-template-columns:minmax(0,1fr); }
 #profile-form input { font-size:16px; min-width:0; }
 #profile-panel button { min-height:46px; }
}

.top > div:nth-child(2) { flex:1; min-width:0; }
.top #profile-open, .top #logout { flex:0 0 auto; margin-left:0; min-height:44px; }
@media(max-width:700px) {
 .top { gap:8px; }
 .top .mark { flex:0 0 32px; width:32px; height:36px; font-size:20px; border-radius:10px; }
 .top strong { font-size:13px; line-height:1.35; }
 .top small { font-size:10px; }
 .top #profile-open, .top #logout { padding:9px 10px; font-size:12px; }
}
/* Identidade do Ilê e avisos recolhidos. */
.top { gap:12px; padding:18px 20px; }
.top > div.brand-name { flex:0 1 auto; min-width:0; margin-right:4px; }
.top .mark { flex:0 0 72px; width:72px; height:64px; background:transparent; border-radius:0; }
.top .mark img { width:100%; height:100%; object-fit:contain; }
.top .brand-name strong { font-size:20px; line-height:1.3; }
.top #profile-open { margin-left:auto; }
.tile-icon { display:block; width:38px; height:38px; color:#0b817d; }
.notifications { margin:22px 0 0; border:1px solid #cbded7; border-radius:14px; background:#f0f7f3; }
.notifications > summary { display:flex; align-items:center; gap:10px; min-height:52px; padding:10px 14px; cursor:pointer; font-weight:700; color:#24564b; list-style:none; }
.notifications > summary::-webkit-details-marker { display:none; }
.notifications > summary:focus-visible { outline:3px solid #0b817d; outline-offset:3px; border-radius:14px; }
.notifications-count { display:inline-grid; place-items:center; min-width:26px; min-height:26px; padding:0 6px; border-radius:20px; background:#8b3441; color:white; font-size:14px; }
.notifications-chevron { margin-left:auto; transition:transform .15s; }
.notifications[open] .notifications-chevron { transform:rotate(180deg); }
.notifications-content { padding:0 14px 12px; }
.notifications .receipt-alert { margin:0; padding:12px 0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.notifications .receipt-alert + .receipt-alert { border-top:1px solid #cbded7; }
.notifications .receipt-alert strong { font-size:16px; }
.notifications .receipt-alert p { margin:8px 0 12px; font-size:15px; line-height:1.5; }
.notifications .receipt-alert button { margin:0; width:auto; min-height:44px; padding:10px 14px; font-size:14px; }
@media(max-width:700px) {
 .top { gap:8px; padding:14px 14px; flex-wrap:wrap; }
 .top .mark { flex:0 0 52px; width:52px; height:48px; }
 .top > div.brand-name { flex:1 1 110px; margin-right:0; }
 .top .brand-name strong { font-size:16px; }
 .top #profile-open,.top #logout { min-height:44px; padding:9px 10px; font-size:12px; }
 .top #profile-open { margin-left:0; }
 .notifications > summary { font-size:16px; }
}
@media(max-width:359px) { .top { gap:6px; padding:12px 10px; } .top .mark { flex-basis:44px; width:44px; } .top > div.brand-name { flex-basis:100px; } }
/* Ações ao lado do nome de cada categoria. */
.cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cards .tile { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px 14px; padding:18px; }
.tile-heading { display:flex; align-items:center; gap:10px; min-width:0; }
.tile-heading .tile-icon { flex:0 0 28px; width:28px; height:32px; }
.tile-heading h2 { margin:0; font-size:18px; overflow-wrap:anywhere; }
.tile-actions { display:flex; flex-direction:column; align-items:stretch; gap:6px; }
.tile-actions button { min-height:44px; margin:0; padding:10px 12px; font-size:13px; white-space:nowrap; }
.cards .tile > p { grid-column:1 / -1; margin:0; font-size:14px; line-height:1.5; }
@media(max-width:700px) {
 .cards { grid-template-columns:1fr; gap:12px; }
 .cards .tile { padding:16px; gap:10px; }
 .tile-heading { gap:8px; }
 .tile-heading h2 { font-size:17px; }
 .tile-actions button { padding:10px; }
}
@media(max-width:359px) {
 .cards .tile { grid-template-columns:minmax(0,1fr); }
 .tile-actions { flex-direction:row; flex-wrap:wrap; }
}
/* Acesso administrativo discreto ao final das categorias. */
#dashboard > .management-home-actions > #management-open {
 display:block;
 margin:18px 0 0 auto;
 min-height:44px;
 padding:10px 14px;
 border:1px solid #d8c4c7;
 border-radius:11px;
 background:transparent;
 color:#8b3441;
 font-size:14px;
 font-weight:600;
}
/* Cartões administrativos: dados e ações alinhados. */
.management .management-row-actions {
 display:flex;
 flex-wrap:nowrap;
 max-width:none;
 gap:8px;
}
.management .management-row-actions button {
 white-space:nowrap;
 min-height:44px;
}
@media(max-width:700px) {
 .management-table tr:not(.management-empty) {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:14px;
  row-gap:4px;
  padding:14px;
 }
 .management-table tr:not(.management-empty) > td { min-width:0; }
 .management-table tr:not(.management-empty) > td:first-child,
 .management-table tr:not(.management-empty) > td:nth-child(4),
 .management-table tr:not(.management-empty) > td:last-child { grid-column:1 / -1; }
 .management-table tr:not(.management-empty) > td:nth-child(2) { grid-column:1; display:block; }
 .management-table tr:not(.management-empty) > td:nth-child(3) { grid-column:2; }
 .management .management-row-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; width:100%; }
 .management .management-row-actions button { min-width:0; width:100%; padding:10px 4px; font-size:12px; }
 .management-table td:last-child { margin-top:4px; }
}
/* Situação integrada ao nome do membro. */
.management-name-line { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.management-name-line > strong { flex:0 1 auto; min-width:0; }
.management-name-line > .management-badge { flex:0 0 auto; }
/* Voltar ao início sempre ao alcance, fora do conteúdo do painel. */
#dashboard .floating-home {
 position:fixed;
 right:max(18px,env(safe-area-inset-right));
 bottom:calc(18px + env(safe-area-inset-bottom));
 z-index:40;
 display:grid;
 place-items:center;
 width:50px;
 height:50px;
 min-height:50px;
 padding:0;
 margin:0;
 border:1px solid #d8c4c7;
 border-radius:50%;
 background:#8b3441;
 color:#fff;
 box-shadow:0 4px 14px #342b2c2b;
 font-size:16px;
}
#dashboard .floating-home:focus-visible { outline:3px solid #0b817d; outline-offset:4px; }
#dashboard > section:not(.hidden) { margin-bottom:82px; }
/* Agenda compacta para telefone. */
#events-panel .management-toolbar { grid-template-columns:minmax(0,1fr) auto; margin-top:16px; }
.event-toolbar-actions { display:flex; gap:8px; align-items:center; }
#events-panel .event-toolbar-actions > button { width:auto; min-height:44px; padding:10px 14px; font-size:13px; }
#events-panel .event-heading { flex-direction:row; align-items:center; gap:10px; }
#events-panel .event-heading h3 { min-width:0; flex:1; font-size:18px; }
#events-panel .event-details-toggle { flex:0 0 auto; background:transparent; color:#0b817d; padding:8px 0 8px 8px; min-height:44px; font-size:13px; }
.event-meta { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:10px 0; }
.event-meta .monthly-badge { font-size:12px; padding:6px 8px; white-space:nowrap; }
#events-panel .event-card > .attendance-actions { display:flex; flex-wrap:nowrap; gap:8px; margin:12px 0 0; }
#events-panel .event-card > .attendance-actions > button { width:auto; flex:1 1 0; min-width:0; min-height:44px; padding:10px 6px; font-size:13px; white-space:nowrap; }
#events-panel .event-details:not(.hidden) { margin-top:14px; }
.events-today { margin-top:18px; padding:14px; border:1px solid #8bb8a2; border-radius:14px; background:#eaf5ed; }
.events-today > strong { display:block; color:#245b3c; font-size:17px; margin-bottom:8px; }
.events-today .today-event-open { display:block; width:100%; margin:6px 0 0; min-height:44px; padding:10px 12px; text-align:left; font-size:14px; }
@media(max-width:700px) {
 #events-panel .management-toolbar { grid-template-columns:minmax(0,1fr); gap:10px; }
 #events-panel .event-toolbar-actions { display:flex; justify-content:flex-start; }
 #events-panel .event-toolbar-actions > button { padding:10px 14px; }
}
#contribution-dialog > .management-dialog-heading { align-items:center; gap:10px; }
#contribution-dialog #contribution-title { margin:0; font-size:clamp(22px,5.6vw,30px); min-width:0; }
.contribution-header-actions { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
#contribution-dialog .contribution-header-actions button { min-height:44px; margin:0; padding:9px 10px; font-size:12px; }
#contribution-dialog #contribution-close { width:44px; padding:0; font-size:22px; }
#contribution-dialog .contribution-admin-toolbar:not(:has(button:not(.hidden))) { display:none; }
@media(max-width:359px) {
 #contribution-dialog > .management-dialog-heading { flex-wrap:wrap; }
 #contribution-dialog .contribution-header-actions { margin-left:auto; }
}
#events-panel > .management-heading > div:first-child { width:100%; min-width:0; }
.events-title-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
#events-panel .events-title-row h2 { min-width:0; margin:10px 0; }
#events-panel #events-refresh { flex:0 0 auto; width:auto; min-height:44px; padding:10px 12px; margin:0; font-size:13px; }
.monthly-pix { margin:16px 0 20px; padding:14px; border:1px solid #d9e5df; border-radius:14px; background:#f4f8f5; }
.monthly-pix-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.monthly-pix h3 { margin:0; font-size:16px; }
#monthly-pix-copy { min-height:44px; padding:10px 12px; font-size:13px; }
#monthly-pix-key { padding:8px 0; margin:6px 0 0; border:0; border-radius:0; width:100%; min-width:0; background:transparent; font-size:16px; font-weight:600; color:#245b4e; }
.monthly-pix p { margin:6px 0 0; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.monthly-pix p span { color:#766b6c; }
.monthly-pix .monthly-pix-feedback { color:#245b4e; font-weight:600; }
.monthly-pix-feedback:empty { display:none; }
.monthly-send-row { margin:14px 0; }
.monthly-send-row button { min-height:44px; }
.monthly-paid-total { color:#246754!important; }
.monthly-balance,.monthly-old-balance { color:#813340!important; }
.monthly-total-balance { display:block; margin-top:7px; font-size:15px; }
.monthly-payment-history { margin-top:14px; padding-top:12px; border-top:1px solid #eee6e2; }
.monthly-payment-history summary { cursor:pointer; color:#0b817d; font-size:14px; min-height:32px; }
.monthly-payment-history p { padding:6px 0; }
#payment-form input,#payment-form select,#monthly-send-form input,#monthly-send-form select,.receipt-review input { font-size:16px; min-width:0; }

/* Profile actions stay together on phones. */
#profile-panel .profile-actions { display:flex; align-items:stretch; gap:10px; }
#profile-panel .profile-actions > button { flex:1 1 0; min-width:0; width:auto; margin:0; min-height:46px; padding:12px 8px; font-size:14px; white-space:nowrap; }
#profile-password:not(.hidden) { margin-top:24px; padding-top:20px; border-top:1px solid var(--border, #e8e2de); }

.finance-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0 12px; }
.finance-stat { display:flex; flex-direction:column; gap:8px; padding:18px 14px; border-radius:14px; border:1px solid; }
.finance-stat span { font-size:14px; font-weight:650; }
.finance-stat strong { font-size:clamp(19px,5vw,28px); overflow-wrap:anywhere; }
.finance-cash { background:#e9f6ed; border-color:#bbd8c6; color:#185b37; }
.finance-overdue { background:#fff5d8; border-color:#e5cf8c; color:#735209; }
.finance-negative { color:#8b3441; background:#fbeaec; border-color:#dfbbc0; }
.finance-totals { display:flex; gap:8px 20px; flex-wrap:wrap; font-size:14px; color:#766b6c; margin-bottom:18px; }
#finance-history { margin-top:24px; }
#finance-history > summary { cursor:pointer; font-weight:700; color:#0b817d; min-height:44px; padding:10px 0; }
.finance-movement { border-top:1px solid #e9e2dd; padding:14px 0; }
.finance-movement-heading { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.finance-movement-heading > strong:first-child { overflow-wrap:anywhere; min-width:0; }
.finance-movement-heading > strong:last-child { flex-shrink:0; }
.finance-movement p { margin:5px 0 0; }
.finance-in { color:#185b37; }.finance-out { color:#8b3441; }
#finance-panel .finance-pagination { justify-content:center; font-size:13px; gap:10px; }
#finance-panel .finance-pagination button { padding:10px; min-height:44px; }
#finance-withdraw-dialog input { font-size:16px; min-width:0; }
@media(max-width:400px){ .finance-summary { gap:8px; }.finance-stat{ padding:14px 10px; }.finance-movement-heading{flex-wrap:wrap;} }

.finance-title-row { display:flex; align-items:center; gap:12px; }
#finance-visibility { display:grid; place-items:center; min-width:44px; min-height:44px; padding:10px; margin:0; }
