/* BO-UI-SHELL-001 P1 — shared Back Office application shell authority */
:root{
  --bo-shell-bg:#ececec;
  --bo-shell-surface:#ffffff;
  --bo-shell-text:#111111;
  --bo-shell-muted:#777777;
  --bo-shell-border:#e8e8e8;
  --bo-shell-pill:#f1f1f1;
  --bo-shell-pill-hover:#e5e5e5;
  --bo-shell-max-width:1280px;
  --bo-shell-desktop-gutter:24px;
  --bo-shell-compact-gutter:16px;
  --bo-shell-radius:22px;
}

.bo-shell-page{
  min-height:100vh;
  margin:0;
  background:var(--bo-shell-bg);
  color:var(--bo-shell-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.bo-shell-header,
.bo-shell-header *,
.bo-shell-content,
.bo-shell-content *{
  box-sizing:border-box;
}

.bo-shell-frame{
  width:min(
    var(--bo-shell-max-width),
    calc(100% - (var(--bo-shell-desktop-gutter) * 2))
  );
  margin-inline:auto;
}

.bo-shell-header{
  margin-top:var(--bo-shell-desktop-gutter);
  padding:18px;
  background:var(--bo-shell-surface);
  border:1px solid var(--bo-shell-border);
  border-radius:var(--bo-shell-radius);
}

.bo-shell-brand-title{
  margin:0;
  font-size:22px;
  font-weight:700;
  line-height:1.2;
}

.bo-shell-brand-subtitle{
  margin-top:4px;
  color:var(--bo-shell-muted);
  font-size:13px;
  line-height:1.35;
}

.bo-shell-nav{
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
  margin-top:12px;
  padding-bottom:6px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.bo-shell-nav::-webkit-scrollbar{
  display:none;
}

.bo-shell-nav-link{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:10px 14px;
  border:0;
  border-radius:999px;
  background:var(--bo-shell-pill);
  color:var(--bo-shell-text);
  font:inherit;
  font-size:13px;
  font-weight:600;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}

.bo-shell-nav-link:hover,
.bo-shell-nav-link:focus-visible{
  background:var(--bo-shell-pill-hover);
  outline:none;
}

.bo-shell-nav-link:focus-visible{
  box-shadow:0 0 0 2px var(--bo-shell-surface), 0 0 0 4px var(--bo-shell-text);
}

.bo-shell-nav-link.active,
.bo-shell-nav-link[aria-current="page"]{
  background:var(--bo-shell-text);
  color:var(--bo-shell-surface);
}

.bo-shell-content{
  padding:24px 0 40px;
}

@media (max-width:760px){
  .bo-shell-frame{
    width:calc(100% - (var(--bo-shell-compact-gutter) * 2));
  }

  .bo-shell-header{
    margin-top:var(--bo-shell-compact-gutter);
    padding:16px;
    border-radius:18px;
  }

  .bo-shell-brand-title{
    font-size:20px;
  }

  .bo-shell-nav{
    gap:8px;
    margin-top:10px;
  }

  .bo-shell-nav-link{
    min-height:36px;
    padding:9px 12px;
    font-size:12px;
  }

  .bo-shell-content{
    padding:16px 0 28px;
  }
}
