/* RF-08.3 Phone foundation and feature rules, formerly phone-buildings.css.
   Keep this prefix before the previously extracted Phone overrides below. */

/* Native page refresh never changes list sizing or scroll ownership. */
.phone-page-refresh {
    position: fixed;
    top: calc(max(90px, 64px + var(--urbanis-status-bar-top, env(safe-area-inset-top, 0px))) + 8px);
    left: 50%;
    z-index: 1190;
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: calc(100vw - 32px);
    padding: 10px 16px;
    border: 1px solid rgba(23, 59, 50, .14);
    border-radius: 999px;
    background: #fffdf9;
    color: #173b32;
    box-shadow: 0 4px 18px rgba(23, 59, 50, .16);
    font: 600 .8rem var(--phone-font);
    pointer-events: none;
    transform: translate(-50%, var(--phone-refresh-pull, 0px));
}
.phone-page-refresh[hidden] { display: none; }
.phone-page-refresh[data-state="release"] .phone-page-refresh__icon { transform: rotate(180deg); }
.phone-page-refresh[data-state="refreshing"] .phone-page-refresh__icon { animation: phone-page-refresh-spin .8s linear infinite; }
@keyframes phone-page-refresh-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .phone-page-refresh[data-state="refreshing"] .phone-page-refresh__icon { animation: none; }
}

.phone-shell, .phone-surface, .phone-building-menu, .phone-payment-confirmation { font-family:var(--phone-font); -webkit-font-smoothing:antialiased; }


.phone-shell button, .phone-surface button, .phone-surface input, .phone-surface select { font-family:inherit; }


.phone-shell .urbanis-appbar { background:var(--phone-header); padding-top:var(--urbanis-status-bar-top, env(safe-area-inset-top, 0px)); }


.phone-shell .urbanis-building-context-slot { order:0; margin-left:0; flex:1; min-width:0; --urbanis-building-context-width:auto; }


.phone-shell .urbanis-building-context__meta { display:none; }


.phone-shell .urbanis-building-context { min-height:44px; max-width:100%; border:0; border-radius:999px; background:rgba(245,241,232,.12); padding:6px 12px 6px 6px; color:#f5f1e8; box-shadow:none; gap:8px; }


.phone-shell .urbanis-building-context__name { font-size:1.05rem; font-weight:700; letter-spacing:-.01em; color:#f5f1e8; }


.phone-shell .urbanis-building-context__icon { display:inline-flex; flex-basis:32px; width:32px; height:32px; background:none; color:inherit; }


.phone-shell .urbanis-building-context__icon .mud-icon-root { width:22px; height:22px; font-size:22px; }


.phone-shell .urbanis-building-context__chevron { width:20px; height:20px; color:inherit; opacity:.8; }


.phone-shell .urbanis-appbar-spacer { display:none; }


.phone-shell .urbanis-bottom-nav { display:flex; --urbanis-bottom-nav-height:60px; height:calc(var(--urbanis-bottom-nav-height) + var(--urbanis-content-safe-bottom, env(safe-area-inset-bottom,0px))); min-height:calc(var(--urbanis-bottom-nav-height) + var(--urbanis-content-safe-bottom, env(safe-area-inset-bottom,0px))); border-top:1px solid rgba(23,59,50,.08); padding:0 0 var(--urbanis-content-safe-bottom, env(safe-area-inset-bottom,0px)); background:rgba(255,253,249,.96); }


.phone-shell .urbanis-bottom-nav .urbanis-bottom-nav__item { font-size:.63rem; font-weight:700; color:#9ca3af; }


.phone-shell .urbanis-bottom-nav__content { gap:3px; height:auto; padding:0; }


.phone-shell .urbanis-bottom-nav__icon { width:23px; height:23px; font-size:23px; color:#9ca3af; }


.phone-shell .urbanis-bottom-nav__label-wrap { padding:0; }


.phone-shell .urbanis-bottom-nav__indicator { display:none; }


.phone-shell .urbanis-bottom-nav .urbanis-bottom-nav__item--active,
.phone-shell .urbanis-bottom-nav .urbanis-bottom-nav__item--active .mud-icon-root { color:#1b4d3e !important; background:transparent !important; }



/* More and Access Control phone handoff */
.phone-shell:has(:is(.access-admin-page, .subscriptions-page)) .urbanis-content-shell,
.phone-shell:has(:is(.access-admin-page, .subscriptions-page)) .urbanis-content { padding:0; margin:0; background:transparent; min-height:0; }


.phone-shell :is(.access-admin-page, .subscriptions-page) { min-height:calc(100dvh - var(--phone-appbar-height) - 60px - var(--urbanis-content-safe-bottom,env(safe-area-inset-bottom,0px))); padding:14px 14px calc(100px + var(--urbanis-content-safe-bottom,env(safe-area-inset-bottom,0px))); gap:12px !important; background:linear-gradient(180deg,#f5f1e8 0%,#ece7dc 100%); }


.phone-shell :is(.access-admin-page, .subscriptions-page) > .mud-stack:first-child { flex-shrink:0; }


.phone-shell :is(.access-admin-page, .subscriptions-page) .mud-typography-h4 { color:#173b32; font-size:1.5rem; font-weight:700; letter-spacing:-.02em; }


.phone-shell :is(.access-admin-page, .subscriptions-page) .mud-typography-body2 { color:#52606d; font-size:.82rem; }


.phone-shell:has(:is(.access-admin-page, .subscriptions-page)) .urbanis-appbar .urbanis-building-context-slot { flex:0 1 190px; max-width:190px; }


.phone-shell:has(:is(.access-admin-page, .subscriptions-page)) .urbanis-appbar .urbanis-building-context { justify-content:flex-start; }


.phone-shell :is(.access-admin-page, .subscriptions-page) .platform-access-tabs.page-card { padding:0; overflow:visible; border:0; background:transparent; box-shadow:none; }


.phone-shell :is(.access-admin-page, .subscriptions-page) .platform-access-tab-body { padding:12px 0 0; }


.phone-shell :is(.access-admin-page, .subscriptions-page) .phone-access-segments { display:flex; width:100%; gap:4px; padding:4px; border-radius:999px; background:rgba(23,59,50,.07); }


.phone-shell :is(.access-admin-page, .subscriptions-page) .phone-access-segment { display:flex; min-width:0; min-height:44px; flex:1 1 0; align-items:center; justify-content:center; gap:5px; padding:0 4px; border:0; border-radius:999px; background:transparent; color:#52606d; font-family:inherit; font-size:.76rem; font-weight:800; letter-spacing:-.01em; cursor:pointer; }


.phone-shell :is(.access-admin-page, .subscriptions-page) .phone-access-segment .mud-icon-root { width:17px; height:17px; flex:0 0 17px; font-size:17px; }


.phone-shell :is(.access-admin-page, .subscriptions-page) .phone-access-segment span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }


.phone-shell :is(.access-admin-page, .subscriptions-page) .phone-access-segment--active { background:#fffdf9; color:#0f342c; box-shadow:0 2px 8px rgba(23,59,50,.12); }


.phone-shell :is(.access-admin-page, .subscriptions-page) .phone-access-segment:focus-visible { outline:2px solid #1b4d3e; outline-offset:2px; }


.phone-shell .manager-access-tabs-shell { width:100%; }


.phone-shell .manager-staff-workspace { padding:0 !important; }


.phone-shell .manager-staff-workspace .access-admin-list-card { padding:0; overflow:visible; border:0; background:transparent; box-shadow:none; }


.phone-access-filter-card { flex-shrink:0; padding:12px; border:1px solid rgba(23,59,50,.08); border-radius:20px; background:#fffdf9; box-shadow:0 8px 22px rgba(23,59,50,.05); }


.phone-access-search-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; }


.phone-access-search-row > *, .phone-access-search-row .mud-input-control, .phone-access-search-row .mud-input-control-input-container { min-width:0; }


.phone-access-search-field { display:flex; width:100%; min-width:0; height:44px; align-items:center; overflow:hidden; border-radius:14px; background:rgba(23,59,50,.05); }


.phone-access-search-field .mud-input-control,
.phone-access-search-field .mud-input-control-input-container,
.phone-access-search-field .mud-input-root,
.phone-access-search-field .mud-input,
.phone-access-search-field .mud-input-outlined { width:100%; min-width:0; height:44px; margin:0 !important; background:transparent !important; }


.phone-access-search-row .mud-input-root { min-height:44px; border-radius:14px; background:rgba(23,59,50,.05); }


.phone-access-search-row input { overflow:hidden; min-width:0; text-overflow:ellipsis; white-space:nowrap; }


.phone-access-search-row .mud-input-outlined-border { border-color:transparent !important; border-radius:14px; }


.phone-access-filter-button { display:flex; min-height:44px; align-items:center; gap:6px; padding:0 12px; border:1px solid rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; color:#173b32; font-size:.78rem; font-weight:700; }


.phone-access-filter-button .mud-icon-root { width:18px; height:18px; font-size:18px; }


.phone-access-active-filters { display:flex; gap:7px; margin-top:10px; overflow-x:auto; scrollbar-width:none; }


.phone-access-active-filters::-webkit-scrollbar { display:none; }


.phone-access-active-filters button { display:flex; min-height:36px; flex:0 0 auto; align-items:center; gap:5px; padding:0 9px 0 11px; border:1px solid rgba(27,77,62,.28); border-radius:999px; background:rgba(27,77,62,.10); color:#0f342c; font-size:.72rem; font-weight:700; }


.phone-access-active-filters .mud-icon-root { width:15px; height:15px; font-size:15px; }


.phone-access-primary { min-height:46px; margin-top:10px; border-radius:14px !important; background:#1b4d3e !important; color:#f5f1e8 !important; font-weight:800 !important; letter-spacing:0 !important; text-transform:none !important; }


.phone-access-primary .mud-button-label { text-transform:none; }


.phone-access-result-line { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:10px; padding:0 2px; color:#6b7280; font-size:.74rem; }


.phone-access-result-line strong { color:#52606d; font-size:.72rem; font-weight:800; text-transform:uppercase; }


.phone-shell .phone-access-result-cards { display:flex; flex-direction:column; gap:12px; overflow:visible; border-radius:0; background:transparent; box-shadow:none; }


.phone-shell .phone-access-result-card { display:flex; width:100%; min-height:72px; flex-shrink:0; align-items:center; gap:8px; margin:0; padding:12px 10px 12px 16px; overflow:hidden; border:1px solid rgba(23,59,50,.08); border-radius:16px; background:#fffdf9; color:#173b32; box-shadow:0 8px 22px rgba(23,59,50,.05); text-align:left; }


.phone-shell .phone-access-result-card-main { display:flex; min-width:0; flex:1; align-items:center; justify-content:space-between; gap:10px; }


.phone-shell .phone-access-result-chevron { width:20px; height:20px; flex:0 0 20px; color:#52606d; font-size:20px; }


.phone-shell .phone-access-result-card:focus-visible { outline:2px solid #1b4d3e; outline-offset:2px; }


.phone-shell .customer-access-mobile-summary { display:grid; width:100%; min-width:0; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; padding:0; }


.phone-shell .phone-access-result-card .customer-access-mobile-summary { min-width:0; flex:1; }


.phone-shell .customer-access-mobile-identity { min-width:0; }


.phone-shell .customer-access-mobile-identity .mud-typography-subtitle1 { overflow:hidden; color:#173b32; font-size:.98rem; font-weight:700; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }


.phone-shell .customer-access-mobile-identity .mud-typography-caption { overflow:hidden; color:#52606d; font-size:.78rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }


.phone-shell .customer-access-mobile-status { width:max-content; flex-wrap:nowrap !important; align-items:center; justify-content:flex-end; justify-self:end; }


.phone-shell .customer-access-mobile-status .mud-chip { height:28px; border-radius:999px; font-size:.72rem; font-weight:700; }


.phone-shell .resident-mobile-identity,
.phone-shell .other-users-mobile-identity { display:flex; min-width:0; flex:1; flex-direction:column; }


.phone-shell .resident-mobile-identity .mud-typography-subtitle1,
.phone-shell .other-users-mobile-identity .mud-typography-subtitle1,
.phone-shell .resident-mobile-identity strong,
.phone-shell .other-users-mobile-identity strong { overflow:hidden; color:#173b32; font-size:.98rem; font-weight:700; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }


.phone-shell .resident-mobile-identity .mud-typography-caption,
.phone-shell .other-users-mobile-identity .mud-typography-caption,
.phone-shell .resident-mobile-identity small,
.phone-shell .other-users-mobile-identity small { overflow:hidden; color:#52606d; font-size:.78rem; font-weight:400; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }


.phone-shell .resident-mobile-card .mud-chip,
.phone-shell .other-users-mobile-card .mud-chip { flex-shrink:0; border-radius:999px; font-size:.72rem; font-weight:700; }


.phone-shell .customer-access-mobile-stats { gap:8px; }


.phone-shell .customer-access-mobile-stats > span { min-height:74px; justify-content:center; padding:10px; border:1px solid rgba(23,59,50,.08); border-radius:14px; background:rgba(27,77,62,.04); }


.phone-shell .customer-access-mobile-stats strong { color:#173b32; font-size:1.25rem; font-weight:800; font-variant-numeric:tabular-nums; }


.phone-shell .customer-access-mobile-stats small { color:#52606d; font-weight:700; }


.phone-shell .customer-access-accounts-section { padding:8px 0 0; border:0; background:transparent; }


.phone-shell .customer-access-accounts-heading { padding:0 0 8px; }


.phone-shell .customer-access-accounts-heading .mud-typography-subtitle2 { color:#52606d; font-size:.72rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }


.phone-shell .customer-access-accounts-heading .mud-typography-caption { margin-top:2px; color:#6b7280; font-size:.76rem; }


.phone-shell .customer-staff-panel { padding:0; }


.phone-shell .customer-staff-mobile-list { gap:10px !important; }


.phone-shell .customer-staff-mobile-card { padding:12px; border:1px solid rgba(23,59,50,.08); border-radius:14px; background:rgba(245,241,232,.6); }


.phone-shell .customer-staff-mobile-identity .mud-typography-subtitle2 { color:#173b32; font-size:.9rem; font-weight:700; }


.phone-shell .customer-staff-mobile-identity .mud-typography-caption { overflow:hidden; color:#52606d; font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }


.phone-shell .customer-staff-mobile-card .mud-chip { height:28px; border-radius:999px; font-size:.68rem; font-weight:800; }


.phone-shell .customer-staff-meta-row { width:100%; gap:8px; }


.phone-shell .customer-staff-role-chip,
.phone-shell .customer-staff-building-chip { min-height:28px; padding:3px 9px; }


.phone-shell .customer-staff-manage-button { min-height:38px; margin-left:auto; border-radius:999px !important; color:#173b32 !important; font-size:.78rem !important; font-weight:700 !important; letter-spacing:0 !important; text-transform:none !important; }


.phone-shell .access-result-detail-section { padding:10px; border:1px solid rgba(23,59,50,.08); border-radius:14px; background:rgba(245,241,232,.6); }


.phone-shell .access-result-manage-action { min-height:46px; border-radius:14px; color:#173b32; font-size:.86rem; font-weight:700; letter-spacing:0; text-transform:none; }


.phone-shell .phone-access-result-sheet.phone-surface--sheet { max-height:88%; border-radius:22px 22px 0 0; box-shadow:0 -16px 40px rgba(15,23,42,.3); }


.phone-shell .phone-access-result-sheet .phone-surface-header { padding:0 14px 8px 18px; }


.phone-shell .phone-access-result-sheet .phone-surface-title-row { gap:6px; }


.phone-shell .phone-access-result-sheet .phone-surface-title h2 { font-size:1.05rem; }


.phone-shell .phone-access-result-sheet .phone-surface-title p { color:#6b7280; opacity:1; }


.phone-shell .phone-access-result-sheet .phone-surface-header > .mud-chip { height:30px; flex:0 0 auto; border-radius:999px; background:color-mix(in srgb,currentColor 9%,transparent); font-size:.7rem; font-weight:700; }


.phone-shell .phone-access-result-edit { width:38px; height:38px; color:#1b4d3e; }


.phone-shell .phone-access-result-edit .mud-icon-root { width:19px; height:19px; font-size:19px; }


.phone-shell :is(.phone-access-customer-result-sheet, .phone-subscription-result-sheet) .phone-access-result-edit { position:relative; color:#52606d; }


.phone-shell :is(.phone-access-customer-result-sheet, .phone-subscription-result-sheet) .phone-access-result-edit:before { position:absolute; width:32px; height:32px; border:1px solid rgba(82,96,109,.24); border-radius:50%; background:rgba(82,96,109,.08); content:''; }


.phone-shell :is(.phone-access-customer-result-sheet, .phone-subscription-result-sheet) .phone-access-result-edit .mud-icon-root { position:relative; }


.phone-shell .phone-access-result-sheet .phone-surface-body { padding:14px 18px 20px; }


.phone-shell .phone-access-result-sheet-content { gap:12px !important; }


.phone-shell .phone-access-result-sheet .phone-access-detail-label,
.phone-shell .phone-access-result-sheet .customer-access-accounts-heading .mud-typography-subtitle2 { color:#52606d; font-size:.72rem; font-weight:800; letter-spacing:.09em; line-height:1.2; text-transform:uppercase; }


.phone-shell .phone-access-result-sheet .access-result-detail-section { display:flex; flex-direction:column; gap:9px; padding:14px; border-color:rgba(23,59,50,.10); border-radius:16px; background:rgba(245,241,232,.6); }


.phone-shell .phone-access-result-sheet .access-result-detail-section .mud-chip { border-radius:999px; font-size:.7rem; font-weight:700; }


.phone-shell .phone-access-result-sheet .resident-mobile-relation-row { min-height:42px; padding:7px 0; }


.phone-shell .phone-access-result-sheet .access-result-manage-action { min-height:52px; border-color:rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; font-size:.84rem; font-weight:700; }


.phone-shell .phone-access-customer-result-sheet .customer-access-accounts-section { padding:14px; border:1px solid rgba(23,59,50,.10); border-radius:16px; background:rgba(245,241,232,.6); }


.phone-access-filter-surface .phone-surface-body { display:flex; flex-direction:column; gap:16px; }


.phone-access-filter-surface .mud-input-control { flex-shrink:0; }


.phone-access-filter-group-label { display:block; margin-bottom:8px; font-size:.72rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:#52606d; }


.phone-access-filter-pills { display:flex; flex-wrap:wrap; gap:8px; }


.phone-access-filter-pill { display:inline-flex; align-items:center; min-height:40px; padding:0 14px; border-radius:999px; border:1px solid rgba(23,59,50,.14); background:#fffdf9; color:#173b32; font-size:.8rem; font-weight:700; }


.phone-access-filter-pill.selected { background:#1b4d3e; border-color:#1b4d3e; color:#f5f1e8; }


.phone-access-filter-footer { display:flex; align-items:center; gap:14px; }


.phone-access-filter-footer .mud-button-root:first-child { min-height:50px; flex:1; border-radius:14px; font-weight:800; }


.phone-access-filter-footer .mud-button-root:last-child { min-height:44px; }



@media (max-width:959.98px) {
  .phone-shell .urbanis-drawer-backdrop { display:none; }
  .phone-shell .urbanis-drawer { height:100dvh; padding:0; background:linear-gradient(180deg,#f5f1e8 0%,#ece7dc 100%); animation:phone-access-sheet-in 240ms cubic-bezier(.22,1,.36,1); }
  .phone-shell .urbanis-drawer__layout > .mud-paper:first-child { padding:calc(8px + var(--urbanis-status-bar-top,env(safe-area-inset-top,0px))) 12px 14px 16px !important; background:var(--phone-header) !important; }
  .phone-shell .urbanis-drawer__context,.phone-shell .urbanis-drawer__form { background:transparent; }
  .phone-shell .urbanis-drawer__footer { padding:12px 16px calc(18px + var(--urbanis-content-safe-bottom,env(safe-area-inset-bottom,0px))) !important; background:rgba(255,253,249,.92); }
  .phone-shell .urbanis-drawer__footer .mud-button-filled { min-height:50px; border-radius:14px; background:#1b4d3e !important; color:#f5f1e8 !important; font-weight:800; }
  .phone-shell .urbanis-drawer .mud-input-outlined { border-radius:14px; background:#fffdf9; }
  .phone-shell .phone-access-sheet { inset:0; top:var(--phone-viewport-top,0); width:100%; max-width:none; height:var(--phone-viewport-height,100dvh); border-radius:0; overflow:hidden; }
  .phone-shell .phone-access-sheet .urbanis-drawer__layout { height:100%; min-height:0; }
  .phone-shell .phone-access-sheet .phone-access-sheet-header { min-height:90px; padding:calc(8px + var(--urbanis-status-bar-top,env(safe-area-inset-top,0px))) 12px 14px 16px !important; }
  .phone-shell .phone-access-sheet .phone-access-sheet-header > .mud-stack { width:100%; min-height:44px; flex-wrap:nowrap; align-items:center !important; gap:6px !important; }
  .phone-shell .phone-access-sheet-back { width:44px; height:44px; flex:0 0 44px; margin-left:-8px; }
  .phone-shell .phone-access-sheet-heading { flex:1; min-width:0; }
  .phone-shell .phone-access-sheet-heading .mud-typography-h6 { overflow:hidden; color:#f5f1e8 !important; font-size:1.15rem; font-weight:700; letter-spacing:-.02em; text-overflow:ellipsis; white-space:nowrap; }
  .phone-shell .phone-access-sheet-heading .mud-typography-caption { overflow:hidden; color:rgba(245,241,232,.82) !important; font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
  .phone-shell .phone-access-sheet-header > .mud-stack > .mud-icon-button:last-child { width:44px; height:44px; flex:0 0 44px; }
  .phone-shell .phone-access-sheet .urbanis-drawer__context,
  .phone-shell .phone-access-sheet .urbanis-drawer__form { padding:16px !important; }
  .phone-shell .phone-access-sheet .urbanis-drawer__context { flex:1; min-height:0; overflow:auto; scrollbar-width:none; }
  .phone-shell .phone-access-sheet .urbanis-drawer__context::-webkit-scrollbar { display:none; }
  .phone-shell .phone-access-sheet .urbanis-drawer__form--fill { flex:1; min-height:0; overflow:auto; }
  .phone-shell .phone-access-sheet .urbanis-drawer__footer { flex-shrink:0; border-top:1px solid rgba(23,59,50,.08); }
  .phone-shell .phone-access-sheet .urbanis-drawer__footer-row--inline { width:100%; gap:14px !important; }
  .phone-shell .phone-access-sheet .urbanis-drawer__footer-row--inline > .mud-button-filled { flex:1; }
  .phone-shell .phone-access-sheet .urbanis-drawer__footer-row--inline > .mud-button-text { min-height:44px; color:#1f2933; font-size:.85rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
  .phone-shell .phone-access-sheet .mud-input-control > .mud-input-control-input-container > .mud-input-label { color:#52606d; font-size:.78rem; font-weight:700; }
  .phone-shell .phone-access-sheet .mud-input-outlined { min-height:52px; border-radius:14px; background:#fffdf9; }
  .phone-shell .phone-access-sheet .mud-input-outlined-border { border-color:rgba(23,59,50,.14); border-radius:14px; }
  .phone-shell .phone-access-sheet .mud-input-outlined.mud-input-focused .mud-input-outlined-border { border-color:rgba(27,77,62,.32); border-width:1px; }
  .phone-shell .phone-access-sheet .mud-paper-outlined { border-color:rgba(23,59,50,.10); border-radius:14px; background:rgba(245,241,232,.6); }
  .phone-shell .phone-access-sheet .mud-expand-panel { overflow:hidden; border:1px solid rgba(23,59,50,.10); border-radius:14px !important; background:#fffdf9; box-shadow:none; }
  .phone-shell .phone-access-sheet .mud-expand-panel-header { min-height:52px; color:#1f2933; font-size:.88rem; font-weight:700; }
  .phone-shell .phone-access-sheet button:focus-visible,
  .phone-shell .phone-access-sheet input:focus-visible,
  .phone-shell .phone-access-sheet [tabindex]:focus-visible,
  .phone-shell .phone-access-filter-card button:focus-visible,
  .phone-shell .phone-access-filter-pill:focus-visible { outline:2px solid #1b4d3e; outline-offset:2px; }
  .phone-shell .phone-access-sheet-header button:focus-visible { outline-color:#f5f1e8; }
  .phone-shell .phone-access-manager-sheet .mud-radio,
  .phone-shell .phone-access-manager-sheet .mud-checkbox { min-height:54px; margin:4px 0; padding:0 14px; border:1px solid rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; }
  .phone-shell .phone-access-manager-sheet .mud-radio:has(input:checked),
  .phone-shell .phone-access-manager-sheet .mud-checkbox:has(input:checked) { border-color:rgba(27,77,62,.32); background:rgba(27,77,62,.06); }
  .phone-shell .phone-access-manager-sheet .urbanis-drawer__form { padding:20px 24px 24px !important; }
  .phone-shell .phone-access-manager-sheet .phone-access-sheet-heading .mud-typography-caption { overflow:visible; line-height:1.35; text-overflow:clip; white-space:normal; }
  .phone-shell .phone-manager-form { gap:18px !important; }
  .phone-shell .phone-access-section-label { color:#52606d; font-size:.72rem; font-weight:800; letter-spacing:.09em; line-height:1.2; text-transform:uppercase; }
  .phone-shell .phone-manager-destination { gap:8px !important; }
  .phone-shell .phone-manager-mode-choice { display:flex; width:100%; min-height:64px; align-items:center; justify-content:flex-start; gap:10px; padding:0 14px; border:1px solid rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; color:#1f2933; font-family:inherit; font-size:.92rem; font-weight:700; text-align:left; cursor:pointer; }
  .phone-shell .phone-manager-mode-choice > span { min-width:0; flex:1; text-align:left; }
  .phone-shell .phone-manager-mode-choice.selected { border-color:rgba(27,77,62,.32); background:rgba(27,77,62,.06); }
  .phone-shell .phone-manager-mode-choice .mud-icon-root { width:22px; height:22px; flex:0 0 22px; color:#9ca3af; font-size:22px; }
  .phone-shell .phone-manager-mode-choice.selected .mud-icon-root { color:#1b4d3e; }
  .phone-shell .phone-manager-mode-choice:disabled { cursor:default; opacity:.68; }
  .phone-shell .phone-manager-field,
  .phone-shell .phone-manager-account-form,
  .phone-shell .phone-manager-account-form .mud-form,
  .phone-shell .phone-manager-account-form .mud-input-control { width:100%; max-width:none; }
  .phone-shell .phone-manager-field .mud-input-outlined,
  .phone-shell .phone-manager-account-form .mud-input-outlined { width:100%; min-height:74px; padding-top:12px; border-radius:14px; background:#fffdf9 !important; }
  .phone-shell .phone-manager-customer-field .mud-input-outlined,
  .phone-shell .phone-manager-customer-field .mud-input-root { background:transparent !important; }
  .phone-shell .phone-manager-field .mud-input-label,
  .phone-shell .phone-manager-account-form .mud-input-label { color:#52606d; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
  .phone-shell .phone-manager-field input,
  .phone-shell .phone-manager-field .mud-select-input,
  .phone-shell .phone-manager-account-form input { color:#173b32; font-size:.92rem; font-weight:600; }
  .phone-shell .phone-manager-date-grid { margin-top:-8px; }
  .phone-shell .phone-manager-date-grid > .mud-grid-item { max-width:100%; flex-basis:100%; }
  .phone-access-manager-sheet button.phone-manager-trial-choice { display:flex; box-sizing:border-box; width:100%; max-width:none; min-height:64px; align-items:center; justify-content:flex-start; gap:12px; margin:2px 0 -8px; padding:0 14px; border:1px solid rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; color:#1f2933; font-family:inherit; font-size:.9rem; font-weight:700; text-align:left; }
  .phone-access-manager-sheet button.phone-manager-trial-choice.selected { border-color:rgba(27,77,62,.42); background:rgba(27,77,62,.08); }
  .phone-access-manager-sheet button.phone-manager-trial-choice .mud-icon-root { width:22px; height:22px; flex:0 0 22px; color:#9ca3af; font-size:22px; }
  .phone-access-manager-sheet button.phone-manager-trial-choice.selected .mud-icon-root { color:#1b4d3e; }
  .phone-access-manager-sheet button.phone-manager-trial-choice > span { min-width:0; flex:1; text-align:left; }
  .phone-shell .phone-manager-trial-hint { margin:-4px 4px 2px; color:#6b7280; font-size:.76rem; line-height:1.45; }
  .phone-shell .phone-manager-divider { border-color:rgba(23,59,50,.10); }
  .phone-shell .phone-manager-account-form > .mud-form > .mud-stack { gap:12px !important; }
  .phone-shell .phone-manager-building-access > .mud-stack { gap:10px !important; }
  .phone-manager-building-access .phone-building-access-heading { color:#52606d; font-size:.72rem; font-weight:800; letter-spacing:.09em; line-height:1.2; text-transform:uppercase; }
  .phone-manager-building-access button.phone-building-access-choice { display:flex; box-sizing:border-box; width:100%; max-width:none; min-height:78px; align-items:center; justify-content:flex-start; gap:12px; margin:0; padding:8px 14px; border:1px solid rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; color:#1f2933; font-family:inherit; text-align:left; }
  .phone-manager-building-access button.phone-building-access-choice.selected { border-color:rgba(27,77,62,.42); background:rgba(27,77,62,.08); }
  .phone-manager-building-access button.phone-building-access-choice > .mud-icon-root { width:22px; height:22px; flex:0 0 22px; color:#9ca3af; font-size:22px; }
  .phone-manager-building-access button.phone-building-access-choice.selected > .mud-icon-root { color:#1b4d3e; }
  .phone-manager-building-access button.phone-building-access-choice > span { display:flex; min-width:0; flex:1; flex-direction:column; align-items:flex-start; }
  .phone-manager-building-access button.phone-building-access-choice strong { color:#1f2933; font-size:.9rem; font-weight:700; line-height:1.25; }
  .phone-manager-building-access button.phone-building-access-choice small { color:#6b7280; font-size:.74rem; font-weight:400; line-height:1.3; }
  .phone-shell .phone-access-manager-sheet .urbanis-drawer__footer { padding-left:24px !important; padding-right:24px !important; }
  .phone-shell .phone-access-manager-sheet .urbanis-drawer__footer-row--inline > .mud-button-filled { min-width:0; }
  .phone-shell .phone-access-resident-sheet .phone-access-sheet-heading .mud-typography-caption { overflow:visible; line-height:1.35; text-overflow:clip; white-space:normal; }
  .phone-shell .phone-access-resident-sheet .urbanis-drawer__context { padding:20px 24px 28px !important; }
  .phone-shell .phone-access-resident-sheet .phone-resident-body { gap:22px !important; }
  .phone-shell .phone-access-resident-sheet .phone-resident-section { gap:10px !important; }
  .phone-shell .phone-access-resident-sheet .phone-resident-field,
  .phone-shell .phone-access-resident-sheet .phone-resident-field .mud-input-control { width:100%; max-width:none; }
  .phone-shell .phone-access-resident-sheet .phone-resident-field .mud-input-outlined { width:100%; background:#fffdf9; }
  .phone-shell .phone-access-resident-sheet .phone-resident-field .mud-input-label { color:#52606d; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
  .phone-shell .phone-access-resident-sheet .phone-resident-email-row { width:100%; gap:10px !important; }
  .phone-shell .phone-access-resident-sheet .phone-resident-email-row > .mud-input-control { min-width:0; flex:1; }
  .phone-shell .phone-access-resident-sheet .phone-resident-check-email { min-height:46px; flex:0 0 auto; padding-right:14px; padding-left:14px; border-color:rgba(23,59,50,.14); border-radius:12px; background:transparent; color:#173b32; font-size:.76rem; font-weight:700; letter-spacing:0; text-transform:none; }
  .phone-shell .phone-access-resident-sheet .phone-resident-secondary-action { min-height:54px; border-color:rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; color:#173b32; font-size:.84rem; font-weight:700; letter-spacing:0; text-transform:none; }
  .phone-shell .phone-access-resident-sheet .phone-resident-profile-card { padding:18px !important; border-color:rgba(23,59,50,.12); border-radius:18px; background:rgba(27,77,62,.035); }
  .phone-shell .phone-access-resident-sheet .phone-resident-profile-card .mud-typography-h6 { color:#173b32; font-size:1rem; font-weight:800; }
  .phone-shell .phone-access-resident-sheet .phone-resident-profile-card .mud-typography-caption { color:#6b7280; font-size:.76rem; }
  .phone-shell .phone-access-resident-sheet .phone-resident-profile-card .mud-chip { height:30px; padding:0 12px; border-color:color-mix(in srgb,currentColor 32%,transparent); border-radius:999px; background:color-mix(in srgb,currentColor 9%,transparent); font-weight:700; }
  .phone-shell .phone-access-resident-sheet .phone-resident-profile-card .phone-resident-field .mud-input-outlined,
  .phone-shell .phone-access-resident-sheet .phone-resident-profile-card .phone-resident-field .mud-input-root { background:transparent !important; }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-manager { display:flex; flex-direction:column; gap:10px; padding:16px; border-radius:18px; background:#fffdf9; }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-manager > header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-manager > header > span { color:#6b7280; font-size:.75rem; font-weight:700; }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-list { display:flex; flex-direction:column; gap:8px; }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-chip { display:flex; min-height:62px; align-items:stretch; overflow:hidden; border:1px solid rgba(27,77,62,.3); border-radius:16px; background:rgba(27,77,62,.07); }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-chip.assigned { border-color:#1b4d3e; background:#1b4d3e; }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-summary { display:flex; min-width:0; flex:1; align-items:center; gap:10px; padding:9px 8px 9px 14px; border:0; background:transparent; color:#173b32; text-align:left; }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-summary > .mud-icon-root:first-child { width:21px; height:21px; flex:0 0 21px; color:#1b4d3e; font-size:21px; }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-summary > .mud-icon-root:last-child { width:18px; height:18px; flex:0 0 18px; color:#52606d; font-size:18px; }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-summary > span { display:flex; min-width:0; flex:1; flex-direction:column; }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-summary strong { overflow:hidden; font-size:.86rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-summary small { margin-top:2px; color:#6b7280; font-size:.7rem; }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-chip.assigned .phone-resident-assignment-summary,
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-chip.assigned .phone-resident-assignment-summary > .mud-icon-root { color:#fffdf9; }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-chip.assigned .phone-resident-assignment-summary small { color:rgba(255,253,249,.76); }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-remove { width:48px; flex:0 0 48px; border:0; border-left:1px solid rgba(27,77,62,.18); background:rgba(255,253,249,.5); color:#d64545; }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-chip.assigned .phone-resident-assignment-remove { border-left-color:rgba(255,255,255,.18); background:rgba(255,255,255,.10); color:#fffdf9; }
  .phone-shell .phone-access-resident-sheet .phone-resident-assignment-remove .mud-icon-root { width:19px; height:19px; font-size:19px; }
  .phone-shell .phone-access-resident-sheet .phone-resident-add-unit,
  .phone-shell .phone-access-resident-sheet .phone-resident-save-assignments { min-height:52px; border-radius:14px; font-size:.82rem; font-weight:800; letter-spacing:0; text-transform:none; }
  .phone-shell .phone-access-resident-sheet .phone-resident-add-unit { border-color:rgba(23,59,50,.14); background:#fffdf9; color:#173b32; }
  .phone-shell .phone-access-resident-sheet .phone-resident-save-assignments { margin-top:2px; }
  .phone-shell .phone-access-resident-sheet .phone-resident-relations-manager { display:flex; flex-direction:column; gap:10px; padding:16px; border-radius:18px; background:#fffdf9; }
  .phone-shell .phone-access-resident-sheet .phone-resident-relations-manager > header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .phone-shell .phone-access-resident-sheet .phone-resident-relations-manager > header > span { color:#6b7280; font-size:.75rem; font-weight:700; }
  .phone-shell .phone-access-resident-sheet .phone-resident-relation-list { display:flex; flex-direction:column; gap:8px; }
  .phone-shell .phone-access-resident-sheet .phone-resident-relation-item { display:flex; width:100%; min-height:62px; align-items:center; gap:10px; padding:9px 10px 9px 14px; border:1px solid rgba(27,77,62,.3); border-radius:16px; background:rgba(27,77,62,.07); color:#173b32; text-align:left; }
  .phone-shell .phone-access-resident-sheet .phone-resident-relation-item.current { border-color:#1b4d3e; background:#1b4d3e; color:#fffdf9; }
  .phone-shell .phone-access-resident-sheet .phone-resident-relation-item.historical { border-color:rgba(82,96,109,.22); background:rgba(82,96,109,.08); color:#364553; }
  .phone-shell .phone-access-resident-sheet .phone-resident-relation-item > .mud-icon-root:first-child { width:21px; height:21px; flex:0 0 21px; color:currentColor; font-size:21px; }
  .phone-shell .phone-access-resident-sheet .phone-resident-relation-item > .mud-icon-root:last-child { width:18px; height:18px; flex:0 0 18px; color:currentColor; font-size:18px; opacity:.82; }
  .phone-shell .phone-access-resident-sheet .phone-resident-relation-item > span { display:flex; min-width:0; flex:1; flex-direction:column; }
  .phone-shell .phone-access-resident-sheet .phone-resident-relation-item strong { overflow:hidden; font-size:.86rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
  .phone-shell .phone-access-resident-sheet .phone-resident-relation-item small { margin-top:2px; color:#6b7280; font-size:.7rem; }
  .phone-shell .phone-access-resident-sheet .phone-resident-relation-item.current small { color:rgba(255,253,249,.76); }
  .phone-shell .phone-access-resident-sheet .phone-resident-account-actions,
  .phone-shell .phone-access-resident-sheet .phone-resident-recovery-actions > .mud-stack { gap:10px !important; }
  .phone-shell .phone-access-resident-sheet .phone-resident-recovery-actions .phone-access-recovery-button,
  .phone-shell .phone-access-resident-sheet .phone-resident-lifecycle-action { min-height:56px !important; border-color:rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; font-size:.84rem; font-weight:700; letter-spacing:0; text-transform:none; }
  .phone-shell .phone-access-resident-sheet .phone-resident-lifecycle-action { background:color-mix(in srgb,currentColor 6%,transparent); }
  .phone-shell .phone-access-resident-sheet .urbanis-drawer__footer { padding-left:24px !important; padding-right:24px !important; }
  .phone-shell .phone-access-user-sheet .mud-checkbox { min-height:54px; margin:4px 0; padding:0 14px; border:1px solid rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; }
  .phone-shell .phone-access-user-sheet .mud-checkbox:has(input:checked) { border-color:rgba(27,77,62,.32); background:rgba(27,77,62,.06); }
  .phone-shell .phone-access-user-sheet .phone-access-sheet-heading .mud-typography-caption { overflow:visible; line-height:1.35; text-overflow:clip; white-space:normal; }
  .phone-shell .phone-access-user-sheet .phone-access-user-body { gap:22px !important; padding:20px 24px 28px !important; }
  .phone-shell .phone-access-user-sheet .phone-access-user-section { gap:10px !important; }
  .phone-shell .phone-access-user-sheet .phone-access-section-help { color:#6b7280; font-size:.78rem; line-height:1.4; }
  .phone-shell .phone-access-user-sheet .phone-access-user-section > .mud-stack:first-child > .mud-chip { height:30px; padding:0 12px; border:0; border-radius:999px; background:rgba(27,77,62,.07); color:#1b4d3e; font-size:.72rem; font-weight:700; }
  .phone-shell .phone-access-role-choices { display:flex; flex-direction:column; gap:8px !important; }
  .phone-shell .phone-access-role-choice { display:flex; width:100%; min-height:64px; align-items:center; justify-content:flex-start; gap:12px; padding:8px 14px; border:1px solid rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; color:#1f2933; text-align:left; cursor:pointer; }
  .phone-shell .phone-access-role-choice.selected { border-color:rgba(27,77,62,.32); background:rgba(27,77,62,.06); }
  .phone-shell .phone-access-role-choice > .mud-icon-root { width:22px; height:22px; flex:0 0 22px; color:#9ca3af; font-size:22px; }
  .phone-shell .phone-access-role-choice.selected > .mud-icon-root { color:#1b4d3e; }
  .phone-shell .phone-access-role-choice > span { display:flex; min-width:0; flex:1; flex-direction:column; align-items:flex-start; text-align:left; }
  .phone-shell .phone-access-role-choice strong { font-size:.9rem; font-weight:700; }
  .phone-shell .phone-access-role-choice small { margin-top:2px; color:#6b7280; font-size:.74rem; }
  .phone-shell .phone-access-user-sheet .phone-access-assignment-list { gap:10px !important; }
  .phone-shell .phone-access-user-sheet .phone-access-assignment-card { padding:14px 14px 14px 18px !important; border:1px solid rgba(23,59,50,.12) !important; border-radius:16px !important; background:#fffdf9; }
  .phone-shell .phone-access-user-sheet .phone-access-assignment-card > .mud-stack { min-height:56px; }
  .phone-shell .phone-access-user-sheet .phone-access-assignment-card .mud-typography-subtitle2 { color:#173b32; font-size:.9rem; font-weight:700; }
  .phone-shell .phone-access-user-sheet .phone-access-assignment-card .mud-typography-caption { margin-top:3px; color:#6b7280; font-size:.75rem; }
  .phone-shell .phone-access-user-sheet .phone-access-assignment-card .mud-chip { height:28px; border-radius:999px; background:rgba(38,141,101,.08); font-size:.7rem; font-weight:700; }
  .phone-shell .phone-access-user-sheet .phone-access-assignment-remove { width:46px; height:46px; flex:0 0 46px; border:1px solid rgba(218,69,69,.28); border-radius:999px; background:rgba(218,69,69,.05); color:#d64545 !important; }
  .phone-shell .phone-access-user-sheet .phone-access-add-assignment-card { padding:16px !important; border:1px solid rgba(23,59,50,.10); border-radius:18px !important; background:rgba(245,241,232,.58) !important; }
  .phone-shell .phone-access-user-sheet .phone-access-assignment-title { color:#173b32; font-size:.9rem; font-weight:800; }
  .phone-shell .phone-access-user-sheet .phone-access-assignment-field .mud-input-outlined { min-height:68px; padding-top:10px; background:#fffdf9; }
  .phone-shell .phone-access-user-sheet .phone-access-add-assignment-action .mud-button-root { min-height:52px; border-color:rgba(23,59,50,.14); border-radius:999px; background:#fffdf9; color:#173b32; font-size:.8rem; font-weight:800; }
  .phone-shell .phone-access-user-sheet .phone-access-building-manager { display:flex; flex-direction:column; gap:10px; padding:16px; border-radius:18px; background:#fffdf9; }
  .phone-shell .phone-access-user-sheet .phone-access-building-manager > header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .phone-shell .phone-access-user-sheet .phone-access-building-manager > header > span { color:#6b7280; font-size:.75rem; white-space:nowrap; }
  .phone-shell .phone-access-user-sheet .phone-access-assigned-buildings { display:flex; flex-direction:column; gap:8px; }
  .phone-shell .phone-access-user-sheet .phone-access-building-chip { display:flex; width:100%; min-height:56px; align-items:center; gap:10px; padding:7px 4px 7px 14px; border-radius:16px; background:#1b4d3e; color:#fffdf9; }
  .phone-shell .phone-access-user-sheet .phone-access-building-chip.inactive { background:#52606d; }
  .phone-shell .phone-access-user-sheet .phone-access-building-chip > span { display:flex; min-width:0; flex:1; flex-direction:column; align-items:flex-start; }
  .phone-shell .phone-access-user-sheet .phone-access-building-chip strong { overflow:hidden; max-width:100%; font-size:.86rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
  .phone-shell .phone-access-user-sheet .phone-access-building-chip small { margin-top:2px; color:rgba(255,253,249,.76); font-size:.7rem; }
  .phone-shell .phone-access-user-sheet .phone-access-building-chip .phone-icon { position:relative; color:#fffdf9; }
  .phone-shell .phone-access-user-sheet .phone-access-building-chip .phone-icon:before { position:absolute; width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.16); content:''; }
  .phone-shell .phone-access-user-sheet .phone-access-building-chip .mud-icon-root { position:relative; width:18px; height:18px; font-size:18px; }
  .phone-shell .phone-access-user-sheet .phone-access-no-assignments { color:#6b7280; font-size:.78rem; }
  .phone-shell .phone-access-user-sheet .phone-access-open-assignment { min-height:50px; border-color:rgba(23,59,50,.14); border-radius:14px; color:#173b32; font-size:.84rem; font-weight:700; letter-spacing:0; text-transform:none; }
  .phone-shell .phone-access-user-sheet .phone-access-account-actions,
  .phone-shell .phone-access-user-sheet .phone-access-recovery-actions > .mud-stack { gap:10px !important; }
  .phone-shell .phone-access-user-sheet .phone-access-recovery-button,
  .phone-shell .phone-access-user-sheet .phone-access-detach-action { min-height:56px !important; border-color:rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; font-size:.84rem; font-weight:700; letter-spacing:0; text-transform:none; }
  .phone-shell :is(.phone-access-user-sheet, .phone-subscription-plan-sheet) .phone-access-lifecycle-action { min-height:56px !important; border-radius:14px; background:color-mix(in srgb,currentColor 6%,transparent); font-size:.84rem; font-weight:700; letter-spacing:0; text-transform:none; }
  .phone-shell .phone-access-manager-sheet .urbanis-drawer__footer-row--inline > .mud-button-filled,
  .phone-shell .phone-access-resident-sheet .urbanis-drawer__footer-row--inline > .mud-button-filled,
  .phone-shell .phone-access-user-sheet .urbanis-drawer__footer-row--inline > .mud-button-filled,
  .phone-shell .phone-access-customer-sheet .urbanis-drawer__footer-row--inline > .mud-button-filled,
  .phone-shell .phone-subscription-plan-sheet .urbanis-drawer__footer-row--inline > .mud-button-filled { min-width:0; flex:2 1 0; }
  .phone-shell .phone-access-manager-sheet .urbanis-drawer__footer-row--inline > .mud-button-text,
  .phone-shell .phone-access-resident-sheet .urbanis-drawer__footer-row--inline > .mud-button-text,
  .phone-shell .phone-access-user-sheet .urbanis-drawer__footer-row--inline > .mud-button-text,
  .phone-shell .phone-access-customer-sheet .urbanis-drawer__footer-row--inline > .mud-button-text,
  .phone-shell .phone-subscription-plan-sheet .urbanis-drawer__footer-row--inline > .mud-button-text { min-width:0; flex:1 1 0; }
  .phone-shell .phone-access-field-error { color:#c53030 !important; }
  .phone-shell .phone-access-customer-sheet .urbanis-drawer__context > .mud-paper:first-child { padding:14px !important; border-radius:16px; background:rgba(27,77,62,.04); }
  .phone-shell .phone-access-customer-sheet .phone-customer-editor-body { gap:20px !important; padding:24px 24px 32px !important; }
  .phone-shell .phone-access-customer-sheet .urbanis-drawer__context > .phone-customer-summary-card:first-child { padding:20px !important; border-color:rgba(23,59,50,.12); border-radius:20px; background:rgba(27,77,62,.035); }
  .phone-shell .phone-access-customer-sheet .phone-customer-summary-heading { min-height:28px; }
  .phone-shell .phone-access-customer-sheet .phone-customer-summary-heading .mud-typography-subtitle1,
  .phone-shell .phone-access-customer-sheet .phone-customer-section-label { color:#52606d; font-size:.72rem; font-weight:800; letter-spacing:.09em; line-height:1.2; text-transform:uppercase; }
  .phone-shell .phone-access-customer-sheet .phone-customer-summary-heading .mud-chip { height:30px; padding:0 12px; border-color:color-mix(in srgb,currentColor 32%,transparent); border-radius:999px; background:color-mix(in srgb,currentColor 9%,transparent); font-weight:700; }
  .phone-shell .phone-access-customer-sheet .phone-customer-plan { margin-top:8px; color:#173b32; font-size:1rem; font-weight:800; }
  .phone-shell .phone-access-customer-sheet .phone-customer-summary-card .mud-typography-body2 { color:#607080; font-size:.83rem; line-height:1.45; }
  .phone-shell .phone-access-customer-sheet .phone-customer-manage-subscription { min-height:56px; margin-top:10px; border-color:rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; color:#173b32; font-size:.86rem; font-weight:700; letter-spacing:0; text-transform:none; }
  .phone-shell .phone-access-customer-sheet .phone-customer-buildings { gap:10px !important; }
  .phone-shell .phone-access-customer-sheet .phone-customer-section-label { margin-bottom:2px; }
  .phone-shell .phone-access-customer-sheet .phone-customer-building-card { padding:14px 14px 14px 18px !important; border-color:rgba(23,59,50,.10); border-radius:16px; background:rgba(245,241,232,.58); }
  .phone-shell .phone-access-customer-sheet .phone-customer-building-card > .mud-stack { min-height:64px; }
  .phone-shell .phone-access-customer-sheet .phone-customer-building-card .mud-typography-subtitle2 { color:#173b32; font-size:.9rem; font-weight:700; }
  .phone-shell .phone-access-customer-sheet .phone-customer-building-card .mud-typography-caption { margin-top:3px; color:#6b7280; font-size:.76rem; }
  .phone-shell .phone-access-customer-sheet .phone-customer-unlink-button { width:52px; height:52px; flex:0 0 52px; border:1px solid rgba(218,69,69,.28); border-radius:999px; background:rgba(218,69,69,.05); color:#d64545 !important; }
  .phone-shell .phone-access-customer-sheet .phone-customer-actions { display:flex; flex:0 0 auto !important; flex-direction:column; gap:12px; background:transparent; box-shadow:none; }
  .phone-shell .phone-access-customer-sheet .phone-customer-action-trigger { display:flex; width:100%; min-height:64px; align-items:center; justify-content:space-between; gap:12px; padding:0 16px; border:1px solid rgba(23,59,50,.12); border-radius:14px; background:#fffdf9; color:#1f2933; text-align:left; }
  .phone-shell .phone-access-customer-sheet .phone-customer-action-title { display:flex; min-width:0; align-items:center; gap:12px; color:#1f2933; }
  .phone-shell .phone-access-customer-sheet .phone-customer-action-title .mud-icon-root { flex:0 0 22px; color:#1b4d3e; font-size:22px; }
  .phone-shell .phone-access-customer-sheet .phone-customer-action-title > span { font-size:.86rem; font-weight:700; line-height:1.25; text-align:left; }
  .phone-shell .phone-access-customer-sheet .phone-customer-action-trigger > .mud-icon-root { width:20px; height:20px; flex:0 0 20px; color:#52606d; font-size:20px; }
  .phone-shell .phone-access-customer-sheet .urbanis-drawer__footer { padding-left:24px !important; padding-right:24px !important; }
  .phone-shell .phone-access-action-sheet.phone-surface--sheet,
  .phone-shell .phone-access-assignment-sheet.phone-surface--sheet { max-height:82%; border-radius:22px 22px 0 0; box-shadow:0 -16px 40px rgba(15,23,42,.3); }
  .phone-shell .phone-access-action-sheet .phone-surface-header,
  .phone-shell .phone-access-assignment-sheet .phone-surface-header { padding:0 18px 8px; }
  .phone-shell .phone-access-action-sheet .phone-surface-body,
  .phone-shell .phone-access-assignment-sheet .phone-surface-body { padding:14px 18px 20px; }
  .phone-shell .phone-access-action-sheet .phone-access-sheet-form { gap:14px !important; }
  .phone-shell .phone-access-action-sheet .mud-input-outlined,
  .phone-shell .phone-access-assignment-sheet .mud-input-outlined { min-height:60px; border-radius:14px; background:#fffdf9; }
  .phone-shell .phone-access-action-sheet .mud-input-outlined-border,
  .phone-shell .phone-access-assignment-sheet .mud-input-outlined-border { border-color:rgba(23,59,50,.14); border-radius:14px; }
  .phone-shell .phone-access-action-sheet .phone-access-sheet-empty { color:#6b7280; font-size:.82rem; line-height:1.45; }
  .phone-shell .phone-access-action-sheet .phone-surface-footer .mud-button-root { border-radius:14px; font-weight:800; }
  .phone-shell .phone-access-assignment-sheet-date { margin-bottom:14px; }
  .phone-shell .phone-access-assignment-search { display:flex; min-height:54px; align-items:center; gap:10px; margin-bottom:14px; padding:0 14px; border:1px solid rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; }
  .phone-shell .phone-access-assignment-search .mud-icon-root { width:20px; height:20px; flex:0 0 20px; color:#6b7280; font-size:20px; }
  .phone-shell .phone-access-assignment-search input { width:100%; min-width:0; min-height:52px; border:0; outline:0; background:transparent; color:#1f2933; font-family:inherit; font-size:.9rem; }
  .phone-shell .phone-access-building-options { display:flex; flex-direction:column; gap:8px; }
  .phone-shell .phone-access-building-options > button { display:flex; width:100%; min-height:66px; align-items:center; justify-content:flex-start; gap:12px; padding:9px 14px; border:1px solid rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; color:#1f2933; text-align:left; }
  .phone-shell .phone-access-building-options > button.selected { border-color:rgba(27,77,62,.42); background:rgba(27,77,62,.08); }
  .phone-shell .phone-access-building-options > button > .mud-icon-root { width:22px; height:22px; flex:0 0 22px; color:#52606d; font-size:22px; }
  .phone-shell .phone-access-building-options > button.selected > .mud-icon-root { color:#1b4d3e; }
  .phone-shell .phone-access-building-options > button > span { display:flex; min-width:0; flex:1; flex-direction:column; }
  .phone-shell .phone-access-building-options strong { color:#173b32; font-size:.86rem; font-weight:700; }
  .phone-shell .phone-access-building-options small { margin-top:2px; overflow:hidden; color:#6b7280; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
  .phone-shell .phone-access-assignment-sheet-actions { display:flex; gap:12px; }
  .phone-shell .phone-access-assignment-sheet-actions .mud-button-root { min-width:0; min-height:52px; border-radius:14px; font-size:.82rem; font-weight:800; }
  .phone-shell .phone-access-assignment-sheet-actions .mud-button-filled { flex:2 1 0; }
  .phone-shell .phone-access-assignment-sheet-actions .mud-button-text { flex:1 1 0; color:#1f2933; }
  .phone-shell .phone-resident-assignment-sheet.phone-surface--sheet,
  .phone-shell .phone-resident-relation-sheet.phone-surface--sheet { max-height:88%; border-radius:22px 22px 0 0; box-shadow:0 -16px 40px rgba(15,23,42,.3); }
  .phone-shell .phone-resident-assignment-sheet .phone-surface-header,
  .phone-shell .phone-resident-relation-sheet .phone-surface-header { padding:0 18px 8px; }
  .phone-shell .phone-resident-assignment-sheet .phone-surface-body,
  .phone-shell .phone-resident-relation-sheet .phone-surface-body { padding:14px 18px 20px; }
  .phone-shell .phone-resident-sheet-form { gap:14px !important; }
  .phone-shell .phone-resident-assignment-sheet .mud-input-outlined,
  .phone-shell .phone-resident-relation-sheet .mud-input-outlined { min-height:64px; padding-top:8px; border-radius:14px; background:#fffdf9; }
  .phone-shell .phone-resident-assignment-sheet .mud-input-outlined-border,
  .phone-shell .phone-resident-relation-sheet .mud-input-outlined-border { border-color:rgba(23,59,50,.14); border-radius:14px; }
  .phone-shell .phone-resident-assignment-sheet .phone-surface-footer .mud-button-root { min-height:52px; border-radius:14px; font-size:.82rem; font-weight:800; }
  .phone-shell .phone-resident-relation-sheet .phone-resident-end-relation { min-height:52px; margin-top:4px; border-radius:14px; background:color-mix(in srgb,currentColor 6%,transparent); font-size:.82rem; font-weight:700; letter-spacing:0; text-transform:none; }
  .phone-shell .phone-resident-sheet-actions { display:flex; gap:12px; }
  .phone-shell .phone-resident-sheet-actions .mud-button-root { min-width:0; min-height:52px; border-radius:14px; font-size:.82rem; font-weight:800; }
  .phone-shell .phone-resident-sheet-actions .mud-button-filled { flex:2 1 0; }
  .phone-shell .phone-resident-sheet-actions .mud-button-text { flex:1 1 0; color:#1f2933; }
  .phone-shell .phone-access-subscription-sheet .phone-access-sheet-heading .mud-typography-caption { overflow:visible; line-height:1.35; text-overflow:clip; white-space:normal; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-body { gap:20px !important; padding:18px 24px 32px !important; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-usage-heading { min-height:30px; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-section-label { color:#52606d; font-size:.72rem; font-weight:800; letter-spacing:.09em; line-height:1.2; text-transform:uppercase; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-status { height:30px; padding:0 12px; border-color:color-mix(in srgb,currentColor 32%,transparent); border-radius:999px; background:color-mix(in srgb,currentColor 9%,transparent); font-size:.72rem; font-weight:700; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-usage-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-usage-grid > span { display:flex; min-width:0; min-height:76px; flex-direction:column; justify-content:center; padding:12px; border:1px solid rgba(23,59,50,.10); border-radius:16px; background:rgba(27,77,62,.04); }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-usage-grid strong { color:#173b32; font-size:1.05rem; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-usage-grid small { margin-top:4px; overflow:hidden; color:#52606d; font-size:.7rem; font-weight:700; text-overflow:ellipsis; text-transform:capitalize; white-space:nowrap; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-members-card { padding:16px 18px !important; border-color:rgba(23,59,50,.10); border-radius:18px; background:rgba(245,241,232,.58); }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-members-list { gap:5px !important; margin-top:10px; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-members-list .mud-typography-body2 { color:#1f2933; font-size:.84rem; font-weight:700; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-form { gap:12px !important; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-form .mud-input-control { width:100%; max-width:none; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-form .mud-input-outlined { width:100%; min-height:68px; padding-top:10px; border-radius:14px; background:#fffdf9; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-form .mud-input-outlined-border { border-color:rgba(23,59,50,.14); border-radius:14px; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-form .mud-input-label { color:#52606d; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-form input,
  .phone-shell .phone-access-subscription-sheet .phone-subscription-form .mud-select-input { color:#173b32; font-size:.9rem; font-weight:700; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-lifecycle-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-lifecycle-actions .mud-button-root { min-width:0; min-height:54px; border-radius:14px; background:color-mix(in srgb,currentColor 5%,transparent); font-size:.82rem; font-weight:700; letter-spacing:0; text-transform:none; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-lifecycle-actions .mud-button-root:only-child { grid-column:1 / -1; }
  .phone-shell .phone-access-subscription-sheet .phone-subscription-footer { padding-right:24px !important; padding-left:24px !important; }
  .phone-shell .phone-access-subscription-sheet .urbanis-drawer__footer-row--inline > .mud-button-filled { min-width:0; flex:2 1 0; }
  .phone-shell .phone-access-subscription-sheet .urbanis-drawer__footer-row--inline > .mud-button-text { min-width:0; flex:1 1 0; }
}


@keyframes phone-access-sheet-in { from { transform:translateY(100%); } to { transform:none; } }


.phone-header-actions { order:2; margin-left:auto; display:flex; align-items:center; flex-shrink:0; }


.phone-icon { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:44px; height:44px; border:0; border-radius:12px; background:transparent; color:inherit; cursor:pointer; }


.phone-header-actions .mud-icon-button { min-width:44px; min-height:44px; color:inherit; }


.phone-building-menu .mud-menu-item, .urbanis-bottom-nav-popover .mud-menu-item { min-height:44px; }


.phone-building-menu .urbanis-building-option__action { min-width:44px; min-height:44px; }


.phone-buildings .page-card { padding:0; background:transparent; box-shadow:none; border:0; }


.phone-buildings .phone-filter-row { flex-shrink:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; background:rgba(255,253,249,.94); padding:10px 12px; border-bottom:1px solid rgba(23,59,50,.08); }


.phone-filter-row > * { min-width:0; }


.phone-filter-row .phone-filter-select { margin:0; width:100%; min-width:0; }


.phone-filter-row .phone-filter-select .phone-filter-toggle { width:100%; }


.phone-filter-row .phone-filter-select .mud-input { border-radius:999px; min-height:44px; padding:0 8px; background:rgba(27,77,62,.10); color:#0f342c; font-size:.82rem; font-weight:700; }


/* MudInput sets display:inline on its visible select slot; override it to center the text. */
.phone-filter-row .phone-filter-select div.mud-input-slot { padding:0 !important; box-sizing:border-box; min-height:44px; height:auto; display:flex !important; align-items:center; justify-content:center; text-align:center; white-space:normal; line-height:1.25; font-size:inherit; font-weight:inherit; }


.phone-filter-row .phone-filter-select .mud-input-outlined-border { border-radius:999px; border-color:rgba(27,77,62,.28); }


.phone-filter-row .phone-filter-select .mud-input-adornment { margin:0 0 0 4px; opacity:.7; }


.phone-filter-row .mud-icon-root { width:18px; height:18px; }


.phone-filter-toggle { display:flex; align-items:center; justify-content:center; gap:4px; min-height:44px; padding:4px 6px; border:1px solid rgba(23,59,50,.10); border-radius:999px; background:#fffdf9; color:#52606d; font-size:.82rem; font-weight:700; line-height:1.25; white-space:normal; }


.phone-filter-toggle .mud-icon-root { flex-shrink:0; }


.phone-filter-toggle.selected { background:var(--phone-accent-soft); border-color:var(--phone-accent); color:var(--phone-heading); }


.phone-filter-toggle--year { background:rgba(27,77,62,.10); border-color:rgba(27,77,62,.28); color:#0f342c; }


.phone-period { font-size:.75rem; color:#52606d; margin:6px 0 10px; }


.phone-unit-list { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:14px 16px 96px; scrollbar-width:none; }


.phone-unit-slot { padding-bottom:8px; }


.phone-list-pagination { display:flex; flex-direction:column; align-items:center; gap:10px; padding:12px 0; color:#6b7280; font-size:.78rem; }


.phone-load-more { min-height:44px; width:100%; padding:10px 16px; border:1px solid rgba(27,77,62,.28); border-radius:999px; background:#fffdf9; color:#1b4d3e; font-size:.85rem; font-weight:700; cursor:pointer; }


.phone-unit-row { width:100%; min-height:64px; display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid rgba(23,59,50,.10); border-radius:16px; background:rgba(255,253,249,.94); text-align:left; color:var(--phone-heading); cursor:pointer; }


.phone-unit-row--selected { outline:2px solid var(--phone-primary); background:#edf4ee; }


.phone-unit-row .mud-icon-root { width:20px; height:20px; color:#9ca3af; }


.phone-unit-identity { display:flex; flex-direction:column; flex:1; min-width:0; }


.phone-unit-identity strong, .phone-unit-amount strong { font-size:.95rem; }


.phone-unit-identity > span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:.8rem; color:#52606d; }


.phone-unit-amount { display:flex; flex-direction:column; text-align:right; font-variant-numeric:tabular-nums; }


.phone-unit-amount > span { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }


.phone-unit-row:has(.urbanis-mobile-month-chip--paid) .phone-unit-amount { color:#2f855a; }


.phone-unit-row:has(.urbanis-mobile-month-chip--partial) .phone-unit-amount { color:#c27803; }


.phone-unit-row:has(.urbanis-mobile-month-chip--unpaid) .phone-unit-amount { color:#c53030; }


.phone-unit-status { width:8px; height:38px; border-radius:99px; background:#6b7280; flex-shrink:0; }


.phone-unit-status.status-paid, .phone-unit-status.urbanis-month-paid { background:#2f855a; }


.phone-unit-status.status-partial, .phone-unit-status.urbanis-month-partial { background:#c27803; }


.phone-unit-status.status-unpaid, .phone-unit-status.urbanis-month-unpaid { background:#c53030; }


.phone-unit-status.urbanis-mobile-month-chip--paid { background:#2f855a; }


.phone-unit-status.urbanis-mobile-month-chip--partial { background:#c27803; }


.phone-unit-status.urbanis-mobile-month-chip--unpaid { background:#c53030; }


.phone-fab { position:fixed; z-index:1100; right:18px; bottom:calc(88px + var(--urbanis-content-safe-bottom, env(safe-area-inset-bottom,0px))); height:52px; padding:0 20px; border:0; border-radius:999px; display:flex; align-items:center; gap:8px; background:var(--phone-primary); color:white; font-weight:700; box-shadow:0 12px 28px #173b3259; cursor:pointer; }


.phone-flow-open { overflow:hidden; }


.phone-surface-layer { position:fixed; inset:0; top:var(--phone-viewport-top,0px); height:var(--phone-viewport-height,100dvh); }


.phone-surface-backdrop { position:absolute; inset:0; background:#0007; }


.phone-surface { position:absolute; inset:0; display:flex; flex-direction:column; background:linear-gradient(180deg,#f5f1e8,#ece7dc); outline:none; overflow:hidden; }


.phone-surface--sheet { top:auto; max-height:74%; border-radius:24px 24px 0 0; background:var(--phone-surface); box-shadow:0 -12px 40px #0f172a40; }


.phone-surface-header { display:flex; align-items:center; gap:4px; flex-shrink:0; min-height:90px; padding:calc(8px + var(--urbanis-status-bar-top,env(safe-area-inset-top,0px))) 12px 14px 8px; color:#f5f1e8; background:var(--phone-header); }


.phone-surface-header > .phone-icon .mud-icon-root { width:22px; height:22px; }


.phone-surface-header > .phone-icon:last-child .mud-icon-root { width:23px; height:23px; }


.phone-surface--sheet .phone-surface-header { background:transparent; color:var(--phone-heading); padding-top:0; min-height:44px; }


.phone-sheet-handle { flex-shrink:0; width:44px; height:5px; border-radius:999px; background:rgba(23,59,50,.18); margin:10px auto 14px; }


.phone-surface-title { flex:1; min-width:0; }


.phone-surface-title-row { display:flex; align-items:center; gap:2px; }


.phone-surface-title-row h2 { min-width:0; overflow-wrap:anywhere; }


.phone-surface-title-row .phone-icon { width:44px; height:44px; }


.phone-surface-title-row .mud-icon-root { width:18px; height:18px; }


.phone-surface-title h2 { font-size:1.15rem; font-weight:700; letter-spacing:-.02em; margin:0; color:inherit; }


.phone-surface-title p { font-size:.76rem; opacity:.82; margin:3px 0 0; overflow-wrap:anywhere; }


.phone-surface-body { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:16px; color:#1f2933; }


.phone-surface-body > p { margin:0 0 10px; font-size:.85rem; }


.phone-surface-body h3 { font-size:.8rem; color:#52606d; margin:12px 0; }


.phone-surface-footer { flex-shrink:0; border-top:1px solid var(--phone-border); padding:12px 16px calc(12px + var(--urbanis-content-safe-bottom, env(safe-area-inset-bottom,0px))); background:var(--phone-surface); }


.phone-surface--sheet .phone-surface-body:last-child { padding-bottom:calc(20px + var(--urbanis-content-safe-bottom, env(safe-area-inset-bottom,0px))); }


.phone-report-period-picker > .phone-surface-header { padding:0 8px 0 0 !important; }


.phone-report-period-picker > .phone-surface-header > .phone-surface-title { padding-left:18px; }


.phone-report-statement.phone-surface--sheet > .phone-surface-header { padding:0 8px 0 0 !important; }


.phone-report-statement.phone-surface--sheet > .phone-surface-header > .phone-surface-title { padding-left:18px; }




.phone-statements-month-picker.phone-surface--sheet > .phone-surface-header { padding:0 8px 0 18px; }


.phone-surface .mud-button-root { min-height:44px; border-radius:12px; text-transform:none; }


.phone-surface-footer .mud-button-root { min-height:52px; }


.phone-form { display:flex; flex-direction:column; gap:18px; }


.phone-form label { display:flex; flex-direction:column; gap:6px; font-size:.72rem; font-weight:700; color:#52606d; }


.phone-form input:not([type=checkbox]), .phone-form select { width:100%; min-height:52px; padding:12px 14px; border:1px solid var(--phone-border); border-radius:14px; background:var(--phone-surface); color:#1f2933; font:inherit; font-size:.95rem; font-weight:400; box-sizing:border-box; }


.phone-form input:focus, .phone-form select:focus, .phone-icon:focus-visible, .phone-unit-row:focus-visible, .phone-chips button:focus-visible { outline:2px solid #305f72; outline-offset:2px; }


.phone-form input:read-only, .phone-form select:disabled { background:#eeece6; }


.phone-form fieldset { margin:0; border:0; padding:0; min-width:0; }


.phone-form legend { font-size:.72rem; font-weight:700; color:#52606d; margin-bottom:6px; }


.phone-chips { display:flex; gap:8px; flex-wrap:wrap; }


.phone-chips button { min-height:44px; border:1px solid var(--phone-border); border-radius:999px; background:var(--phone-surface); color:#374151; padding:8px 16px; font:inherit; font-size:.85rem; font-weight:700; cursor:pointer; }


.phone-chips button.selected { color:var(--phone-heading); background:var(--phone-accent-soft); border-color:var(--phone-accent); }


.phone-hint { font-size:.78rem; color:#52606d; margin:-10px 0 0; }


.phone-form .phone-toggle { flex-direction:row; align-items:center; gap:12px; min-height:44px; }


.phone-toggle input { width:24px; height:24px; accent-color:var(--phone-primary); }


.phone-toggle small { display:block; font-weight:400; margin-top:4px; }


.phone-month-obligation { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 12px; margin:14px 0; font-size:.8rem; color:#52606d; }


.phone-month-obligation strong { color:var(--phone-heading); font-size:1rem; font-variant-numeric:tabular-nums; }


.phone-month-strip { display:flex; overflow-x:auto; gap:8px; margin-bottom:18px; scrollbar-width:none; }


.phone-month-strip::-webkit-scrollbar { display:none; }


.phone-month { min-width:64px; min-height:56px; padding:8px; border:1px solid var(--phone-border); border-radius:14px; display:flex; flex-direction:column; align-items:center; justify-content:center; }


.phone-month small { font-size:.65rem; }


.phone-summary-sheet .phone-surface-header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; padding-left:18px; padding-bottom:6px; }


.phone-summary-sheet .phone-surface-title { display:contents; }


.phone-summary-sheet .phone-surface-title-row { grid-column:1; grid-row:1; gap:4px; }


.phone-summary-sheet .phone-surface-title p { grid-column:1 / -1; grid-row:2; margin-top:0; }


.phone-summary-sheet .phone-surface-header > .phone-status-pill { grid-column:2; grid-row:1; }


.phone-unit-sheet .phone-surface-header > .phone-icon { grid-column:3; grid-row:1; }


.phone-unit-sheet .phone-surface-title-row .phone-icon { position:relative; }


.phone-unit-sheet .phone-surface-title-row .phone-icon:before { content:''; position:absolute; width:32px; height:32px; border-radius:50%; border:1px solid rgba(27,77,62,.3); background:rgba(27,77,62,.08); }


.phone-unit-sheet .phone-surface-title-row .phone-icon .mud-icon-root { position:relative; color:#52606d; }


.phone-summary-sheet .phone-surface-body { padding-top:4px; }


.phone-unit-sheet .phone-surface-body > p { margin-bottom:6px; }


.phone-summary-sheet .phone-surface-title h2 { font-size:1.3rem; }


.phone-summary-sheet .phone-surface-title p { font-size:.82rem; opacity:1; }


.phone-window-label { font-size:.68rem !important; font-weight:800; letter-spacing:.11em; text-transform:uppercase; color:#52606d; }


.phone-month-strip .phone-month { flex-shrink:0; min-width:56px; gap:5px; padding:9px 8px; }


.phone-month-strip .phone-month[data-current-month="true"] { border:2px solid var(--phone-primary); opacity:1; }


.phone-month strong { font-size:.82rem; font-weight:700; }


.phone-month-amount { font-size:.72rem; font-weight:700; font-variant-numeric:tabular-nums; color:#9ca3af; white-space:nowrap; }


.phone-month.urbanis-mobile-month-chip--paid .phone-month-amount { color:#2f855a; }


.phone-month.urbanis-mobile-month-chip--partial .phone-month-amount { color:#c27803; }


.phone-month.urbanis-mobile-month-chip--unpaid .phone-month-amount { color:#c53030; }


.phone-sheet-actions { display:flex; gap:10px; margin:12px 0; }


.phone-sheet-actions > * { flex:1; }


.phone-unit-actions > .phone-unit-payment { flex:3 1 0; min-width:0; }


.phone-unit-sheet .phone-action-row { justify-content:flex-start; }


.phone-action-row { display:flex; align-items:center; width:100%; gap:12px; min-height:52px; padding:10px 0; border:0; border-top:1px solid var(--phone-border); background:transparent; color:var(--phone-heading); text-align:left; cursor:pointer; font:inherit; font-size:.9rem; }


.phone-action-row > span { flex:1; }


.phone-action-row small { display:block; font-size:.78rem; color:#52606d; margin-top:4px; }


.phone-danger { color:#c53030; }


.phone-relation-card { padding:14px; margin:10px 0; border:1px solid var(--phone-border); border-radius:16px; background:var(--phone-surface); }


.phone-relation-card p { font-size:.8rem; margin:5px 0; color:#52606d; }


.phone-relation-active { float:right; font-size:.72rem; margin-left:10px; }


.phone-relation-history summary { min-height:44px; padding:12px 0; cursor:pointer; }


.phone-form-actions { display:flex; gap:10px; }


.phone-form-actions > .mud-button-root { flex:1; }


.phone-secondary { min-height:52px; padding:0 20px; border:1px solid rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; color:#52606d; font-size:.92rem; font-weight:700; }


.phone-parking-picker .phone-surface-body { padding:14px 18px 4px; }


.phone-parking-grid { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }


.phone-parking-grid button { min-width:74px; min-height:44px; padding:0 14px; border:1px solid rgba(23,59,50,.14); border-radius:12px; background:#fffdf9; color:#1f2933; font-size:.88rem; font-weight:700; font-variant-numeric:tabular-nums; }


.phone-parking h3, .phone-parking-picker h3, .phone-relations-heading h3 { font-size:.68rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; color:#52606d; }


.phone-relations-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; }


.phone-relations-heading > span { font-size:.78rem; color:#6b7280; }


.phone-relation-card > div > strong { font-size:.95rem; font-weight:700; color:#173b32; }


.phone-relation-active { padding:3px 10px; border-radius:999px; background:rgba(23,59,50,.08); color:#52606d; font-weight:700; }


.phone-relation-active.active { background:rgba(34,197,94,.10); color:#2f855a; }


.phone-relation-card .phone-sheet-actions .mud-button-root { font-size:.82rem; font-weight:700; border-color:rgba(23,59,50,.14); }


.phone-relation-access { display:flex; align-items:center; gap:6px; font-size:.78rem; }


.phone-relation-access .mud-icon-root { width:16px; height:16px; }


.phone-date-field > span { display:block; margin-bottom:6px; font-size:.72rem; font-weight:700; color:#52606d; }


.phone-date-field .mud-input-control { margin:0; }


.phone-date-field .mud-input { border-radius:14px; background:#fffdf9; min-height:52px; }


.phone-date-field .mud-input-outlined-border { border-color:rgba(23,59,50,.14); }


.phone-shell { --phone-appbar-height:max(90px, calc(64px + var(--urbanis-status-bar-top, env(safe-area-inset-top,0px)))); }


.phone-shell .urbanis-appbar { height:var(--phone-appbar-height); }


.phone-shell .urbanis-appbar .mud-toolbar { padding:0 16px; flex:1; align-items:center; min-height:64px; }


.phone-shell:has(.urbanis-appbar) .urbanis-main { padding-top:var(--phone-appbar-height); }


.phone-shell:has(.phone-buildings) .urbanis-content-shell, .phone-shell:has(.phone-buildings) .urbanis-content,
.phone-shell:has(.phone-spendings-page) .urbanis-content-shell, .phone-shell:has(.phone-spendings-page) .urbanis-content { padding:0; margin:0; background:transparent; min-height:0; }


.phone-shell:has(.phone-profile) .urbanis-content-shell, .phone-shell:has(.phone-profile) .urbanis-content { padding:0; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; min-height:0; }


.phone-buildings { height:calc(100dvh - var(--phone-appbar-height) - 60px - var(--urbanis-content-safe-bottom, env(safe-area-inset-bottom,0px))); gap:0 !important; }


.phone-spendings-page { gap:0 !important; background:transparent; }


.phone-buildings > .page-card { height:100%; min-height:0; }


.phone-units-workspace { display:flex; flex-direction:column; height:100%; min-height:0; }


.phone-search-area { padding:10px 16px; flex-shrink:0; background:rgba(255,253,249,.94); border-bottom:1px solid rgba(23,59,50,.08); }


.phone-search-field { display:flex; align-items:center; gap:8px; min-height:48px; padding:0 8px 0 14px; border:1px solid rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; }


.phone-search-field > .mud-icon-root { width:20px; height:20px; color:#6b7280; }


.phone-search-field input { flex:1; min-width:0; border:0; outline:0; background:none; font:600 .92rem var(--phone-font); color:#1f2933; }


.phone-search-field:focus-within { outline:2px solid #305f72; outline-offset:2px; }


.phone-search-field input::-webkit-search-cancel-button { display:none; }


.phone-search-clear { position:relative; }


.phone-search-clear:before { content:''; position:absolute; width:28px; height:28px; border-radius:50%; background:rgba(23,59,50,.10); }


.phone-search-clear .mud-icon-root { width:15px; height:15px; color:#52606d; }


.phone-list-summary { display:flex; justify-content:space-between; gap:12px; margin-bottom:10px; color:#6b7280; font-size:.78rem; }


.phone-list-summary > span { flex:1; min-width:0; }


.phone-list-summary strong { flex-shrink:0; white-space:nowrap; color:#c53030; font-weight:700; font-variant-numeric:tabular-nums; }


.phone-empty-results { margin:32px 16px; text-align:center; font-size:.85rem; color:#6b7280; }


.phone-building-menu.urbanis-building-context-popover { width:300px !important; max-width:calc(100vw - 32px) !important; border-radius:20px; background:#fffdf9; border:1px solid rgba(23,59,50,.08); box-shadow:0 16px 40px rgba(15,23,42,.22); }


.phone-building-menu.urbanis-building-context-popover .mud-list { padding:0; }


.phone-building-menu-heading { padding:14px 16px 10px; border-bottom:1px solid rgba(23,59,50,.08); color:#6b7280; font-size:.68rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }


.phone-building-menu .urbanis-building-context-options { max-height:280px; overflow:auto; padding:6px; }


.phone-building-menu .urbanis-building-context-option { flex-wrap:nowrap; align-items:center; gap:4px; min-height:60px; padding:8px; margin:2px 0; border:1px solid rgba(23,59,50,.08); border-radius:14px; background:#fffdf9; }


.phone-building-menu .urbanis-building-context-option--selected { background:rgba(27,77,62,.07); border-color:rgba(27,77,62,.28); }


.phone-building-menu .urbanis-building-option-select { padding:0; flex:1; width:auto; min-width:0; }


/* The Add building icon makes MudMenu indent iconless items by 36px. Our rows own their icon tile. */
.phone-building-menu .mud-menu-list .urbanis-building-option-select .mud-menu-item-text { margin:0; margin-inline-start:0 !important; min-width:0; }


.phone-building-menu .urbanis-building-option { position:relative; display:grid; grid-template-columns:38px minmax(0,1fr); gap:8px; width:100%; }


.phone-building-menu .phone-building-tile { grid-column:1; grid-row:1; display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:11px; background:rgba(23,59,50,.08); color:#1b4d3e; }


.phone-building-menu .urbanis-building-option__copy { grid-column:2; grid-row:1; }


.phone-building-menu .urbanis-building-option__check { position:absolute; left:24px; bottom:-3px; align-items:center; width:18px; height:18px; border-radius:50%; }


.phone-building-menu .urbanis-building-option__check:empty { display:none; }


.phone-building-menu .urbanis-building-context-option--selected .phone-building-tile,
.phone-building-menu .urbanis-building-context-option--selected .urbanis-building-option__check { color:#f5f1e8; background:#1b4d3e; }


.phone-building-menu .urbanis-building-option__check .mud-icon-root { width:14px; height:14px; }


.phone-building-menu .urbanis-building-option__name { font-size:.9rem; font-weight:700; color:#173b32; }


.phone-building-menu .urbanis-building-option__meta { display:block; white-space:normal; font-size:.74rem; color:#6b7280; }


.phone-building-menu .urbanis-building-option__actions { display:flex; width:auto; gap:0; padding:0; justify-content:flex-end; flex:0 0 auto; }


.phone-building-menu .phone-building-add { min-height:48px; border-top:1px solid rgba(23,59,50,.08); color:#1b4d3e; font-size:.85rem; font-weight:700; }


.phone-status-pill { display:inline-flex; padding:3px 12px; border-radius:999px; font-size:.74rem; font-weight:700; background:rgba(23,59,50,.08); color:#52606d; }


.phone-status-pill.paid { background:rgba(34,197,94,.10); color:#2f855a; }


.phone-status-pill.partial { background:rgba(245,158,11,.12); color:#c27803; }


.phone-status-pill.unpaid { background:rgba(239,68,68,.12); color:#c53030; }


@media (prefers-reduced-motion:reduce) { .phone-surface *, .phone-unit-list { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }



.phone-delete-dialog .mud-button-filled-error { background:#c53030; color:white; }


.phone-delete-dialog .mud-button-outlined { border-color:rgba(23,59,50,.14); color:#1f2933; background:transparent; }



.phone-unit-location { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:12px; }


.phone-unit-location > label { min-width:0; }


.phone-parking { padding:16px; border-radius:18px; background:#fffdf9; display:flex; flex-direction:column; gap:12px; }


.phone-parking-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }


.phone-parking .phone-parking-heading h3 { margin:0; font-size:.95rem; font-weight:700; letter-spacing:normal; text-transform:none; color:#173b32; }


.phone-parking-heading > span, .phone-parking-free { font-size:.85rem; color:#6b7280; white-space:nowrap; }


.phone-assigned-parking { display:flex; flex-wrap:wrap; gap:8px; }


.phone-assigned-parking:empty { display:none; }


.phone-parking-chip { display:inline-flex; align-items:center; min-height:48px; padding-left:16px; padding-right:4px; border-radius:999px; background:#1b4d3e; color:#fffdf9; }


.phone-parking-chip strong { font-size:.9rem; font-weight:700; overflow-wrap:anywhere; }


.phone-parking-chip .phone-icon { position:relative; }


.phone-parking-chip .phone-icon:before { content:''; position:absolute; width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.18); }


.phone-parking-chip .mud-icon-root { position:relative; width:18px; height:18px; }


.phone-parking .phone-assign-spot { min-height:50px; border:1px solid rgba(23,59,50,.14); color:#173b32; font-size:.9rem; font-weight:700; }


.phone-parking .phone-assign-spot:disabled { color:#9ca3af; }


.phone-parking-picker .phone-surface-header { padding:0 20px 8px; gap:12px; }


.phone-parking-picker .phone-surface-title h2 { font-size:1.05rem; font-weight:800; }


.phone-parking-search { display:flex; align-items:center; gap:10px; min-height:56px; padding:0 16px; border:1px solid rgba(23,59,50,.14); border-radius:16px; background:#fffdf9; margin-bottom:20px; }


.phone-parking-search > .mud-icon-root { width:20px; height:20px; flex-shrink:0; color:#6b7280; }


.phone-parking-search input { min-width:0; width:100%; min-height:54px; border:0; outline:0; background:transparent; font:400 .95rem var(--phone-font); color:#1f2933; }


.phone-parking-search input::placeholder { color:#6b7280; opacity:1; }


.phone-parking-search:focus-within { outline:2px solid #305f72; outline-offset:2px; }


.phone-surface--sheet { transform:translateY(var(--phone-sheet-drag,0px)); transition:transform .18s ease-out; }


.phone-surface--sheet.phone-sheet-dragging { transition:none; user-select:none; }


@media (prefers-reduced-motion:reduce) { .phone-surface--sheet { transition:none; } }



/* Spendings phone workspace */
.phone-spendings { margin:0; padding:0 0 96px; color:#173b32; font-family:Roboto,'Helvetica Neue',Helvetica,Arial,sans-serif; }


.phone-spendings-unified-header { padding:10px 16px 12px; background:rgba(255,253,249,.94); }


.phone-spendings .phone-spendings-tabs { width:100%; margin:0; padding:4px; gap:4px; display:flex; overflow:visible; border:1px solid rgba(23,59,50,.10); background:rgba(23,59,50,.04); box-sizing:border-box; }


.phone-spendings .phone-spendings-tabs .urbanis-mobile-segment { flex:1 1 0; width:auto; min-width:0; min-height:44px; padding:7px 8px; font-size:.85rem; }


.phone-spendings-expenses { display:flex; flex-direction:column; gap:14px; padding-top:14px; }


.phone-spendings-filter { margin-top:10px; padding:0; background:transparent; }


.phone-spendings-month { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:8px; text-align:center; }


.phone-spendings-month > button:not(.phone-spendings-month__period) { width:44px; height:44px; margin:auto; display:grid; place-items:center; border:1px solid rgba(23,59,50,.10); border-radius:50%; background:#fffdf9; color:#1b4d3e; }


.phone-spendings-month button:disabled { opacity:.45; }


.phone-spendings-month button:focus-visible,.phone-spendings-fab:focus-visible,.phone-expense button:focus-visible { outline:2px solid #305f72; outline-offset:2px; }


.phone-spendings-month__period { width:100%; min-height:44px; padding:2px 14px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; border:0; background:transparent; color:inherit; touch-action:pan-y; }


.phone-spendings-month strong,.phone-spendings-month span { display:block; }


.phone-spendings-month strong { display:flex; align-items:center; justify-content:center; gap:2px; font-size:.95rem; font-weight:700; }


.phone-spendings-month strong .mud-icon-root { width:18px; height:18px; color:#1b4d3e; }


.phone-spendings-month span { margin-top:2px; color:#6b7280; font-size:.68rem; }


.phone-spendings-month-summary { margin:0 16px; padding:14px 16px; border:1px solid rgba(23,59,50,.08); border-radius:16px; background:rgba(27,77,62,.05); }


.phone-spendings-month-summary--loading,.phone-spendings-card-skeleton { min-height:112px; background:linear-gradient(90deg,#e8e5dc 20%,#f7f4ec 38%,#e8e5dc 56%); background-size:300% 100%; animation:phone-spendings-shimmer 1.35s infinite linear; }


@keyframes phone-spendings-shimmer { to { background-position:-100% 0; } }


.phone-spendings-month-summary__heading { display:flex; justify-content:space-between; gap:12px; align-items:center; }


.phone-spendings-month-summary__heading strong { font-size:.68rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }


.phone-spendings-month-summary__heading span { color:#6b7280; font-size:.7rem; }


.phone-spendings-month-summary__bar { display:flex; gap:2px; height:8px; margin:10px 0 12px; overflow:hidden; border-radius:999px; background:rgba(23,59,50,.08); }


.phone-spendings-month-summary__segment { min-width:2px; flex-basis:0; border-radius:999px; }


.phone-spendings-month-summary__segment--1,.phone-spendings-month-summary__dot--1 { background:#1b4d3e; }


.phone-spendings-month-summary__segment--2,.phone-spendings-month-summary__dot--2 { background:#d97a2b; }


.phone-spendings-month-summary__segment--3,.phone-spendings-month-summary__dot--3 { background:#305f72; }


.phone-spendings-month-summary__segment--4,.phone-spendings-month-summary__dot--4 { background:#89968f; }


.phone-spendings-month-summary__legend { display:flex; flex-direction:column; gap:8px; }


.phone-spendings-month-summary__legend > div { display:grid; grid-template-columns:8px minmax(0,1fr) auto 34px; align-items:center; gap:8px; font-size:.82rem; }


.phone-spendings-month-summary__legend strong { font-variant-numeric:tabular-nums; }


.phone-spendings-month-summary__legend small { color:#52606d; text-align:right; font-size:.76rem; font-weight:700; }


.phone-spendings-month-summary__dot { width:8px; height:8px; border-radius:50%; }


.phone-spendings .urbanis-mobile-card-list { gap:16px; padding:0 16px; }


.phone-spendings .spendings-mobile-expense-card { width:100%; padding:14px 16px; display:grid; grid-template-columns:minmax(0,1fr) 20px; align-items:center; gap:12px; border:1px solid rgba(23,59,50,.08); border-radius:16px; background:#fffdf9; box-shadow:0 3px 10px rgba(23,59,50,.04); font:inherit; text-align:left; cursor:pointer; }


.phone-spendings .spendings-mobile-expense-card__content { min-width:0; }


.phone-spendings .spendings-mobile-expense-card:hover { background:rgba(245,241,232,.5); }


.phone-spendings .spendings-mobile-expense-card:focus-visible { outline:2px solid #1b4d3e; outline-offset:2px; }


.phone-spendings .spendings-mobile-expense-card__title { display:block; color:#173b32; font-size:.92rem; }


.phone-spendings .spendings-mobile-expense-card__meta { display:block; margin-top:2px; color:#6b7280; font-size:.76rem; }


.phone-spendings .spendings-mobile-expense-card__amount { font-size:1rem; font-variant-numeric:tabular-nums; }


.phone-spendings .spendings-mobile-expense-card__header-actions { gap:12px; }


.phone-spendings .spendings-mobile-expense-card > .chevron { width:20px; height:20px; color:#9ca3af; font-size:20px; }


.phone-spendings .spendings-mobile-expense-card__scope { gap:6px; margin-top:8px; }


.phone-spendings .spendings-mobile-expense-card__scope span { padding:3px 10px; border:1px solid rgba(27,77,62,.35); border-radius:999px; color:#1b4d3e; font-size:.72rem; font-weight:600; }


.phone-spendings .spendings-mobile-expense-card__scope span.accent { border-color:rgba(217,122,43,.6); color:#c5681d; }


.phone-spendings .spendings-mobile-expense-card__notes { margin-top:10px; display:flex; flex-direction:column; gap:4px; color:#52606d; font-size:.82rem; line-height:1.45; overflow-wrap:anywhere; }


.phone-spendings-card-skeleton { min-height:92px; margin:0 16px; border-radius:16px; }


.phone-spendings-end-state { margin:2px 16px 0; min-height:128px; padding:22px 18px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; border:1px dashed rgba(23,59,50,.18); border-radius:20px; text-align:center; }


.phone-spendings-end-state > .mud-icon-root { color:#9ca3af; }


.phone-spendings-end-state strong { font-size:.88rem; }


.phone-spendings-end-state span { max-width:280px; color:#6b7280; font-size:.8rem; line-height:1.45; }


.phone-spendings-fab { right:18px; bottom:calc(88px + var(--urbanis-content-safe-bottom,env(safe-area-inset-bottom,0px))); }


.phone-spendings .collection-pager { margin-bottom:72px; scroll-margin-bottom:160px; }



.phone-campaigns { display:flex; flex-direction:column; gap:14px; padding:0 0 96px; }


.phone-campaigns-filter { min-height:64px; padding:10px 16px 12px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid rgba(23,59,50,.08); background:rgba(255,253,249,.94); }


.phone-campaigns-filter > div:first-child { display:flex; min-width:0; flex-direction:column; gap:1px; }


.phone-campaigns-filter strong { color:#173b32; font-size:.95rem; }


.phone-campaigns-filter span { color:#6b7280; font-size:.74rem; font-variant-numeric:tabular-nums; }


.phone-campaigns-filter__button { min-height:40px; padding:0 14px; display:flex; align-items:center; gap:6px; border:1px solid rgba(23,59,50,.10); border-radius:999px; background:#fffdf9; color:#52606d; font-size:.8rem; font-weight:700; }


.phone-campaigns-filter__button .mud-icon-root { width:17px; height:17px; font-size:17px; }


.phone-campaigns-count { margin:0 16px -6px; color:#52606d; font-size:.68rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }


.phone-campaigns-list { padding:0 16px; display:flex; flex-direction:column; gap:14px; }


.phone-campaign-card { overflow:hidden; border:1px solid rgba(23,59,50,.08); border-radius:18px; background:#fffdf9; box-shadow:0 3px 10px rgba(23,59,50,.04); }


.phone-campaign-card__content { padding:14px 16px 0; }


.phone-campaign-card__header { width:100%; padding:0; display:flex; align-items:center; justify-content:space-between; gap:12px; border:0; outline:0; background:transparent; font:inherit; text-align:left; cursor:pointer; }


.phone-campaign-card__header:hover { opacity:.86; }


.phone-campaign-card__header:focus-visible { outline:2px solid #1b4d3e; outline-offset:4px; border-radius:8px; }


.phone-campaign-card__header:disabled { cursor:default; opacity:.7; }


.phone-campaign-card__header > span:first-child { min-width:0; display:flex; flex-direction:column; gap:2px; }


.phone-campaign-card__header > span:first-child strong { color:#173b32; font-size:1rem; line-height:1.3; overflow-wrap:anywhere; }


.phone-campaign-card__header > span:first-child > span { color:#6b7280; font-size:.76rem; font-variant-numeric:tabular-nums; }


.phone-campaign-card__tools { display:flex; align-items:center; gap:8px; flex:0 0 auto; }


.phone-campaign-card__tools > .chevron { width:20px; height:20px; color:#9ca3af; font-size:20px; }


.phone-campaign-status { padding:3px 12px; border-radius:999px; background:rgba(107,114,128,.14); color:#52606d !important; font-size:.72rem !important; font-weight:700; }


.phone-campaign-card--active .phone-campaign-status { background:rgba(34,197,94,.12); color:#2f855a !important; }


.phone-campaign-card--completed .phone-campaign-status { background:rgba(43,108,176,.12); color:#2b6cb0 !important; }


.phone-campaign-card--closed .phone-campaign-status { background:rgba(23,59,50,.08); color:#6b7280 !important; }


.phone-campaign-card--archived .phone-campaign-status { background:rgba(194,120,3,.12); color:#9a6403 !important; }


.phone-campaign-card__amount { margin-top:14px; display:flex; align-items:baseline; gap:6px; font-variant-numeric:tabular-nums; }


.phone-campaign-card__amount strong { color:#173b32; font-size:1.5rem; line-height:1.15; letter-spacing:-.02em; }


.phone-campaign-card__amount span { color:#6b7280; font-size:.8rem; }


.phone-campaign-card__progress { margin-top:8px; display:flex; align-items:center; gap:9px; color:#6b7280; }


.phone-campaign-card__progress > div { flex:1; height:8px; overflow:hidden; border-radius:999px; background:rgba(23,59,50,.08); }


.phone-campaign-card__progress > div span { display:block; height:100%; border-radius:999px; background:rgba(23,59,50,.2); }


.phone-campaign-card--active .phone-campaign-card__progress > div span { background:#2f855a; }


.phone-campaign-card--completed .phone-campaign-card__progress > div span { background:#2b6cb0; }


.phone-campaign-card--closed .phone-campaign-card__progress > div span,.phone-campaign-card--archived .phone-campaign-card__progress > div span { background:#6b7280; }


.phone-campaign-card__progress > strong { min-width:32px; text-align:right; font-size:.76rem; font-variant-numeric:tabular-nums; }


.phone-campaign-card__stages { margin-top:14px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }


.phone-campaign-card__stages div { min-width:0; display:flex; flex-direction:column; gap:5px; }


.phone-campaign-card__stages i { height:4px; border-radius:999px; background:rgba(23,59,50,.14); }


.phone-campaign-card__stages .reached i { background:#1b4d3e; }


.phone-campaign-card__stages span { overflow:hidden; color:#9ca3af; font-size:.62rem; font-weight:700; letter-spacing:.02em; text-overflow:ellipsis; white-space:nowrap; }


.phone-campaign-card__stages .current span { color:#173b32; }


.phone-campaign-card__actions { margin-top:14px; padding:12px 16px; display:flex; gap:8px; border-top:1px solid rgba(23,59,50,.08); background:rgba(27,77,62,.03); }


.phone-campaign-card__actions .mud-button-root { flex:1; min-height:44px; border-radius:999px; text-transform:none; font-size:.82rem; font-weight:700; }


.phone-campaign-card__actions .mud-button-filled { background:#1b4d3e !important; color:#fff !important; }


.phone-campaign-card__actions .mud-icon-button { flex:0 0 44px; width:44px; height:44px; border:1px solid rgba(23,59,50,.14); background:#fffdf9; color:#1b4d3e !important; }


.phone-campaign-card__actions .mud-icon-button:disabled { color:#1b4d3e !important; opacity:1; }


.phone-campaign-card__actions .mud-icon-button .mud-icon-root { color:#1b4d3e !important; }


.phone-campaign-card-skeleton { min-height:228px; margin:0 16px; border-radius:18px; background:linear-gradient(90deg,#e8e5dc 20%,#f7f4ec 38%,#e8e5dc 56%); background-size:300% 100%; animation:phone-spendings-shimmer 1.35s infinite linear; }



.phone-campaign-editor .phone-surface-body { padding:16px 16px 20px; }


.phone-campaign-editor__form { display:flex; flex-direction:column; gap:14px; }


.phone-campaign-field { min-width:0; display:flex; flex-direction:column; gap:4px; }


.phone-campaign-field > span,.phone-campaign-types legend { color:#52606d; font-size:.72rem; }


.phone-campaign-field > input { width:100%; min-height:44px; padding:6px 0; border:0; border-bottom:1.5px solid rgba(23,59,50,.16); outline:0; background:transparent; color:#173b32; font:700 1rem/1.25 Roboto,'Helvetica Neue',Helvetica,Arial,sans-serif; }


.phone-campaign-field > input:focus { border-bottom-color:#1b4d3e; }


.phone-campaign-field > input[aria-invalid=true] { border-bottom-color:#c53030; }


.phone-campaign-editor__primary-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }


.phone-campaign-field .mud-input-control { margin:0; }


.phone-campaign-field .mud-input { min-height:44px; color:#173b32; font-weight:700; }


.phone-campaign-field .mud-input::before { border-bottom-color:rgba(23,59,50,.16) !important; }


.phone-campaign-allocation { padding:14px 16px; border:1px solid rgba(23,59,50,.08); border-radius:16px; background:rgba(27,77,62,.05); }


.phone-campaign-allocation > div:first-child { display:flex; justify-content:space-between; gap:10px; }


.phone-campaign-allocation > div:first-child strong { color:#52606d; font-size:.68rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }


.phone-campaign-allocation > div:first-child span { color:#6b7280; font-size:.76rem; font-variant-numeric:tabular-nums; }


.phone-campaign-allocation p { margin:7px 0 0; font-size:1.5rem; font-weight:700; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }


.phone-campaign-allocation p.remaining { color:#c27803; }


.phone-campaign-allocation p.over { color:#c53030; }


.phone-campaign-allocation p.settled { color:#2f855a; }


.phone-campaign-allocation small { color:#6b7280; font-size:.8rem; }


.phone-campaign-allocation__bar { height:8px; margin-top:10px; overflow:hidden; border-radius:999px; background:rgba(23,59,50,.08); }


.phone-campaign-allocation__bar span { display:block; height:100%; border-radius:inherit; background:#2f855a; }


.phone-campaign-section-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }


.phone-campaign-section-heading > strong { color:#52606d; font-size:.68rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }


.phone-campaign-section-heading > button { min-height:38px; padding:0 12px; display:flex; align-items:center; gap:5px; border:1px solid rgba(27,77,62,.28); border-radius:999px; background:rgba(27,77,62,.08); color:#0f342c; font-size:.76rem; font-weight:700; }


.phone-campaign-section-heading .mud-icon-root { width:16px; height:16px; font-size:16px; }


.phone-campaign-share-list { display:flex; flex-direction:column; gap:8px; }


.phone-campaign-share-row { min-height:66px; padding:10px 12px; display:flex; align-items:center; justify-content:space-between; gap:8px; border:1px solid rgba(23,59,50,.10); border-radius:14px; background:#fffdf9; }


.phone-campaign-share-row.invalid { border-color:rgba(197,48,48,.28); }


.phone-campaign-share-row > div:first-child { min-width:0; display:flex; flex-direction:column; gap:2px; }


.phone-campaign-share-row > div:first-child strong { color:#173b32; font-size:.9rem; }


.phone-campaign-share-row > div:first-child span { color:#6b7280; font-size:.72rem; font-variant-numeric:tabular-nums; }


.phone-campaign-stepper { flex:0 0 136px; display:grid; grid-template-columns:34px minmax(0,68px) 34px; align-items:center; gap:0; }


.phone-campaign-stepper > button { width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(23,59,50,.14); border-radius:50%; background:#fffdf9; color:#1b4d3e; }


.phone-campaign-stepper > button .mud-icon-root { width:17px; height:17px; font-size:17px; }


.phone-campaign-stepper .mud-input-control { min-width:0; margin:0; }


.phone-campaign-stepper .mud-input { padding:0 3px; text-align:center; font-size:.86rem; font-weight:700; font-variant-numeric:tabular-nums; }


.phone-campaign-stepper .mud-input-slot { text-align:center; }


.phone-campaign-types { min-width:0; margin:0; padding:0; border:0; }


.phone-campaign-types legend { margin-bottom:8px; }


.phone-campaign-types > div { display:flex; flex-wrap:wrap; gap:6px; }


.phone-campaign-types button { min-height:40px; padding:0 13px; display:flex; align-items:center; gap:4px; border:1px solid rgba(23,59,50,.12); border-radius:999px; background:#fffdf9; color:#52606d; font-size:.78rem; font-weight:700; }


.phone-campaign-types button.selected { border-color:rgba(27,77,62,.28); background:rgba(27,77,62,.10); color:#0f342c; }


.phone-campaign-types .mud-icon-root { width:15px; height:15px; font-size:15px; }


.phone-campaign-scope { padding:4px; display:flex; gap:4px; border:1px solid rgba(23,59,50,.10); border-radius:999px; background:rgba(23,59,50,.04); }


.phone-campaign-scope button { flex:1; min-height:42px; padding:0 8px; border:0; border-radius:999px; background:transparent; color:#374151; font-size:.78rem; font-weight:700; }


.phone-campaign-scope button.selected { background:#fffdf9; color:#1b4d3e; box-shadow:0 1px 4px rgba(23,59,50,.12); }


.phone-campaign-unit-picker-trigger { width:100%; min-height:64px; padding:10px 14px; display:grid; grid-template-columns:22px minmax(0,1fr) 20px; align-items:center; gap:10px; border:1px solid rgba(27,77,62,.28); border-radius:14px; background:rgba(27,77,62,.06); color:#1b4d3e; text-align:left; }


.phone-campaign-unit-picker-trigger > span { display:flex; min-width:0; flex-direction:column; }


.phone-campaign-unit-picker-trigger strong { color:#173b32; font-size:.86rem; }


.phone-campaign-unit-picker-trigger small { color:#52606d; font-size:.76rem; font-variant-numeric:tabular-nums; }


.phone-campaign-editor__actions { width:100%; display:flex; align-items:center; gap:10px; }


.phone-campaign-editor__actions .mud-button-root { min-height:50px; border-radius:14px; text-transform:none; font-size:.9rem; font-weight:700; }


.phone-campaign-editor__actions .mud-button-root:first-child { flex:2 1 0; }


.phone-campaign-editor__actions .mud-button-root:last-child { flex:1 1 0; }


.phone-campaign-editor__actions .mud-button-filled { background:#1b4d3e !important; color:#fff !important; }


.phone-campaign-unit-picker__count { color:rgba(245,241,232,.85); font-size:.8rem; font-variant-numeric:tabular-nums; white-space:nowrap; }


.phone-campaign-unit-picker .phone-surface-header { grid-template-columns:44px minmax(0,1fr) auto 44px; }


.phone-campaign-unit-picker .phone-surface-body { padding:0; }


.phone-campaign-unit-picker__filters { position:sticky; top:0; z-index:1; padding:10px 16px; display:flex; flex-direction:column; gap:8px; border-bottom:1px solid rgba(23,59,50,.08); background:rgba(255,253,249,.96); }


.phone-campaign-unit-picker__filters > label { min-height:44px; padding:0 12px; display:flex; align-items:center; gap:8px; border:1px solid rgba(23,59,50,.14); border-radius:14px; background:#fffdf9; }


.phone-campaign-unit-picker__filters > label .mud-icon-root { color:#6b7280; }


.phone-campaign-unit-picker__filters input { min-width:0; flex:1; border:0; outline:0; background:transparent; color:#1f2933; font-size:.88rem; }


.phone-campaign-unit-picker__filters > div { display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; }


.phone-campaign-unit-picker__filters > div::-webkit-scrollbar { display:none; }


.phone-campaign-unit-picker__filters button { min-height:38px; padding:0 13px; border:1px solid rgba(23,59,50,.12); border-radius:999px; background:#fffdf9; color:#52606d; font-size:.76rem; font-weight:700; white-space:nowrap; }


.phone-campaign-unit-picker__filters button.selected { border-color:rgba(27,77,62,.28); background:rgba(27,77,62,.10); color:#0f342c; }


.phone-campaign-unit-picker__list { padding:8px 16px 16px; display:flex; flex-direction:column; gap:10px; }


.phone-campaign-unit-picker__list section > header { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:10px; }


.phone-campaign-unit-picker__list section > header strong { color:#52606d; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }


.phone-campaign-unit-picker__list section > header button { min-height:34px; padding:0 10px; border:1px solid rgba(23,59,50,.12); border-radius:999px; background:#fffdf9; color:#1b4d3e; font-size:.72rem; font-weight:700; }


.phone-campaign-unit-picker__list section > button { width:100%; min-height:52px; margin-bottom:6px; padding:8px 14px; display:flex; align-items:center; gap:12px; border:1px solid rgba(23,59,50,.10); border-radius:14px; background:#fffdf9; text-align:left; }


.phone-campaign-unit-picker__list section > button.selected { border-color:rgba(27,77,62,.22); background:rgba(27,77,62,.05); }


.phone-campaign-unit-picker__list section > button > i { width:22px; height:22px; display:grid; place-items:center; border:2px solid rgba(23,59,50,.28); border-radius:6px; color:#fff; }


.phone-campaign-unit-picker__list section > button.selected > i { border-color:#1b4d3e; background:#1b4d3e; }


.phone-campaign-unit-picker__list section > button > i .mud-icon-root { width:15px; height:15px; font-size:15px; }


.phone-campaign-unit-picker__list section > button > span { min-width:0; flex:1; display:flex; align-items:flex-start; flex-direction:column; text-align:left; }


.phone-campaign-unit-picker__list section > button strong { color:#173b32; font-size:.88rem; }


.phone-campaign-unit-picker__list section > button small { color:#6b7280; font-size:.74rem; }



.phone-categories { display:flex; flex-direction:column; gap:14px; padding:0 0 96px; }


.phone-categories-filter { min-height:64px; padding:10px 16px 12px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-bottom:1px solid rgba(23,59,50,.08); background:rgba(255,253,249,.94); }


.phone-categories-filter > div:first-child { display:flex; min-width:0; flex-direction:column; gap:1px; }


.phone-categories-filter > div:first-child strong { color:#173b32; font-size:.95rem; }


.phone-categories-filter > div:first-child span { color:#6b7280; font-size:.74rem; font-variant-numeric:tabular-nums; }


.phone-categories-filter__segments { padding:3px; display:flex; border:1px solid rgba(23,59,50,.10); border-radius:999px; background:rgba(23,59,50,.04); }


.phone-categories-filter__segments button { min-height:38px; padding:0 14px; border:0; border-radius:999px; background:transparent; color:#374151; font-size:.78rem; font-weight:700; }


.phone-categories-filter__segments button.selected { background:#fffdf9; color:#1b4d3e; box-shadow:0 1px 4px rgba(23,59,50,.12); }


.phone-category-groups { padding:0 16px; display:flex; flex-direction:column; gap:14px; }


.phone-category-group { display:flex; flex-direction:column; gap:8px; }


.phone-category-group > header { padding:0 2px; display:flex; align-items:baseline; justify-content:space-between; gap:10px; }


.phone-category-group > header strong { color:#52606d; font-size:.68rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }


.phone-category-group > header span { color:#6b7280; font-size:.74rem; font-variant-numeric:tabular-nums; }


.phone-category-list { overflow:hidden; border:1px solid rgba(23,59,50,.08); border-radius:16px; background:#fffdf9; }


.phone-category-row { width:100%; min-height:60px; padding:10px 14px; display:grid; grid-template-columns:20px minmax(0,1fr) auto 20px; align-items:center; gap:12px; border:0; background:transparent; color:#1f2933; text-align:left; }


.phone-category-row + .phone-category-row { border-top:1px solid rgba(23,59,50,.08); }


.phone-category-row:hover { background:rgba(245,241,232,.5); }


.phone-category-row > .mud-icon-root { width:20px; height:20px; font-size:20px; }


.phone-category-row > .mud-icon-root.system { color:#9ca3af; }


.phone-category-row > .mud-icon-root.manual { color:#1b4d3e; }


.phone-category-row > span { min-width:0; display:flex; align-items:flex-start; flex-direction:column; text-align:left; }


.phone-category-row > span strong { max-width:100%; overflow:hidden; color:#173b32; font-size:.92rem; text-overflow:ellipsis; white-space:nowrap; }


.phone-category-row > span small { margin-top:2px; color:#6b7280; font-size:.76rem; font-style:normal; font-variant-numeric:tabular-nums; }


.phone-category-row > em { padding:3px 10px; border-radius:999px; font-size:.7rem; font-weight:700; font-style:normal; white-space:nowrap; }


.phone-category-row > em.system { border:1px solid rgba(48,95,114,.24); background:rgba(48,95,114,.10); color:#305f72; }


.phone-category-row > em.manual { border:1px solid rgba(217,122,43,.28); background:rgba(217,122,43,.12); color:#9a5416; }


.phone-category-row > .mud-icon-root.chevron { color:#9ca3af; }


.phone-category-empty { padding:16px; border:1px dashed rgba(23,59,50,.18); border-radius:16px; color:#6b7280; font-size:.82rem; line-height:1.45; }


.phone-category-explainer { padding:14px 16px; border:1px solid rgba(23,59,50,.08); border-radius:16px; background:rgba(27,77,62,.05); color:#52606d; font-size:.82rem; line-height:1.45; }


.phone-category-skeleton { min-height:240px; margin:0 16px; border-radius:16px; background:linear-gradient(90deg,#e8e5dc 20%,#f7f4ec 38%,#e8e5dc 56%); background-size:300% 100%; animation:phone-spendings-shimmer 1.35s infinite linear; }



.phone-category-actions .phone-surface-header { padding:0 6px 0 16px; }



.phone-category-actions .phone-surface-body { padding:4px 16px 18px; }


.phone-category-actions__list { display:flex; flex-direction:column; gap:8px; }


.phone-category-actions__list button { width:100%; min-height:52px; padding:0 14px; display:flex; align-items:center; gap:12px; border:1px solid rgba(23,59,50,.12); border-radius:14px; background:#fffdf9; color:#1f2933; font-size:.9rem; font-weight:700; text-align:left; }


.phone-category-actions__list button .mud-icon-root { width:20px; height:20px; color:#1b4d3e; font-size:20px; }


.phone-category-actions__list button span { flex:1; }


.phone-category-actions__list button:disabled { color:#9ca3af; cursor:default; opacity:.55; }


.phone-category-actions__list button:disabled .mud-icon-root { color:#9ca3af; }


.phone-category-actions__list button.category-lifecycle-actions__delete:not(:disabled),
.phone-category-actions__list button.category-lifecycle-actions__delete:not(:disabled) .mud-icon-root { color:var(--mud-palette-error); }


.phone-category-actions__list button.archive:not(:disabled),
.phone-category-actions__list button.archive:not(:disabled) .mud-icon-root { color:var(--mud-palette-warning); }


.phone-category-actions__note { margin:12px 0 0; color:#6b7280; font-size:.78rem; line-height:1.45; }


.phone-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }



.phone-spendings-period .phone-surface-header { padding:0 6px 0 16px; }


.phone-spendings-period .phone-surface-body { padding:8px 16px 16px; }


.phone-spendings-period__year { padding:6px; display:grid; grid-template-columns:44px 1fr 44px; align-items:center; border:1px solid rgba(23,59,50,.10); border-radius:999px; background:rgba(23,59,50,.04); text-align:center; }


.phone-spendings-period__year button { width:44px; height:44px; display:grid; place-items:center; border:0; border-radius:50%; background:#fffdf9; color:#1b4d3e; box-shadow:0 1px 2px rgba(23,59,50,.12); }


.phone-spendings-period__year button:disabled { color:#c7cdc9; }


.phone-spendings-period__year strong { color:#173b32; font-size:1.15rem; font-variant-numeric:tabular-nums; }


.phone-spendings-period__months { margin-top:14px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }


.phone-spendings-period__months button { min-height:52px; border:1px solid rgba(23,59,50,.10); border-radius:14px; background:#fffdf9; color:#1f2933; font-size:.92rem; font-weight:600; }


.phone-spendings-period__months button.selected { border-color:#1b4d3e; background:#1b4d3e; color:#f5f1e8; font-weight:700; }


.phone-spendings-period__months button:disabled { opacity:.35; }


.phone-spendings-period__actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; }


.phone-spendings-period__actions .mud-button-root { min-height:48px; border-radius:14px; text-transform:none; font-weight:700; }



/* New/edit expense phone surface */
.phone-expense { background:linear-gradient(180deg,#f5f1e8,#ece7dc); }


.phone-expense > .phone-surface-header { min-height:96px; }


.phone-expense > .phone-surface-body { padding:0; display:flex; flex-direction:column; overflow:hidden; }


.phone-expense-context { padding:10px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid rgba(23,59,50,.08); background:rgba(245,241,232,.7); font-size:.9rem; }


.phone-expense-context span,.phone-expense-context strong { font-weight:700; font-variant-numeric:tabular-nums; }


.phone-expense-form { min-height:0; display:flex; flex-direction:column; gap:16px; padding:16px; overflow:auto; }


.phone-expense-primary-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:end; }


.phone-expense-primary-fields > div > span,.phone-expense-section > legend { display:block; margin-bottom:6px; color:#52606d; font-size:.72rem; font-weight:700; }


.phone-expense-amount .mud-input { color:#1f2933; font-size:1rem; font-weight:700; font-variant-numeric:tabular-nums; }


.phone-expense-month .mud-input { font-size:1rem; font-weight:700; }


.phone-expense-info { border-radius:13px; font-size:.72rem; }


.phone-expense-section { min-width:0; margin:0; padding:0; border:0; }


.phone-expense-section > legend { width:100%; }


.phone-expense-section > legend > span { float:left; }


.phone-expense-section > legend > small { float:right; color:#6b7280; font-size:.63rem; font-weight:500; letter-spacing:0; text-transform:none; }


.phone-expense-category__trigger { width:100%; min-height:44px; padding:0 0 8px; display:grid; grid-template-columns:minmax(0,1fr) 22px; align-items:center; gap:8px; border:0; border-bottom:1px solid rgba(23,59,50,.14); border-radius:0; background:transparent; color:#1f2933; text-align:left; }


.phone-expense-category__trigger .mud-icon-root { width:18px; height:18px; }


.phone-expense-category__options { display:flex; flex-direction:column; gap:6px; padding-top:6px; }


.phone-expense-category__options > button { min-height:46px; padding:8px 14px; display:flex; align-items:center; gap:10px; border:1px solid rgba(23,59,50,.08); border-radius:12px; background:#fffdf9; color:#1f2933; text-align:left; }


.phone-expense-category__options > button > .mud-icon-root { width:18px; height:18px; color:#1b4d3e; }


.phone-expense-category__options > button > strong { flex:1; min-width:0; text-align:left; }


.phone-expense-category__options > button.selected { background:rgba(27,77,62,.07); border-color:rgba(27,77,62,.30); }


.phone-expense-category__options > .phone-expense-add-category { justify-content:center; margin-top:2px; border-style:dashed; color:#1b4d3e; }


.phone-expense-category__options > .phone-expense-add-category .mud-icon-root { width:16px; }


.phone-expense-error { color:#b91c1c; font-size:.72rem; }


.phone-expense-chips { display:flex; flex-wrap:wrap; gap:7px; }


.phone-expense-chips button { min-height:44px; padding:0 16px; border:1px solid rgba(23,59,50,.14); border-radius:999px; background:#fffdf9; color:#52606d; font-size:.84rem; font-weight:700; }


.phone-expense-chips button.selected { border-color:#1b4d3e; background:#1b4d3e; color:white; }


.phone-expense-notes { display:flex; flex-direction:column; gap:12px; }


.phone-expense-notes .mud-input-control { margin:0; }


.phone-expense-notes .mud-input-label { color:#52606d; font-size:.72rem; }


.phone-expense-notes .mud-input { font-size:.95rem; }


.phone-expense-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; }


.phone-expense-actions .mud-button-root { min-height:50px; border-radius:14px; font-size:.92rem; font-weight:700; text-transform:none; }


.phone-expense-actions .mud-button-filled { background:#1b4d3e; color:white; }


.phone-expense-actions .mud-icon-root { width:16px; height:16px; }


@media (max-width:359px) { .phone-expense-primary-fields { grid-template-columns:1fr; } .phone-spendings-month-summary__legend > div { grid-template-columns:8px minmax(0,1fr) auto; } .phone-spendings-month-summary__legend small { display:none; } }


@media (prefers-reduced-motion:reduce) { .phone-spendings-month-summary--loading,.phone-spendings-card-skeleton { animation:none; } }



/* Ledger merge (02-Units+Ledger-Merge) */
.phone-toggle-icon { background:rgba(245,241,232,.12); border-radius:999px; margin-left:6px; transition:background-color .15s ease, color .15s ease, box-shadow .15s ease; }


.phone-toggle-icon.selected { background:var(--phone-surface); color:var(--phone-primary); box-shadow:0 0 0 2px var(--phone-accent), 0 2px 6px rgba(0,0,0,.25); }


.phone-toggle-icon.selected .mud-icon-root { color:var(--phone-primary); }


.phone-toggle-icon.selected::after { content:''; position:absolute; width:5px; height:5px; border-radius:50%; background:var(--phone-accent); bottom:2px; left:50%; transform:translateX(-50%); }


.phone-toggle-icon { position:relative; }


body:has(.phone-landscape-shell) .urbanis-bottom-nav,
body:has(.phone-landscape-shell) .urbanis-appbar,
body:has(.phone-landscape-shell) .phone-fab { display:none !important; }


body:has(.phone-landscape-shell) .urbanis-main { padding-top:0 !important; }


.phone-ledger-kpi-row { flex-shrink:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:12px 16px 0; }


.phone-ledger-kpi { padding:11px 8px; border-radius:14px; background:rgba(255,255,255,.72); border:1px solid rgba(23,59,50,.08); text-align:center; }


.phone-ledger-kpi strong { display:block; font-size:1.05rem; font-weight:700; font-variant-numeric:tabular-nums; color:#173b32; }


.phone-ledger-kpi span { font-size:.64rem; color:#6b7280; }


.phone-ledger-kpi--due strong { color:#173b32; }


.phone-ledger-kpi--paid strong { color:#2f855a; }


.phone-ledger-kpi--outstanding strong { color:#c53030; }


.phone-ledger-card { border:1px solid rgba(23,59,50,.10); border-radius:16px; background:rgba(255,253,249,.94); margin-bottom:8px; overflow:hidden; }


.phone-ledger-card .phone-unit-row { border:0; border-radius:0; margin:0; }


.phone-ledger-card-header { padding-bottom:10px !important; }


.phone-ledger-month-initials { display:flex; margin-top:10px; padding:10px 14px 0; border-top:1px solid rgba(23,59,50,.08); }


.phone-ledger-month-initials span { flex:1; text-align:center; font-size:.56rem; font-weight:700; color:#9ca3af; }


.phone-ledger-month-segments { display:flex; gap:4px; margin:4px 14px 12px; touch-action:pan-y; }


.phone-ledger-segment { position:relative; flex:1; height:12px; border-radius:5px; cursor:pointer; background:rgba(107,114,128,.18); border:1.5px solid rgba(107,114,128,.28); transition:transform .12s ease-out, border-color .12s ease-out, box-shadow .12s ease-out; transform-origin:center; }


.phone-ledger-segment:hover { transform:scaleY(1.35); }


.phone-ledger-segment.urbanis-mobile-month-chip--paid { background:rgba(34,197,94,.10); border-color:rgba(47,133,90,.4); }


.phone-ledger-segment.urbanis-mobile-month-chip--partial { background:rgba(245,158,11,.12); border-color:rgba(194,120,3,.4); }


.phone-ledger-segment.urbanis-mobile-month-chip--unpaid { background:rgba(239,68,68,.09); border-color:rgba(197,48,48,.28); }


.phone-ledger-segment--selected { z-index:1; transform:scaleY(1.35); background:rgba(217,122,43,.45) !important; border-color:var(--phone-accent) !important; box-shadow:0 0 0 3px rgba(217,122,43,.24), 0 3px 8px rgba(23,59,50,.22); }


.phone-ledger-month-segments.phone-ledger-scrubbing { touch-action:none; }


.phone-ledger-segment--scrubbed { z-index:2; transform:scale(1.65); border-color:var(--phone-accent); box-shadow:0 4px 10px rgba(23,59,50,.28); }


.phone-ledger-scrub-tip { position:fixed; z-index:2000; padding:10px 14px 8px; border-radius:14px; background:#1b4d3e; color:#f5f1e8; white-space:nowrap; pointer-events:none; opacity:0; box-shadow:0 10px 28px rgba(0,0,0,.4), 0 2px 6px rgba(0,0,0,.28); border:1px solid rgba(245,241,232,.14); transform:translateY(4px) scale(.94); transition:opacity .12s ease-out, transform .12s ease-out; min-width:150px; }


.phone-ledger-scrub-tip.visible { opacity:1; transform:translateY(0) scale(1); }


.phone-ledger-scrub-tip::after { content:""; position:absolute; left:var(--arrow-left, 50%); bottom:-6px; width:12px; height:12px; margin-left:-6px; background:#1b4d3e; transform:rotate(45deg); border-radius:0 0 3px 0; }


.phone-ledger-scrub-tip-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:6px; padding-bottom:6px; border-bottom:1px solid rgba(245,241,232,.18); }


.phone-ledger-scrub-tip-month { font-size:.86rem; font-weight:800; letter-spacing:.01em; }


.phone-ledger-scrub-tip-status { font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; padding:2px 7px; border-radius:20px; }


.phone-ledger-scrub-tip-status--Paid { background:rgba(74,222,128,.22); color:#86efac; }


.phone-ledger-scrub-tip-status--Partial { background:rgba(251,191,36,.22); color:#fcd34d; }


.phone-ledger-scrub-tip-status--Unpaid { background:rgba(248,113,113,.22); color:#fca5a5; }


.phone-ledger-scrub-tip-row { display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:.72rem; line-height:1.5; }


.phone-ledger-scrub-tip-row span { color:rgba(245,241,232,.65); font-weight:600; }


.phone-ledger-scrub-tip-row strong { font-weight:800; }


.phone-ledger-scrub-tip-row--remaining strong { color:#fca5a5; }


.phone-ledger-grid { flex:1; min-height:0; overflow:hidden; padding:0; }


.phone-ledger-grid-scroll { width:100%; height:100%; overflow:auto; }


.phone-ledger-table { display:inline-flex; flex-direction:column; font-size:.82rem; min-width:100%; }


.phone-ledger-row { display:flex; }


.phone-ledger-row--head { position:sticky; top:0; z-index:2; background:#fffdf9; font-weight:700; }


.phone-ledger-cell { flex:0 0 96px; padding:8px 10px; text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; border-bottom:1px solid rgba(23,59,50,.06); cursor:pointer; display:flex; flex-direction:column; align-items:flex-end; justify-content:center; }


.phone-ledger-row--head .phone-ledger-cell { cursor:default; }


.phone-ledger-cell small { display:block; color:#6b7280; font-size:.68rem; }


.phone-ledger-sticky-col { position:sticky; left:0; z-index:1; background:#fffdf9; text-align:left !important; align-items:flex-start !important; flex:0 0 150px; }


.phone-ledger-sticky-col strong { display:block; font-size:.82rem; font-weight:700; color:#173b32; }


.phone-ledger-sticky-col span { display:block; font-size:.68rem; color:#6b7280; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:130px; }


.phone-ledger-balance-col { flex:0 0 112px; background:rgba(27,77,62,.04); font-weight:700; }


.phone-ledger-cell.urbanis-mobile-month-chip--paid { background:rgba(34,197,94,.10); }


.phone-ledger-cell.urbanis-mobile-month-chip--partial { background:rgba(245,158,11,.12); }


.phone-ledger-cell.urbanis-mobile-month-chip--unpaid { background:rgba(239,68,68,.09); }


.phone-ledger-cell--selected-month { position:relative; z-index:1; background:rgba(217,122,43,.28) !important; box-shadow:inset 0 0 0 2px var(--phone-accent); }


/* Landscape grid (03-Units-Ledger-Landscape) */
.phone-landscape-shell { position:fixed; inset:0; top:var(--phone-viewport-top,0px); height:var(--phone-viewport-height,100dvh); z-index:1200; display:flex; flex-direction:column; overflow:hidden; background:linear-gradient(180deg,#f5f1e8 0%,#ece7dc 100%); font-family:var(--phone-font); }


.phone-landscape-header { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 16px; padding-top:calc(6px + var(--urbanis-status-bar-top, env(safe-area-inset-top,0px))); color:#f5f1e8; background:var(--phone-header); }


.phone-landscape-header-left { display:flex; align-items:center; gap:10px; min-width:0; }


.phone-landscape-icon { flex-shrink:0; display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:0; border-radius:999px; background:transparent; color:#f5f1e8; cursor:pointer; }


.phone-landscape-icon .mud-icon-root { width:20px; height:20px; }


.phone-landscape-icon--active { background:rgba(245,241,232,.28); }


.phone-landscape-title { min-width:0; display:flex; flex-direction:column; }


.phone-landscape-title strong { font-size:.95rem; font-weight:700; letter-spacing:-.01em; color:#f5f1e8; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }


.phone-landscape-title span { font-size:.68rem; opacity:.75; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }


.phone-landscape-search { flex:1; max-width:280px; min-height:36px; padding:0 10px; border-radius:999px; border:1px solid rgba(245,241,232,.28); background:rgba(245,241,232,.12); display:flex; align-items:center; gap:6px; }


.phone-landscape-search .mud-icon-root { width:16px; height:16px; color:rgba(245,241,232,.7); flex-shrink:0; }


.phone-landscape-search input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:#f5f1e8; font:400 .8rem var(--phone-font); }


.phone-landscape-search input::placeholder { color:rgba(245,241,232,.6); }


.phone-landscape-search-clear { flex-shrink:0; display:flex; align-items:center; justify-content:center; width:20px; height:20px; border:0; border-radius:50%; background:rgba(245,241,232,.2); color:#f5f1e8; cursor:pointer; }


.phone-landscape-search-clear .mud-icon-root { width:13px; height:13px; }


.phone-landscape-right { flex-shrink:0; display:flex; align-items:center; gap:8px; }


.phone-landscape-filter-row { flex-shrink:0; display:flex; align-items:center; gap:14px; padding:7px 16px; background:rgba(255,253,249,.94); border-bottom:1px solid rgba(23,59,50,.08); font-size:.72rem; color:#52606d; overflow-x:auto; scrollbar-width:none; }


.phone-landscape-chip-menu { display:inline-flex; }


.phone-landscape-chip { display:inline-flex; align-items:center; gap:4px; min-height:30px; padding:0 12px; border-radius:999px; border:1px solid rgba(23,59,50,.14); background:#fffdf9; color:#374151; font-size:.76rem; font-weight:700; white-space:nowrap; cursor:pointer; }


.phone-landscape-chip .mud-icon-root { width:15px; height:15px; }


.phone-landscape-chip.selected { border-color:var(--phone-accent); background:var(--phone-accent-soft); color:var(--phone-heading); }


.phone-landscape-chip--year { border-color:rgba(27,77,62,.28); background:rgba(27,77,62,.10); color:#0f342c; }


.phone-landscape-legend { display:flex; align-items:center; margin-left:auto; flex-shrink:0; white-space:nowrap; }


.phone-landscape-hint { display:inline-flex; align-items:center; gap:5px; color:#6b7280; }


.phone-landscape-hint .mud-icon-root { width:15px; height:15px; }


.phone-landscape-body { flex:1; min-height:0; overflow:hidden; display:flex; flex-direction:column; }


.phone-landscape-shell .phone-ledger-grid-scroll { scroll-snap-type:x proximity; scroll-padding-left:150px; scrollbar-width:none; }


.phone-landscape-shell .phone-ledger-row--head .phone-ledger-cell { background:rgba(27,77,62,.06); border-right:1px solid rgba(23,59,50,.06); border-bottom:1px solid rgba(23,59,50,.14); }


.phone-landscape-shell .phone-ledger-cell { border-right:1px solid rgba(255,253,249,.7); }


.phone-landscape-shell .phone-ledger-sticky-col { z-index:3; }


.phone-landscape-shell .phone-ledger-row--head .phone-ledger-sticky-col { border-right:1px solid rgba(23,59,50,.14); }


.phone-landscape-shell .phone-ledger-cell:hover { filter:brightness(.94); }


.phone-landscape-shell .phone-ledger-row--head .phone-ledger-cell:hover { filter:none; }



/* Subscriptions uses the established administration phone workspace grammar. */
.phone-shell .subscriptions-tabs.page-card { padding:0; overflow:visible; border:0; background:transparent; box-shadow:none; }


.phone-shell .subscriptions-page .administration-retained-tab { padding-top:12px; }


.phone-subscriptions-identity { display:flex; flex:1; min-width:0; flex-direction:column; gap:3px; }


.phone-subscriptions-identity strong { color:#173b32; font-size:.95rem; font-weight:700; overflow-wrap:anywhere; }


.phone-subscriptions-identity small { color:#52606d; font-size:.78rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }


.phone-subscriptions-badges { display:flex; flex-shrink:0; flex-direction:column; align-items:flex-end; gap:4px; }


.phone-shell .phone-subscriptions-workspace .mud-chip { flex-shrink:0; border-radius:999px; font-size:.72rem; font-weight:700; }


.phone-shell .phone-subscriptions-workspace .subscriptions-pagination { justify-content:center; margin-top:0; }

/* Phone presentation variants. Loaded after legacy phone rules in both hosts.
   The real .phone-surface class replaces the removed isolation attribute's
   specificity; selectors stay bounded to this consumer. */
.report-export-sheet-host {
    display: contents;
}

.report-export-sheet-host .report-export-sheet.phone-surface.phone-surface--sheet {
    max-height: 82%;
    border-radius: var(--urbanis-sheet-radius) var(--urbanis-sheet-radius) 0 0;
    background: #fff;
    box-shadow: var(--urbanis-sheet-elevation);
}


.report-export-sheet-host .report-export-sheet.phone-surface.phone-surface--sheet > .phone-surface-header {
    padding-left: var(--urbanis-sheet-inline-space);
}

.report-export-sheet-host .report-export-sheet.phone-surface .phone-surface-body {
    padding: 10px var(--urbanis-sheet-inline-space) 22px;
    background: #fff;
}

.report-export-sheet-host .report-export-sheet.phone-surface .phone-surface-footer {
    padding: 12px var(--urbanis-sheet-inline-space) calc(16px + var(--urbanis-content-safe-bottom, env(safe-area-inset-bottom, 0px)));
    background: #fff;
}

.report-export-sheet-host .report-export-option-card { background: #fff; }
.report-export-sheet-host .report-export-period-fields { gap: 12px; }

.report-export-sheet-host .report-export-sheet.phone-surface .phone-surface-footer .mud-button-root {
    min-height: var(--urbanis-sheet-action-height);
    border-radius: var(--urbanis-sheet-action-radius);
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}

/* Share available height with the phone body even when context content is long. */
.phone-surface > .phone-surface-context {
    flex: 1 1 0;
}

/* Action order stays in the DOM; Inline preserves a side-by-side Back/Next pair. */
.phone-surface .urbanis-surface-actions:not(.urbanis-surface-actions--inline) {
    flex-direction: column;
    align-items: stretch;
}

.phone-surface .urbanis-surface-actions > .mud-button-root {
    min-height: var(--urbanis-surface-touch-min);
}

.phone-surface .urbanis-surface-actions--inline > .mud-button-root {
    flex: 1 1 0;
}

@media (max-width: 959.98px) {
    .urbanis-surface-actions:not(.urbanis-surface-actions--inline) {
        flex-direction: column;
        align-items: stretch;
    }

    .urbanis-surface-actions > .mud-button-root {
        min-height: var(--urbanis-surface-touch-min);
    }

    .urbanis-surface-actions--inline > .mud-button-root {
        flex: 1 1 0;
    }
}
.phone-category-editor .phone-surface-header { padding:0 6px 0 16px; }
.phone-category-editor .phone-surface-body { padding:4px 16px 18px; }
.phone-category-editor .urbanis-surface-actions { width:100%; }
.phone-category-actions .category-lifecycle-actions { flex-direction:column; gap:8px; }
.phone-category-actions .category-lifecycle-actions__delete:not(:disabled) .mud-icon-root { color:var(--mud-palette-error); }
/* Shared primary/cancel footer variant: preserve the category form's 2:1 layout. */
.urbanis-surface-actions.urbanis-surface-actions--primary-wide { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); width:100%; }
.urbanis-surface-actions--primary-wide.urbanis-surface-actions--primary-last { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
.urbanis-surface-actions--primary-wide:has(> :only-child) { grid-template-columns:minmax(0,1fr); }
.urbanis-surface-actions--primary-wide > .mud-button-root { width:100%; }

/* RF-02.3 Monthly Reports phone composition and period controls */
.phone-monthly-reports-page{display:flex;flex-direction:column;box-sizing:border-box;min-height:calc(100dvh - var(--phone-appbar-height));margin:-.75rem -.75rem calc(-5rem - var(--urbanis-content-safe-bottom,env(safe-area-inset-bottom,0px)));padding-bottom:calc(5rem + var(--urbanis-content-safe-bottom,env(safe-area-inset-bottom,0px)));overflow-x:clip;background:linear-gradient(180deg,#f5f1e8,#ece7dc);font-variant-numeric:tabular-nums}
.phone-monthly-report-header-actions{display:flex;align-items:center;gap:8px}
.phone-report-period-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;padding:10px 16px 12px;border-bottom:1px solid rgba(23,59,50,.08);background:rgba(255,253,249,.94)}
.phone-report-period-row>button:not(.phone-report-period-row__period):not(.phone-report-header-period){width:44px;height:44px;border:1px solid rgba(23,59,50,.1);border-radius:999px;background:#fffdf9;color:#1b4d3e}
.phone-report-period-row>button:disabled{color:#c9ced4}
.phone-report-period-row__period,.phone-report-header-period{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:2px 14px;border:0;border-radius:14px;background:transparent;color:#173b32}
.phone-report-period-row__period strong,.phone-report-header-period strong{display:flex;align-items:center;gap:2px;font-size:.95rem}.phone-report-period-row__period .mud-icon-root,.phone-report-header-period .mud-icon-root{flex:none;font-size:18px;color:#1b4d3e}.phone-report-period-row__period small,.phone-report-header-period small{color:#6b7280;font-size:.74rem}
.phone-report-period-row button:focus-visible,.phone-report-entrances button:focus-visible{outline:2px solid #1b4d3e;outline-offset:2px}
.phone-report-export-button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(245,241,232,.12);color:#f5f1e8}.phone-report-export-button .mud-icon-root{font-size:22px}.phone-report-export-button:focus-visible{outline:2px solid #f5f1e8;outline-offset:2px}.phone-report-export-button:disabled{opacity:.42}
.phone-report-period-picker.phone-surface--sheet{max-height:82%;border-radius:24px 24px 0 0}
.phone-report-period-picker .phone-surface-title h2{font-size:1.05rem}
.phone-report-period-picker .phone-surface-body{padding:4px 18px 22px}.phone-report-period-picker .phone-surface-footer .mud-button-root{min-height:48px;border-radius:14px;font-weight:800;letter-spacing:0;text-transform:none}
.phone-report-year-pager{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-top:8px;padding:6px;border:1px solid rgba(23,59,50,.1);border-radius:999px;background:rgba(23,59,50,.04);text-align:center}.phone-report-year-pager button{width:44px;height:44px;border:1px solid rgba(23,59,50,.1);border-radius:50%;background:#fffdf9;color:#1b4d3e}.phone-report-year-pager button:disabled{color:#c9ced4}.phone-report-year-pager strong{font-size:1.05rem;color:#173b32;font-variant-numeric:tabular-nums}
.phone-report-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.phone-report-month-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;border:1px solid rgba(23,59,50,.12);border-radius:14px;background:#fffdf9;color:#173b32;font-size:.88rem;font-weight:700}.phone-report-month-grid small{font-size:.66rem;color:#6b7280}.phone-report-month-grid button.selected{border-color:#1b4d3e;background:#1b4d3e;color:#f5f1e8}.phone-report-month-grid button.selected small{color:rgba(245,241,232,.8)}.phone-report-month-grid button:disabled{border-color:rgba(23,59,50,.06);background:rgba(23,59,50,.03);color:#c9ced4}
.phone-report-month-grid button[aria-current="date"]:not(.selected):not(:disabled){border-color:#2f855a;background:rgba(47,133,90,.08)}
.phone-monthly-report{display:flex;flex:1 0 auto;flex-direction:column;min-height:0;margin:0;background:transparent;color:#1f2933;font-variant-numeric:tabular-nums}
.phone-monthly-report__filters{min-width:0;padding:10px 16px;background:rgba(255,253,249,.94);border-bottom:1px solid rgba(23,59,50,.08)}
.phone-report-entrances{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.phone-report-entrances::-webkit-scrollbar{display:none}
.phone-report-entrances button{display:flex;flex:none;align-items:center;gap:7px;min-height:44px;padding:0 13px;border:1px solid rgba(23,59,50,.12);border-radius:999px;background:#fffdf9;color:#52606d;font-family:inherit;font-size:.84rem;font-weight:700;white-space:nowrap}.phone-report-entrances button.selected{border-color:rgba(27,77,62,.32);background:rgba(27,77,62,.1);color:#0f342c}.phone-report-entrances b{padding:1px 7px;border-radius:999px;background:rgba(23,59,50,.06);font-size:.7rem}.phone-report-entrances .selected b{background:rgba(27,77,62,.14);color:#1b4d3e}.phone-report-entrances button:disabled{opacity:.45}
.phone-monthly-report__body{display:flex;flex-direction:column;gap:12px;padding:14px 16px 24px}.phone-report-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.phone-report-kpi{padding:12px 14px;border:1px solid rgba(23,59,50,.08);border-radius:16px;background:#fffdf9}.phone-report-kpi>span{display:block;color:#52606d;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.phone-report-kpi strong{display:block;margin-top:4px;color:#173b32;font-size:1.15rem}.phone-report-kpi small{display:block;color:#6b7280;font-size:.7rem}.phone-report-kpi.paid{background:rgba(47,133,90,.07);border-color:rgba(47,133,90,.18)}.phone-report-kpi.paid strong{color:#2f855a}.phone-report-kpi.remaining{background:rgba(197,48,48,.06);border-color:rgba(197,48,48,.16)}.phone-report-kpi.remaining strong{color:#c53030}.phone-report-kpi.due{background:rgba(48,95,114,.07);border-color:rgba(48,95,114,.16)}
.phone-report-rollup{overflow:hidden;border:1px solid rgba(23,59,50,.08);border-radius:16px;background:#fffdf9}.phone-report-rollup button{width:100%;border:0;background:transparent;color:inherit;text-align:left}.phone-report-rollup__header{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:12px 16px}.phone-report-rollup__header span>*{display:block}.phone-report-rollup__header strong{font-size:.92rem;color:#173b32}.phone-report-rollup__header small{font-size:.74rem;color:#6b7280}.phone-report-rollup__row{display:block;padding:12px 16px;border-top:1px solid rgba(23,59,50,.06)!important;border-left:3px solid transparent!important}.phone-report-rollup__row.selected{border-left-color:#1b4d3e!important;background:rgba(27,77,62,.05)}.phone-report-rollup__name{display:flex;align-items:center;justify-content:space-between}.phone-report-rollup__name strong{font-size:.88rem;color:#173b32}.phone-report-rollup__name small{padding:2px 7px;border-radius:999px;background:rgba(23,59,50,.06);color:#52606d;font-size:.68rem;font-weight:800}.phone-report-rollup__figures{display:grid;grid-template-columns:repeat(3,1fr);margin-top:8px;color:#6b7280;font-size:.68rem}.phone-report-rollup__figures span:nth-child(2){text-align:center}.phone-report-rollup__figures span:last-child{text-align:right}.phone-report-rollup__figures b{display:block;color:#173b32;font-size:.82rem}.phone-report-rollup__figures span:nth-child(2) b{color:#2f855a}.phone-report-rollup__figures span:last-child b{color:#c53030}.phone-report-rollup__footer{display:flex;justify-content:space-between;padding:12px 16px;background:rgba(27,77,62,.04);color:#52606d;font-size:.8rem;font-weight:700}.phone-report-rollup__footer strong{color:#c53030;font-size:.88rem}
.phone-report-status-tabs{display:flex;gap:4px;padding:4px;border:1px solid rgba(23,59,50,.1);border-radius:999px;background:rgba(23,59,50,.04)}.phone-report-status-tabs button{flex:1;min-height:44px;border:0;border-radius:999px;background:transparent;color:#374151;font-size:.85rem;font-weight:700}.phone-report-status-tabs button.selected{background:#fffdf9;color:#1b4d3e;box-shadow:0 1px 4px rgba(23,59,50,.12)}.phone-report-status-tabs b{margin-left:4px;padding:2px 7px;border-radius:999px;background:rgba(23,59,50,.06);font-size:.72rem}.phone-report-status-tabs .selected b{background:rgba(197,48,48,.1);color:#c53030}
.phone-report-unit-list{display:flex;flex-direction:column;gap:8px}.phone-report-unit-row{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:10px;width:100%;min-height:64px;padding:11px 14px;border:1px solid rgba(23,59,50,.08);border-radius:16px;background:#fffdf9;color:inherit;text-align:left}.phone-report-unit-row__identity>span{display:flex;align-items:center;gap:7px}.phone-report-unit-row__identity strong{font-size:.95rem;color:#173b32}.phone-report-unit-row__identity small,.phone-report-unit-row__amount small{display:block;color:#6b7280;font-size:.72rem}.phone-report-unit-row__identity em{padding:2px 7px;border-radius:999px;font-size:.66rem;font-style:normal;font-weight:800;text-transform:uppercase}.phone-report-unit-row__identity em.unpaid{background:rgba(197,48,48,.1);color:#c53030}.phone-report-unit-row__identity em.partial{background:rgba(194,120,3,.12);color:#9c5f02}.phone-report-unit-row__identity em.paid{background:rgba(47,133,90,.1);color:#2f855a}.phone-report-unit-row__amount{text-align:right}.phone-report-unit-row__amount strong{display:block;color:#173b32;font-size:.95rem}.phone-report-unit-row>.mud-icon-root{color:#9ca3af;font-size:20px}.phone-report-note,.phone-report-empty{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1px dashed rgba(23,59,50,.18);border-radius:16px;color:#6b7280;font-size:.8rem;line-height:1.45}.phone-report-note .mud-icon-root,.phone-report-empty .mud-icon-root{flex:none;color:#9ca3af;font-size:22px}
@media (prefers-reduced-motion:reduce){.phone-monthly-report *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Buildings keeps unit context visible independently of its annual-history read. */
.phone-buildings .buildings-phone-content { height: 100%; min-height: 0; }
.phone-buildings .buildings-ledger-placeholder { flex: 1; height: 12px; border-radius: 5px; background: rgba(107,114,128,.18); border: 1.5px solid rgba(107,114,128,.28); }
.buildings-ledger-feedback { flex-shrink: 0; margin: 8px 16px; }

/* RF-03.4 payment forms, recorded rows, month sheet and confirmation */
.phone-payment { background:linear-gradient(180deg,#f5f1e8,#ece7dc); }
.phone-payment > .phone-surface-body { padding:0; }
.phone-payment-range { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:10px 16px; background:rgba(245,241,232,.7); border-bottom:1px solid rgba(23,59,50,.08); font-size:.9rem; }
.phone-payment-range button { border:0; background:none; min-height:44px; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#305f72; }
.phone-payment-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:14px 16px 6px; }
.phone-payment-stats > div { background:#fffdf9; border:1px solid rgba(23,59,50,.08); border-radius:14px; padding:11px 8px; text-align:center; }
.phone-payment-stats > div > span { display:block; font-size:.72rem; color:#6b7280; }
.phone-payment-stats strong { display:block; margin-top:5px; font-size:1.05rem; font-weight:700; color:#173b32; font-variant-numeric:tabular-nums; }
.phone-payment-form { display:flex; flex-direction:column; gap:14px; padding:16px; }
.phone-payment-field > label { display:block; color:#6b7280; font-size:.78rem; font-weight:400; }
.phone-payment-form .phone-payment-description .mud-input { font-size:.95rem; font-weight:400; }
.phone-payment-category { display:flex; flex-direction:column; font-size:.72rem; font-weight:700; color:#52606d; }
.phone-payment-category > span { position:relative; }
.phone-payment-category > span > .mud-icon-root { position:absolute; right:0; top:12px; width:20px; height:20px; color:#6b7280; pointer-events:none; }
.phone-payment-category select { appearance:none; padding-right:28px; width:100%; min-height:44px; border:0; border-bottom:1px solid rgba(23,59,50,.14); background:transparent; font:700 1rem var(--phone-font); color:#1f2933; }
.phone-payment-form .mud-input-control { margin:0; }
.phone-payment-form .mud-input { font-size:1.05rem; font-weight:700; font-variant-numeric:tabular-nums; }
.phone-payment-form .mud-input-label { color:#6b7280; font-size:.78rem; }
.phone-payment-form .mud-input-underline:before { border-color:rgba(23,59,50,.16); }
.phone-payment-form .mud-input-slot { min-height:44px; }
.phone-payment-month-amounts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; border:1px solid rgba(23,59,50,.12); border-radius:14px; padding:12px; background:#fffdf9; }
.phone-payment-month-amounts .mud-input { font-size:1rem; }
.phone-select-months { display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px; border:1px solid rgba(27,77,62,.3); border-radius:999px; background:rgba(27,77,62,.08); color:#0f342c; font-size:.85rem; font-weight:700; }
.phone-select-months .mud-icon-root { width:18px; height:18px; }
.phone-payment-selection { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:.78rem; color:#9ca3af; }
.phone-payment-selection button { min-height:44px; border:0; padding:0; background:none; color:#1b4d3e; font-size:.82rem; font-weight:700; }
.phone-payment-parkings p { font-size:.76rem; color:#9ca3af; margin:0; }
.phone-payment-parking { display:flex; align-items:center; gap:12px; border-bottom:1px solid rgba(23,59,50,.14); font-size:.95rem; }
.phone-payment-parking > span { flex:1; }
.phone-payment-parking .mud-input-control { width:110px; flex:0 0 110px; }
.phone-payment-parking input { text-align:right; font-size:.95rem; }
.phone-payment-parking .mud-input-underline:before { border:0; }
.phone-payment > .phone-surface-footer { padding:14px 16px calc(18px + var(--urbanis-content-safe-bottom, env(safe-area-inset-bottom,0px))); }
.phone-payment-actions { display:flex; gap:12px; }
.phone-payment-actions .mud-button-root { font-size:.85rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; min-height:50px; border-radius:14px; }
.phone-payment-actions .mud-button-filled { flex:1; background:#1b4d3e; color:white; }
.phone-payment-actions .mud-button-text, .phone-payment-confirmation .mud-dialog-actions .mud-button-text { color:#1f2933; }
.phone-payment-month-picker.phone-surface--sheet { max-height:80%; border-radius:22px 22px 0 0; box-shadow:0 -16px 40px rgba(15,23,42,.3); }
.phone-payment-month-picker .phone-sheet-handle { width:40px; height:4px; background:rgba(23,59,50,.16); margin-bottom:6px; }
.phone-payment-month-picker .phone-surface-header { padding:0 12px 0 18px; }
.phone-payment-month-picker .phone-surface-title h2 { font-size:1.05rem; font-weight:800; }
.phone-surface-layer:has(.phone-payment-month-picker) > .phone-surface-backdrop { background:rgba(15,23,42,.45); }
.phone-payment-month-picker .phone-surface-header .phone-icon, .phone-confirm-header .phone-icon { position:relative; }
.phone-payment-month-picker .phone-surface-header .phone-icon:before, .phone-confirm-header .phone-icon:before { content:''; position:absolute; width:32px; height:32px; border-radius:50%; background:rgba(23,59,50,.06); }
.phone-confirm-header .phone-icon:before { width:30px; height:30px; }
.phone-payment-month-picker .phone-surface-header .phone-icon .mud-icon-root, .phone-confirm-header .phone-icon .mud-icon-root { width:17px; height:17px; color:#52606d; position:relative; }
.phone-payment-month-picker .phone-surface-body { padding:0; }
.phone-payment-year { display:flex; align-items:center; justify-content:center; gap:24px; font-size:.95rem; }
.phone-payment-year .mud-icon-root { width:20px; height:20px; color:#9ca3af; }
.phone-payment-legend { display:flex; gap:14px; justify-content:center; color:#6b7280; font-size:.7rem; }
.phone-payment-legend span { display:flex; align-items:center; gap:5px; }
.phone-payment-legend span:before { content:''; width:8px; height:8px; border-radius:50%; background:#1b4d3e; }
.phone-payment-legend .paid:before { background:#2f855a; }
.phone-payment-legend .unpaid:before { background:#c53030; }
.phone-payment-month-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:14px 18px; }
.phone-payment-month-grid button { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-height:62px; padding:12px 10px; border:1.5px solid rgba(23,59,50,.14); border-radius:14px; background:#f5f1e8; color:#1f2933; }
.phone-payment-month-grid strong { font-size:.86rem; font-weight:800; }
.phone-payment-month-grid small { font-size:.7rem; color:#6b7280; font-variant-numeric:tabular-nums; }
.phone-payment-month-grid .mud-icon-root { position:absolute; top:12px; right:8px; width:15px; height:15px; color:#173b32; }
.phone-payment-month-grid .transaction-month-picker__month--paid { background:rgba(34,197,94,.10); border-color:rgba(34,197,94,.25); }
.phone-payment-month-grid .transaction-month-picker__month--unpaid { background:rgba(239,68,68,.08); border-color:rgba(239,68,68,.18); }
.phone-payment-month-grid .transaction-month-picker__month--partial { background:rgba(245,158,11,.12); border-color:rgba(245,158,11,.25); }
.phone-payment-month-grid .transaction-month-picker__month--selected { border-color:var(--phone-accent); box-shadow:none; }
.phone-payment-month-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.phone-payment-month-footer > div > span { display:block; font-size:.78rem; color:#6b7280; }
.phone-payment-month-footer strong { display:block; font-size:.95rem; font-weight:800; color:#173b32; font-variant-numeric:tabular-nums; }
.phone-payment-month-footer .mud-button-root { min-height:48px; padding:0 28px; border-radius:12px; background:#1b4d3e; color:#fff; }
.phone-payment-confirm-overlay { background:rgba(15,23,42,.5) !important; }
.phone-payment-confirmation.mud-dialog { width:calc(100% - 32px); max-height:82dvh; margin:16px; border-radius:22px; background:#fffdf9; box-shadow:0 24px 60px rgba(15,23,42,.35); color:#173b32; }
.phone-payment-confirmation .mud-dialog-content { display:flex; flex-direction:column; padding:0; min-height:0; overflow:hidden; }
.phone-confirm-header { display:flex; align-items:flex-start; gap:8px; padding:18px 12px 14px 18px; }
.phone-confirm-header > div { flex:1; }
.phone-confirm-header h2 { margin:0; font-size:1.2rem; font-weight:800; letter-spacing:-.01em; }
.phone-confirm-header p { margin:6px 0 0; font-size:.82rem; color:#6b7280; }
.phone-confirm-info { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); flex-shrink:0; margin:0 18px 12px; border:1px solid rgba(23,59,50,.08); border-radius:14px; background:#f5f1e8; }
.phone-confirm-info > div { padding:12px; }
.phone-confirm-info > div + div { border-left:1px solid rgba(23,59,50,.08); }
.phone-confirm-info span { display:block; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#6b7280; }
.phone-confirm-info strong { display:block; margin-top:5px; font-size:.88rem; font-weight:700; font-variant-numeric:tabular-nums; }
.phone-confirm-groups { overflow:auto; min-height:0; padding:0 18px; }
.phone-confirm-group { padding:14px 0; border-bottom:1px solid rgba(23,59,50,.08); }
.phone-confirm-month { display:flex; justify-content:space-between; gap:12px; font-size:.95rem; font-weight:800; font-variant-numeric:tabular-nums; }
.phone-confirm-group p { margin:4px 0 10px; font-size:.72rem; color:#9ca3af; }
.phone-confirm-line { display:flex; align-items:center; gap:8px; margin:8px 0; font-size:.85rem; color:#374151; font-variant-numeric:tabular-nums; }
.phone-confirm-line .mud-icon-root { width:16px; height:16px; color:#305f72; }
.phone-confirm-line > span:first-of-type { flex:1; }
.phone-confirm-total { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-shrink:0; padding:14px 18px; border-top:1px solid rgba(23,59,50,.08); background:#f5f1e8; }
.phone-confirm-total span { font-size:.78rem; color:#6b7280; }
.phone-confirm-total strong { font-size:1.15rem; font-weight:800; font-variant-numeric:tabular-nums; }
.phone-payment-confirmation .mud-dialog-actions { gap:20px; padding:14px 18px; }
.phone-payment-confirmation .mud-dialog-actions .mud-button-root { min-height:48px; font-size:.85rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; border-radius:12px; }
.phone-payment-confirmation .mud-dialog-actions .mud-button-filled { padding:0 22px; background:#1b4d3e; font-size:.82rem; }
.phone-recorded-payments { display:flex; flex-direction:column; gap:12px; padding-bottom:4px; border-bottom:1px solid rgba(23,59,50,.08); }
.phone-recorded-payments > h3 { margin:0; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#52606d; }
.phone-recorded-month-heading { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:6px; font-size:.85rem; }
.phone-recorded-month-heading strong { font-weight:800; color:#173b32; }
.phone-recorded-month-heading > span { font-weight:700; color:#52606d; font-variant-numeric:tabular-nums; }
.phone-recorded-rows { display:flex; flex-direction:column; gap:6px; }
.phone-recorded-row { display:flex; align-items:center; gap:10px; min-height:44px; padding:6px 10px; border-radius:12px; background:rgba(27,77,62,.1); border:1px solid rgba(27,77,62,.2); }
.phone-recorded-row--child { background:rgba(27,77,62,.06); }
.phone-recorded-row > .mud-icon-root { flex-shrink:0; width:17px; height:17px; color:#1b4d3e; }
.phone-recorded-label { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.84rem; font-weight:600; color:#173b32; }
.phone-recorded-amount { font-size:.84rem; font-weight:700; color:#1f2933; font-variant-numeric:tabular-nums; white-space:nowrap; }
.phone-recorded-icon { position:relative; flex:0 0 44px; width:44px; height:44px; display:flex; align-items:center; justify-content:center; border:0; background:none; cursor:pointer; margin-left:-6px; }
.phone-recorded-icon:before { content:''; position:absolute; width:26px; height:26px; border-radius:50%; background:rgba(23,59,50,.06); }
.phone-recorded-icon .mud-icon-root { position:relative; width:15px; height:15px; color:#52606d; }
.phone-recorded-icon.delete:before { background:rgba(239,68,68,.08); }
.phone-recorded-icon.delete .mud-icon-root { color:#c53030; }
.phone-recorded-icon.confirm:before { background:rgba(47,133,90,.12); }
.phone-recorded-icon.confirm .mud-icon-root { color:#2f855a; }
.phone-recorded-row .phone-recorded-amount-input { width:78px; flex:0 0 78px; }
.phone-recorded-row .phone-recorded-amount-input .mud-input { font-size:.84rem; font-weight:700; color:#1f2933; }
.phone-recorded-amount-input input { text-align:right; }
.phone-recorded-row .mud-input-underline:before { border-color:#1b4d3e; }
.phone-confirm-group .phone-confirm-correction { font-size:.85rem; color:#52606d; }
.phone-confirm-overlay { background:rgba(15,23,42,.5) !important; }
.phone-confirm-dialog.mud-dialog { width:calc(100% - 48px); max-width:320px; overflow:hidden; border-top:4px solid #1b4d3e; border-radius:18px; background:#fffdf9; padding:0; box-shadow:0 24px 60px rgba(15,23,42,.35); font-family:var(--phone-font); }
.phone-confirm-dialog--error.mud-dialog { border-top-color:#c53030; }
.phone-confirm-dialog--warning.mud-dialog { border-top-color:#c27803; }
.phone-confirm-dialog--success.mud-dialog { border-top-color:#2f855a; }
.phone-confirm-dialog--info.mud-dialog { border-top-color:#2b6cb0; }
.phone-confirm-dialog .mud-dialog-title { padding:16px 20px 10px; }
.phone-confirm-dialog .mud-dialog-title .mud-typography { font-size:1rem; font-weight:800; line-height:1.3; color:#173b32; }
.phone-confirm-dialog .mud-dialog-content { padding:0 20px 20px; }
.phone-confirm-dialog .mud-dialog-content .mud-typography { font-size:.85rem; font-weight:400; line-height:1.4; color:#52606d; }
.phone-confirm-dialog .mud-dialog-actions { display:flex; gap:10px; padding:0 20px 20px; }
.phone-confirm-dialog .mud-dialog-actions .mud-button-root { flex:1; min-width:0; min-height:44px; border-radius:12px; font-size:.85rem; font-weight:800; text-transform:none; letter-spacing:normal; }

/* RF-06.1: AnnualReports.razor.css */
.phone-annual-report-header-actions{display:flex;align-items:center;gap:8px}
.phone-annual-reports-page{display:flex;flex-direction:column;box-sizing:border-box;min-height:calc(100dvh - var(--phone-appbar-height));margin:-.75rem -.75rem calc(-5rem - var(--urbanis-content-safe-bottom,env(safe-area-inset-bottom,0px)));padding-bottom:calc(5rem + var(--urbanis-content-safe-bottom,env(safe-area-inset-bottom,0px)));overflow-x:clip;background:linear-gradient(180deg,#f5f1e8 0%,#ece7dc 100%);font-variant-numeric:tabular-nums}
.phone-annual-rotate,.phone-annual-export{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:999px;background:rgba(245,241,232,.12);color:#f5f1e8}.phone-annual-rotate:disabled,.phone-annual-export:disabled{opacity:.45}.phone-annual-rotate .mud-icon-root,.phone-annual-export .mud-icon-root{font-size:22px}


/* RF-06.1: MyStatements.razor.css */
.phone-my-statements-page{display:flex;flex-direction:column;box-sizing:border-box;min-height:calc(100dvh - var(--phone-appbar-height));margin:-.75rem -.75rem calc(-5rem - var(--urbanis-content-safe-bottom,env(safe-area-inset-bottom,0px)));padding-bottom:calc(5rem + var(--urbanis-content-safe-bottom,env(safe-area-inset-bottom,0px)));overflow-x:clip;background:linear-gradient(180deg,#f5f1e8,#ece7dc);font-family:Roboto,'Helvetica Neue',Helvetica,Arial,sans-serif;font-variant-numeric:tabular-nums}.phone-statements-share{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#f5f1e8}.phone-statements-share:disabled{opacity:.45}.phone-statements-share .mud-icon-root{font-size:22px}
.phone-statements-filters{padding:10px 0 8px;border-bottom:1px solid rgba(23,59,50,.08);background:rgba(255,253,249,.94)}.phone-statements-unit{display:grid;grid-template-columns:34px minmax(0,1fr) auto 20px;align-items:center;gap:10px;width:100%;min-height:44px;padding:2px 16px;border:0;background:transparent;color:#173b32;text-align:left}.phone-statements-unit__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(27,77,62,.1);color:#1b4d3e}.phone-statements-unit__icon .mud-icon-root{font-size:19px}.phone-statements-unit__identity{min-width:0}.phone-statements-unit__identity>*{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-statements-unit__identity strong{font-size:.92rem}.phone-statements-unit__identity small{color:#6b7280;font-size:.74rem}.phone-statements-unit__count{padding:2px 8px;border-radius:999px;background:rgba(23,59,50,.06);color:#52606d;font-size:.68rem;font-weight:800}.phone-statements-unit>.mud-icon-root{font-size:20px;color:#1b4d3e}.phone-statements-month{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;padding:8px 16px 2px}.phone-statements-month>button:not(.phone-statements-month__current){width:44px;height:44px;border:1px solid rgba(23,59,50,.1);border-radius:50%;background:#fffdf9;color:#1b4d3e}.phone-statements-month>button:disabled{color:#c7cdd2}.phone-statements-month__current{display:flex;min-height:44px;flex-direction:column;align-items:center;justify-content:center;border:0;background:transparent;color:#173b32}.phone-statements-month__current strong{display:flex;align-items:center;gap:6px;font-size:.95rem}.phone-statements-month__current strong>.mud-icon-root{font-size:18px;color:#1b4d3e}.phone-statements-month__current i{width:7px;height:7px;border-radius:50%;background:#c9ced4}.phone-statements-month__current i.paid{background:#2f855a}.phone-statements-month__current i.partial{background:#c27803}.phone-statements-month__current i.unpaid{background:#c53030}.phone-statements-month__current small{color:#6b7280;font-size:.74rem}.phone-statements-body{display:flex;flex:1;flex-direction:column;gap:12px;padding:14px 16px 24px}
.phone-statements-unit-picker.phone-surface--sheet,.phone-statements-month-picker.phone-surface--sheet{max-height:92%;border-radius:24px 24px 0 0;background:#fffdf9;box-shadow:0 -12px 40px rgba(15,23,42,.25)}
.phone-statements-unit-picker .phone-surface-title h2,.phone-statements-month-picker .phone-surface-title h2{font-size:1.05rem}
.phone-statements-unit-picker .phone-surface-body,.phone-statements-month-picker .phone-surface-body{padding:4px 18px 22px}
.phone-statements-unit-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.phone-statements-unit-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:60px;padding:10px 14px;border:1px solid rgba(23,59,50,.1);border-radius:16px;background:#fffdf9;color:#173b32;text-align:left}.phone-statements-unit-list>button.selected{border-color:rgba(27,77,62,.32);background:rgba(27,77,62,.1)}.phone-statements-unit-list>button>span>*{display:block}.phone-statements-unit-list>button>span>strong{font-size:.92rem}.phone-statements-unit-list>button>span>small{color:#6b7280;font-size:.74rem}.phone-statements-unit-list>button>.mud-icon-root{font-size:20px;color:#9ca3af}.phone-statements-unit-list__amount{text-align:right}.phone-statements-unit-list__amount strong{font-size:.9rem}.phone-statements-unit-list__amount strong.paid{color:#2f855a}.phone-statements-unit-list__amount strong.partial{color:#c27803}.phone-statements-unit-list__amount strong.unpaid{color:#c53030}.phone-statements-unit-list__amount small{font-size:.68rem!important}
.phone-statements-year-pager{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-top:8px;text-align:center}.phone-statements-year-pager button{width:44px;height:44px;border:1px solid rgba(23,59,50,.1);border-radius:50%;background:#fffdf9;color:#1b4d3e}.phone-statements-year-pager button:disabled{color:#c7cdd2}.phone-statements-year-pager strong{font-size:1.05rem;color:#173b32}.phone-statements-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.phone-statements-month-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;border:1px solid rgba(23,59,50,.12);border-radius:14px;background:#fffdf9;color:#173b32}.phone-statements-month-grid button>span{font-size:.88rem;font-weight:700}.phone-statements-month-grid button>small{font-size:.66rem;font-weight:700;color:#6b7280}.phone-statements-month-grid button>small.paid{color:#2f855a}.phone-statements-month-grid button>small.partial{color:#c27803}.phone-statements-month-grid button>small.unpaid{color:#c53030}.phone-statements-month-grid button.selected{border-color:#1b4d3e;background:#1b4d3e;color:#f5f1e8}.phone-statements-month-grid button.selected>small{color:rgba(245,241,232,.8)}.phone-statements-month-grid button:disabled{border-color:rgba(23,59,50,.06);background:rgba(23,59,50,.03);color:#c9ced4}.phone-statements-current-month{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:16px;border:0;border-radius:14px;background:#1b4d3e;color:#f5f1e8;font-size:.9rem;font-weight:700}.phone-statements-current-month .mud-icon-root{font-size:19px}


/* RF-06.1: UnitMonthlyStatementDrawer.razor.css */
.phone-report-statement.phone-surface--sheet{max-height:92%;background:#f5f1e8}
.phone-report-statement .phone-surface-body{padding:14px 16px 24px}
.phone-report-statement-body{display:flex;flex-direction:column;gap:12px;font-variant-numeric:tabular-nums}.phone-report-statement-identity,.phone-report-statement-card{overflow:hidden;border:1px solid rgba(23,59,50,.08);border-radius:16px;background:#fffdf9}.phone-report-statement-identity{padding:14px 16px}.phone-report-statement-identity__top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#52606d;font-size:.78rem}.phone-report-statement-identity__top>span{min-width:0}.phone-report-statement-identity__top strong{flex:none;padding:4px 10px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.phone-report-statement-identity__top strong.unpaid{background:rgba(197,48,48,.1);color:#c53030}.phone-report-statement-identity__top strong.partial{background:rgba(194,120,3,.12);color:#9c5f02}.phone-report-statement-identity__top strong.paid{background:rgba(47,133,90,.1);color:#2f855a}.phone-report-statement-person{display:flex;align-items:center;gap:8px;margin-top:12px}.phone-report-statement-person>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(27,77,62,.1);color:#1b4d3e}.phone-report-statement-person .mud-icon-root{font-size:17px}.phone-report-statement-person strong{font-size:.85rem;color:#1f2933}.phone-report-statement-person small{font-size:.72rem;color:#6b7280}
.phone-report-statement-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.phone-report-statement-kpis>div{padding:12px;border:1px solid rgba(23,59,50,.08);border-radius:16px;background:#fffdf9}.phone-report-statement-kpis span{display:block;color:#52606d;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.phone-report-statement-kpis strong{display:block;margin-top:4px;color:#173b32;font-size:1rem}.phone-report-statement-kpis .paid{border-color:rgba(47,133,90,.18);background:rgba(47,133,90,.07)}.phone-report-statement-kpis .paid strong{color:#2f855a}.phone-report-statement-kpis .remaining{border-color:rgba(197,48,48,.16);background:rgba(197,48,48,.06)}.phone-report-statement-kpis .remaining strong{color:#c53030}
.phone-report-statement-card h3{margin:0;padding:12px 16px;border-bottom:1px solid rgba(23,59,50,.08);color:#52606d;font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.phone-report-obligation{padding:14px 16px;border-bottom:1px solid rgba(23,59,50,.06)}.phone-report-obligation>strong{color:#173b32;font-size:.9rem}.phone-report-obligation>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.phone-report-obligation span{color:#6b7280;font-size:.68rem}.phone-report-obligation span:nth-child(2){text-align:center}.phone-report-obligation span:last-child{text-align:right}.phone-report-obligation b{display:block;margin-top:3px;color:#173b32;font-size:.85rem}.phone-report-obligation span:nth-child(2) b{color:#2f855a}.phone-report-obligation span:last-child b{color:#c53030}.phone-report-statement-total{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(27,77,62,.04);color:#52606d;font-size:.8rem;font-weight:700}.phone-report-statement-total strong{color:#c53030;font-size:.9rem}.phone-report-statement-empty{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;color:#52606d;font-size:.8rem;line-height:1.45}.phone-report-statement-empty .mud-icon-root{flex:none;color:#2b6cb0;font-size:20px}.phone-report-payment{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(23,59,50,.06)}.phone-report-payment:last-child{border-bottom:0}.phone-report-payment span>*{display:block}.phone-report-payment span strong{color:#173b32;font-size:.85rem}.phone-report-payment span small{color:#6b7280;font-size:.74rem}.phone-report-payment>b{color:#2f855a;font-size:.9rem}


/* RF-06.1: MonthlyStatementView.razor.css */
.phone-my-statement{display:flex;flex-direction:column;gap:12px;color:#1f2933;font-family:Roboto,'Helvetica Neue',Helvetica,Arial,sans-serif;font-variant-numeric:tabular-nums}
.phone-my-statement-hero{padding:16px;border:1px solid transparent;border-radius:20px}
.phone-my-statement.paid .phone-my-statement-hero{border-color:rgba(47,133,90,.2);background:rgba(47,133,90,.07);color:#2f855a}
.phone-my-statement.partial .phone-my-statement-hero{border-color:rgba(194,120,3,.22);background:rgba(194,120,3,.08);color:#c27803}
.phone-my-statement.unpaid .phone-my-statement-hero{border-color:rgba(197,48,48,.18);background:rgba(197,48,48,.06);color:#c53030}
.phone-my-statement-hero__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.phone-my-statement-hero__top span>*{display:block}
.phone-my-statement-hero__top small,.phone-my-statement-hero__figures small{color:#52606d;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.phone-my-statement-hero__top span>strong{margin-top:3px;font-size:1.9rem;font-weight:700;letter-spacing:-.02em}
.phone-my-statement-hero__top>b{padding:4px 10px;border-radius:999px;background:rgba(47,133,90,.12);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.phone-my-statement.partial .phone-my-statement-hero__top>b{background:rgba(194,120,3,.14)}
.phone-my-statement.unpaid .phone-my-statement-hero__top>b{background:rgba(197,48,48,.1)}
.phone-my-statement-progress{height:8px;margin-top:14px;overflow:hidden;border-radius:999px;background:rgba(23,59,50,.08)}
.phone-my-statement-progress i{display:block;height:100%;border-radius:inherit;background:currentColor}
.phone-my-statement-hero__figures{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:18px;margin-top:10px}
.phone-my-statement-hero__figures span>*{display:block}
.phone-my-statement-hero__figures strong{margin-top:2px;color:#173b32;font-size:.95rem;font-weight:700}
.phone-my-statement-hero__figures span:nth-child(2)>strong{color:#2f855a}
.phone-my-statement-hero__figures .resident{text-align:right}
.phone-my-statement-hero__figures .resident strong{overflow:hidden;color:#1f2933;font-size:.85rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.phone-my-statement-card{overflow:hidden;border:1px solid rgba(23,59,50,.08);border-radius:16px;background:#fffdf9}
.phone-my-statement-card h3{margin:0;padding:12px 16px;border-bottom:1px solid rgba(23,59,50,.08);color:#52606d;font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.phone-my-statement-obligation{padding:12px 16px 12px 13px;border-bottom:1px solid rgba(23,59,50,.06);border-left:3px solid #1b4d3e}
.phone-my-statement-obligation.campaign{border-left-color:#7c3aed}
.phone-my-statement-obligation>strong{display:block;color:#173b32;font-size:.9rem;text-wrap:pretty}
.phone-my-statement-obligation>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}
.phone-my-statement-obligation span>*{display:block}
.phone-my-statement-obligation span:nth-child(2){text-align:center}
.phone-my-statement-obligation span:last-child{text-align:right}
.phone-my-statement-obligation small{color:#6b7280;font-size:.7rem}
.phone-my-statement-obligation b{margin-top:2px;color:#173b32;font-size:.85rem}
.phone-my-statement-obligation span:nth-child(2) b{color:#2f855a}
.phone-my-statement.paid .phone-my-statement-obligation span:last-child b{color:#2f855a}
.phone-my-statement.partial .phone-my-statement-obligation span:last-child b{color:#c27803}
.phone-my-statement.unpaid .phone-my-statement-obligation span:last-child b{color:#c53030}
.phone-my-statement-card footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(27,77,62,.04);color:#52606d;font-size:.82rem;font-weight:700}
.phone-my-statement-card footer strong{font-size:.9rem}
.phone-my-statement.paid .phone-my-statement-card footer strong{color:#2f855a}
.phone-my-statement.partial .phone-my-statement-card footer strong{color:#c27803}
.phone-my-statement.unpaid .phone-my-statement-card footer strong{color:#c53030}
.phone-my-statement-empty{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;color:#52606d;font-size:.82rem;line-height:1.45}
.phone-my-statement-empty .mud-icon-root{flex:none;color:#2b6cb0;font-size:20px}
.phone-my-statement-payment{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(23,59,50,.06)}
.phone-my-statement-payment:last-child{border-bottom:0}
.phone-my-statement-payment span>*{display:block}
.phone-my-statement-payment span>strong{color:#173b32;font-size:.85rem}
.phone-my-statement-payment span>small{color:#6b7280;font-size:.74rem}
.phone-my-statement-payment>b{color:#2f855a;font-size:.9rem}
.phone-my-statement-download{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;border:1px solid rgba(27,77,62,.32);border-radius:14px;background:rgba(27,77,62,.08);color:#0f342c;font-size:.88rem;font-weight:700}
.phone-my-statement-download .mud-icon-root{font-size:20px}
.phone-my-statement-note{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1px dashed rgba(23,59,50,.18);border-radius:16px;color:#6b7280;font-size:.8rem;line-height:1.45}
.phone-my-statement-note .mud-icon-root{flex:none;color:#9ca3af;font-size:22px}
.phone-my-statement button:focus-visible{outline:2px solid #d97a2b;outline-offset:2px}
@media(max-width:359px){.phone-my-statement-hero__figures{gap:10px}.phone-my-statement-hero__figures .resident{grid-column:1/-1;text-align:left}}


/* RF-06.1: PhoneAnnualReportsView.razor.css */
.phone-annual-report{display:flex;flex:1;flex-direction:column;min-height:0;font-family:Roboto,'Helvetica Neue',Helvetica,Arial,sans-serif;color:#1f2933}
.phone-annual-report__body{display:flex;flex-direction:column;gap:12px;padding:14px 16px 24px}.phone-annual-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.phone-annual-kpi{min-width:0;padding:12px 14px;border:1px solid rgba(23,59,50,.08);border-radius:16px;background:#fffdf9}.phone-annual-kpi>span{display:block;color:#52606d;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.phone-annual-kpi>strong{display:block;margin-top:4px;color:#173b32;font-size:1.15rem;font-weight:700;overflow-wrap:anywhere}.phone-annual-kpi>small{display:block;color:#6b7280;font-size:.7rem}.phone-annual-kpi.collections{border-color:rgba(47,133,90,.18);background:rgba(47,133,90,.07)}.phone-annual-kpi.collections>strong{color:#2f855a}.phone-annual-kpi.expenses{border-color:rgba(197,48,48,.16);background:rgba(197,48,48,.06)}.phone-annual-kpi.expenses>strong{color:#c53030}.phone-annual-kpi.net{border-color:rgba(48,95,114,.16);background:rgba(48,95,114,.07)}
.phone-annual-chart-card{padding:14px 14px 10px;border:1px solid rgba(23,59,50,.08);border-radius:20px;background:#fffdf9;box-shadow:0 8px 22px rgba(23,59,50,.05)}.phone-annual-chart-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.phone-annual-chart-card header>strong{color:#52606d;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.phone-annual-chart-card header>span{display:flex;align-items:center;gap:5px;color:#6b7280;font-size:.66rem}.phone-annual-chart-card header i{width:8px;height:8px;border-radius:2px}.phone-annual-chart-card header i.in{background:rgba(47,133,90,.42)}.phone-annual-chart-card header i.out{margin-left:4px;background:rgba(197,48,48,.32)}.phone-annual-chart{display:flex;gap:2px;margin-top:10px}.phone-annual-chart button{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;padding:4px 0 3px;border:0;border-radius:10px;background:transparent;color:#6b7280}.phone-annual-chart button.selected{background:rgba(27,77,62,.07);color:#0f342c}.phone-annual-chart button:disabled{color:#c9ced4}.phone-annual-chart__up,.phone-annual-chart__down{display:flex;width:100%;height:28px;justify-content:center}.phone-annual-chart__up{align-items:flex-end}.phone-annual-chart__down{align-items:flex-start}.phone-annual-chart__up i,.phone-annual-chart__down i{width:10px}.phone-annual-chart__up i{border-radius:3px 3px 0 0;background:rgba(47,133,90,.42)}.phone-annual-chart__down i{border-radius:0 0 3px 3px;background:rgba(197,48,48,.32)}.phone-annual-chart button.selected .phone-annual-chart__up i{background:#2f855a}.phone-annual-chart button.selected .phone-annual-chart__down i{background:#c53030}.phone-annual-chart__axis{width:14px;height:1px;background:rgba(23,59,50,.16)}.phone-annual-chart small{margin-top:3px;font-size:.6rem;font-weight:600}.phone-annual-chart button.selected small{font-weight:800}
.phone-annual-group{overflow:hidden;border:1px solid rgba(23,59,50,.08);border-radius:20px;background:#fffdf9;box-shadow:0 8px 22px rgba(23,59,50,.05)}.phone-annual-group__header{display:grid;grid-template-columns:40px minmax(0,1fr) 32px;align-items:center;gap:12px;width:100%;min-height:64px;padding:14px 16px;border:0;color:inherit;text-align:left}.phone-annual-group.collections .phone-annual-group__header{background:rgba(47,133,90,.05)}.phone-annual-group.expenses .phone-annual-group__header{background:rgba(197,48,48,.04)}.phone-annual-group.balance .phone-annual-group__header{background:rgba(48,95,114,.05)}.phone-annual-group__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px}.phone-annual-group.collections .phone-annual-group__icon{background:rgba(47,133,90,.1);color:#2f855a}.phone-annual-group.expenses .phone-annual-group__icon{background:rgba(197,48,48,.08);color:#c53030}.phone-annual-group.balance .phone-annual-group__icon{background:rgba(48,95,114,.1);color:#305f72}.phone-annual-group__icon .mud-icon-root{font-size:21px}.phone-annual-group__heading{display:block;min-width:0}.phone-annual-group__heading>*{display:block}.phone-annual-group__heading small{color:#52606d;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.phone-annual-group__heading strong{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.phone-annual-group.collections .phone-annual-group__heading strong,.phone-annual-group.collections footer strong{color:#2f855a}.phone-annual-group.expenses .phone-annual-group__heading strong,.phone-annual-group.expenses footer strong{color:#c53030}.phone-annual-group.balance .phone-annual-group__heading strong,.phone-annual-group.balance footer strong{color:#305f72}.phone-annual-group__heading em{overflow:hidden;color:#6b7280;font-size:.72rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.phone-annual-group__chevron{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(23,59,50,.05);color:#1b4d3e}.phone-annual-group__chevron .mud-icon-root{font-size:20px}.phone-annual-group__row{padding:12px 16px;border-bottom:1px solid rgba(23,59,50,.06)}.phone-annual-group__line,.phone-annual-group__caption,.phone-annual-balance-row, .phone-annual-group footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.phone-annual-group__line>span{display:flex;align-items:center;gap:7px;min-width:0}.phone-annual-group__line strong{color:#173b32;font-size:.88rem;text-wrap:pretty}.phone-annual-group__line b{flex:none;padding:1px 8px;border-radius:999px;background:rgba(23,59,50,.06);color:#52606d;font-size:.68rem;font-weight:800}.phone-annual-group__line em{flex:none;font-size:.95rem;font-style:normal;font-weight:700}.phone-annual-group.collections .phone-annual-group__line em{color:#2f855a}.phone-annual-group.expenses .phone-annual-group__line em{color:#c53030}.phone-annual-share{height:5px;margin-top:9px;overflow:hidden;border-radius:999px;background:rgba(23,59,50,.07)}.phone-annual-share i{display:block;height:100%;border-radius:inherit;opacity:.55}.phone-annual-group.collections .phone-annual-share i{background:#2f855a}.phone-annual-group.expenses .phone-annual-share i{background:#c53030}.phone-annual-group__caption{margin-top:7px;font-size:.7rem}.phone-annual-group__caption strong{color:#52606d}.phone-annual-group__caption span{color:#9ca3af;text-align:right}.phone-annual-group footer{padding:12px 16px;color:#52606d;font-size:.8rem;font-weight:700}.phone-annual-group.collections footer{background:rgba(47,133,90,.06)}.phone-annual-group.expenses footer{background:rgba(197,48,48,.05)}.phone-annual-group.balance footer{background:rgba(48,95,114,.06)}.phone-annual-balance-row{padding:12px 16px;border-bottom:1px solid rgba(23,59,50,.06)}.phone-annual-balance-row span>*{display:block}.phone-annual-balance-row strong{color:#173b32;font-size:.88rem}.phone-annual-balance-row small{color:#52606d;font-size:.7rem}.phone-annual-balance-row>b{color:#305f72;font-size:.95rem}.phone-annual-note{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1px dashed rgba(23,59,50,.18);border-radius:16px;color:#6b7280;font-size:.8rem;line-height:1.45}.phone-annual-note .mud-icon-root{flex:none;color:#9ca3af;font-size:22px}
.phone-annual-landscape{position:fixed;inset:0;top:var(--phone-viewport-top,0);z-index:1200;display:flex;height:var(--phone-viewport-height,100dvh);flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#f5f1e8,#ece7dc);font-family:Roboto,'Helvetica Neue',Helvetica,Arial,sans-serif;font-variant-numeric:tabular-nums}.phone-annual-landscape__header{display:flex;flex-shrink:0;align-items:center;gap:14px;min-height:50px;padding:5px 14px;padding-top:calc(5px + var(--urbanis-status-bar-top,env(safe-area-inset-top,0px)));background:radial-gradient(circle at 82% 8%,rgba(217,122,43,.34),transparent 46%),linear-gradient(165deg,#1b4d3e 0%,#153e33 55%,#0f342c 100%);color:#f5f1e8}.phone-annual-landscape__identity{min-width:150px;flex:1}.phone-annual-landscape__identity>*{display:block}.phone-annual-landscape__identity strong{display:flex;align-items:center;gap:7px;font-size:.95rem;letter-spacing:-.01em}.phone-annual-landscape__identity strong .mud-icon-root{font-size:18px}.phone-annual-landscape__identity span{max-width:280px;overflow:hidden;font-size:.68rem;opacity:.75;text-overflow:ellipsis;white-space:nowrap}.phone-annual-landscape__summary{display:flex;align-items:center;gap:18px}.phone-annual-landscape__summary>div{text-align:right}.phone-annual-landscape__summary span{display:block;font-size:.58rem;font-weight:800;letter-spacing:.09em;opacity:.62;text-transform:uppercase}.phone-annual-landscape__summary strong{display:block;font-size:.85rem}.phone-annual-landscape__clear{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:rgba(245,241,232,.14);color:#f5f1e8}.phone-annual-landscape__clear .mud-icon-root{font-size:17px}.phone-annual-landscape__actions{display:flex;align-items:center;gap:6px}.phone-annual-landscape__year{display:flex;align-items:center;gap:2px;min-height:34px;padding:0 6px 0 12px;border:0;border-radius:999px;background:rgba(245,241,232,.12);color:#f5f1e8;font-size:.8rem;font-weight:700}.phone-annual-landscape__year .mud-icon-root{font-size:18px;opacity:.8}.phone-annual-landscape__rotate{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:rgba(245,241,232,.14);color:#f5f1e8}.phone-annual-landscape__rotate .mud-icon-root{font-size:20px}
.phone-annual-grid-card{flex:1;min-height:0;margin:10px 12px 12px;overflow:auto;border:1px solid rgba(23,59,50,.1);border-radius:18px;background:#fffdf9;box-shadow:0 10px 26px rgba(23,59,50,.06);scrollbar-width:none}.phone-annual-grid-card::-webkit-scrollbar{display:none}.phone-annual-grid-row{display:grid;grid-template-columns:150px repeat(12,46px) minmax(100px,1fr);min-width:802px}.phone-annual-grid-row--head{position:sticky;top:0;z-index:4;border-bottom:1px solid rgba(23,59,50,.14);background:#fffdf9}.phone-annual-grid-label{position:sticky;left:0;z-index:2;display:flex;min-width:0;flex-direction:column;justify-content:center;padding:5px 12px;border-right:1px solid rgba(23,59,50,.1);background:#fffdf9}.phone-annual-grid-row--head .phone-annual-grid-label{z-index:5;color:#52606d;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.phone-annual-grid-month{position:relative;width:46px;height:44px;border:0;border-radius:10px;background:transparent;color:#52606d;font-size:.7rem;font-weight:600}.phone-annual-grid-month.current{color:#0f342c;font-weight:700}.phone-annual-grid-month.selected{background:#1b4d3e;color:#f5f1e8;font-weight:700}.phone-annual-grid-month.unposted{background:rgba(23,59,50,.022);color:#9ca3af}.phone-annual-grid-month i{position:absolute;bottom:7px;left:21px;width:4px;height:4px;border-radius:50%;background:#d97a2b}.phone-annual-grid-total-head{display:flex;align-items:center;justify-content:flex-end;padding:5px 12px;border-left:1px solid rgba(23,59,50,.1);background:rgba(27,77,62,.07);color:#173b32;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.phone-annual-grid-section{display:flex;position:relative;z-index:3;align-items:center;justify-content:space-between;width:100%;min-width:802px;min-height:30px;padding:2px 12px;border:0;border-top:1px solid rgba(23,59,50,.06);border-bottom:1px solid rgba(23,59,50,.06);background:rgba(23,59,50,.035);color:#52606d;text-align:left}.phone-annual-grid-section>span{display:flex;align-items:center;gap:8px}.phone-annual-grid-section i{width:8px;height:8px;border-radius:50%}.phone-annual-grid-section i.collections{background:#2f855a}.phone-annual-grid-section i.expenses{background:#c53030}.phone-annual-grid-section strong{font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.phone-annual-grid-section small{color:#6b7280;font-size:.7rem}.phone-annual-grid-section .mud-icon-root{font-size:18px;color:#1b4d3e}.phone-annual-grid-row--data,.phone-annual-grid-row--section-total{border-bottom:1px solid rgba(23,59,50,.06)}.phone-annual-grid-row--data .phone-annual-grid-label strong{overflow:hidden;color:#173b32;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.phone-annual-grid-row--data .phone-annual-grid-label small{color:#6b7280;font-size:.62rem}.phone-annual-grid-cell,.phone-annual-grid-total{display:flex;align-items:center;justify-content:flex-end;padding:5px 6px;color:#1f2933;font-size:.68rem;font-weight:400}.phone-annual-grid-cell.unposted{background:rgba(23,59,50,.022);color:#c9ced4}.phone-annual-grid-cell.selected{background:rgba(27,77,62,.07);color:#0f342c;font-weight:700}.phone-annual-grid-total{padding:5px 12px;border-left:1px solid rgba(23,59,50,.1);background:rgba(27,77,62,.03);font-size:.76rem;font-weight:600}.phone-annual-grid-row--section-total{background:rgba(23,59,50,.05)}.phone-annual-grid-row--section-total .phone-annual-grid-label{background:#f7f6f0}.phone-annual-grid-row--section-total .phone-annual-grid-label strong{font-size:.74rem;font-weight:800}.phone-annual-grid-row--section-total .phone-annual-grid-total{font-size:.78rem;font-weight:800}.phone-annual-grid-row--net{position:sticky;bottom:0;z-index:4;border-top:1px solid rgba(23,59,50,.14);background:#fffdf9}.phone-annual-grid-row--net .phone-annual-grid-label{z-index:5}.phone-annual-grid-row--net .phone-annual-grid-cell{font-weight:600}.phone-annual-grid-row--net .phone-annual-grid-total{background:rgba(27,77,62,.06);font-size:.78rem;font-weight:800}.phone-annual-grid-row--net .negative{color:#c53030}
body:has(.phone-annual-landscape .urbanis-bottom-nav),body:has(.phone-annual-landscape .urbanis-appbar){display:none!important}body:has(.phone-annual-landscape .urbanis-main){padding-top:0!important}
@media(max-width:700px) and (orientation:landscape){.phone-annual-landscape__summary{gap:8px}.phone-annual-landscape__identity{min-width:120px}.phone-annual-landscape__summary>div:nth-child(-n+2){display:none}}
@media(prefers-reduced-motion:reduce){.phone-annual-group,.phone-annual-chart-card{scroll-behavior:auto}}

/* RF-06.3 Profile phone */
.phone-profile {
    display: flex;
    min-height: calc(100dvh - var(--phone-appbar-height) - 60px - var(--urbanis-content-safe-bottom, env(safe-area-inset-bottom, 0px)));
    flex-direction: column;
    gap: 12px;
    padding: 14px 16px 24px;
    background: linear-gradient(180deg, #f5f1e8 0%, #ece7dc 100%);
    color: #1f2933;
    font-family: Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.phone-profile > * { flex-shrink: 0; }

.phone-profile-card {
    padding: 16px;
    border: 1px solid rgba(23, 59, 50, 0.08);
    border-radius: 20px;
    background: #fffdf9;
    box-shadow: 0 8px 22px rgba(23, 59, 50, 0.05);
}

.phone-profile-card h2 {
    margin: 0 0 8px;
    color: #52606d;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.phone-profile-identity { display: flex; align-items: center; gap: 14px; }
.phone-profile-avatar { display: grid; width: 56px; height: 56px; flex: 0 0 56px; place-items: center; border-radius: 50%; background: rgba(27, 77, 62, 0.1); color: #1b4d3e; font-size: 1.15rem; font-weight: 800; }
.phone-profile-identity h1 { margin: 0; color: #173b32; font-size: 1.1rem; line-height: 1.2; letter-spacing: -0.01em; }
.phone-profile-identity p { margin: 3px 0 7px; color: #52606d; font-size: 0.8rem; overflow-wrap: anywhere; }
.phone-profile-role { display: inline-flex; padding: 4px 8px; border-radius: 999px; background: rgba(48, 95, 114, 0.1); color: #305f72; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }

.phone-profile-building {
    display: grid;
    width: 100%;
    min-height: 56px;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border: 0;
    border-top: 1px solid rgba(23, 59, 50, 0.06);
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}
.phone-profile-building:first-of-type { border-top: 0; }
.phone-profile-building__icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 12px; background: rgba(27, 77, 62, 0.08); color: #1b4d3e; }
.phone-profile-building__icon .mud-icon-root { font-size: 1.15rem; }
.phone-profile-building strong,.phone-profile-building small { display: block; }
.phone-profile-building strong { overflow: hidden; color: #173b32; font-size: 0.92rem; text-overflow: ellipsis; white-space: nowrap; }
.phone-profile-building small { margin-top: 2px; color: #6b7280; font-size: 0.74rem; }
.phone-profile-building em { font-size: 0.76rem; font-style: normal; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.phone-profile-building em.unpaid { color: #c53030; }
.phone-profile-building em.paid { color: #2f855a; }

.phone-profile-preference-row { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 12px; }
.phone-profile-preference-row > span { display: inline-flex; align-items: center; gap: 8px; color: #173b32; font-size: 0.9rem; font-weight: 700; }
.phone-profile-preference-row > span .mud-icon-root { color: #1b4d3e; font-size: 1.15rem; }
.phone-profile-preference-row .phone-profile-language-button { min-height: 44px; color: #1b4d3e; font-weight: 800; }
.phone-profile-preference-value { max-width: 52%; overflow: hidden; color: #52606d; font-size: 0.82rem; text-align: right; text-overflow: ellipsis; white-space: nowrap; }

.phone-profile-signout { display: flex; min-height: 50px; align-items: center; justify-content: center; gap: 9px; border: 1px solid rgba(197, 48, 48, 0.28); border-radius: 14px; background: rgba(197, 48, 48, 0.05); color: #c53030; font-size: 0.9rem; font-weight: 700; text-decoration: none; }
.phone-profile-signout .mud-icon-root { font-size: 1.2rem; }

/* Natural-height rows prevent Mud input flex growth from spreading fields down the panel. */
.phone-profile-editor .phone-surface-body { display: grid; align-content: start; gap: 12px; }
.phone-profile-editor__actions { display: flex; align-items: center; gap: 14px; }
.phone-profile-editor__actions .mud-button-root:first-child { min-height: 50px; flex: 1; border-radius: 14px; font-weight: 800; }
.phone-profile-editor__actions .mud-button-root:last-child { min-height: 44px; }

/* RF-06.4 Public Monthly Summary phone compatibility. */
    /* ─────────────────────────────────────────────
       Mobile styles
    ───────────────────────────────────────────── */
    .fsmob-action-bar {
        position: sticky;
        top: 0;
        z-index: 100;
        background: rgba(255,253,249,0.96);
        backdrop-filter: blur(8px);
        border-bottom: 1px solid rgba(23,59,50,0.08);
        padding: 0.85rem 1rem 1.1rem;
    }

    .fsmob-page-title {
        font-size: 1.1rem;
        font-weight: 700;
        color: #173B32;
        margin: 0;
    }

    .fsmob-page-desc {
        font-size: 0.875rem;
        color: #52606D;
        margin-top: 2px;
    }

    .fsmob-body {
        max-width: 430px;
        margin: 0 auto;
        padding: 1rem;
        display: flex;
        flex-direction: column;
        gap: 1.1rem;
    }

    .fsmob-kpi-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.5rem;
    }

    .fsmob-kpi-tile {
        padding: 12px 8px 10px;
        border: 1px solid rgba(23,59,50,0.08);
        border-radius: 16px;
        background: rgba(255,255,255,0.72);
    }

    .fsmob-kpi-value {
        font-size: 1.05rem;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
        line-height: 1.2;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .fsmob-kpi-label {
        font-size: 0.72rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: #6B7280;
        margin-top: 3px;
    }

    .fsmob-card {
        padding: 1rem;
        border-radius: 16px;
        background: rgba(255,253,249,0.94);
        border: 1px solid rgba(23,59,50,0.08);
    }

    .fsmob-label-upper {
        display: block;
        font-size: 0.72rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: #6B7280;
    }

    .fsmob-badge {
        border-radius: 999px;
        padding: 2px 8px;
        font-size: 0.75rem;
        font-weight: 600;
        white-space: nowrap;
    }

    .fsmob-badge-paid    { background: rgba(34,197,94,0.12);  color: #2F855A; }
    .fsmob-badge-partial { background: rgba(245,158,11,0.15); color: #C27803; }
    .fsmob-badge-unpaid  { background: rgba(239,68,68,0.10);  color: #C53030; }

    .fsmob-snap-row {
        display: flex;
        flex-wrap: nowrap;
        gap: 0.6rem;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        padding-bottom: 0.25rem;
        scrollbar-width: none;
    }

    .fsmob-snap-row::-webkit-scrollbar { display: none; }

    .fsmob-exp-card {
        flex: 0 0 168px;
        width: 168px;
        min-width: 168px;
        scroll-snap-align: start;
        padding: 1rem;
        border-radius: 16px;
        background: rgba(255,253,249,0.94);
        border: 1px solid rgba(23,59,50,0.08);
        display: flex;
        flex-direction: column;
        gap: 0.4rem;
    }

    .fsmob-exp-initials {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        border-radius: 9px;
        background: rgba(27,77,62,0.12);
        color: #173B32;
        font-weight: 700;
        font-size: 0.65rem;
        flex-shrink: 0;
    }

    .fsmob-scope-tag {
        display: inline-block;
        background: rgba(48,95,114,0.12);
        color: #305F72;
        border-radius: 999px;
        padding: 2px 8px;
        font-size: 0.6rem;
        font-weight: 600;
        align-self: flex-start;
        white-space: normal;
        word-break: break-word;
    }

    .fsmob-progress-bar {
        display: flex;
        height: 6px;
        border-radius: 999px;
        overflow: hidden;
        background: rgba(23,59,50,0.08);
        margin-bottom: 0.75rem;
    }

    .fsmob-unit-chip {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-width: 52px;
        min-height: 44px;
        padding: 4px 8px;
        border-radius: 8px;
        font-size: 0.74rem;
        font-weight: 600;
        font-variant-numeric: tabular-nums;
        line-height: 1.15;
        cursor: default;
    }

    .fsmob-chip-owner {
        font-size: 0.6rem;
        font-weight: 500;
        font-variant-numeric: normal;
        opacity: 0.85;
        max-width: 84px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-top: 1px;
    }

    .fsmob-chip-paid    { background: rgba(34,197,94,0.10);  color: #2F855A; border: 1px solid rgba(47,133,90,0.30); }
    .fsmob-chip-partial { background: rgba(245,158,11,0.14); color: #C27803; border: 1px solid rgba(194,120,3,0.35); }
    .fsmob-chip-unpaid  { background: rgba(239,68,68,0.10);  color: #C53030; border: 1px solid rgba(197,48,48,0.35); }


@media (max-width: 959.98px) {
    .publication-option-help {
        padding-left: 0;
    }

    .publication-message-editor {
        margin-left: 0;
    }

    .publication-actions,
    .publication-share-actions {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .publication-actions .mud-button-root,
    .publication-share-actions .mud-button-root {
        width: 100%;
    }
}

/* Staff Publications uses the same phone grammar as Profile and administration. */
.phone-shell:has(.publications-phone) .urbanis-content-shell,
.phone-shell:has(.publications-phone) .urbanis-content {
    padding: 0;
    margin: 0;
    min-height: 0;
    background: transparent;
}

.publications-phone {
    min-height: calc(100dvh - var(--phone-appbar-height) - 60px - var(--urbanis-content-safe-bottom, env(safe-area-inset-bottom, 0px)));
    min-width: 0;
    align-content: start;
    gap: 12px;
    padding: 14px 16px calc(100px + var(--urbanis-content-safe-bottom, env(safe-area-inset-bottom, 0px)));
    background: linear-gradient(180deg, #f5f1e8 0%, #ece7dc 100%);
    color: #1f2933;
    font-family: var(--phone-font);
}

.publications-phone .mud-typography,
.publications-phone .mud-input,
.publications-phone .mud-input-label,
.publications-phone .mud-button-root { font-family: inherit; }
.publications-phone .publication-phone-heading .mud-typography-h4 { color: var(--phone-heading); font-size: 1.5rem; font-weight: 700; letter-spacing: -0.02em; }
.publications-phone .mud-typography-body2 { color: #52606d; font-size: 0.82rem; line-height: 1.45; }
.publications-phone .mud-typography-caption { color: #6b7280; font-size: 0.72rem; }
.publications-phone .page-card {
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(23, 59, 50, 0.08);
    border-radius: 20px;
    background: var(--phone-surface);
    box-shadow: 0 8px 22px rgba(23, 59, 50, 0.05);
}
.publications-phone .publication-config-content,
.publications-phone .publication-share-content { gap: 12px; }
.publications-phone .publication-config-content,
.publications-phone .publication-message-content { display: grid; align-content: start; min-width: 0; }
.publications-phone .publication-preferences { display: grid; min-width: 0; }
.publications-phone .publication-preference-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; border-bottom: 1px solid var(--phone-border); }
.publications-phone .publication-preference-row:last-child { border-bottom: 0; }
.publications-phone .publication-preference-row > .mud-typography { color: var(--phone-heading); font-size: 0.9rem; font-weight: 700; }
.publications-phone .publication-preference-row .urbanis-switch { flex: 0 0 auto; margin: 0; min-height: 44px; }
.publications-phone .publication-preference-row .urbanis-switch label.mud-switch { min-height: 44px; }
.publications-phone .publication-owner-preference { padding-left: 12px; background: rgba(27, 77, 62, 0.05); border-radius: 12px; }
.publications-phone .mud-typography-h6 { color: #52606d; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.publications-phone .publication-title-row { flex-wrap: wrap; gap: 6px 12px; }
.publications-phone .publication-title-row .mud-chip { margin: 0; font-family: inherit; font-size: 0.7rem; font-weight: 700; }
.publications-phone .mud-alert { border-radius: 14px; font-size: 0.82rem; line-height: 1.45; }
.publications-phone .publication-message-content .mud-input-control { margin: 0; }
.publications-phone .publication-message-editor { margin-left: 0; padding: 12px; border: 1px solid var(--phone-border); border-radius: 14px; background: rgba(245, 241, 232, 0.55); }
.publications-phone .publication-message-content { gap: 12px; }
.publications-phone .mud-input-label { color: #52606d; font-size: 0.82rem; }
.publications-phone .mud-input { font-size: 0.9rem; }
.publications-phone .mud-input-outlined { border-radius: 14px; background: var(--phone-surface); }
.publications-phone .mud-input-outlined-border { border-radius: 14px; }
.publications-phone .month-key-picker .mud-input-root { min-height: 44px; }
.publications-phone .publication-link-field { max-width: none; min-width: 0; }
.publications-phone .publication-link-field .mud-input-adornment .mud-icon-button { min-width: 44px; min-height: 44px; }
.publications-phone .publication-actions button.mud-button-root,
.publications-phone .publication-share-actions button.mud-button-root { min-height: 46px; border-radius: 14px; font-size: 0.86rem; font-weight: 700; letter-spacing: 0; text-transform: none; }
.publications-phone .mud-button-filled-primary:not(:disabled) { background: var(--phone-primary); color: #f5f1e8; font-weight: 800; }
.publications-phone .publication-actions, .publications-phone .publication-share-actions { align-items: stretch !important; flex-direction: column !important; }
.publications-phone .publication-actions { display: grid; grid-template-columns: minmax(0, 1fr); justify-content: stretch !important; gap: 8px; }
.publications-phone .publication-actions .urbanis-surface-actions, .publications-phone .publication-actions .mud-button-root, .publications-phone .publication-share-actions .mud-button-root { width: 100%; }

.phone-ledger-balance-col.phone-ledger-balance-col--owing { color:var(--mud-palette-error); }
.phone-ledger-balance-col.phone-ledger-balance-col--settled { color:var(--mud-palette-success); }

/* Every two-button phone footer uses the same primary/secondary proportions.
   Count direct button children so single actions and body action lists retain
   their layout. Grid tracks exclude the gap and ignore label/intrinsic widths. */
.phone-surface-footer :has(> .mud-button-root:first-child:nth-last-child(2)),
.phone-shell .urbanis-drawer__footer :has(> .mud-button-root:first-child:nth-last-child(2)),
:is(.phone-payment-confirmation, .phone-confirm-dialog) .mud-dialog-actions:has(> .mud-button-root:first-child:nth-last-child(2)),
.phone-confirm-dialog .mud-dialog-actions :has(> .mud-button-root:first-child:nth-last-child(2)) {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    align-items: stretch;
    width: 100%;
    min-width: 0;
}

/* Preserve reading/tab order when the primary action is rendered last. */
.phone-surface-footer :has(> .mud-button-root:first-child:nth-last-child(2)):has(> :is(.urbanis-surface-actions__primary, .mud-button-filled):last-child),
.phone-shell .urbanis-drawer__footer :has(> .mud-button-root:first-child:nth-last-child(2)):has(> .mud-button-filled:last-child),
:is(.phone-payment-confirmation, .phone-confirm-dialog) .mud-dialog-actions:has(> .mud-button-root:first-child:nth-last-child(2)):has(> .mud-button-filled:last-child),
.phone-confirm-dialog .mud-dialog-actions :has(> .mud-button-root:first-child:nth-last-child(2)):has(> :is(.urbanis-surface-actions__primary, .mud-button-filled):last-child) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}

.phone-surface-footer :has(> .mud-button-root:first-child:nth-last-child(2)) > .mud-button-root,
.phone-shell .urbanis-drawer__footer :has(> .mud-button-root:first-child:nth-last-child(2)) > .mud-button-root,
:is(.phone-payment-confirmation, .phone-confirm-dialog) .mud-dialog-actions:has(> .mud-button-root:first-child:nth-last-child(2)) > .mud-button-root,
.phone-confirm-dialog .mud-dialog-actions :has(> .mud-button-root:first-child:nth-last-child(2)) > .mud-button-root {
    width: 100%;
    min-width: 0;
}
