#modal:has(.mobile-menu-body){width:560px;max-width:calc(100vw - 24px);padding:18px;background:#edf3fa}
#modal:has(.mobile-menu-body) .modal-head{padding:12px 16px;margin-bottom:14px;background:linear-gradient(115deg,#17375f,#244f81);border:0}
#modal:has(.mobile-menu-body) .modal-head h2{font-size:21px;color:#fff}
#modal:has(.mobile-menu-body) .modal-head .close{width:44px;height:44px;flex:none;background:#eaf1fb;color:#17375f;font-size:28px}
.mobile-menu-body{min-width:0;color:#17375f}
.app-menu-property{display:flex;align-items:center;gap:10px;padding:0 2px 8px}.app-menu-property>span{display:grid;place-items:center;width:38px;height:38px;background:#d7e5f7;border:1px solid #a7c0dd;border-radius:10px;color:#315b8d;flex:none}
.app-menu-property svg{width:23px;height:23px}.app-menu-property strong{font-size:16px}.app-menu-property small{font-size:14px;margin-top:0}
.app-menu-section{margin:10px 0 14px}.app-menu-section h3{font-size:15px;margin:0 0 8px;color:#405c7a;font-weight:600}
.app-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.app-menu-item{--menu-ink:#315b99;--menu-pale:#dbe7fa;--menu-border:#9eb8db;position:relative;display:flex;gap:10px;align-items:center;text-align:left;min-width:0;min-height:84px;padding:12px;background:#fff;border:1.5px solid var(--menu-border);border-radius:12px;box-shadow:0 2px 5px #254e7410;color:#17375f}
.menu-rooms{--menu-ink:#267463;--menu-pale:#ddf0e8;--menu-border:#97c6b6}.menu-meters{--menu-ink:#17758b;--menu-pale:#ddf1f7;--menu-border:#95c6d5}.menu-billing{--menu-ink:#654b9b;--menu-pale:#eae3f8;--menu-border:#baa9d6}.menu-repairs{--menu-ink:#a45450;--menu-pale:#f7e6e4;--menu-border:#d9aaa5}.menu-leaves{--menu-ink:#4b6483;--menu-pale:#e3ebf5;--menu-border:#a5b7cd}
.app-menu-icon{display:grid;place-items:center;flex:none;width:38px;height:42px;border-radius:10px;background:var(--menu-pale);color:var(--menu-ink)}
.app-menu-icon svg{width:25px;height:25px}.app-menu-copy{display:flex;flex-direction:column;min-width:0;gap:2px}
.app-menu-copy strong{font-size:16px;font-weight:600;line-height:1.4}.app-menu-copy small{font-size:14px;line-height:1.4;margin:0;color:#536b85}
.app-menu-item.is-current{background:linear-gradient(115deg,#234daf,#3264d8);border-color:#234daf;color:white;box-shadow:0 4px 10px #234daf26}
.app-menu-item.is-current .app-menu-icon{background:#ffffff24;color:white}
#modal .app-menu-item.is-current small{color:#e3edff}.app-menu-check{position:absolute;top:6px;right:8px;color:#fff;font-size:13px;font-weight:700}
.app-menu-settings{display:grid;gap:8px}.app-menu-settings .app-menu-item{min-height:68px;padding:10px 12px;border-color:#a1b6d0}
.app-menu-settings .app-menu-icon{width:36px;height:36px;background:#e1eaf6;color:#315b8d}.app-menu-chevron{margin-left:auto;flex:none;font-size:23px;color:#53739a}
.app-menu-item.is-current .app-menu-chevron{color:white}.app-menu-settings .is-current .app-menu-icon{background:#ffffff24;color:white}
.app-menu-role{display:flex;align-items:center;gap:10px;width:100%;min-height:64px;padding:10px 12px;background:#dfe9f7;border:1.5px solid #91abcc;border-radius:12px;text-align:left;color:#244f7f}
.app-menu-avatar{flex:none;display:grid;place-items:center;width:36px;height:36px;background:#17375f;color:white;border-radius:50%;font-size:16px;font-weight:600}
.app-menu-role strong{display:block;font-size:15px;line-height:1.4}.app-menu-role small{font-size:14px;margin-top:2px;color:#425f82;line-height:1.4}
.app-menu-item:focus-visible,.app-menu-role:focus-visible{outline:3px solid #3263ed;outline-offset:2px}
@media(max-width:600px){
 #modal:has(.mobile-menu-body){max-width:100%;width:100%;padding:14px;max-height:94dvh}
 #modal:has(.mobile-menu-body) .modal-head{position:sticky;top:-14px;z-index:3;margin:-14px -14px 14px;padding:10px 14px;border-radius:0}
 .app-menu-item{padding:10px 9px;gap:8px;min-height:80px}.app-menu-icon{width:34px;height:40px}.app-menu-icon svg{width:24px;height:24px}
 .app-menu-copy strong{font-size:15px}.app-menu-copy small{font-size:14px}.app-menu-section{margin-bottom:12px}
}
@media(max-width:359px){
 .app-menu-item{flex-direction:column;align-items:flex-start;gap:6px;padding:10px;min-height:112px}.app-menu-icon{width:34px;height:34px}
 .app-menu-settings .app-menu-item{flex-direction:row;align-items:center;min-height:68px}.app-menu-role{padding:10px;gap:8px}
}
