.sync-status{position:fixed;right:12px;bottom:12px;z-index:40;padding:6px 9px;border:1px solid var(--line);border-radius:99px;background:#111923e8;color:var(--muted);font-size:11px;box-shadow:var(--shadow)}
.sync-status.synced{color:var(--green)}.sync-status.saving{color:var(--yellow)}.sync-status.offline{color:#ff9fa9}
.mobile-menu-button{display:none}.nav-group-label{padding:13px 12px 4px;color:#6f8298;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.mobile-nav-backdrop{display:none}
.photo-source-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.photo-source{display:inline-flex;align-items:center;justify-content:center}.photo-source input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.room-required-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;white-space:nowrap}.room-required-toggle input{width:18px;height:18px;accent-color:var(--red)}.modal textarea.field{width:100%;resize:vertical}
@media(max-width:900px){.shell{display:block}.main{padding-top:74px}.sidebar{position:fixed;z-index:55;left:0;top:0;width:min(310px,86vw);height:100dvh;padding:20px 14px;transform:translateX(-105%);transition:transform .2s ease;box-shadow:18px 0 48px #000b;overflow-y:auto}.sidebar.mobile-open{transform:translateX(0)}.sidebar .brand h1,.sidebar .brand .muted,.sidebar .nav span,.sidebar .user{display:block}.sidebar .nav button{text-align:left;width:100%}.sidebar .brand{padding-bottom:14px}.mobile-menu-button{display:flex;position:fixed;left:14px;top:14px;z-index:45;align-items:center;gap:8px;background:#1b2734;border:1px solid #405064;border-radius:9px;color:#fff;padding:10px 13px;font-weight:800;box-shadow:var(--shadow)}.mobile-nav-backdrop.show{display:block;position:fixed;inset:0;z-index:50;background:#000a}}
@media(max-width:520px){.photo-source-actions{display:grid;grid-template-columns:1fr}.photo-source{min-height:46px}}
