:root {
  --landing-ink: #102a56;
  --landing-muted: #667895;
  --landing-blue: #2586f4;
  --landing-blue-dark: #1466c5;
  --landing-surface: #ffffff;
  --landing-background: #f5f8fc;
  --landing-line: #e2eaf4;
  --landing-shadow: 0 18px 50px rgba(16, 42, 86, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.landing-body {
  min-width: 320px;
  margin: 0;
  color: var(--landing-ink);
  background: var(--landing-background);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.landing-shell { min-height: 100vh; overflow: hidden; }
.landing-container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.landing-header { position: relative; z-index: 2; border-bottom: 1px solid rgba(226, 234, 244, .86); background: rgba(255, 255, 255, .88); backdrop-filter: blur(14px); }
.landing-header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 74px; gap: 24px; }
.landing-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--landing-ink); font-size: 19px; font-weight: 800; letter-spacing: -.04em; text-decoration: none; }
.landing-brand-mark { display: grid; width: 34px; height: 34px; place-items: center; color: #fff; border-radius: 10px; background: linear-gradient(145deg, #49a4ff, #176bc8); box-shadow: 0 8px 18px rgba(37, 134, 244, .24); }
.landing-nav { display: flex; align-items: center; gap: 26px; }
.landing-nav a { color: var(--landing-muted); font-size: 14px; text-decoration: none; }
.landing-nav a:hover { color: var(--landing-blue); }
.landing-header-actions { display: flex; align-items: center; gap: 12px; }
.landing-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 18px; gap: 8px; border: 1px solid transparent; border-radius: 8px; color: #fff; background: var(--landing-blue); font: inherit; font-size: 14px; font-weight: 700; text-decoration: none; cursor: pointer; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.landing-button:hover { color: #fff; background: var(--landing-blue-dark); box-shadow: 0 10px 22px rgba(37, 134, 244, .24); transform: translateY(-1px); }
.landing-button-secondary { color: var(--landing-ink); border-color: #cdd9e8; background: #fff; }
.landing-button-secondary:hover { color: var(--landing-blue); background: #fff; }
.landing-button-large { min-height: 48px; padding: 0 22px; }
.landing-hero { position: relative; padding: 92px 0 84px; background: linear-gradient(180deg, #fff 0%, #f5f8fc 100%); }
.landing-hero::before, .landing-hero::after { position: absolute; z-index: 0; width: 360px; height: 360px; border-radius: 50%; background: rgba(67, 157, 250, .08); content: ""; filter: blur(2px); }
.landing-hero::before { top: -170px; right: -100px; }
.landing-hero::after { bottom: -240px; left: -160px; width: 420px; height: 420px; background: rgba(96, 119, 208, .06); }
.landing-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); align-items: center; gap: 72px; }
.landing-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; color: var(--landing-blue-dark); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.landing-eyebrow i { font-size: 15px; }
.landing-hero h1 { max-width: 650px; margin: 0; font-size: clamp(38px, 5vw, 62px); line-height: 1.06; letter-spacing: -.055em; }
.landing-hero h1 span { color: var(--landing-blue); }
.landing-hero-copy { max-width: 590px; margin: 22px 0 0; color: var(--landing-muted); font-size: 18px; line-height: 1.65; }
.landing-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.landing-hero-note { display: flex; align-items: center; gap: 8px; margin: 18px 0 0; color: #7b8aa2; font-size: 13px; }
.landing-hero-note i { color: #25a56a; }
.landing-preview { position: relative; padding: 14px; border: 1px solid rgba(213, 225, 239, .92); border-radius: 18px; background: rgba(255, 255, 255, .74); box-shadow: var(--landing-shadow); transform: rotate(1.5deg); }
.landing-preview-window { overflow: hidden; border: 1px solid var(--landing-line); border-radius: 12px; background: #fff; }
.landing-preview-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--landing-line); }
.landing-preview-dots { display: flex; gap: 5px; }
.landing-preview-dots i { width: 7px; height: 7px; border-radius: 50%; background: #cbd8e8; }
.landing-preview-dots i:first-child { background: #ffb252; }
.landing-preview-dots i:nth-child(2) { background: #66c997; }
.landing-preview-title { color: var(--landing-ink); font-size: 12px; font-weight: 700; }
.landing-preview-body { display: grid; grid-template-columns: 74px 1fr; min-height: 288px; }
.landing-preview-sidebar { padding: 16px 13px; background: #1f2234; }
.landing-preview-sidebar i { display: block; margin: 0 auto 21px; color: #6baeff; font-size: 16px; text-align: center; }
.landing-preview-sidebar i:first-child { color: #fff; }
.landing-preview-content { padding: 20px; background: #f6f8fb; }
.landing-preview-content h3 { margin: 0; color: var(--landing-ink); font-size: 17px; }
.landing-preview-content p { margin: 7px 0 18px; color: #7b8aa2; font-size: 11px; }
.landing-preview-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.landing-preview-metric { padding: 11px 9px; border: 1px solid var(--landing-line); border-radius: 8px; background: #fff; }
.landing-preview-metric strong { display: block; color: var(--landing-ink); font-size: 19px; }
.landing-preview-metric span { display: block; margin-top: 4px; color: #8090a7; font-size: 9px; }
.landing-preview-card { margin-top: 13px; padding: 14px; border: 1px solid var(--landing-line); border-radius: 8px; background: #fff; }
.landing-preview-card-heading { display: flex; align-items: center; justify-content: space-between; color: var(--landing-ink); font-size: 11px; font-weight: 700; }
.landing-preview-status { padding: 4px 7px; color: #b86a00; border-radius: 99px; background: #fff2df; font-size: 9px; font-weight: 600; }
.landing-preview-line { display: grid; grid-template-columns: 1fr 1fr 56px; gap: 8px; margin-top: 15px; }
.landing-preview-line span { height: 7px; border-radius: 99px; background: #e6edf6; }
.landing-preview-line span:last-child { background: #a8d2ff; }
.landing-section { padding: 88px 0; }
.landing-section-heading { max-width: 680px; margin: 0 auto 40px; text-align: center; }
.landing-section-heading h2 { margin: 0; font-size: clamp(28px, 3.4vw, 40px); letter-spacing: -.045em; }
.landing-section-heading p { margin: 14px 0 0; color: var(--landing-muted); line-height: 1.65; }
.landing-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.landing-feature { min-height: 214px; padding: 26px; border: 1px solid var(--landing-line); border-radius: 12px; background: var(--landing-surface); box-shadow: 0 8px 28px rgba(16, 42, 86, .04); }
.landing-feature-icon { display: grid; width: 42px; height: 42px; margin-bottom: 20px; place-items: center; color: var(--landing-blue); border-radius: 10px; background: #eaf4ff; font-size: 19px; }
.landing-feature h3 { margin: 0; font-size: 17px; }
.landing-feature p { margin: 10px 0 0; color: var(--landing-muted); font-size: 14px; line-height: 1.65; }
.landing-plans-section { background: #fff; }
.landing-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; }
.landing-plan { position: relative; min-height: 285px; padding: 28px; border: 1px solid #cfe1f6; border-radius: 14px; background: linear-gradient(160deg, #fff, #f7fbff); box-shadow: 0 12px 35px rgba(37, 134, 244, .08); }
.landing-plan::before { position: absolute; top: 0; right: 28px; left: 28px; height: 3px; border-radius: 0 0 4px 4px; background: var(--landing-blue); content: ""; }
.landing-plan h3 { margin: 4px 0 0; font-size: 22px; }
.landing-plan-code { margin: 7px 0 20px; color: var(--landing-blue); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.landing-plan-credits { display: flex; align-items: baseline; gap: 7px; }
.landing-plan-credits strong { font-size: 42px; line-height: 1; letter-spacing: -.05em; }
.landing-plan-credits span { color: var(--landing-muted); font-size: 13px; }
.landing-plan p { margin: 18px 0 0; color: var(--landing-muted); font-size: 14px; line-height: 1.6; }
.landing-plan-link { display: inline-flex; margin-top: 22px; color: var(--landing-blue-dark); font-size: 14px; font-weight: 700; text-decoration: none; }
.landing-plans-loading { grid-column: 1 / -1; padding: 28px; color: var(--landing-muted); border: 1px dashed #cbd9e9; border-radius: 12px; text-align: center; }
.landing-cta { padding: 36px 0 88px; }
.landing-cta-card { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 42px 48px; border-radius: 16px; color: #fff; background: linear-gradient(125deg, #123363, #1d6cc7); box-shadow: var(--landing-shadow); }
.landing-cta-card h2 { margin: 0; color: #fff; font-size: clamp(24px, 3vw, 34px); letter-spacing: -.04em; }
.landing-cta-card p { max-width: 590px; margin: 10px 0 0; color: #d8e7fb; line-height: 1.6; }
.landing-cta-card .landing-button { flex: 0 0 auto; color: var(--landing-ink); background: #fff; }
.landing-cta-card .landing-button:hover { color: var(--landing-blue-dark); background: #f1f7ff; }
.landing-footer { padding: 24px 0; border-top: 1px solid var(--landing-line); background: #fff; }
.landing-footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #7b8aa2; font-size: 13px; }
.landing-footer a { color: var(--landing-blue-dark); text-decoration: none; }

@media (max-width: 900px) {
  .landing-hero-grid { grid-template-columns: 1fr; gap: 46px; }
  .landing-hero-copy { max-width: 680px; }
  .landing-preview { max-width: 600px; margin: 0 auto; width: 100%; }
}
@media (max-width: 720px) {
  .landing-container { width: min(100% - 28px, 560px); }
  .landing-header-inner { min-height: 68px; }
  .landing-nav { display: none; }
  .landing-header-actions .landing-button-secondary { display: none; }
  .landing-hero { padding: 65px 0 58px; }
  .landing-hero h1 { font-size: 42px; }
  .landing-hero-copy { font-size: 16px; }
  .landing-section { padding: 64px 0; }
  .landing-features { grid-template-columns: 1fr; }
  .landing-cta { padding: 12px 0 64px; }
  .landing-cta-card { align-items: flex-start; flex-direction: column; padding: 30px 26px; }
  .landing-footer-inner { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 460px) {
  .landing-preview-body { grid-template-columns: 54px 1fr; }
  .landing-preview-sidebar { padding: 16px 8px; }
  .landing-preview-content { padding: 15px; }
  .landing-preview-metrics { gap: 5px; }
  .landing-preview-metric { padding: 9px 6px; }
  .landing-preview-metric strong { font-size: 16px; }
}

/* CBTRADE admin panel: styles incrementais compartilhados com o restante do site. */
.cbtrade-admin-body { min-height: 100vh; margin: 0; color: #15345f; background: #f3f6fa; font-family: inherit; }
.cbtrade-admin-shell { width: min(100% - 40px, 1180px); margin: 0 auto; }
.cbtrade-admin-shell-login { display: grid; min-height: 100vh; padding: 32px 0; place-items: center; }
.cbtrade-admin-login-card { width: min(100%, 440px); padding: 42px; border: 1px solid #dce6f1; border-radius: 16px; background: #fff; box-shadow: 0 18px 50px rgba(23, 57, 96, .1); }
.cbtrade-admin-brand { display: inline-flex; align-items: center; gap: 10px; color: #1681f8; font-size: 20px; font-weight: 800; letter-spacing: -.03em; text-decoration: none; }
.cbtrade-admin-brand-mark { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: #fff; background: #3b98f5; font-size: 17px; }
.cbtrade-admin-eyebrow { margin: 30px 0 8px; color: #398ee6; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cbtrade-admin-login-card h1, .cbtrade-admin-page-heading h1 { margin: 0; color: #123563; font-size: clamp(26px, 4vw, 34px); letter-spacing: -.04em; }
.cbtrade-admin-description { margin: 10px 0 0; color: #71849d; line-height: 1.6; }
.cbtrade-admin-form { display: grid; gap: 9px; margin-top: 28px; }
.cbtrade-admin-form label { margin-top: 8px; color: #3c5575; font-size: 13px; font-weight: 700; }
.cbtrade-admin-input { width: 100%; box-sizing: border-box; min-height: 46px; padding: 11px 13px; border: 1px solid #cbd9e9; border-radius: 8px; color: #173c6a; background: #fff; font: inherit; outline: none; transition: border-color .15s ease, box-shadow .15s ease; }
.cbtrade-admin-input:focus { border-color: #3d98f6; box-shadow: 0 0 0 3px rgba(61, 152, 246, .15); }
.cbtrade-admin-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 10px 17px; border: 1px solid transparent; border-radius: 8px; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; transition: background-color .15s ease, border-color .15s ease, color .15s ease, opacity .15s ease; }
.cbtrade-admin-button:disabled { opacity: .6; cursor: wait; }
.cbtrade-admin-button-primary { margin-top: 18px; color: #fff; background: #3b98f5; }
.cbtrade-admin-button-primary:hover { background: #2586e8; }
.cbtrade-admin-button-secondary { color: #31547f; border-color: #cbd9e9; background: #fff; }
.cbtrade-admin-button-secondary:hover { border-color: #9fb9d8; background: #f5f9fd; }
.cbtrade-admin-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 76px; padding: 0 max(20px, calc((100% - 1180px) / 2)); border-bottom: 1px solid #dce6f1; background: #fff; }
.cbtrade-admin-header-actions { display:flex; align-items:center; gap:9px; }
.cbtrade-admin-shell-dashboard { padding: 55px 0 80px; }
.cbtrade-admin-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.cbtrade-admin-page-heading .cbtrade-admin-eyebrow { margin-top: 0; }
.cbtrade-admin-period { padding: 8px 12px; border: 1px solid #dce6f1; border-radius: 999px; color: #67809e; background: #fff; font-size: 13px; white-space: nowrap; }
.cbtrade-admin-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
.cbtrade-admin-card { min-height: 190px; padding: 25px; border: 1px solid #dce6f1; border-radius: 14px; background: #fff; box-shadow: 0 8px 25px rgba(23, 57, 96, .05); }
.cbtrade-admin-card-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 11px; font-size: 19px; }
.cbtrade-admin-card-icon-blue { color: #2187eb; background: #e9f4ff; }
.cbtrade-admin-card-icon-purple { color: #7555d8; background: #f0edff; }
.cbtrade-admin-card-icon-green { color: #2caa70; background: #e7f8ef; }
.cbtrade-admin-card-icon-orange { color: #d88319; background: #fff3df; }
.cbtrade-admin-card-label { min-height: 40px; margin: 20px 0 5px; color: #58718f; font-size: 14px; line-height: 1.45; }
.cbtrade-admin-card-value { display: block; color: #123563; font-size: 32px; letter-spacing: -.04em; }
.cbtrade-admin-card-meta { display: block; margin-top: 8px; color: #91a1b4; font-size: 12px; }
.cbtrade-admin-toast-region { position: fixed; z-index: 1000; right: 24px; bottom: 24px; display: grid; gap: 10px; width: min(380px, calc(100vw - 32px)); }
.cbtrade-admin-toast { display: flex; align-items: flex-start; gap: 10px; padding: 14px 16px; border: 1px solid transparent; border-radius: 9px; color: #fff; box-shadow: 0 12px 30px rgba(23, 57, 96, .2); font-size: 14px; line-height: 1.4; animation: cbtrade-admin-toast-in .18s ease-out; }
.cbtrade-admin-toast i { margin-top: 1px; font-size: 16px; }
.cbtrade-admin-toast-error { border-color: #d23838; background: #db4545; }
.cbtrade-admin-toast-success { border-color: #268c5d; background: #2e9c69; }
@keyframes cbtrade-admin-toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 980px) {
  .cbtrade-admin-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .cbtrade-admin-shell { width: min(100% - 28px, 520px); }
  .cbtrade-admin-login-card { padding: 30px 24px; }
  .cbtrade-admin-header { min-height: 68px; padding: 0 14px; }
  .cbtrade-admin-header-actions .cbtrade-admin-button { min-height:38px; padding:8px 10px; }
  .cbtrade-admin-header .cbtrade-admin-brand { font-size: 17px; }
  .cbtrade-admin-header .cbtrade-admin-brand-mark { width: 30px; height: 30px; }
  .cbtrade-admin-shell-dashboard { padding-top: 36px; }
  .cbtrade-admin-page-heading { align-items: flex-start; flex-direction: column; }
  .cbtrade-admin-metrics { grid-template-columns: 1fr; gap: 13px; margin-top: 26px; }
  .cbtrade-admin-card { min-height: 0; }
  .cbtrade-admin-toast-region { right: 16px; bottom: 16px; width: calc(100vw - 32px); }
}

/* CBTRADE admin operational overview: incremental styles for the consolidated dashboard. */
.cbtrade-admin-snapshot { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:18px; }
.cbtrade-admin-snapshot > div { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:15px 17px; border:1px solid #dce6f1; border-radius:10px; background:#fff; }
.cbtrade-admin-snapshot span { color:#71849d; font-size:12px; line-height:1.4; }
.cbtrade-admin-snapshot strong { color:#123563; font-size:21px; }
.cbtrade-admin-overview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:18px; }
.cbtrade-admin-overview-grid-wide { grid-template-columns:1.2fr 1fr; }
.cbtrade-admin-panel { min-width:0; padding:24px; border:1px solid #dce6f1; border-radius:14px; background:#fff; box-shadow:0 8px 25px rgba(23,57,96,.05); }
.cbtrade-admin-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:17px; border-bottom:1px solid #edf1f6; }
.cbtrade-admin-panel-heading h2 { margin:3px 0 0; color:#173b68; font-size:17px; }
.cbtrade-admin-panel-heading > i { color:#398ee6; font-size:21px; }
.cbtrade-admin-panel-kicker { margin:0; color:#398ee6; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.cbtrade-admin-status-list,.cbtrade-admin-chart-list { display:grid; gap:16px; padding-top:19px; }
.cbtrade-admin-status-item,.cbtrade-admin-chart-item { min-width:0; }
.cbtrade-admin-status-line { display:flex; justify-content:space-between; gap:12px; color:#58718f; font-size:13px; line-height:1.4; }
.cbtrade-admin-status-line strong { color:#173b68; }
.cbtrade-admin-progress { height:7px; margin-top:8px; overflow:hidden; border-radius:99px; background:#edf2f7; }
.cbtrade-admin-progress span { display:block; height:100%; border-radius:inherit; background:#8eb8e8; }
.cbtrade-admin-progress-blue span { background:#3b98f5; }
.cbtrade-admin-muted { color:#91a1b4; font-size:13px; }
.cbtrade-admin-plan-item { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0; border-bottom:1px solid #edf1f6; color:#173b68; }
.cbtrade-admin-plan-item:last-child { border-bottom:0; }
.cbtrade-admin-plan-item div { display:grid; gap:4px; }
.cbtrade-admin-plan-item span { color:#91a1b4; font-size:12px; }
.cbtrade-admin-table-wrap { overflow-x:auto; padding-top:11px; }
.cbtrade-admin-table { width:100%; border-collapse:collapse; color:#58718f; font-size:12px; }
.cbtrade-admin-table th,.cbtrade-admin-table td { padding:12px 9px; border-bottom:1px solid #edf1f6; text-align:left; vertical-align:middle; white-space:nowrap; }
.cbtrade-admin-table th { color:#71849d; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.cbtrade-admin-table td strong,.cbtrade-admin-table td small { display:block; }
.cbtrade-admin-table td strong { color:#173b68; font-size:12px; }
.cbtrade-admin-table td small { margin-top:4px; color:#91a1b4; font-size:11px; }
.cbtrade-admin-status-badge { display:inline-block; max-width:180px; overflow:hidden; padding:5px 8px; border-radius:6px; color:#3d6e9e; background:#edf5fd; text-overflow:ellipsis; white-space:nowrap; }
.cbtrade-admin-last-updated { margin:18px 0 0; color:#91a1b4; font-size:12px; text-align:right; }
@media (max-width:980px) {
  .cbtrade-admin-snapshot { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cbtrade-admin-overview-grid-wide { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .cbtrade-admin-snapshot { grid-template-columns:1fr; }
  .cbtrade-admin-overview-grid { grid-template-columns:1fr; }
  .cbtrade-admin-panel { padding:18px 15px; }
  .cbtrade-admin-table th,.cbtrade-admin-table td { padding-right:7px; padding-left:7px; }
}

/* Identificador numérico da importadora no cabeçalho do dashboard. */
.dashboard-credits { order: 1; }
.dashboard-importer-id { order: 2; display: inline-flex; align-items: center; gap: 8px; margin-left: 2px; padding: 7px 8px 7px 11px; border: 1px solid #e4e7ed; border-radius: 6px; color: #606266; background: #fff; font-size: 13px; white-space: nowrap; }
.dashboard-importer-id strong { color: #173b68; font-weight: 700; letter-spacing: .02em; }
.dashboard-importer-id[hidden] { display: none; }
.dashboard-importer-id-copy { display: inline-grid; width: 26px; height: 26px; padding: 0; place-items: center; border: 1px solid #b9d9fa; border-radius: 5px; color: #2586e8; background: #f1f8ff; font: inherit; font-size: 14px; cursor: pointer; }
.dashboard-importer-id-copy:hover { border-color: #409eff; color: #fff; background: #409eff; }
.dashboard-importer-id-copy:focus-visible { outline: 2px solid #409eff; outline-offset: 2px; }
@media (max-width: 760px) {
  .dashboard-importer-id { padding-left: 8px; font-size: 12px; }
}

/* Documentação pública da API CBTRADE. */
.cbtrade-api-docs-body { margin: 0; background: #f4f7fb; color: #17345d; font-family: inherit; }
.cbtrade-api-docs-header { min-height: 72px; padding: 0 6vw; display: flex; align-items: center; justify-content: space-between; background: #17223b; color: #fff; }
.cbtrade-api-docs-brand { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-size: 20px; font-weight: 800; text-decoration: none; }
.cbtrade-api-docs-brand-mark { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: #3d9bff; }
.cbtrade-api-docs-login { color: #dbeafe; text-decoration: none; font-size: 14px; }
.cbtrade-api-docs-login:hover { color: #fff; }
.cbtrade-api-docs-layout { width: min(1220px, calc(100% - 48px)); margin: 0 auto; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 48px; }
.cbtrade-api-docs-sidebar { position: sticky; top: 24px; align-self: start; padding: 34px 0; }
.cbtrade-api-docs-sidebar-label { margin: 0 0 14px; color: #7a8ba5; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cbtrade-api-docs-sidebar a { display: block; padding: 9px 12px; color: #536985; border-left: 2px solid transparent; font-size: 14px; text-decoration: none; }
.cbtrade-api-docs-sidebar a:hover { color: #2e8df5; border-left-color: #2e8df5; background: #eaf3ff; }
.cbtrade-api-docs-content { min-width: 0; padding: 52px 0 84px; }
.cbtrade-api-docs-hero { padding: 38px 42px; border: 1px solid #dce6f2; border-radius: 18px; background: linear-gradient(135deg, #fff 0%, #eef6ff 100%); box-shadow: 0 14px 35px rgba(23, 52, 93, .07); }
.cbtrade-api-docs-eyebrow { color: #258cf2; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cbtrade-api-docs-hero h1 { margin: 14px 0 10px; color: #102f58; font-size: clamp(30px, 4vw, 48px); line-height: 1.1; }
.cbtrade-api-docs-hero p { max-width: 700px; margin: 0; color: #5e7390; font-size: 17px; line-height: 1.6; }
.cbtrade-api-docs-section { padding: 42px 0 10px; scroll-margin-top: 20px; }
.cbtrade-api-docs-section h2 { margin: 0 0 16px; color: #123762; font-size: 27px; }
.cbtrade-api-docs-section h3 { margin: 26px 0 10px; color: #21466f; font-size: 17px; }
.cbtrade-api-docs-section p { color: #536985; line-height: 1.7; }
.cbtrade-api-docs-section code { padding: 2px 5px; border-radius: 4px; background: #e8eef7; color: #234d7d; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .9em; }
.cbtrade-api-docs-section pre { overflow-x: auto; margin: 16px 0; padding: 18px 20px; border: 1px solid #d9e3ef; border-radius: 10px; background: #17223b; color: #e8f2ff; line-height: 1.6; }
.cbtrade-api-docs-section pre code { padding: 0; background: transparent; color: inherit; font-size: 13px; }
.cbtrade-api-docs-callout { display: flex; gap: 12px; align-items: flex-start; margin-top: 22px; padding: 15px 17px; border: 1px solid #b9dbff; border-radius: 10px; background: #eef7ff; color: #315e8b; }
.cbtrade-api-docs-callout i { color: #258cf2; font-size: 18px; }
.cbtrade-api-docs-endpoint { display: flex; align-items: center; gap: 12px; margin-top: 26px; padding: 14px 16px; border: 1px solid #dce6f2; border-radius: 9px; background: #fff; }
.cbtrade-api-method { min-width: 52px; padding: 4px 7px; border-radius: 5px; color: #fff; font-size: 11px; font-weight: 800; text-align: center; }
.cbtrade-api-method.get { background: #268bdf; }
.cbtrade-api-method.patch { background: #8c5bd6; }
.cbtrade-api-docs-status-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(240px, .6fr); gap: 30px; }
.cbtrade-api-docs-status-grid ol { columns: 2; margin: 0; padding-left: 24px; color: #536985; line-height: 1.9; }
.cbtrade-api-docs-status-grid > div:last-child ol { columns: 1; }
.cbtrade-api-docs-error-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cbtrade-api-docs-error-list div { display: flex; gap: 12px; padding: 12px 14px; border: 1px solid #dce6f2; border-radius: 8px; background: #fff; color: #536985; }
.cbtrade-api-docs-error-list strong { color: #d65a5a; }
.api-documentation-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 15px; color: #267fd2; font-size: 14px; font-weight: 700; text-decoration: none; }
.api-documentation-link:hover { color: #145a9d; text-decoration: underline; }
@media (max-width: 820px) { .cbtrade-api-docs-layout { display: block; width: min(100% - 32px, 720px); } .cbtrade-api-docs-sidebar { position: static; display: flex; flex-wrap: wrap; gap: 4px; padding: 22px 0 0; } .cbtrade-api-docs-sidebar-label { width: 100%; } .cbtrade-api-docs-sidebar a { padding: 7px 9px; border-left: 0; border-radius: 6px; } .cbtrade-api-docs-content { padding-top: 24px; } .cbtrade-api-docs-status-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .cbtrade-api-docs-header { padding: 0 16px; } .cbtrade-api-docs-login { font-size: 0; } .cbtrade-api-docs-login i { font-size: 18px; } .cbtrade-api-docs-hero { padding: 28px 22px; } .cbtrade-api-docs-section { padding-top: 30px; } .cbtrade-api-docs-status-grid ol { columns: 1; } .cbtrade-api-docs-error-list { grid-template-columns: 1fr; } }

/* Painel administrativo: mesma linguagem visual e navegação do painel da importadora. */
.cbtrade-admin-app { min-height: 100vh; }
.cbtrade-admin-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; display: flex; width: 220px; flex-direction: column; overflow: hidden; color: #fff; background: #1f2234; transition: width .28s ease; }
.cbtrade-admin-sidebar-brand { min-height: 92px; padding: 22px 22px 12px; border-bottom: 1px solid rgba(255,255,255,.08); box-sizing: border-box; }
.cbtrade-admin-sidebar-brand .cbtrade-admin-brand { color: #409eff; font-size: 22px; }
.cbtrade-admin-sidebar-brand .cbtrade-admin-brand-mark { width: 28px; height: 28px; border-radius: 7px; font-size: 14px; }
.cbtrade-admin-sidebar-brand p { margin: 8px 0 0; color: #aeb9cc; font-size: 11px; white-space: nowrap; }
.cbtrade-admin-nav { flex: 1; padding: 8px 0; overflow-y: auto; }
.cbtrade-admin-nav a, .cbtrade-admin-sidebar-footer button { display: flex; width: 100%; min-height: 56px; box-sizing: border-box; align-items: center; gap: 13px; padding: 0 24px; border: 0; color: #f1f5fb; background: transparent; font: inherit; font-size: 14px; text-align: left; text-decoration: none; cursor: pointer; transition: background .15s ease, color .15s ease, padding .28s ease; }
.cbtrade-admin-nav a i, .cbtrade-admin-sidebar-footer button i { width: 18px; flex: 0 0 18px; color: #d9e5f6; font-size: 17px; text-align: center; }
.cbtrade-admin-nav a:hover, .cbtrade-admin-sidebar-footer button:hover { color: #fff; background: #292d44; }
.cbtrade-admin-nav a.is-active { color: #409eff; background: #292d44; box-shadow: inset 3px 0 0 #409eff; }
.cbtrade-admin-nav a.is-active i { color: #409eff; }
.cbtrade-admin-nav a.is-placeholder { color: #d1d9e6; }
.cbtrade-admin-nav a.is-placeholder span::after { content: 'Em breve'; display: inline-block; margin-left: 7px; padding: 2px 5px; border-radius: 4px; color: #aeb9cc; background: rgba(255,255,255,.08); font-size: 9px; vertical-align: middle; }
.cbtrade-admin-sidebar-footer { border-top: 1px solid rgba(255,255,255,.08); }
.cbtrade-admin-main { min-width: 0; min-height: 100vh; margin-left: 220px; transition: margin-left .28s ease; }
.cbtrade-admin-header { padding-left: max(20px, calc((100% - 1180px) / 2)); }
.cbtrade-admin-header-left { display: flex; min-width: 0; align-items: center; gap: 12px; }
.cbtrade-admin-sidebar-toggle { display: inline-grid; width: 32px; height: 32px; padding: 0; place-items: center; border: 0; border-radius: 5px; color: #606266; background: transparent; font-size: 18px; cursor: pointer; }
.cbtrade-admin-sidebar-toggle:hover { color: #409eff; background: #f3f7fc; }
.cbtrade-admin-breadcrumb { display: flex; align-items: center; gap: 14px; color: #8a9ab0; font-size: 14px; white-space: nowrap; }
.cbtrade-admin-breadcrumb strong { color: #172f50; }
.cbtrade-admin-app.is-collapsed .cbtrade-admin-sidebar { width: 64px; }
.cbtrade-admin-app.is-collapsed .cbtrade-admin-main { margin-left: 64px; }
.cbtrade-admin-app.is-collapsed .cbtrade-admin-sidebar-brand { padding-right: 8px; padding-left: 8px; }
.cbtrade-admin-app.is-collapsed .cbtrade-admin-sidebar-brand .cbtrade-admin-brand-name, .cbtrade-admin-app.is-collapsed .cbtrade-admin-sidebar-brand p, .cbtrade-admin-app.is-collapsed .cbtrade-admin-nav span, .cbtrade-admin-app.is-collapsed .cbtrade-admin-sidebar-footer span { width: 0; overflow: hidden; opacity: 0; visibility: hidden; }
.cbtrade-admin-app.is-collapsed .cbtrade-admin-nav a, .cbtrade-admin-app.is-collapsed .cbtrade-admin-sidebar-footer button { justify-content: center; padding-right: 0; padding-left: 0; gap: 0; }
.cbtrade-admin-app.is-collapsed .cbtrade-admin-nav a i, .cbtrade-admin-app.is-collapsed .cbtrade-admin-sidebar-footer button i { margin: 0; }
.cbtrade-admin-app.is-collapsed .cbtrade-admin-nav a.is-placeholder span::after { display: none; }
@media (max-width: 760px) {
  .cbtrade-admin-main { margin-left: 0; }
  .cbtrade-admin-sidebar { width: 220px; box-shadow: 8px 0 24px rgba(15, 30, 55, .15); }
  .cbtrade-admin-app.is-collapsed .cbtrade-admin-main { margin-left: 64px; }
  .cbtrade-admin-header { padding-left: 14px; }
  .cbtrade-admin-breadcrumb span:last-child { display: none; }
  .cbtrade-admin-header-actions .cbtrade-admin-button { font-size: 0; }
  .cbtrade-admin-header-actions .cbtrade-admin-button i { font-size: 16px; }
}
/* Painel administrativo: catálogo de planos */
.cbtrade-admin-plans-panel { margin-top: 1.25rem; }
.cbtrade-admin-plan-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; align-items: end; }
.cbtrade-admin-plan-form label { display: grid; gap: .4rem; color: var(--text-muted, #536783); font-size: .82rem; font-weight: 600; }
.cbtrade-admin-plan-form input:not([type="checkbox"]) { width: 100%; min-height: 2.65rem; padding: .65rem .75rem; border: 1px solid #cbd7e6; border-radius: .45rem; color: #173b69; background: #fff; font: inherit; }
.cbtrade-admin-plan-form input:focus { outline: 2px solid rgba(61, 153, 255, .25); border-color: #3d99ff; }
.cbtrade-admin-check-label { display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: .5rem !important; min-height: 2.65rem; }
.cbtrade-admin-check-label input { accent-color: #3d99ff; }
.cbtrade-admin-plan-form > button { min-height: 2.65rem; }
.cbtrade-admin-plans-table td, .cbtrade-admin-plans-table th { white-space: nowrap; }
.cbtrade-admin-status-badge.is-active { color: #177245; background: #e4f6ec; }
.cbtrade-admin-status-badge.is-inactive { color: #7b8798; background: #edf0f4; }
.cbtrade-admin-table-action { border: 1px solid #cbd7e6; border-radius: .4rem; padding: .45rem .65rem; color: #1c6fc5; background: #fff; cursor: pointer; font: inherit; }
.cbtrade-admin-table-action:hover { border-color: #3d99ff; background: #f1f7ff; }
.cbtrade-admin-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 1rem; background: rgba(20, 36, 61, .55); }
.cbtrade-admin-modal[hidden] { display: none; }
.cbtrade-admin-modal-card { position: relative; width: min(100%, 38rem); padding: 1.5rem; border-radius: .8rem; background: #fff; box-shadow: 0 1rem 3rem rgba(10, 30, 55, .25); }
.cbtrade-admin-modal-card h2 { margin: 0 0 1.25rem; color: #173b69; }
.cbtrade-admin-modal-card .cbtrade-admin-plan-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cbtrade-admin-modal-close { position: absolute; top: .9rem; right: .9rem; border: 0; color: #6b7c91; background: transparent; font-size: 1.1rem; cursor: pointer; }
.cbtrade-admin-modal-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: .65rem; margin-top: .5rem; }
@media (max-width: 900px) { .cbtrade-admin-plan-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cbtrade-admin-plans-table { min-width: 760px; } }
@media (max-width: 560px) { .cbtrade-admin-plan-form, .cbtrade-admin-modal-card .cbtrade-admin-plan-form { grid-template-columns: 1fr; } .cbtrade-admin-modal-actions { grid-column: auto; } }
