/* UltraSonic 0.11 — Menu lateral recolhível (somente desktop).
   Em telas móveis permanece o menu deslizante existente. */
@media screen and (min-width: 801px) {
  .app-shell .sidebar,
  .app-shell .app-content {
    transition: width .22s cubic-bezier(.2,.8,.2,1);
  }
  .app-shell.sidebar-collapsed .sidebar {
    width: 76px;
    min-width: 76px;
    padding-left: 8px;
    padding-right: 8px;
  }
  .app-shell.sidebar-collapsed .app-content {
    width: calc(100% - 76px);
  }
  .app-shell.sidebar-collapsed .sidebar .brand {
    justify-content: center;
    padding: 12px 0 15px;
    gap: 0;
  }
  .app-shell.sidebar-collapsed .brand-mark { width: 42px; }
  .app-shell.sidebar-collapsed .brand-text { display: none; }
  .app-shell.sidebar-collapsed .sidebar-menu-tools {
    justify-content: center;
    padding: 8px 0 7px;
  }
  .app-shell.sidebar-collapsed .sidebar-menu-tools .sidebar-section-title { display: none; }
  .app-shell.sidebar-collapsed .sidebar-floating-toggle { margin: 0 auto; }
  .app-shell.sidebar-collapsed .sidebar .nav { padding-left: 0; padding-right: 0; }
  .app-shell.sidebar-collapsed .sidebar .nav-link {
    width: 100%;
    min-height: 45px;
    justify-content: center;
    gap: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .app-shell.sidebar-collapsed .sidebar .nav-link svg { flex-shrink: 0; }
  .app-shell.sidebar-collapsed .sidebar .nav-label { display: none; }
  .app-shell.sidebar-collapsed .sidebar .nav-indicator {
    position: absolute;
    right: 2px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 17px;
    margin: 0;
  }
  .app-shell.sidebar-collapsed .sidebar-bottom {
    display: flex;
    justify-content: center;
    padding: 13px 0 4px;
  }
  .app-shell.sidebar-collapsed .sidebar-bottom p,
  .app-shell.sidebar-collapsed .sidebar-bottom small,
  .app-shell.sidebar-collapsed .sidebar-status-label { display: none; }
  .app-shell.sidebar-collapsed .sidebar-status { justify-content: center; }
}
@media screen {
  .app-shell .sidebar-menu-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 4px 8px 13px;
    flex-shrink: 0;
  }
  .app-shell .sidebar-menu-tools .sidebar-section-title {
    flex: 1;
    margin: 0;
    min-width: 0;
  }
  .app-shell .sidebar-floating-toggle {
    display: grid;
    place-items: center;
    width: 37px;
    height: 37px;
    flex-shrink: 0;
    padding: 0;
    border: 1px solid rgba(232,255,240,.18);
    border-radius: 10px;
    color: #e5fff1;
    background: rgba(255,255,255,.07);
    cursor: pointer;
    transition: background-color .16s ease;
  }
  .app-shell .sidebar-floating-toggle:hover,
  .app-shell .sidebar-floating-toggle:focus-visible {
    background: rgba(255,255,255,.17);
  }
  .app-shell .sidebar-floating-toggle svg { transform: rotate(180deg); transition: transform .2s ease; }
  .app-shell.sidebar-collapsed .sidebar-floating-toggle svg { transform: rotate(0deg); }
}
@media screen and (max-width: 800px) {
  /* O botão é exclusivo do desktop e não interfere no menu móvel existente. */
  .app-shell .sidebar-floating-toggle { display: none; }
  .app-shell .sidebar-menu-tools { padding: 7px 13px 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .app-shell .sidebar,
  .app-shell .app-content,
  .app-shell .sidebar-floating-toggle svg {
    transition: none !important;
  }
}


/* v0.11.1 — Botão flutuante na borda externa, como na referência. */
@media screen {
  .app-shell .sidebar-menu-tools {
    justify-content: flex-start;
    padding: 11px 13px 8px;
  }
  .app-shell .sidebar-menu-tools .sidebar-section-title { margin: 0; }
  .app-shell .sidebar-floating-toggle {
    position: absolute;
    top: 44px;
    right: -17px;
    z-index: 30;
    width: 34px;
    height: 34px;
    margin: 0;
    padding: 0;
    border: 1px solid #d8eee2;
    border-radius: 50%;
    background: #fff;
    color: #0c674d;
    box-shadow: 0 5px 19px rgba(8,54,38,.22);
    cursor: pointer;
    transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
  }
  .app-shell .sidebar-floating-toggle:hover {
    background: #e9f8ef;
    box-shadow: 0 7px 22px rgba(8,54,38,.27);
    transform: scale(1.06);
  }
  .app-shell .sidebar-floating-toggle:focus-visible {
    outline: 3px solid #77cba4;
    outline-offset: 3px;
  }
  .app-shell .sidebar-floating-toggle svg { pointer-events: none; }
}
@media screen and (min-width: 801px) {
  /* Mantém o botão visível fora da borda sem alterar o scroll dos links. */
  .app-shell .sidebar { overflow: visible; }
  .app-shell.sidebar-collapsed .sidebar-menu-tools { display: none; }
}
@media screen and (max-width: 800px) {
  .app-shell .sidebar-floating-toggle { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .app-shell .sidebar-floating-toggle { transition: none !important; }
}
