/* static/css/dev-portal.css — developer portal (sidebar, cards, code tabs) */
.dev-shell { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 8px; max-width: 1180px; margin: 0 auto; }
.dev-side { position: sticky; top: 72px; align-self: start; padding: 32px 0 32px 24px; max-height: calc(100vh - 72px); overflow-y: auto; }
.dev-side-group { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin: 18px 0 6px; }
.dev-side-group:first-child { margin-top: 0; }
.dev-side-link { display: block; font-size: 14px; color: var(--text2); text-decoration: none; padding: 5px 10px; border-radius: 6px; }
.dev-side-link:hover { color: var(--text); background: rgba(255,255,255,.04); }
.dev-side-link.is-current { color: var(--text); background: rgba(255,106,31,.12); font-weight: 600; }
.dev-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; margin: 20px 0 8px; }
.dev-card { display: block; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 16px; text-decoration: none; color: var(--text); }
.dev-card:hover { border-color: var(--orange); }
.dev-card strong { display: block; margin-bottom: 4px; }
.dev-card span { font-size: 13px; color: var(--text2); }
.code-tabs { margin: 10px 0 18px; }
.code-tabs-bar { display: flex; gap: 4px; flex-wrap: wrap; }
.code-tab { background: none; border: 1px solid var(--border); border-bottom: none; border-radius: 8px 8px 0 0; padding: 6px 12px; font: inherit; font-size: 13px; color: var(--text2); cursor: pointer; }
.code-tab[aria-selected="true"] { color: var(--text); background: var(--surface, rgba(127,127,127,.08)); font-weight: 600; }
.code-tabs pre { margin-top: 0; border-top-left-radius: 0; }
@media (max-width: 860px) {
  .dev-shell { grid-template-columns: 1fr; }
  .dev-side { position: static; max-height: none; padding: 16px 24px 0; display: flex; flex-wrap: wrap; gap: 4px 8px; }
  .dev-side-group { width: 100%; margin: 8px 0 0; }
}
