/* Shared public / tenant navigation. */
.navbar { position: sticky; top: 0; z-index: 1000; width: 100%; background: #fffffff2; backdrop-filter: blur(18px); border-bottom: 1px solid var(--border); }
.navbar-inner { width: min(var(--container),calc(100% - 64px)); margin: auto; min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 0; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--text); font-size: 23px; font-weight: 650; letter-spacing: -.065em; text-decoration: none; min-width: 0; }
.brand-badge { display: inline-grid; place-items: center; width: 31px; height: 31px; border-radius: 10px; background: var(--brand); flex: 0 0 31px; }
.brand-badge::before { content: ''; width: 12px; height: 15px; border: 2px solid #e3efdf; border-top: 0; border-bottom: 0; transform: skew(-18deg); }
.brand-logo { width: 34px; height: 34px; border-radius: 10px; object-fit: cover; }
.nav-menu, .nav-links { display: flex; gap: 28px; align-items: center; flex-wrap: wrap; }
.nav-menu a, .nav-links a { font-size: 12px; font-weight: 500; color: #6e7c71; text-decoration: none; }
.nav-menu a:hover, .nav-links a:hover { color: var(--brand); }
.nav-menu .nav-cta { padding: 10px 17px; border: 1px solid var(--border); color: var(--text); border-radius: 9px; background: white; }
.nav-user { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 600; }
.nav-avatar, .nav-avatar-placeholder { height: 31px; width: 31px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.nav-avatar-placeholder { background: #e5eddf; border: 5px solid #f2f6ee; }
.navbar-brand-group { display: flex; align-items: center; gap: 16px; min-width: 0; }
.sidebar-menu-button { padding: 7px; border-color: var(--border); background: transparent; color: #6a7b6e; line-height: 1; }
.app-sidebar { position: fixed; left: 0; top: var(--navbar-h); bottom: 0; z-index: 900; width: var(--sidebar-w); padding: 30px 18px; background: #fcfdfb; border-right: 1px solid var(--border); overflow-y: auto; }
.sidebar-section { margin-bottom: 24px; }
.sidebar-toggle { width: 100%; display: flex; align-items: center; justify-content: flex-start; gap: 10px; background: none; border: 0; border-radius: 8px; padding: 8px 10px; font-size: 10px; font-weight: 700; color: #8c998e; letter-spacing: .09em; text-transform: uppercase; box-shadow: none; }
.sidebar-toggle .sicon { display: none; }
.sidebar-toggle::after { content: '›'; margin-left: auto; transform: rotate(90deg); font-size: 15px; }
.sidebar-section:not(.open) > .sidebar-toggle::after { transform: rotate(0); }
.sidebar-toggle:hover { background: var(--surface); }
.sidebar-sub, .sidebar-sub-sub, .submenu-sub { display: none; }
.sidebar-sub { margin-top: 6px; }
.sidebar-section.open > .sidebar-sub, .sidebar-item.open > .sidebar-sub-sub, .submenu-group.open > .submenu-sub { display: block; }
.app-sidebar a, .app-sidebar .submenu-toggle { width: 100%; display: flex; align-items: center; gap: 12px; padding: 11px 12px; font-size: 12px; font-weight: 500; color: #718075; border: 0; background: transparent; border-radius: 9px; text-decoration: none; cursor: pointer; text-align: left; }
.app-sidebar a:hover, .app-sidebar .submenu-toggle:hover { color: var(--brand); background: #f0f4ed; }
.app-sidebar a.active { color: var(--brand); background: #eaf2e8; font-weight: 600; }
.sicon { display: inline-flex; justify-content: center; width: 18px; flex: 0 0 18px; }
.sicon .ui-icon { width: 17px; height: 17px; }
.sidebar-sub-sub { padding-left: 22px; }
.arrow { margin-left: auto; color: #a0aaa0; }
.sidebar-item.open .arrow { transform: rotate(90deg); }
.has-sidebar main, .has-sidebar .footer { margin-left: var(--sidebar-w); }
.sidebar-collapsed .app-sidebar { display: none; }
.sidebar-collapsed main, .sidebar-collapsed .footer { margin-left: 0; }
@media (max-width: 900px) {
  .has-sidebar main, .has-sidebar .footer { margin-left: 0; }
  .app-sidebar { display: none; box-shadow: 16px 0 40px #193b2a14; max-width: calc(100% - 40px); }
  .sidebar-open .app-sidebar { display: block; }
}
@media (max-width: 640px) {
  .navbar-inner { width: calc(100% - 32px); min-height: 72px; gap: 12px; flex-wrap: wrap; padding: 14px 0; }
  .brand { font-size: 20px; } .nav-menu, .nav-links { gap: 16px; } .nav-menu a { font-size: 11px; }
  .nav-menu .nav-cta { padding: 7px 10px; } .nav-user { font-size: 11px; }
  .nav-home-link { display: none; }
}
/* Public provider navigation variants. Small screens always retain the top bar. */
@media (min-width:901px) {
  .public-menu-floating .navbar { width:calc(100% - 40px); margin:20px auto; top:20px; border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow-sm); }
  .public-menu-left .navbar { position:fixed; inset:0 auto 0 0; width:220px; height:100dvh; border-right:1px solid var(--border); border-bottom:0; }
  .public-menu-left .navbar-inner { width:100%; padding:32px 20px; align-items:stretch; justify-content:flex-start; flex-direction:column; gap:40px; }
  .public-menu-left .navbar-brand-group { min-width:0; }
  .public-menu-left .brand { white-space:normal; overflow-wrap:anywhere; font-size:18px; }
  .public-menu-left .nav-menu { flex-direction:column; align-items:stretch; gap:12px; }
  .public-menu-left .nav-menu a { padding:12px; }
  .public-menu-left .microsite-main, .public-menu-left > .footer { margin-left:220px; }
}

/* Signed-in visitors see the public microsite at full width. */
.sidebar-overlay.has-sidebar main,.sidebar-overlay.has-sidebar .footer{margin-left:0!important}
.sidebar-overlay .app-sidebar{display:block;transform:translateX(-105%);visibility:hidden;transition:transform .22s ease,visibility .22s;box-shadow:16px 0 45px #0003}
.sidebar-overlay.sidebar-open .app-sidebar{transform:translateX(0);visibility:visible}
.sidebar-overlay.theme-barber .app-sidebar{background:#181b19;border-color:#45453b;color:#ede9dc}
.sidebar-overlay.theme-barber .app-sidebar a,.sidebar-overlay.theme-barber .app-sidebar button{color:#d4cdbb}
.sidebar-overlay.theme-barber .app-sidebar a:hover,.sidebar-overlay.theme-barber .app-sidebar a.active{background:#30352e;color:#fff}
@media(prefers-reduced-motion:reduce){.sidebar-overlay .app-sidebar{transition:none}}

.brand-badge,.side-brand .brand-badge{background:transparent url('../brand/icon-48.png') center/contain no-repeat;border-radius:0}
.brand-badge::before,.side-brand .brand-badge::before{content:none}
.theme-barber .brand-badge{filter:brightness(0) invert(.9)}
.theme-barber .app-sidebar{scrollbar-color:#777365 #181b19;scrollbar-width:thin}
