/* Store owner and API integration: neutral, responsive working surfaces. */
.sf-developer-main .sf-page-head,
.sf-developer-page-head{margin-bottom:28px}
.sf-developer-main .sf-page-head h1,
.sf-developer-page-head h1{font-size:var(--sf-text-xl);font-weight:var(--sf-weight-semibold)}
.sf-developer-main .sf-page-head p,
.sf-developer-page-head p{max-width:75ch;line-height:var(--sf-leading-relaxed)}
.sf-developer-label{display:block;margin-bottom:3px;color:var(--sf-muted);font-size:var(--sf-text-xs)}
.sf-developer-section-head{margin-bottom:20px}
.sf-developer-section-head h2,
.sf-developer-section-head h3{font-size:var(--sf-text-md);font-weight:var(--sf-weight-semibold)}
.sf-developer-section-head p{max-width:75ch;margin-top:6px;color:var(--sf-muted);font-size:var(--sf-text-sm);line-height:var(--sf-leading-relaxed)}

/* Business workspace */
.sf-developer-main .sf-business-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}
.sf-developer-main .sf-business-tab{min-width:0;padding:12px 10px;border-right:1px solid var(--sf-line);white-space:normal}
.sf-developer-main .sf-business-tab:last-child{border-right:0}
.sf-developer-main .sf-business-tab:focus-visible,
.sf-api-nav a:focus-visible,
.sf-developer-subnav a:focus-visible{outline:2px solid var(--sf-focus);outline-offset:-3px}
.sf-developer-main .sf-business-panel[hidden]{display:none}
.sf-developer-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.sf-developer-overview>section{min-width:0}
.sf-developer-overview>section+section{padding-left:32px;border-left:1px solid var(--sf-line)}
.sf-developer-facts{margin:0;border-top:1px solid var(--sf-line)}
.sf-developer-facts>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--sf-line)}
.sf-developer-facts dt{color:var(--sf-muted);font-size:var(--sf-text-sm)}
.sf-developer-facts dd{min-width:0;margin:0;color:var(--sf-ink);font-size:var(--sf-text-sm);overflow-wrap:anywhere}
.sf-developer-link-list{border-top:1px solid var(--sf-line)}
.sf-developer-link-list a{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid var(--sf-line);color:var(--sf-ink)}
.sf-developer-link-list a:hover strong{text-decoration:underline;text-underline-offset:3px}
.sf-developer-link-list strong{font-size:var(--sf-text-base);font-weight:var(--sf-weight-semibold)}
.sf-developer-link-list span{color:var(--sf-muted);font-size:var(--sf-text-sm);line-height:var(--sf-leading)}
.sf-developer-note{margin:16px 0 0;padding:12px 16px;background:var(--sf-surface-alt);color:var(--sf-ink-soft);font-size:var(--sf-text-sm);line-height:var(--sf-leading-relaxed)}
.sf-developer-subsection{display:grid;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--sf-line)}
.sf-developer-subsection:last-child{padding-bottom:0;border-bottom:0}
.sf-developer-subsection h3{font-size:var(--sf-text-base);font-weight:var(--sf-weight-semibold)}
.sf-developer-main .sf-business-section-head h3{font-size:var(--sf-text-base)}

/* API documentation */
.sf-api-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:32px;align-items:start}
.sf-api-nav{position:sticky;top:88px;border-top:1px solid var(--sf-line)}
.sf-api-nav a{display:block;padding:11px 4px;border-bottom:1px solid var(--sf-line);color:var(--sf-muted);font-size:var(--sf-text-sm);line-height:1.5}
.sf-api-nav a:hover{background:var(--sf-surface-alt);color:var(--sf-ink)}
.sf-api-sections{min-width:0;border:1px solid var(--sf-line);background:var(--sf-surface)}
.sf-api-section{min-width:0;padding:28px;border-bottom:1px solid var(--sf-line);scroll-margin-top:88px}
.sf-api-section:last-child{border-bottom:0}
.sf-api-section>p{max-width:75ch;margin-top:14px;color:var(--sf-ink-soft);line-height:var(--sf-leading-relaxed)}
.sf-api-section code{font-family:var(--sf-mono)}
.sf-developer-credentials{margin-bottom:20px}
.sf-developer-key{display:inline-block;max-width:100%;font-size:var(--sf-text-sm);overflow-wrap:anywhere;word-break:break-all}
.sf-developer-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.sf-api-code{max-width:100%;margin:18px 0 0;padding:16px;border:1px solid var(--sf-line);background:var(--sf-surface-alt);color:var(--sf-ink-soft);font-family:var(--sf-mono);font-size:var(--sf-text-sm);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.sf-api-code code{font:inherit;white-space:inherit}
.sf-api-endpoints{margin-top:18px;border-top:1px solid var(--sf-line)}
.sf-api-endpoints article{padding:18px 0;border-bottom:1px solid var(--sf-line)}
.sf-api-endpoints article:last-child{border-bottom:0}
.sf-api-endpoints p{max-width:75ch;margin-top:10px;color:var(--sf-muted);line-height:var(--sf-leading-relaxed)}
.sf-api-endpoint{display:inline-block;max-width:100%;padding:9px 12px;background:var(--sf-surface-alt);color:var(--sf-ink);font-size:var(--sf-text-sm);line-height:1.6;overflow-wrap:anywhere;word-break:break-word}
.sf-api-checklist{display:grid;gap:10px;max-width:75ch;margin:0;padding-left:22px;color:var(--sf-ink-soft);line-height:var(--sf-leading-relaxed)}

/* Protected API access controls */
.sf-developer-subnav{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:20px;border-bottom:1px solid var(--sf-line)}
.sf-developer-subnav a{min-height:44px;padding:10px 2px;border-bottom:2px solid transparent;color:var(--sf-muted);font-size:var(--sf-text-sm)}
.sf-developer-subnav a:hover,
.sf-developer-subnav a.active{border-bottom-color:var(--sf-ink);color:var(--sf-ink)}
.sf-developer-access{min-width:0}
.sf-developer-access #ipwl-app{min-width:0;overflow-wrap:anywhere}
.sf-developer-access .ipwl__loading{padding:24px;background:var(--sf-surface-alt);color:var(--sf-muted);font-size:var(--sf-text-sm);text-align:center}
.sf-developer-access .ipwl__status{padding:12px 14px;border:1px solid var(--sf-info-border);border-radius:var(--sf-radius);background:var(--sf-info-soft);color:var(--sf-info);font-size:var(--sf-text-sm)}
.sf-developer-access .ipwl__item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--sf-line);color:var(--sf-ink-soft)}
.sf-developer-access .ipwl__item code{font-family:var(--sf-mono);color:var(--sf-ink);overflow-wrap:anywhere;user-select:all}
.sf-developer-access .ipwl__ico{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid var(--sf-line);border-radius:var(--sf-radius-sm);background:var(--sf-surface-alt);color:var(--sf-muted)}
.sf-developer-access .ipwl__del{min-height:36px;margin-left:auto;padding:6px 10px;border:1px solid var(--sf-danger-border);border-radius:var(--sf-radius-sm);background:var(--sf-danger-soft);color:var(--sf-danger);cursor:pointer}
.sf-developer-access .ipwl__empty,.sf-developer-access .ipwl__denied{display:grid;place-items:center;min-height:160px;padding:var(--sf-space-7);color:var(--sf-muted);text-align:center}
.sf-developer-access .ipwl__tip{margin-top:12px;color:var(--sf-muted);font-size:var(--sf-text-sm);line-height:var(--sf-leading-relaxed)}
.sf-developer-account .sf-empty{min-height:180px}
.sf-developer-account .sf-empty p{margin-top:8px}

/* IpWhitelistPanel is also mounted inline by TOTP; keep every state semantic. */
.sf-body .ipwl__count{border-color:var(--sf-line);background:var(--sf-surface-alt);color:var(--sf-muted)}
.sf-body .ipwl__status{border:1px solid var(--sf-line);background:var(--sf-surface-alt);color:var(--sf-muted)}
.sf-body .ipwl__status.is-on{border-color:var(--sf-success-border);background:var(--sf-success-soft);color:var(--sf-success)}
.sf-body .ipwl__status.is-warn{border-color:var(--sf-warning-border);background:var(--sf-warning-soft);color:var(--sf-warning)}
.sf-body .ipwl__empty{border:1px solid var(--sf-warning-border);background:var(--sf-warning-soft);color:var(--sf-warning)}
.sf-body .ipwl__empty.is-quiet{border-color:var(--sf-line);background:var(--sf-surface-alt);color:var(--sf-muted)}
.sf-body .ipwl--page .ipwl__empty{border-style:dashed;border-color:var(--sf-line-strong);background:var(--sf-surface-alt);color:var(--sf-muted)}
.sf-body .ipwl__denied-title{color:var(--sf-warning)}
.sf-body .ipwl--page .ipwl__denied{border-color:var(--sf-warning-border);background:var(--sf-warning-soft)}
.sf-body .ipwl__meta .is-live{color:var(--sf-success)}
.sf-body .ipwl__del:hover,.sf-body .ipwl__del:focus-visible{background:var(--sf-danger-soft);color:var(--sf-danger)}
.sf-body .ipwl__tip{border-color:var(--sf-line);background:var(--sf-surface-alt)}
.sf-body .ipwl__in-ip,.sf-body .ipwl__in-note{background:var(--sf-surface);color:var(--sf-ink)}
@media (max-width:560px){
  .sf-body .ipwl__head{align-items:flex-start;flex-wrap:wrap}
  .sf-body .ipwl__item{align-items:flex-start;flex-wrap:wrap}
  .sf-body .ipwl__main{flex-basis:calc(100% - 50px)}
  .sf-body .ipwl__del{margin-left:auto}
}

@media (max-width:960px){
  .sf-api-layout{grid-template-columns:minmax(0,1fr);gap:20px}
  .sf-api-nav{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--sf-line)}
  .sf-api-nav a{padding:10px 12px;border-right:1px solid var(--sf-line)}
  .sf-api-nav a:nth-child(3n){border-right:0}
  .sf-api-section{scroll-margin-top:24px}
}

@media (max-width:720px){
  .sf-developer-main .sf-page-head,
  .sf-developer-page-head{margin-bottom:20px}
  .sf-developer-main .sf-business-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sf-developer-main .sf-business-tab{border-bottom:1px solid var(--sf-line)}
  .sf-developer-main .sf-business-tab:nth-child(2n){border-right:0}
  .sf-developer-main .sf-business-tab:last-child:nth-child(odd){grid-column:1/-1}
  .sf-developer-overview{grid-template-columns:minmax(0,1fr);gap:28px}
  .sf-developer-overview>section+section{padding:28px 0 0;border-top:1px solid var(--sf-line);border-left:0}
  .sf-api-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sf-api-nav a,
  .sf-api-nav a:nth-child(3n){border-right:1px solid var(--sf-line)}
  .sf-api-nav a:nth-child(2n){border-right:0}
  .sf-api-section{padding:20px 16px}
  .sf-api-code{padding:12px;font-size:var(--sf-text-xs)}
  .sf-developer-actions{align-items:stretch;flex-direction:column}
  .sf-developer-actions .sf-button{width:100%}
}

@media (max-width:420px){
  .sf-developer-facts>div{grid-template-columns:minmax(0,1fr);gap:4px}
  .sf-developer-subnav{gap:8px 16px}
}
