/* One browser composition around MARY's actual Android components and tokens. */
.mary-web-account #view { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
.mary-web-account #view > #userAccountPanel { min-width: 0; }
.mary-web-account .phone-workspace { margin: 0; padding: 0; border: 0; min-width: 0; }
.mary-web-account .phone-related-sections { gap: 8px; margin-block: 0 16px; }
.mary-web-account .phone-related-sections:empty { display: none; }
.mary-web-account .phone-workspace-tools { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; margin-block: 12px 18px; }
.mary-web-account .phone-workspace-tools .phone-workspace-search { flex: 1 1 260px; max-width: 560px; min-width: 0; }
.mary-web-account .phone-workspace-tools label { display: block; margin-block-end: 6px; font-size: 13px; font-weight: 500; color: var(--muted); }
.mary-web-account .phone-workspace-tools input { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--text); background: var(--surface); font: inherit; }
.mary-web-account .phone-workspace-tools > .btn:not(.ivfab) { flex: 0 0 auto; margin: 0; }
.mary-web-account .ivlist { padding-bottom: 0; }
.mary-web-account .directory-pagination { gap: 8px; margin-block-start: 18px; }
.mary-web-account .directory-recovery { margin-block-start: 22px; padding-block: 10px; }
.mary-web-account .directory-recovery summary { font-size: 13px; color: var(--muted); }
.mary-web-account .directory-recovery[open] summary { color: var(--ink); }
.mary-web-account .directory-lock { margin-block-start: 18px; }
.mary-web-account .directory-help { font-size: 13px; line-height: 1.75; margin-block: 8px 14px; }
.mary-web-account .login-notice:empty { display: none; }
.mary-web-account .login-notice:not(:empty) { line-height: 1.75; margin-block: 10px 14px; }
.mary-web-account .login-notice[role="alert"] { padding: 12px 14px; border: 1px solid var(--neg); border-radius: 10px; background: var(--neg-soft); color: var(--neg); }
.mary-web-account .phone-directory-card.ivc { display: grid; grid-template-columns: 44px minmax(0,1fr); grid-template-areas: "avatar copy" "actions actions"; align-items: start; gap: 10px 14px; padding: 16px; }
.mary-web-account .phone-directory-card > .ivc-thumb-ph,
.mary-web-account .phone-directory-card > .party-avatar { grid-area: avatar; width: 44px; height: 44px; }
.mary-web-account .phone-directory-card > .ivc-who { grid-area: copy; min-width: 0; }
.mary-web-account .phone-directory-card > .btn { grid-area: actions; justify-self: end; min-width: 96px; }
.mary-web-account .phone-directory-card:has(.phone-directory-money) { grid-template-areas: "avatar copy" ". money" "actions actions"; }
.mary-web-account .phone-directory-card .phone-directory-money { grid-area: money; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; min-width: 0; max-width: none; width: 100%; text-align: start; }
.mary-web-account .phone-directory-money .ivc-amt { min-width: 0; max-width: 100%; font-size: 19px; white-space: normal; overflow-wrap: anywhere; }
.mary-web-account .phone-directory-money .ivc-amt bdi { display: inline-block; font-variant-numeric: tabular-nums; }
.mary-web-account .phone-directory-money .ivchip { margin: 0; }
.mary-web-account .phone-ui-icon { display: inline-flex; width: 24px; height: 24px; align-items: center; justify-content: center; }
.mary-web-account .phone-ui-icon svg { display: block; width: 100%; height: 100%; }
.mary-web-account .phone-directory-card p { margin-block: 4px; }
.mary-web-account #ledgerLayer { position: fixed; inset: 0; z-index: 100005; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgb(5 26 54 / 48%); }
.mary-web-account #ledgerEditor { width: min(720px,100%); max-height: calc(100dvh - 40px); display: flex; flex-direction: column; overflow: hidden; border: 0; border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.mary-web-account #ledgerEditor .modal-body { overflow-y: auto; min-height: 0; overscroll-behavior: contain; }
.mary-web-account #ledgerEditor .modal-head,
.mary-web-account #ledgerEditor .modal-foot { flex-shrink: 0; }
.mary-web-account[data-page="profile"] #userAccountPanel > .login-heading { display: none; }
.mary-web-account[data-page="profile"] .account-profile { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; margin-block: 0 20px; padding: 20px; border-radius: var(--radius); background: var(--surface); }
.mary-web-account[data-page="profile"] .account-profile > div { min-width: 0; padding-block: 14px; border-bottom: 1px solid var(--line); }
.mary-web-account[data-page="profile"] .account-profile dt { color: var(--muted); font-size: 13px; }
.mary-web-account[data-page="profile"] .account-profile dd { margin: 6px 0 0; overflow-wrap: anywhere; font-weight: 700; }
.mary-web-account .report-filters { gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.mary-web-account .report-filters .directory-editor-actions { align-items: end; gap: 8px; }
.mary-web-account .report-result { margin-block-start: 22px; }
.mary-web-account .report-result h3 { margin-block: 0 14px; font-size: 18px; }
.mary-web-account .report-metadata { font-size: 12px; }
.mary-web-account .report-totals { gap: 0 24px; }
.mary-web-account .report-totals dt { font-size: 13px; }
.mary-web-account .report-totals dd { font-size: 18px; }
.mary-web-account .report-table { margin-block: 18px; }
.mary-web-account .report-output { display: flex; flex-wrap: wrap; gap: 8px; }
.mary-web-account[data-page="dashboard"] #reportsFilters { margin-block: 0 18px; padding: 0; background: transparent; border: 0; }
.mary-web-account[data-page="dashboard"] .report-metrics { margin-block: 16px; }
.mary-web-account #view input, .mary-web-account #view select, .mary-web-account #view textarea { caret-color: var(--ink); }
.mary-web-account #view bdi { font-variant-numeric: tabular-nums; }
.mary-web-account ::selection { color: var(--ink-3); background: var(--gold-soft); }
@media (max-width: 640px) {
 .mary-web-account .phone-workspace-tools { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
 .mary-web-account .phone-workspace-tools .phone-workspace-search { grid-column: 1 / -1; max-width: none; }
 .mary-web-account .phone-workspace-tools > .btn:not(.ivfab) { width: 100%; }
 .mary-web-account .phone-directory-card.ivc { padding: 14px; gap: 9px 12px; }
 .mary-web-account #ledgerLayer { padding: 12px; }
 .mary-web-account #ledgerEditor { max-height: calc(100dvh - 24px); }
 .mary-web-account[data-page="profile"] .account-profile { grid-template-columns: minmax(0,1fr); padding: 16px; }
 .mary-web-account .report-filters { padding: 14px; }
 .mary-web-account .report-totals { gap: 0; }
}
@media print {
 body.mary-report-print #view { padding: 0; }
 body.mary-financial-print #financialInvoicePrintRoot .phone-invoice-table-wrap { width: 100%; overflow: visible; }
 body.mary-financial-print #financialInvoicePrintRoot table { width: 100%; min-width: 0; table-layout: fixed; }
 body.mary-financial-print #financialInvoicePrintRoot th,
 body.mary-financial-print #financialInvoicePrintRoot td { white-space: normal; overflow-wrap: anywhere; }
 body.mary-financial-print #financialInvoicePrintRoot .phone-invoice-scroll-hint { display: none; }
}
