.gpp-container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.gpp-page { padding: 48px 0 72px; background: #f6f8fb; color: #1f2937; }
.gpp-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; align-items: start; }
.gpp-sidebar { position: sticky; top: 24px; display: grid; gap: 14px; }
.gpp-side-box { background: #fff; border: 1px solid #d9e2ec; border-radius: 8px; padding: 18px; box-shadow: 0 10px 28px rgba(15, 23, 42, .05); }
.gpp-side-box h2 { margin: 0 0 10px; font-size: 16px; line-height: 1.3; letter-spacing: 0; color: #0f172a; }
.gpp-side-box a { display: block; padding: 8px 0; color: #334155; font-size: 14px; line-height: 1.35; text-decoration: none; border-top: 1px solid #eef2f7; }
.gpp-side-box a:first-of-type { border-top: 0; }
.gpp-mobile-nav { display: none; }
.gpp-article { background: #fff; border: 1px solid #d9e2ec; border-radius: 8px; padding: 34px; box-shadow: 0 14px 34px rgba(15, 23, 42, .06); }
.gpp-article h1 { margin: 0 0 16px; font-size: clamp(30px, 4vw, 44px); line-height: 1.1; letter-spacing: 0; color: #0f172a; }
.gpp-article h2 { margin: 32px 0 14px; font-size: 25px; line-height: 1.25; letter-spacing: 0; color: #0f172a; }
.gpp-article h3 { letter-spacing: 0; color: #172033; }
.gpp-article p, .gpp-article li { line-height: 1.72; }
.gpp-lede { font-size: 18px; color: #475569; }
.gpp-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.gpp-card { display: grid; gap: 7px; border: 1px solid #d9e2ec; border-radius: 8px; padding: 16px; background: #f8fbfa; text-decoration: none; color: inherit; }
.gpp-card h3 { margin: 0; font-size: 18px; }
.gpp-card p { margin: 0; color: #64748b; font-size: 14px; }
.gpp-card span { color: #0f766e; font-weight: 800; font-size: 13px; }
.gpp-db-table, .gpp-spec-table { overflow: auto; border: 1px solid #d9e2ec; border-radius: 8px; background: #fff; }
.gpp-db-table { max-height: 720px; }
.gpp-db-table table { width: max-content; min-width: 100%; border-collapse: collapse; font-size: 13px; }
.gpp-spec-table table { width: 100%; border-collapse: collapse; font-size: 14px; }
.gpp-db-table th, .gpp-db-table td, .gpp-spec-table th, .gpp-spec-table td { padding: 10px 12px; border: 1px solid #e2e8f0; text-align: left; vertical-align: top; }
.gpp-db-table th { position: sticky; top: 0; z-index: 1; background: #f1f5f9; color: #0f172a; }
.gpp-db-table tr { cursor: pointer; }
.gpp-db-table tbody tr:hover { background: #eef8f6; }
.gpp-spec-table th { width: 260px; background: #f8fafc; }
.gpp-link-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 16px 0; }
.gpp-link-grid > div { border: 1px solid #d9e2ec; border-radius: 8px; padding: 16px; background: #fffdf7; }
.gpp-link-grid h3 { margin: 0 0 10px; font-size: 18px; }
.gpp-link-grid a { display: block; padding: 8px 0; color: #0f766e; font-weight: 800; text-decoration: none; border-top: 1px solid #edf2f7; }
.gpp-link-grid a:first-of-type { border-top: 0; }
.gpp-check-list { padding-left: 20px; }
.gpp-faq { border-top: 1px solid #d9e2ec; margin-top: 32px; padding-top: 8px; }
.gpp-faq h3 { margin: 18px 0 6px; font-size: 18px; }
@media (max-width: 980px) {
  .gpp-layout { grid-template-columns: 1fr; }
  .gpp-sidebar { position: static; }
  .gpp-desktop-nav { display: none; }
  .gpp-mobile-nav { display: grid; gap: 8px; background: #fff; border: 1px solid #d9e2ec; border-radius: 8px; padding: 14px; }
  .gpp-mobile-nav label { font-weight: 800; color: #0f172a; }
  .gpp-mobile-nav select { width: 100%; min-height: 42px; border: 1px solid #cbd5e1; border-radius: 8px; padding: 8px 10px; background: #fff; }
  .gpp-card-grid, .gpp-link-grid { grid-template-columns: 1fr; }
  .gpp-article { padding: 24px; }
}
@media (max-width: 640px) {
  .gpp-container { width: min(100% - 22px, 1180px); }
  .gpp-page { padding: 28px 0 48px; }
  .gpp-article { padding: 20px; }
}
