:root {
  --pb-blue: #078dc5;
  --pb-blue-700: #0674a2;
  --pb-blue-800: #075c7a;
  --pb-blue-900: #103d50;
  --pb-cyan-50: #edf8fb;
  --pb-orange: #f47d20;
  --pb-orange-100: #fff2e5;
  --pb-ink: #102f3f;
  --pb-muted: #617783;
  --pb-canvas: #f4f8fa;
  --pb-surface: #ffffff;
  --pb-line: #dfe9ed;
  --pb-line-strong: #cbdce3;
  --pb-success: #17815a;
  --pb-success-soft: #e9f7f1;
  --pb-warning: #9c6500;
  --pb-warning-soft: #fff5df;
  --pb-danger: #b42318;
  --pb-danger-soft: #fff0ee;
  --pb-purple: #6657c8;
  --pb-sidebar-width: 294px;
  --pb-sidebar-rail: 82px;
  --pb-topbar-height: 72px;
  --pb-radius-sm: 10px;
  --pb-radius: 16px;
  --pb-radius-lg: 24px;
  --pb-shadow-sm: 0 8px 24px rgba(8, 52, 72, 0.06);
  --pb-shadow: 0 24px 64px rgba(8, 52, 72, 0.11);
  --bs-primary: #007dab;
  --bs-primary-rgb: 0, 125, 171;
  --bs-body-color: #102f3f;
  --bs-body-bg: #f3f7f9;
  --bs-border-color: #dfe9ed;
  --pb-font-body: "Segoe UI Variable Text", "Aptos", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --pb-font-display: "Segoe UI Variable Display", "Aptos Display", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --bs-font-sans-serif: var(--pb-font-body);
  --bs-border-radius: 0.81rem;
  --bs-border-radius-lg: 1rem;
  --bs-focus-ring-color: rgba(0, 143, 208, 0.2);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  margin: 0;
  color: var(--pb-ink);
  background: var(--pb-canvas);
  font-family: var(--bs-font-sans-serif);
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: var(--pb-blue-700); text-decoration: none; }
a:hover { color: var(--pb-blue); }
button, input, textarea, select { font: inherit; }
img { max-width: 100%; }
svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pb-icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
:focus-visible { outline: 3px solid rgba(0, 143, 208, 0.32); outline-offset: 2px; }

h1, h2, h3, h4, h5, h6 {
  color: var(--pb-ink);
  font-family: var(--pb-font-display);
  font-weight: 720;
  letter-spacing: -0.025em;
}
h1 { font-size: clamp(2rem, 3vw, 3rem); line-height: 1.06; }
h2 { font-size: clamp(1.35rem, 2vw, 1.95rem); line-height: 1.15; }
h3 { font-size: 1.08rem; }
p { line-height: 1.65; }
.text-muted, .muted { color: var(--pb-muted) !important; }

/* Brand */
.pb-brand { display: flex; min-width: 0; align-items: center; gap: 11px; }
.pb-brand-mark { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; }
.pb-brand-mark img { width: 44px; height: 36px; object-fit: contain; }
.pb-brand-name { display: flex; min-width: 0; flex-direction: column; line-height: 1; }
.pb-brand-name strong { color: #0575a9; font-size: 1.28rem; font-weight: 550; letter-spacing: -0.055em; }
.pb-brand-name small { margin-top: 5px; color: var(--pb-orange); font-size: .72rem; font-weight: 850; letter-spacing: 0.22em; text-transform: uppercase; }

/* Shell and sidebar */
.pb-app { min-height: 100vh; }
.pb-sidebar {
  position: fixed;
  z-index: 1040;
  inset: 0 auto 0 0;
  display: flex;
  width: var(--pb-sidebar-width);
  flex-direction: column;
  border-right: 1px solid var(--pb-line);
  background: rgba(255,255,255,0.98);
  box-shadow: 1px 0 0 rgba(255,255,255,.8);
  transition: width .22s ease, transform .22s ease;
}
.pb-sidebar-header { display: flex; height: var(--pb-topbar-height); flex: 0 0 var(--pb-topbar-height); align-items: center; justify-content: space-between; padding: 12px 18px; border-bottom: 1px solid var(--pb-line); }
.pb-sidebar-brand { display: block; overflow: hidden; color: inherit; }
.pb-sidebar-close { flex: 0 0 auto; }
.pb-sidebar-scroll { min-height: 0; flex: 1; overflow-x: hidden; overflow-y: auto; padding: 12px 12px 20px; scrollbar-width: thin; scrollbar-color: #cbdde4 transparent; }
.pb-sidebar-scroll::-webkit-scrollbar { width: 7px; }
.pb-sidebar-scroll::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 999px; background: #cbdde4; background-clip: padding-box; }

.pb-mode-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 12px 12px 0; padding: 4px; border: 1px solid var(--pb-line); border-radius: 13px; background: #f5f9fb; }
.pb-mode-switch a { display: flex; min-height: 39px; align-items: center; justify-content: center; gap: 8px; border-radius: 9px; color: var(--pb-muted); font-size: .82rem; font-weight: 720; white-space: nowrap; }
.pb-mode-switch a svg { width: 16px; height: 16px; }
.pb-mode-switch a.active { color: var(--pb-blue-800); background: #fff; box-shadow: 0 3px 11px rgba(9, 55, 74, .08); }
.is-admin-mode .pb-mode-switch a.active { color: #8b4e00; }

.pb-nav { display: flex; flex-direction: column; gap: 3px; }
.pb-nav-label { margin: 9px 10px 7px; color: #7b8f99; font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.pb-nav-link { position: relative; display: flex; min-height: 44px; align-items: center; gap: 12px; padding: 9px 11px; border-radius: 11px; color: #48616d; font-size: .89rem; font-weight: 680; white-space: nowrap; transition: background .15s ease, color .15s ease, transform .15s ease; }
.pb-nav-link svg { width: 19px; height: 19px; flex: 0 0 19px; }
.pb-nav-link:hover { color: var(--pb-blue-800); background: var(--pb-cyan-50); }
.pb-nav-link.active { color: #fff; background: linear-gradient(135deg, var(--pb-blue-700), var(--pb-blue)); box-shadow: 0 9px 20px rgba(0, 120, 169, .2); }
.is-admin-mode .pb-nav-link.active { background: linear-gradient(135deg, #0b5b7a, #087aa5); }
.pb-nav-count { display: grid; min-width: 22px; height: 22px; margin-left: auto; padding: 0 5px; place-items: center; border-radius: 999px; color: #8d5100; background: var(--pb-orange-100); font-size: .74rem; }
.pb-nav-link.active .pb-nav-count { color: var(--pb-blue-900); background: #fff; }

.pb-course-index { margin-top: 18px; padding-top: 15px; border-top: 1px solid #edf2f4; }
.pb-course-index-head { display: flex; align-items: center; justify-content: space-between; padding-right: 8px; }
.pb-course-index-head > span { color: var(--pb-muted); font-size: .75rem; font-weight: 750; white-space: nowrap; }
.pb-progress-track { height: 4px; margin: 0 9px 10px; overflow: hidden; border-radius: 999px; background: #e7eff2; }
.pb-progress-track > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--pb-orange), #ffb04a); }

.pb-course-accordion .accordion-item { border: 0; background: transparent; }
.pb-course-accordion .accordion-button { min-height: 52px; gap: 10px; padding: 8px 9px; border: 0; border-radius: 11px !important; color: #264a5a; background: transparent; box-shadow: none; font-size: .84rem; }
.pb-course-accordion .accordion-button:hover { background: #f5f9fa; }
.pb-course-accordion .accordion-button:not(.collapsed) { color: var(--pb-blue-800); background: #f3f9fb; box-shadow: none; }
.pb-course-accordion .accordion-button::after { width: 15px; height: 15px; margin-left: auto; background-size: 15px; opacity: .55; }
.pb-module-symbol { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border: 1px solid #d9e8ee; border-radius: 10px; background: #fff; font-size: 1rem; }
.pb-module-copy { display: flex; min-width: 0; flex-direction: column; text-align: left; }
.pb-module-copy strong { overflow: hidden; color: inherit; font-size: .82rem; font-weight: 740; text-overflow: ellipsis; white-space: nowrap; }
.pb-module-copy small { margin-top: 3px; color: #7b8f99; font-size: .72rem; }
.pb-course-accordion .accordion-body { padding: 3px 7px 9px 26px; }
.pb-lesson-link { display: grid; min-height: 36px; grid-template-columns: 15px minmax(0,1fr); align-items: center; gap: 8px; padding: 5px 8px; border-radius: 8px; color: #58717d; font-size: .78rem; line-height: 1.25; }
.pb-lesson-link:hover { color: var(--pb-blue-800); background: #f2f8fa; }
.pb-lesson-link.active { color: var(--pb-blue-800); background: #eaf6fb; font-weight: 750; }
.pb-lesson-state { display: grid; width: 14px; height: 14px; place-items: center; border: 1.5px solid #bdd0d8; border-radius: 50%; }
.pb-lesson-state.started { border-color: var(--pb-orange); background: var(--pb-orange-100); }
.pb-lesson-state.completed { border-color: var(--pb-success); color: #fff; background: var(--pb-success); }
.pb-lesson-state svg { width: 9px; height: 9px; stroke-width: 2.7; }
.pb-sidebar-empty { margin: 10px; padding: 14px; border-radius: 11px; color: var(--pb-muted); background: #f5f8f9; font-size: .79rem; }

.pb-sidebar-tip { display: flex; gap: 11px; margin: 22px 4px 0; padding: 14px; border: 1px solid #dcecf2; border-radius: 14px; color: var(--pb-blue-800); background: linear-gradient(145deg, #f2fbff, #fff); }
.pb-sidebar-tip > svg { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 2px; }
.pb-sidebar-tip div { display: flex; min-width: 0; flex-direction: column; }
.pb-sidebar-tip strong { font-size: .78rem; }
.pb-sidebar-tip span { margin-top: 4px; color: var(--pb-muted); font-size: .72rem; line-height: 1.45; }

.pb-sidebar-footer { flex: 0 0 auto; padding: 10px 12px 12px; border-top: 1px solid var(--pb-line); background: rgba(255,255,255,.98); }
.pb-profile-button { display: flex; width: 100%; min-height: 50px; align-items: center; gap: 10px; padding: 7px 8px; border: 0; border-radius: 12px; color: var(--pb-ink); background: transparent; text-align: left; }
.pb-profile-button:hover { background: #f5f8fa; }
.pb-avatar { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 11px; color: #fff; background: linear-gradient(145deg, var(--pb-blue-700), var(--pb-blue)); font-size: .87rem; font-weight: 800; }
.pb-profile-copy { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.pb-profile-copy strong, .pb-profile-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-profile-copy strong { font-size: .79rem; }
.pb-profile-copy small { margin-top: 3px; color: var(--pb-muted); font-size: .72rem; }
.pb-profile-chevron { width: 15px; height: 15px; color: #8a9aa2; }
.pb-profile-menu { min-width: 220px; padding: 7px; border: 1px solid var(--pb-line); border-radius: 13px; box-shadow: var(--pb-shadow); }
.pb-profile-menu .dropdown-item { display: flex; min-height: 40px; align-items: center; gap: 9px; border-radius: 8px; font-size: .84rem; }
.pb-profile-menu .dropdown-item svg { width: 16px; height: 16px; }

.pb-sidebar-backdrop { display: none; }
.pb-workspace { min-height: 100vh; margin-left: var(--pb-sidebar-width); transition: margin-left .22s ease; }
.pb-topbar { position: sticky; z-index: 1020; top: 0; display: grid; height: var(--pb-topbar-height); grid-template-columns: auto minmax(280px, 650px) auto; align-items: center; gap: 22px; padding: 0 28px; border-bottom: 1px solid rgba(214,228,234,.85); background: rgba(255,255,255,.88); backdrop-filter: blur(16px); }
.pb-topbar-left { display: flex; align-items: center; }
.pb-icon-button { display: inline-grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--pb-line); border-radius: 11px; color: var(--pb-blue-800); background: #fff; cursor: pointer; }
.pb-icon-button:hover { border-color: #b9d7e1; color: var(--pb-blue); background: #f8fcfd; }
.pb-icon-button svg { width: 19px; height: 19px; }
.pb-mobile-brand .pb-brand-mark { width: 40px; height: 40px; flex-basis: 40px; }
.pb-mobile-brand .pb-brand-mark img { width: 40px; height: 33px; }
.pb-mobile-brand .pb-brand-name strong { font-size: 1.12rem; }

.pb-global-search { display: flex; min-height: 42px; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid var(--pb-line); border-radius: 13px; background: #f8fbfc; transition: background .15s ease, border-color .15s ease, box-shadow .15s ease; }
.pb-global-search:focus-within { border-color: #92ccdf; background: #fff; box-shadow: 0 0 0 4px rgba(0,143,208,.09); }
.pb-global-search > svg { width: 18px; height: 18px; color: var(--pb-blue-700); }
.pb-global-search input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--pb-ink); background: transparent; font-size: .86rem; }
.pb-global-search input::placeholder { color: #82949d; }
.pb-global-search kbd { padding: 2px 7px; border: 1px solid #d5e1e6; border-radius: 6px; color: #768993; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.04); font-family: inherit; font-size: .72rem; }
.pb-topbar-actions { display: flex; align-items: center; justify-content: flex-end; }
.pb-help-action { display: inline-flex; min-height: 40px; align-items: center; gap: 8px; padding: 0 13px; border: 1px solid #d6e7ed; border-radius: 11px; color: var(--pb-blue-800); background: #fff; font-size: .81rem; font-weight: 700; white-space: nowrap; }
.pb-help-action:hover { color: var(--pb-blue); background: var(--pb-cyan-50); }
.pb-help-action svg { width: 17px; height: 17px; }
.pb-new-content { display: inline-flex; align-items: center; gap: 7px; border: 0; background: linear-gradient(135deg, var(--pb-blue-700), var(--pb-blue)); font-size: .82rem; font-weight: 700; box-shadow: 0 7px 16px rgba(0,122,168,.18); }
.pb-new-content svg { width: 16px; height: 16px; }
.pb-admin-context { display: flex; flex-direction: column; }
.pb-admin-context span { color: #80919a; font-size: .72rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.pb-admin-context strong { margin-top: 2px; font-size: .96rem; }
.pb-content { width: min(100% - 56px, 1500px); margin: 0 auto; padding: 32px 0 64px; }
.pb-messages { margin-bottom: 18px; }
.pb-alert { border-radius: 13px; font-size: .85rem; box-shadow: var(--pb-shadow-sm); }

/* Desktop collapsed rail */
body.pb-sidebar-collapsed .pb-sidebar { width: var(--pb-sidebar-rail); }
body.pb-sidebar-collapsed .pb-workspace { margin-left: var(--pb-sidebar-rail); }
body.pb-sidebar-collapsed .pb-sidebar-header { justify-content: center; padding-inline: 11px; }
body.pb-sidebar-collapsed .pb-sidebar-brand .pb-brand-name,
body.pb-sidebar-collapsed .pb-mode-switch span,
body.pb-sidebar-collapsed .pb-nav-label,
body.pb-sidebar-collapsed .pb-nav-link > span,
body.pb-sidebar-collapsed .pb-nav-count,
body.pb-sidebar-collapsed .pb-course-index-head,
body.pb-sidebar-collapsed .pb-progress-track,
body.pb-sidebar-collapsed .pb-module-copy,
body.pb-sidebar-collapsed .pb-course-accordion .accordion-button::after,
body.pb-sidebar-collapsed .pb-course-accordion .accordion-collapse,
body.pb-sidebar-collapsed .pb-sidebar-tip,
body.pb-sidebar-collapsed .pb-profile-copy,
body.pb-sidebar-collapsed .pb-profile-chevron { display: none !important; }
body.pb-sidebar-collapsed .pb-brand-mark { width: 48px; height: 48px; flex-basis: 48px; }
body.pb-sidebar-collapsed .pb-brand-mark img { width: 48px; height: 39px; }
body.pb-sidebar-collapsed .pb-mode-switch { grid-template-columns: 1fr; margin-inline: 10px; }
body.pb-sidebar-collapsed .pb-mode-switch a { padding: 0; }
body.pb-sidebar-collapsed .pb-nav-link { justify-content: center; padding-inline: 0; }
body.pb-sidebar-collapsed .pb-course-index { padding-top: 7px; }
body.pb-sidebar-collapsed .pb-course-accordion .accordion-button { justify-content: center; padding-inline: 0; }
body.pb-sidebar-collapsed .pb-course-accordion .accordion-button:not(.collapsed) { background: transparent; }
body.pb-sidebar-collapsed .pb-module-symbol { width: 38px; height: 38px; flex-basis: 38px; }
body.pb-sidebar-collapsed .pb-profile-button { justify-content: center; padding-inline: 0; }
body.pb-sidebar-collapsed .pb-sidebar-scroll { padding-inline: 10px; }

/* Shared page structures */
.pb-page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.pb-page-header-copy { min-width: 0; }
.pb-kicker { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 9px; color: var(--pb-orange); font-size: .75rem; font-weight: 820; letter-spacing: .11em; text-transform: uppercase; }
.pb-kicker svg { width: 14px; height: 14px; }
.pb-page-header h1 { margin: 0; }
.pb-page-header p { max-width: 760px; margin: 9px 0 0; color: var(--pb-muted); font-size: .96rem; }
.pb-page-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.pb-page-actions .btn { display: inline-flex; min-height: 42px; align-items: center; gap: 7px; padding-inline: 15px; border-radius: 11px; font-size: .82rem; font-weight: 720; }
.pb-page-actions .btn svg { width: 16px; height: 16px; }
.pb-section-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.pb-section-head h2, .pb-section-head h3 { margin: 0; }
.pb-section-head p { margin: 5px 0 0; color: var(--pb-muted); font-size: .84rem; }
.pb-section-link { display: inline-flex; align-items: center; gap: 5px; font-size: .79rem; font-weight: 750; white-space: nowrap; }
.pb-section-link svg { width: 14px; height: 14px; }
.pb-surface { border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: var(--pb-surface); box-shadow: var(--pb-shadow-sm); }
.pb-status { display: inline-flex; min-height: 26px; align-items: center; gap: 5px; padding: 4px 9px; border-radius: 999px; color: #526b76; background: #eef3f5; font-size: .72rem; font-weight: 760; white-space: nowrap; }
.pb-status.completed, .pb-status.answered, .pb-status.closed { color: var(--pb-success); background: var(--pb-success-soft); }
.pb-status.started, .pb-status.analyzing { color: var(--pb-warning); background: var(--pb-warning-soft); }
.pb-status.sent, .pb-status.pending { color: var(--pb-blue-800); background: var(--pb-cyan-50); }
.pb-status.rejected { color: var(--pb-danger); background: var(--pb-danger-soft); }
.pb-status.administrator { color: #5f3dc4; background: #f0edff; }
.pb-empty { padding: 42px 28px; border: 1px dashed #cbdde4; border-radius: var(--pb-radius); color: var(--pb-muted); background: rgba(255,255,255,.55); text-align: center; }
.pb-empty svg { width: 30px; height: 30px; margin-bottom: 12px; color: #90a8b2; }
.pb-empty h3 { margin-bottom: 6px; }
.pb-empty p { max-width: 520px; margin: 0 auto; font-size: .87rem; }

/* Learner dashboard */
.pb-home-intro { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 34px; overflow: hidden; margin-bottom: 22px; padding: 34px 36px; border: 1px solid #cfe6ee; border-radius: var(--pb-radius-lg); background:
  radial-gradient(circle at 91% 13%, rgba(255,138,0,.18), transparent 24%),
  radial-gradient(circle at 78% 95%, rgba(0,143,208,.13), transparent 30%),
  linear-gradient(140deg, #ffffff 0%, #f2fbff 100%);
  box-shadow: var(--pb-shadow-sm);
}
.pb-home-intro::after { content: ""; position: absolute; right: -34px; bottom: -52px; width: 210px; height: 210px; border: 28px solid rgba(0,143,208,.055); border-radius: 54px; transform: rotate(18deg); pointer-events: none; }
.pb-home-intro-copy { position: relative; z-index: 1; }
.pb-home-intro h1 { max-width: 760px; margin: 0; font-size: clamp(2rem, 3.4vw, 3.45rem); }
.pb-home-intro p { max-width: 700px; margin: 13px 0 21px; color: var(--pb-muted); font-size: .96rem; }
.pb-hero-search { display: flex; max-width: 760px; min-height: 54px; align-items: center; gap: 12px; padding: 5px 6px 5px 16px; border: 1px solid #c9e0e8; border-radius: 15px; background: #fff; box-shadow: 0 13px 32px rgba(0,92,126,.08); }
.pb-hero-search > svg { width: 20px; height: 20px; color: var(--pb-blue-700); }
.pb-hero-search input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--pb-ink); background: transparent; font-size: .93rem; }
.pb-hero-search .btn { min-height: 42px; padding-inline: 18px; border: 0; border-radius: 11px; background: var(--pb-blue-700); font-size: .82rem; font-weight: 740; }
.pb-home-score { position: relative; z-index: 1; display: flex; min-width: 200px; align-items: center; gap: 14px; align-self: center; padding: 18px; border: 1px solid rgba(255,255,255,.8); border-radius: 18px; background: rgba(255,255,255,.78); box-shadow: 0 13px 30px rgba(4,57,77,.07); backdrop-filter: blur(8px); }
.pb-score-ring { display: grid; width: 74px; height: 74px; flex: 0 0 74px; place-items: center; border-radius: 50%; background: conic-gradient(var(--pb-blue) calc(var(--progress) * 1%), #e3eef2 0); }
.pb-score-ring::before { content: ""; width: 58px; height: 58px; border-radius: 50%; background: #fff; }
.pb-score-ring strong { position: absolute; font-size: 1rem; }
.pb-home-score-copy { display: flex; flex-direction: column; }
.pb-home-score-copy strong { font-size: .95rem; }
.pb-home-score-copy span { margin-top: 4px; color: var(--pb-muted); font-size: .75rem; line-height: 1.35; }

.pb-home-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(300px,.7fr); gap: 22px; align-items: start; }
.pb-home-main, .pb-home-side { display: flex; min-width: 0; flex-direction: column; gap: 22px; }
.pb-continue { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 17px; overflow: hidden; padding: 22px 24px; border: 1px solid #d9e8ed; border-radius: var(--pb-radius); color: var(--pb-ink); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-continue::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: linear-gradient(var(--pb-orange), #ffad40); }
.pb-continue:hover { color: var(--pb-ink); border-color: #b8dce7; box-shadow: 0 15px 38px rgba(7,68,92,.1); transform: translateY(-1px); }
.pb-continue-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(145deg, var(--pb-blue-700), var(--pb-blue)); box-shadow: 0 8px 18px rgba(0,119,164,.18); }
.pb-continue-icon svg { width: 22px; height: 22px; }
.pb-continue-copy { min-width: 0; }
.pb-continue-copy small { color: var(--pb-orange); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pb-continue-copy strong { display: block; overflow: hidden; margin-top: 4px; font-size: 1.02rem; text-overflow: ellipsis; white-space: nowrap; }
.pb-continue-copy span { display: block; margin-top: 4px; color: var(--pb-muted); font-size: .78rem; }
.pb-continue-arrow { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: var(--pb-blue-700); background: var(--pb-cyan-50); }
.pb-continue-arrow svg { width: 17px; height: 17px; }

.pb-module-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.pb-module-card { position: relative; display: flex; min-height: 200px; flex-direction: column; overflow: hidden; padding: 21px; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); color: var(--pb-ink); background: #fff; box-shadow: var(--pb-shadow-sm); transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.pb-module-card::after { content: ""; position: absolute; right: -28px; top: -30px; width: 100px; height: 100px; border: 18px solid rgba(0,143,208,.04); border-radius: 28px; transform: rotate(20deg); }
.pb-module-card:hover { color: var(--pb-ink); border-color: #b7dce8; box-shadow: 0 16px 38px rgba(7,60,82,.1); transform: translateY(-2px); }
.pb-module-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pb-module-icon { display: grid; width: 43px; height: 43px; place-items: center; border: 1px solid #d8e8ee; border-radius: 14px; background: linear-gradient(145deg, #fff, #f2f9fb); font-size: 1.18rem; }
.pb-module-percent { color: var(--pb-blue-800); font-size: .74rem; font-weight: 820; }
.pb-module-card h3 { margin: 18px 0 7px; }
.pb-module-card p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--pb-muted); font-size: .79rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.pb-module-card-bottom { margin-top: auto; padding-top: 17px; }
.pb-module-progress { height: 5px; overflow: hidden; border-radius: 999px; background: #e8eff2; }
.pb-module-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--pb-blue-700), var(--pb-blue)); }
.pb-module-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; color: #778b95; font-size: .72rem; }
.pb-module-meta b { color: var(--pb-blue-800); }

.pb-side-card { padding: 20px; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-side-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.pb-side-card-head h3 { margin: 0; font-size: .98rem; }
.pb-side-card-head a { font-size: .75rem; font-weight: 760; }
.pb-help-spotlight { position: relative; overflow: hidden; padding: 23px; border: 0; color: #fff; background: linear-gradient(145deg, var(--pb-blue-900), var(--pb-blue-700)); }
.pb-help-spotlight::after { content: "?"; position: absolute; right: -2px; bottom: -40px; color: rgba(255,255,255,.08); font-size: 9rem; font-weight: 900; line-height: 1; }
.pb-help-spotlight > * { position: relative; z-index: 1; }
.pb-help-spotlight .pb-help-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: var(--pb-orange); background: rgba(255,255,255,.12); }
.pb-help-spotlight h3 { margin: 15px 0 7px; color: #fff; font-size: 1.18rem; }
.pb-help-spotlight p { margin: 0 0 16px; color: rgba(255,255,255,.75); font-size: .81rem; }
.pb-help-spotlight .btn { border-color: rgba(255,255,255,.35); color: #fff; background: rgba(255,255,255,.1); font-size: .78rem; font-weight: 730; }
.pb-help-spotlight .btn:hover { background: rgba(255,255,255,.18); }
.pb-activity-list { display: flex; flex-direction: column; }
.pb-activity-item { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 11px 0; border-top: 1px solid #edf2f4; color: var(--pb-ink); }
.pb-activity-item:first-child { border-top: 0; padding-top: 2px; }
.pb-activity-symbol { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: var(--pb-blue-800); background: var(--pb-cyan-50); }
.pb-activity-symbol svg { width: 16px; height: 16px; }
.pb-activity-copy { display: flex; min-width: 0; flex-direction: column; }
.pb-activity-copy strong { overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.pb-activity-copy small { margin-top: 3px; color: var(--pb-muted); font-size: .72rem; }
.pb-activity-item > svg { width: 14px; height: 14px; color: #9aaab1; }

/* Module page */
.pb-module-hero { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 20px; margin-bottom: 24px; padding: 27px 29px; border: 1px solid #d7e8ee; border-radius: var(--pb-radius-lg); background: linear-gradient(140deg, #fff, #f1faff); box-shadow: var(--pb-shadow-sm); }
.pb-module-hero-icon { display: grid; width: 66px; height: 66px; place-items: center; border: 1px solid #d8e8ee; border-radius: 20px; background: #fff; font-size: 1.85rem; box-shadow: 0 10px 24px rgba(0,80,110,.08); }
.pb-module-hero h1 { margin: 0; }
.pb-module-hero p { max-width: 760px; margin: 8px 0 0; color: var(--pb-muted); font-size: .89rem; }
.pb-module-summary { display: flex; min-width: 155px; flex-direction: column; align-items: flex-end; }
.pb-module-summary strong { color: var(--pb-blue-800); font-size: 1.55rem; }
.pb-module-summary span { margin-top: 2px; color: var(--pb-muted); font-size: .75rem; }
.pb-module-summary .pb-module-progress { width: 150px; margin-top: 10px; }
.pb-lesson-table { overflow: hidden; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-lesson-row { display: grid; min-height: 68px; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 15px; padding: 11px 16px; border-top: 1px solid #edf2f4; color: var(--pb-ink); }
.pb-lesson-row:first-child { border-top: 0; }
.pb-lesson-row:hover { color: var(--pb-ink); background: #f8fbfc; }
.pb-lesson-number { display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid #d8e5ea; border-radius: 11px; color: var(--pb-blue-800); background: #fff; font-size: .78rem; font-weight: 820; }
.pb-lesson-number.completed { border-color: var(--pb-success); color: #fff; background: var(--pb-success); }
.pb-lesson-number svg { width: 16px; height: 16px; }
.pb-lesson-row-copy { display: flex; min-width: 0; flex-direction: column; }
.pb-lesson-row-copy strong { font-size: .87rem; }
.pb-lesson-row-copy small { margin-top: 5px; color: var(--pb-muted); font-size: .72rem; }
.pb-lesson-row-action { display: flex; align-items: center; gap: 7px; color: var(--pb-blue-700); font-size: .75rem; font-weight: 750; }
.pb-lesson-row-action svg { width: 15px; height: 15px; }

/* Lesson page */
.pb-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 17px; color: #7a8e98; font-size: .74rem; }
.pb-breadcrumb a { color: #69808b; }
.pb-breadcrumb svg { width: 12px; height: 12px; }
.pb-lesson-layout { display: grid; grid-template-columns: minmax(0, 1fr) 318px; gap: 24px; align-items: start; }
.pb-lesson-main { min-width: 0; }
.pb-lesson-title-card { margin-bottom: 15px; padding: 27px 29px; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-lesson-title-card h1 { margin: 0; font-size: clamp(1.85rem, 2.5vw, 2.74rem); }
.pb-lesson-title-card > p { margin: 10px 0 0; color: var(--pb-muted); font-size: .91rem; }
.pb-lesson-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.pb-meta-chip { display: inline-flex; min-height: 27px; align-items: center; gap: 6px; padding: 4px 9px; border: 1px solid #e0eaee; border-radius: 999px; color: #5f7580; background: #f9fbfc; font-size: .72rem; font-weight: 680; }
.pb-meta-chip svg { width: 13px; height: 13px; }
.pb-video { position: relative; overflow: hidden; margin-bottom: 15px; border-radius: var(--pb-radius); background: #071e2a; box-shadow: var(--pb-shadow); aspect-ratio: 16/9; }
.pb-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pb-video-empty { display: grid; min-height: 330px; margin-bottom: 15px; place-items: center; padding: 40px; border: 1px dashed #c7d9e0; border-radius: var(--pb-radius); color: var(--pb-muted); background: #eef4f6; text-align: center; }
.pb-video-empty svg { width: 42px; height: 42px; margin-bottom: 10px; color: var(--pb-blue-700); }
.pb-lesson-content { padding: 31px; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-lesson-content h2 { margin: 1.85rem 0 .81rem; font-size: 1.4rem; }
.pb-lesson-content h2:first-child { margin-top: 0; }
.pb-lesson-content h3 { margin: 1.45rem 0 .74rem; font-size: 1.08rem; }
.pb-lesson-content p, .pb-lesson-content li { color: #36525f; font-size: .9rem; line-height: 1.75; }
.pb-lesson-content img { height: auto; margin-block: 16px; border: 1px solid var(--pb-line); border-radius: 12px; }
.pb-lesson-content blockquote { margin: 20px 0; padding: 14px 17px; border-left: 4px solid var(--pb-orange); border-radius: 0 10px 10px 0; color: #4d6570; background: var(--pb-orange-100); }
.pb-lesson-rail { position: sticky; top: calc(var(--pb-topbar-height) + 18px); display: flex; flex-direction: column; gap: 14px; }
.pb-rail-card { padding: 17px; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-rail-card h3 { margin: 0; font-size: .94rem; }
.pb-rail-card > p { margin: 6px 0 0; color: var(--pb-muted); font-size: .75rem; }
.pb-rail-actions { display: grid; gap: 8px; margin-top: 14px; }
.pb-rail-actions .btn { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 7px; border-radius: 11px; font-size: .78rem; font-weight: 740; }
.pb-rail-actions svg { width: 16px; height: 16px; }
.pb-rail-progress { display: flex; align-items: center; gap: 12px; margin-top: 13px; padding: 11px; border-radius: 12px; background: #f5f9fa; }
.pb-rail-progress strong { color: var(--pb-blue-800); font-size: 1rem; }
.pb-rail-progress span { color: var(--pb-muted); font-size: .72rem; }
.pb-related-list { margin-top: 9px; }
.pb-related-list .accordion-item { border: 0; border-top: 1px solid #edf2f4; }
.pb-related-list .accordion-button { padding: 10px 0; color: #355462; background: transparent; box-shadow: none; font-size: .75rem; font-weight: 700; }
.pb-related-list .accordion-button:not(.collapsed) { color: var(--pb-blue-800); }
.pb-related-list .accordion-button::after { width: 13px; height: 13px; background-size: 13px; }
.pb-related-list .accordion-body { padding: 0 0 12px; color: var(--pb-muted); font-size: .74rem; line-height: 1.55; }
.pb-lesson-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 15px; }
.pb-lesson-nav a { display: flex; min-height: 68px; flex-direction: column; justify-content: center; padding: 13px 15px; border: 1px solid var(--pb-line); border-radius: 13px; color: var(--pb-ink); background: #fff; }
.pb-lesson-nav a:hover { border-color: #b7dce8; background: #f8fcfd; }
.pb-lesson-nav a:last-child { align-items: flex-end; text-align: right; }
.pb-lesson-nav small { color: var(--pb-muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .07em; }
.pb-lesson-nav strong { margin-top: 5px; font-size: .78rem; }
.pb-lesson-nav .empty { min-height: 1px; }

.pb-quiz-card { margin-top: 15px; padding: 26px; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-quiz-head { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 17px; }
.pb-quiz-head h2 { margin: 0; font-size: 1.35rem; }
.pb-quiz-head p { margin: 5px 0 0; color: var(--pb-muted); font-size: .81rem; }
.pb-score-badge { padding: 6px 10px; border-radius: 999px; color: #7f4b00; background: var(--pb-orange-100); font-size: .72rem; font-weight: 760; white-space: nowrap; }
.pb-quiz-question { margin: 0; padding: 18px 0; border: 0; border-top: 1px solid #edf2f4; }
.pb-quiz-question:first-of-type { border-top: 0; }
.pb-quiz-question legend { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 11px; font-size: .87rem; font-weight: 750; }
.pb-question-number { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border-radius: 8px; color: var(--pb-blue-800); background: var(--pb-cyan-50); font-size: .72rem; }
.pb-choice { display: flex; min-height: 44px; align-items: flex-start; gap: 10px; margin: 7px 0; padding: 10px 12px; border: 1px solid #dfe9ed; border-radius: 11px; cursor: pointer; }
.pb-choice:hover { border-color: #acd5e2; background: #f8fcfd; }
.pb-choice input { margin-top: 3px; }
.pb-choice span { color: #3d5865; font-size: .81rem; }
.pb-completion { display: flex; align-items: center; gap: 10px; margin-top: 15px; padding: 15px 17px; border: 1px solid #bfe2d2; border-radius: 13px; color: var(--pb-success); background: var(--pb-success-soft); font-size: .81rem; font-weight: 720; }
.pb-completion svg { width: 18px; height: 18px; }

/* Help center, search and questions */
.pb-help-hero { position: relative; overflow: hidden; margin-bottom: 22px; padding: 33px; border-radius: var(--pb-radius-lg); color: #fff; background: linear-gradient(135deg, var(--pb-blue-900), var(--pb-blue-700)); box-shadow: var(--pb-shadow); }
.pb-help-hero::after { content: ""; position: absolute; right: -55px; top: -60px; width: 230px; height: 230px; border: 34px solid rgba(255,255,255,.06); border-radius: 60px; transform: rotate(26deg); }
.pb-help-hero > * { position: relative; z-index: 1; }
.pb-help-hero h1 { max-width: 720px; margin: 0; color: #fff; }
.pb-help-hero p { max-width: 700px; margin: 11px 0 20px; color: rgba(255,255,255,.75); font-size: .93rem; }
.pb-help-search { display: flex; max-width: 800px; min-height: 54px; align-items: center; gap: 11px; padding: 5px 6px 5px 16px; border-radius: 15px; background: #fff; }
.pb-help-search > svg { color: var(--pb-blue-700); }
.pb-help-search input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--pb-ink); background: transparent; font-size: .89rem; }
.pb-help-search .btn { min-height: 42px; border-radius: 11px; font-size: .8rem; font-weight: 750; }
.pb-help-grid { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 22px; align-items: start; }
.pb-faq-list { overflow: hidden; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-faq-list .accordion-item { border: 0; border-top: 1px solid #edf2f4; }
.pb-faq-list .accordion-item:first-child { border-top: 0; }
.pb-faq-list .accordion-button { padding: 18px 20px; color: var(--pb-ink); background: #fff; box-shadow: none; font-size: .84rem; font-weight: 730; }
.pb-faq-list .accordion-button:not(.collapsed) { color: var(--pb-blue-800); background: #f8fcfd; }
.pb-faq-list .accordion-button small { display: block; margin-bottom: 4px; color: var(--pb-muted); font-size: .72rem; font-weight: 650; }
.pb-faq-list .accordion-body { padding: 4px 20px 20px; color: #3c5865; font-size: .81rem; line-height: 1.65; }
.pb-faq-question, .pb-faq-answer { padding: 13px 14px; border-radius: 11px; }
.pb-faq-question { margin-bottom: 9px; background: #f4f7f8; }
.pb-faq-answer { border-left: 3px solid var(--pb-blue); background: var(--pb-cyan-50); }
.pb-faq-question strong, .pb-faq-answer strong { display: block; margin-bottom: 5px; font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; }
.pb-help-aside { position: sticky; top: calc(var(--pb-topbar-height) + 18px); }
.pb-help-next { padding: 21px; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-help-next h3 { margin: 0; }
.pb-help-next p { margin: 8px 0 15px; color: var(--pb-muted); font-size: .78rem; }
.pb-help-next .btn { width: 100%; border-radius: 11px; font-size: .78rem; font-weight: 730; }
.pb-search-layout { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr); gap: 22px; align-items: start; }
.pb-search-result-list { display: flex; flex-direction: column; gap: 9px; }
.pb-search-result { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 15px; border: 1px solid var(--pb-line); border-radius: 13px; color: var(--pb-ink); background: #fff; box-shadow: 0 5px 16px rgba(7,60,82,.04); }
.pb-search-result:hover { color: var(--pb-ink); border-color: #add7e3; box-shadow: var(--pb-shadow-sm); }
.pb-result-icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: var(--pb-cyan-50); font-size: 1rem; }
.pb-search-result-copy { display: flex; min-width: 0; flex-direction: column; }
.pb-search-result-copy small { color: var(--pb-muted); font-size: .72rem; }
.pb-search-result-copy strong { margin-top: 3px; font-size: .84rem; }
.pb-search-result-copy p { overflow: hidden; margin: 5px 0 0; color: var(--pb-muted); font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
.pb-search-result > svg { width: 15px; height: 15px; color: #91a3ac; }
.pb-search-suggestions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 13px; }
.pb-search-suggestions span { color: var(--pb-muted); font-size: .75rem; }
.pb-search-suggestions a { padding: 6px 10px; border: 1px solid #d9e6eb; border-radius: 999px; color: #5d7480; background: #fff; font-size: .72rem; }

.pb-doubt-list { display: flex; flex-direction: column; gap: 13px; }
.pb-doubt-card { padding: 20px; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-doubt-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.pb-doubt-card-head small { color: var(--pb-muted); font-size: .72rem; }
.pb-doubt-card-head h2 { margin: 5px 0 0; font-size: 1.12rem; }
.pb-doubt-context { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 12px 0; color: var(--pb-muted); font-size: .74rem; }
.pb-doubt-message, .pb-doubt-answer { padding: 14px 15px; border-radius: 12px; }
.pb-doubt-message { background: #f5f8f9; }
.pb-doubt-answer { margin-top: 9px; border-left: 3px solid var(--pb-blue); background: var(--pb-cyan-50); }
.pb-doubt-message strong, .pb-doubt-answer strong { display: block; margin-bottom: 5px; color: #526a75; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.pb-doubt-message p, .pb-doubt-answer p { margin: 0; color: #385460; font-size: .79rem; }
.pb-doubt-waiting { display: flex; align-items: center; gap: 9px; margin-top: 9px; padding: 13px; border-radius: 11px; color: var(--pb-warning); background: var(--pb-warning-soft); font-size: .78rem; }
.pb-doubt-waiting svg { width: 17px; height: 17px; }
.pb-doubt-card footer { margin-top: 13px; color: #899aa2; font-size: .72rem; }

/* Modal and forms */
.modal-content { border: 0; border-radius: 20px; box-shadow: 0 35px 90px rgba(5,40,56,.24); }
.modal-header { padding: 20px 22px 13px; border: 0; }
.modal-body { padding: 8px 22px 22px; }
.pb-modal-title { display: flex; gap: 12px; }
.pb-modal-title-icon { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(145deg, var(--pb-blue-700), var(--pb-blue)); }
.pb-modal-title h2 { margin: 0; font-size: 1.25rem; }
.pb-modal-title p { margin: 4px 0 0; color: var(--pb-muted); font-size: .75rem; }
.form-control, .form-select { min-height: 42px; border-color: #d5e3e8; border-radius: 10px; color: var(--pb-ink); font-size: .82rem; }
textarea.form-control { min-height: 110px; }
.form-control:focus, .form-select:focus { border-color: #8cc9dd; box-shadow: 0 0 0 .25rem rgba(0,143,208,.1); }
.form-label, .pb-field > label { margin-bottom: 6px; color: #405b68; font-size: .75rem; font-weight: 720; }
.form-text, .pb-field-help { color: var(--pb-muted); font-size: .72rem; }
.pb-field-error { margin-top: 5px; color: var(--pb-danger); font-size: .72rem; }
.pb-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pb-field-full { grid-column: 1/-1; }
.pb-form-card { padding: 24px; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; margin-top: 22px; padding-top: 18px; border-top: 1px solid #edf2f4; }
.pb-form-actions .btn { min-height: 42px; border-radius: 11px; font-size: .79rem; font-weight: 730; }
.check-list { display: grid; max-height: 280px; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; overflow: auto; margin: 0; padding: 9px; border: 1px solid #d5e3e8; border-radius: 11px; background: #f9fbfc; list-style: none; }
.check-list > div { min-width: 0; }
.check-list label { display: flex; min-height: 38px; align-items: center; gap: 8px; padding: 7px 9px; border: 1px solid #e2ebee; border-radius: 9px; background: #fff; font-size: .75rem; cursor: pointer; }
.check-list input { flex: 0 0 auto; }
.code-editor { min-height: 340px !important; font-family: Consolas, "Courier New", monospace; font-size: .79rem; }

/* Administration */
.pb-admin-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; padding: 26px 29px; border: 1px solid #d7e7ed; border-radius: var(--pb-radius-lg); background: linear-gradient(140deg, #fff, #f2f9fb); box-shadow: var(--pb-shadow-sm); }
.pb-admin-hero h1 { margin: 0; }
.pb-admin-hero p { max-width: 720px; margin: 8px 0 0; color: var(--pb-muted); font-size: .87rem; }
.pb-admin-shortcuts { display: flex; gap: 8px; }
.pb-admin-shortcuts .btn { display: inline-flex; align-items: center; gap: 6px; border-radius: 10px; font-size: .78rem; font-weight: 720; }
.pb-admin-shortcuts svg { width: 15px; height: 15px; }
.pb-admin-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; margin-bottom: 22px; }
.pb-admin-stat { display: grid; min-height: 106px; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 17px; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); color: var(--pb-ink); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-admin-stat:hover { color: var(--pb-ink); border-color: #b6dbe7; transform: translateY(-1px); }
.pb-admin-stat-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: var(--pb-blue-800); background: var(--pb-cyan-50); }
.pb-admin-stat-icon.orange { color: #9b5800; background: var(--pb-orange-100); }
.pb-admin-stat-icon.green { color: var(--pb-success); background: var(--pb-success-soft); }
.pb-admin-stat-icon.purple { color: var(--pb-purple); background: #f0edff; }
.pb-admin-stat-icon svg { width: 20px; height: 20px; }
.pb-admin-stat-copy { display: flex; flex-direction: column; }
.pb-admin-stat-copy strong { font-size: 1.45rem; line-height: 1; }
.pb-admin-stat-copy span { margin-top: 5px; color: var(--pb-muted); font-size: .74rem; }
.pb-admin-stat > svg { width: 15px; height: 15px; color: #9baab1; }
.pb-admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.pb-data-card { overflow: hidden; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-data-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 18px; border-bottom: 1px solid #edf2f4; }
.pb-data-card-head h2 { margin: 0; font-size: 1rem; }
.pb-data-card-head a { font-size: .74rem; font-weight: 740; }
.pb-compact-list { display: flex; flex-direction: column; }
.pb-compact-row { display: grid; min-height: 60px; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 10px 17px; border-top: 1px solid #edf2f4; color: var(--pb-ink); }
.pb-compact-row:first-child { border-top: 0; }
.pb-compact-row:hover { color: var(--pb-ink); background: #f8fbfc; }
.pb-compact-avatar { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; color: var(--pb-blue-800); background: var(--pb-cyan-50); font-size: .78rem; font-weight: 800; }
.pb-compact-row-copy { display: flex; min-width: 0; flex-direction: column; }
.pb-compact-row-copy strong { overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.pb-compact-row-copy small { margin-top: 4px; color: var(--pb-muted); font-size: .72rem; }
.pb-compact-row > svg { width: 14px; height: 14px; color: #9aaab1; }

.pb-admin-module-list { display: flex; flex-direction: column; gap: 13px; }
.pb-admin-module { overflow: hidden; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-admin-module-head { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 17px 18px; }
.pb-admin-module-copy { min-width: 0; }
.pb-admin-module-copy h2 { margin: 0; font-size: 1.04rem; }
.pb-admin-module-copy p { overflow: hidden; margin: 5px 0 0; color: var(--pb-muted); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.pb-admin-module-actions { display: flex; align-items: center; gap: 7px; }
.pb-icon-action { display: inline-grid; width: 36px; height: 36px; place-items: center; border: 1px solid var(--pb-line); border-radius: 10px; color: var(--pb-blue-800); background: #fff; }
.pb-icon-action:hover { color: var(--pb-blue); background: var(--pb-cyan-50); }
.pb-icon-action svg { width: 16px; height: 16px; }
.pb-admin-module-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 15px; padding: 11px 18px; border-top: 1px solid #edf2f4; border-bottom: 1px solid #edf2f4; color: var(--pb-muted); background: #f9fbfc; font-size: .72rem; }
.pb-admin-module-meta a { margin-left: auto; font-weight: 740; }
.pb-admin-lessons { padding: 5px 14px 12px; }
.pb-admin-lesson-row { display: grid; min-height: 55px; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 8px 4px; border-top: 1px solid #edf2f4; }
.pb-admin-lesson-row:first-child { border-top: 0; }
.pb-admin-order { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 9px; color: var(--pb-blue-800); background: var(--pb-cyan-50); font-size: .74rem; font-weight: 800; }
.pb-admin-lesson-copy { display: flex; min-width: 0; flex-direction: column; }
.pb-admin-lesson-copy strong { font-size: .78rem; }
.pb-admin-lesson-copy small { margin-top: 4px; color: var(--pb-muted); font-size: .72rem; }
.pb-admin-lesson-actions { display: flex; align-items: center; gap: 6px; }
.pb-admin-lesson-actions .btn { border-radius: 8px; font-size: .72rem; font-weight: 710; }

.pb-filter-pills { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; }
.pb-filter-pills a { padding: 7px 11px; border: 1px solid #d7e5ea; border-radius: 999px; color: #617783; background: #fff; font-size: .74rem; font-weight: 700; }
.pb-filter-pills a.active { border-color: var(--pb-blue-700); color: #fff; background: var(--pb-blue-700); }
.pb-table-wrap { overflow-x: auto; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-table { min-width: 820px; margin: 0; font-size: .75rem; }
.pb-table thead th { padding: 12px 15px; border-bottom-color: var(--pb-line); color: #718690; background: #f7fafb; font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
.pb-table tbody td { padding: 13px 15px; border-bottom-color: #edf2f4; vertical-align: middle; }
.pb-table-user { display: flex; align-items: center; gap: 9px; }
.pb-table-user .pb-avatar { width: 32px; height: 32px; flex-basis: 32px; border-radius: 9px; font-size: .74rem; }
.pb-table-user-copy { display: flex; min-width: 0; flex-direction: column; }
.pb-table-user-copy strong { font-size: .78rem; }
.pb-table-user-copy small { margin-top: 3px; color: var(--pb-muted); font-size: .72rem; }
.pb-table-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.pb-table-actions .btn { border-radius: 8px; font-size: .72rem; font-weight: 700; }

.pb-permission-shell { display: grid; grid-template-columns: 330px minmax(0,1fr); overflow: hidden; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-permission-picker { border-right: 1px solid var(--pb-line); background: #f8fbfc; }
.pb-permission-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 12px; border-bottom: 1px solid var(--pb-line); }
.pb-permission-tabs a { display: flex; min-height: 38px; align-items: center; justify-content: center; border-radius: 9px; color: var(--pb-muted); font-size: .75rem; font-weight: 720; }
.pb-permission-tabs a.active { color: var(--pb-blue-800); background: #fff; box-shadow: 0 4px 12px rgba(7,59,80,.07); }
.pb-picker-search { padding: 11px 12px; border-bottom: 1px solid var(--pb-line); }
.pb-picker-search .input-group-text { border-color: #d5e3e8; background: #fff; }
.pb-picker-search svg { width: 15px; height: 15px; color: var(--pb-blue-700); }
.pb-picker-items { max-height: 600px; overflow-y: auto; padding: 7px; }
.pb-picker-item { display: flex; min-height: 48px; flex-direction: column; justify-content: center; padding: 8px 10px; border-radius: 9px; color: var(--pb-ink); }
.pb-picker-item:hover { color: var(--pb-ink); background: #eef6f9; }
.pb-picker-item.active { color: var(--pb-blue-800); background: #e6f4f9; box-shadow: inset 3px 0 var(--pb-blue); }
.pb-picker-item strong { font-size: .75rem; }
.pb-picker-item small { margin-top: 3px; color: var(--pb-muted); font-size: .72rem; }
.pb-permission-editor { padding: 25px; }
.pb-permission-editor-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 18px; padding-bottom: 15px; border-bottom: 1px solid #edf2f4; }
.pb-permission-editor h2 { margin: 0; font-size: 1.25rem; }
.pb-permission-editor p { margin: 6px 0 0; color: var(--pb-muted); font-size: .78rem; }
.pb-access-explainer { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 18px; }
.pb-access-step { padding: 11px; border: 1px solid #dfebef; border-radius: 11px; background: #f9fbfc; }
.pb-access-step b { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 7px; color: var(--pb-blue-800); background: var(--pb-cyan-50); font-size: .72rem; }
.pb-access-step strong { display: block; margin-top: 8px; font-size: .75rem; }
.pb-access-step span { display: block; margin-top: 4px; color: var(--pb-muted); font-size: .72rem; line-height: 1.45; }
.pb-permission-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.pb-permission-field h3 { margin: 0 0 7px; font-size: .84rem; }
.pb-permission-field > p { margin: 0 0 9px; color: var(--pb-muted); font-size: .72rem; }

.pb-catalog-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.pb-catalog-list { padding: 4px 16px 12px; }
.pb-catalog-row { display: grid; min-height: 58px; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 9px 0; border-top: 1px solid #edf2f4; color: var(--pb-ink); }
.pb-catalog-row:first-child { border-top: 0; }
.pb-catalog-icon { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; color: var(--pb-blue-800); background: var(--pb-cyan-50); }
.pb-catalog-icon svg { width: 17px; height: 17px; }
.pb-catalog-copy { display: flex; min-width: 0; flex-direction: column; }
.pb-catalog-copy strong { font-size: .78rem; }
.pb-catalog-copy small { margin-top: 3px; color: var(--pb-muted); font-size: .72rem; }
.pb-catalog-row > svg { width: 14px; height: 14px; color: #9aabb2; }

.pb-admin-doubt-list { display: flex; flex-direction: column; gap: 9px; }
.pb-admin-doubt-row { display: grid; min-height: 72px; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: 13px; padding: 13px 15px; border: 1px solid var(--pb-line); border-radius: 13px; color: var(--pb-ink); background: #fff; box-shadow: 0 5px 16px rgba(7,60,82,.04); }
.pb-admin-doubt-row:hover { color: var(--pb-ink); border-color: #aed7e3; box-shadow: var(--pb-shadow-sm); }
.pb-admin-doubt-id { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: var(--pb-blue-800); background: var(--pb-cyan-50); font-size: .74rem; font-weight: 800; }
.pb-admin-doubt-copy { display: flex; min-width: 0; flex-direction: column; }
.pb-admin-doubt-copy strong { overflow: hidden; font-size: .81rem; text-overflow: ellipsis; white-space: nowrap; }
.pb-admin-doubt-copy small { margin-top: 4px; color: var(--pb-muted); font-size: .72rem; }
.pb-admin-doubt-row > svg { width: 15px; height: 15px; color: #9aabb2; }
.pb-answer-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 18px; align-items: start; }
.pb-question-context { padding: 21px; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-question-context-message { padding: 15px; border-radius: 12px; background: #f5f8f9; }
.pb-note {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 14px 15px;
  border: 1px solid #d8e7ec;
  border-radius: 12px;
  color: var(--pb-ink);
  background: #f7fbfc;
}
.pb-note > svg {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  margin-top: 2px;
  color: var(--pb-blue-700);
}
.pb-note-copy {
  display: grid;
  min-width: 0;
  gap: 4px;
}
.pb-note-copy strong {
  display: block;
  font-size: .79rem;
  line-height: 1.35;
}
.pb-note-copy span {
  display: block;
  color: var(--pb-muted);
  font-size: .76rem;
  line-height: 1.55;
}
.pb-question-context-message p { margin: 6px 0 0; color: #3d5865; font-size: .82rem; }
.pb-context-meta { display: grid; gap: 8px; margin-top: 15px; padding-top: 14px; border-top: 1px solid #edf2f4; color: var(--pb-muted); font-size: .74rem; }
.pb-context-meta strong { color: var(--pb-ink); }

/* Auth */
.pb-auth-shell { position: relative; display: grid; min-height: 100vh; place-items: center; overflow: hidden; padding: 28px; background:
  radial-gradient(circle at 10% 10%, rgba(0,143,208,.16), transparent 27%),
  radial-gradient(circle at 90% 84%, rgba(255,138,0,.16), transparent 26%),
  #eef5f8;
}
.pb-auth-shell::before, .pb-auth-shell::after { content: ""; position: absolute; border: 34px solid rgba(0,111,159,.05); border-radius: 70px; transform: rotate(20deg); }
.pb-auth-shell::before { width: 300px; height: 300px; left: -120px; bottom: -130px; }
.pb-auth-shell::after { width: 230px; height: 230px; right: -80px; top: -90px; }
.pb-auth-messages { position: fixed; z-index: 2; top: 18px; left: 50%; width: min(90vw,650px); transform: translateX(-50%); }
.pb-auth-layout { position: relative; z-index: 1; display: grid; width: min(1060px,100%); grid-template-columns: 1.08fr .92fr; overflow: hidden; border: 1px solid rgba(255,255,255,.8); border-radius: 28px; background: #fff; box-shadow: 0 38px 100px rgba(5,47,65,.18); }
.pb-auth-story { position: relative; display: flex; min-height: 610px; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 39px; color: #fff; background: linear-gradient(145deg, var(--pb-blue-900), var(--pb-blue-700)); }
.pb-auth-story::after { content: ""; position: absolute; right: -70px; bottom: -70px; width: 270px; height: 270px; border: 42px solid rgba(255,255,255,.06); border-radius: 68px; transform: rotate(23deg); }
.pb-auth-story .pb-brand-name strong { color: #fff; }
.pb-auth-story-main { position: relative; z-index: 1; }
.pb-auth-story h1 { margin: 0; color: #fff; font-size: clamp(2.4rem,4.3vw,4rem); }
.pb-auth-story p { max-width: 470px; margin: 17px 0 0; color: rgba(255,255,255,.72); font-size: .96rem; }
.pb-auth-story-list { position: relative; z-index: 1; display: grid; gap: 9px; }
.pb-auth-story-list span { display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.85); font-size: .78rem; }
.pb-auth-story-list svg { width: 16px; height: 16px; color: var(--pb-orange); }
.pb-auth-card { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 44px; }
.pb-auth-card-brand { display: none; margin-bottom: 24px; }
.pb-auth-card h1, .pb-auth-card h2 { margin: 0; }
.pb-auth-card > p { margin: 8px 0 21px; color: var(--pb-muted); font-size: .85rem; }
.pb-auth-form { display: grid; gap: 14px; }
.pb-auth-form .btn { min-height: 46px; margin-top: 3px; border: 0; border-radius: 11px; background: linear-gradient(135deg, var(--pb-blue-700), var(--pb-blue)); font-size: .82rem; font-weight: 750; box-shadow: 0 10px 22px rgba(0,120,165,.18); }
.pb-auth-links { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 17px; font-size: .75rem; }
.pb-auth-standalone { position: relative; z-index: 1; width: min(660px,100%); padding: 35px; border: 1px solid rgba(255,255,255,.8); border-radius: 24px; background: #fff; box-shadow: var(--pb-shadow); }
.pb-auth-standalone .pb-brand { margin-bottom: 24px; }


.pb-desktop-toggle { display: inline-grid; }
.pb-mobile-toggle { display: none; }

.pb-auth-form p { margin: 0; }
.pb-auth-form p label { display: block; margin-bottom: 7px; color: var(--pb-ink-700); font-size: .84rem; font-weight: 750; }
.pb-auth-form p input,
.pb-auth-form p select,
.pb-auth-form p textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--pb-line); border-radius: 11px; background: var(--pb-surface); color: var(--pb-ink); outline: none; transition: border-color .18s ease, box-shadow .18s ease; }
.pb-auth-form p input:focus,
.pb-auth-form p select:focus,
.pb-auth-form p textarea:focus { border-color: var(--pb-blue); box-shadow: 0 0 0 4px rgba(0,120,165,.12); }
.pb-auth-form .helptext { display: block; margin-top: 6px; color: var(--pb-muted); font-size: .78rem; line-height: 1.45; }
.pb-auth-form ul.errorlist { margin: 0 0 6px; padding: 0; list-style: none; color: var(--bs-danger); font-size: .82rem; font-weight: 650; }

/* Bootstrap tweaks */
.btn-primary { border-color: var(--pb-blue-700); background-color: var(--pb-blue-700); }
.btn-primary:hover, .btn-primary:focus { border-color: var(--pb-blue-800); background-color: var(--pb-blue-800); }
.btn-outline-primary { border-color: #9ccddb; color: var(--pb-blue-800); }
.btn-outline-primary:hover { border-color: var(--pb-blue-700); background: var(--pb-blue-700); }
.btn-light { border-color: var(--pb-line); }

@media (max-width: 1260px) {
  .pb-home-grid { grid-template-columns: minmax(0,1fr) 290px; }
  .pb-module-grid { grid-template-columns: 1fr; }
  .pb-admin-stats { grid-template-columns: repeat(2,1fr); }
  .pb-permission-shell { grid-template-columns: 300px minmax(0,1fr); }
}

@media (max-width: 1050px) {
  .pb-topbar { grid-template-columns: auto minmax(260px,1fr) auto; padding-inline: 20px; }
  .pb-new-content span { display: none; }
  .pb-new-content { width: 40px; padding: 0; justify-content: center; }
  .pb-home-grid, .pb-help-grid, .pb-search-layout { grid-template-columns: 1fr; }
  .pb-home-side { display: grid; grid-template-columns: 1fr 1fr; }
  .pb-help-aside { position: static; }
  .pb-lesson-layout { grid-template-columns: minmax(0,1fr) 280px; }
  .pb-admin-grid, .pb-catalog-grid { grid-template-columns: 1fr; }
}

@media (max-width: 991.98px) {
  .pb-desktop-toggle { display: none; }
  .pb-mobile-toggle { display: inline-grid; }
  .pb-sidebar { width: min(330px, 88vw); transform: translateX(-102%); box-shadow: var(--pb-shadow); }
  body.pb-mobile-menu-open { overflow: hidden; }
  body.pb-mobile-menu-open .pb-sidebar { transform: translateX(0); }
  .pb-workspace, body.pb-sidebar-collapsed .pb-workspace { margin-left: 0; }
  .pb-sidebar-backdrop { position: fixed; z-index: 1035; inset: 0; display: block; border: 0; background: rgba(5,34,47,.48); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
  body.pb-mobile-menu-open .pb-sidebar-backdrop { opacity: 1; pointer-events: auto; }
  .pb-topbar { grid-template-columns: auto minmax(0,1fr) auto; }
  .pb-content { width: min(100% - 32px, 1100px); padding-top: 24px; }
  .pb-lesson-layout { grid-template-columns: 1fr; }
  .pb-lesson-rail { position: static; display: grid; grid-template-columns: 1fr 1fr; }
  .pb-lesson-rail .pb-rail-card:first-child { grid-column: 1/-1; }
  .pb-permission-shell { grid-template-columns: 1fr; }
  .pb-permission-picker { border-right: 0; border-bottom: 1px solid var(--pb-line); }
  .pb-picker-items { max-height: 270px; }
  .pb-answer-layout { grid-template-columns: 1fr; }
  .pb-auth-layout { grid-template-columns: 1fr; width: min(620px,100%); }
  .pb-auth-story { display: none; }
  .pb-auth-card-brand { display: block; }
}

@media (max-width: 760px) {
  .pb-topbar { height: 64px; grid-template-columns: auto 1fr auto; gap: 10px; padding-inline: 12px; }
  .pb-mobile-brand .pb-brand-name { display: none; }
  .pb-global-search { justify-self: stretch; }
    .pb-global-search kbd { display: none; }
  .pb-content { width: min(100% - 22px, 760px); padding-top: 17px; padding-bottom: 40px; }
  .pb-page-header, .pb-admin-hero { align-items: flex-start; flex-direction: column; }
  .pb-home-intro { grid-template-columns: 1fr; padding: 27px 22px; }
  .pb-home-score { min-width: 0; width: 100%; }
  .pb-hero-search, .pb-help-search { display: grid; grid-template-columns: auto minmax(0,1fr); padding: 10px 12px; }
  .pb-hero-search .btn, .pb-help-search .btn { grid-column: 1/-1; width: 100%; }
  .pb-home-grid { gap: 16px; }
  .pb-home-side { display: flex; }
  .pb-continue { grid-template-columns: auto minmax(0,1fr); }
  .pb-continue-arrow { display: none; }
  .pb-module-grid { grid-template-columns: 1fr; }
  .pb-module-hero { grid-template-columns: auto minmax(0,1fr); padding: 22px; }
  .pb-module-summary { grid-column: 1/-1; align-items: flex-start; min-width: 0; }
  .pb-module-summary .pb-module-progress { width: 100%; }
  .pb-lesson-title-card, .pb-lesson-content, .pb-quiz-card { padding: 22px; }
  .pb-lesson-rail { display: flex; }
  .pb-lesson-nav { grid-template-columns: 1fr; }
  .pb-lesson-nav a:last-child { align-items: flex-start; text-align: left; }
  .pb-admin-stats, .pb-admin-grid, .pb-catalog-grid { grid-template-columns: 1fr; }
  .pb-admin-shortcuts { width: 100%; flex-wrap: wrap; }
  .pb-admin-shortcuts .btn { flex: 1; }
  .pb-admin-module-head { grid-template-columns: auto minmax(0,1fr); }
  .pb-admin-module-actions { grid-column: 1/-1; justify-content: flex-end; }
  .pb-admin-module-meta a { width: 100%; margin-left: 0; }
  .pb-admin-lesson-row { grid-template-columns: auto minmax(0,1fr); }
  .pb-admin-lesson-actions { grid-column: 2; }
  .pb-permission-columns, .pb-access-explainer, .pb-form-grid { grid-template-columns: 1fr; }
  .pb-field-full { grid-column: auto; }
  .check-list { grid-template-columns: 1fr; }
  .pb-admin-doubt-row { grid-template-columns: auto minmax(0,1fr) auto; }
  .pb-admin-doubt-row .pb-status { grid-column: 2; justify-self: start; }
  .pb-auth-shell { padding: 15px; }
  .pb-auth-card, .pb-auth-standalone { padding: 25px; border-radius: 20px; }
  .pb-auth-links { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 430px) {
  .pb-global-search { max-width: 46px; padding-inline: 12px; }
  .pb-global-search input { width: 0; opacity: 0; }
  .pb-global-search:focus-within { position: fixed; z-index: 1050; top: 8px; right: 8px; left: 8px; max-width: none; }
  .pb-global-search:focus-within input { width: auto; opacity: 1; }
  .pb-page-header h1, .pb-home-intro h1 { font-size: 2rem; }
  .pb-home-score { align-items: flex-start; }
  .pb-module-hero-icon { width: 54px; height: 54px; border-radius: 16px; }
  .pb-lesson-row { grid-template-columns: auto minmax(0,1fr); }
  .pb-lesson-row-action { display: none; }
  .pb-doubt-card-head { flex-direction: column; }
  .pb-form-actions { align-items: stretch; flex-direction: column-reverse; }
  .pb-form-actions .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Performance: YouTube is loaded only after the user clicks play. */
.pb-video-lazy { isolation: isolate; }
.pb-video-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .72;
  filter: saturate(.78) contrast(1.04);
}
.pb-video-lazy::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(3,23,32,.12), rgba(3,23,32,.78));
}
.pb-video-overlay {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 14px;
  padding: 24px;
  text-align: center;
}
.pb-video-play {
  display: inline-flex;
  max-width: min(430px, 90%);
  align-items: center;
  gap: 14px;
  padding: 13px 18px;
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 16px;
  color: #fff;
  background: rgba(4,31,43,.82);
  box-shadow: 0 16px 42px rgba(0,0,0,.28);
  text-align: left;
  backdrop-filter: blur(8px);
  transition: transform .16s ease, background .16s ease;
}
.pb-video-play:hover { transform: translateY(-2px); background: rgba(0,111,159,.94); }
.pb-video-play:focus-visible { outline: 3px solid rgba(255,153,0,.9); outline-offset: 4px; }
.pb-video-play:disabled { opacity: .72; cursor: wait; }
.pb-video-play > span:last-child { display: flex; flex-direction: column; }
.pb-video-play strong { font-size: .95rem; }
.pb-video-play small { margin-top: 3px; color: rgba(255,255,255,.76); font-size: .7rem; }
.pb-video-play-icon {
  display: grid;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--pb-orange);
}
.pb-video-play-icon svg { width: 21px; height: 21px; margin-left: 2px; }
.pb-video-youtube-link { color: #fff; font-size: .74rem; font-weight: 720; text-decoration: underline; text-underline-offset: 3px; }
.pb-video-youtube-link:hover { color: #fff3dd; }
.pb-video.is-loading::before {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  width: 36px;
  height: 36px;
  margin: -18px;
  border: 3px solid rgba(255,255,255,.35);
  border-top-color: #fff;
  border-radius: 50%;
  content: "";
  animation: pb-video-spin .7s linear infinite;
}
.pb-video.is-loaded::after { display: none; }
.pb-video-noscript { position: absolute; z-index: 5; inset: auto 20px 20px; color: #fff; }
@keyframes pb-video-spin { to { transform: rotate(360deg); } }

@media (max-width: 575.98px) {
  .pb-video-play { padding: 10px 13px; border-radius: 13px; }
  .pb-video-play-icon { width: 40px; height: 40px; flex-basis: 40px; }
  .pb-video-play small { display: none; }
}

.pb-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 18px;
  color: var(--pb-muted);
  font-size: .78rem;
}
.pb-pagination a {
  padding: 8px 12px;
  border: 1px solid var(--pb-line);
  border-radius: 10px;
  color: var(--pb-blue-800);
  background: #fff;
  font-weight: 720;
}
.pb-pagination a:hover { border-color: #abd4e2; background: #f5fbfd; }

/* V11: lightweight knowledge base and doubt access on every learner screen. */
.pb-send-doubt-action { border-color: rgba(0,143,208,.22); color: #fff; background: linear-gradient(135deg, var(--pb-blue-700), var(--pb-blue)); box-shadow: 0 7px 16px rgba(0,122,168,.15); }
.pb-send-doubt-action:hover { color: #fff; border-color: transparent; background: linear-gradient(135deg, var(--pb-blue-800), var(--pb-blue-700)); }
.pb-lesson-primary-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.pb-lesson-primary-actions .btn { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; border-radius: 11px; font-size: .82rem; font-weight: 740; }
.pb-lesson-primary-actions svg { width: 16px; height: 16px; }

.pb-search-stack { display: grid; gap: 38px; }
.pb-article-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; }
.pb-article-grid-wide { grid-template-columns: repeat(2, minmax(0,1fr)); }
.pb-article-card { display: flex; min-height: 158px; flex-direction: column; padding: 18px; border: 1px solid var(--pb-line); border-radius: 15px; background: #fff; box-shadow: var(--pb-shadow-sm); transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.pb-article-card:hover { transform: translateY(-2px); border-color: #b8dbe7; box-shadow: 0 13px 28px rgba(10,56,75,.08); }
.pb-article-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; color: var(--pb-muted); font-size: .67rem; font-weight: 720; }
.pb-article-meta span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-article-meta b { flex: 0 0 auto; padding: 3px 7px; border-radius: 999px; color: var(--pb-blue-800); background: var(--pb-cyan-50); font-size: .63rem; }
.pb-article-card h3 { margin: 0 0 16px; color: var(--pb-ink); font-size: .96rem; line-height: 1.35; }
.pb-article-card a { display: inline-flex; align-items: center; gap: 5px; margin-top: auto; color: var(--pb-blue-700); font-size: .76rem; font-weight: 760; }
.pb-article-card a svg { width: 14px; height: 14px; }
.pb-article-unavailable { margin-top: auto; color: #87979f; font-size: .73rem; font-weight: 680; }
.pb-help-hero-compact { padding-block: 31px; }
.pb-help-grid-wide { grid-template-columns: minmax(0,1fr) 280px; }
.pb-help-main { min-width: 0; }

.pb-doubt-page { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(420px,1.28fr); gap: 24px; align-items: start; }
.pb-doubt-intro { position: sticky; top: calc(var(--pb-topbar-height) + 24px); padding: 28px; border: 1px solid #cfe5ed; border-radius: var(--pb-radius-lg); background: linear-gradient(145deg,#fff,#f1fbff); box-shadow: var(--pb-shadow-sm); }
.pb-doubt-intro h1 { margin: 0; }
.pb-doubt-intro > p { margin: 12px 0 22px; color: var(--pb-muted); }
.pb-doubt-benefits { display: grid; gap: 11px; }
.pb-doubt-benefits span { display: flex; align-items: flex-start; gap: 8px; color: #41606d; font-size: .82rem; }
.pb-doubt-benefits svg { width: 17px; height: 17px; flex: 0 0 17px; margin-top: 1px; color: var(--pb-success); }
.pb-doubt-form-card { padding: 26px; }
.pb-doubt-form-card .btn-primary { display: inline-flex; align-items: center; gap: 7px; }
.pb-doubt-form-card .btn-primary svg { width: 16px; height: 16px; }

@media (max-width: 1199.98px) {
  .pb-article-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pb-help-grid-wide { grid-template-columns: 1fr; }
  .pb-help-grid-wide .pb-help-aside { display: none; }
}

@media (max-width: 991.98px) {
  .pb-doubt-page { grid-template-columns: 1fr; }
  .pb-doubt-intro { position: static; }
}

@media (max-width: 767.98px) {
  .pb-article-grid, .pb-article-grid-wide { grid-template-columns: 1fr; }
  .pb-article-card { min-height: 0; }
  .pb-send-doubt-action span { display: none; }
  .pb-send-doubt-action { width: 40px; justify-content: center; padding-inline: 0; }
  .pb-doubt-form-card, .pb-doubt-intro { padding: 20px; }
}
.pb-knowledge-rule { display: grid; gap: 4px; margin: 15px 0 18px; padding: 12px; border: 1px solid rgba(255,138,0,.25); border-radius: 11px; background: var(--pb-orange-100); }
.pb-knowledge-rule strong { color: #8a5200; font-size: .75rem; }
.pb-knowledge-rule span { color: #715b3e; font-size: .75rem; line-height: 1.45; }

/* V12 — lighter lesson flow and clearer global actions */
.pb-lesson-page { width: min(100%, 1120px); margin: 0 auto; }
.pb-lesson-title-compact { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 23px 25px; }
.pb-lesson-title-copy { min-width: 0; }
.pb-lesson-title-compact .pb-lesson-title-copy > p { max-width: 780px; margin: 9px 0 0; color: var(--pb-muted); font-size: .9rem; }
.pb-lesson-doubt-button { display: inline-flex; min-height: 43px; flex: 0 0 auto; align-items: center; gap: 8px; border: 0; border-radius: 12px; box-shadow: 0 8px 18px rgba(0,122,168,.16); }
.pb-lesson-doubt-button svg { width: 17px; height: 17px; }
.pb-video-shell { overflow: hidden; margin-bottom: 15px; border: 1px solid #d7e5ea; border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-video-shell .pb-video { margin-bottom: 0; border-radius: calc(var(--pb-radius) - 1px) calc(var(--pb-radius) - 1px) 0 0; box-shadow: none; }
.pb-video-help { display: flex; min-height: 48px; align-items: center; justify-content: flex-end; gap: 8px; padding: 10px 15px; border-top: 1px solid #e3ecef; color: var(--pb-muted); font-size: .76rem; }
.pb-video-help a { display: inline-flex; align-items: center; gap: 5px; font-weight: 760; }
.pb-video-help svg { width: 13px; height: 13px; }
.pb-lazy-fragment { min-height: 92px; margin-top: 15px; }
.pb-fragment-loading, .pb-fragment-error { display: flex; min-height: 92px; align-items: center; justify-content: center; gap: 10px; padding: 18px; border: 1px dashed #cbdde4; border-radius: var(--pb-radius); color: var(--pb-muted); background: #f8fbfc; font-size: .82rem; }
.pb-fragment-error { flex-wrap: wrap; }
.pb-related-answers { margin-top: 22px; padding: 24px; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; box-shadow: var(--pb-shadow-sm); }
body.pb-sidebar-collapsed .pb-sidebar { cursor: e-resize; }
body.pb-sidebar-collapsed .pb-sidebar::after { content: "Clique para expandir"; position: fixed; z-index: 1100; left: 10px; bottom: 78px; width: 62px; padding: 6px 4px; border-radius: 8px; color: #fff; background: rgba(0,73,103,.9); font-size: .58rem; line-height: 1.2; text-align: center; opacity: 0; pointer-events: none; transition: opacity .15s ease; }
body.pb-sidebar-collapsed .pb-sidebar:hover::after { opacity: 1; }

@media (max-width: 767.98px) {
  .pb-lesson-title-compact { align-items: stretch; flex-direction: column; padding: 20px; }
  .pb-lesson-doubt-button { justify-content: center; }
  .pb-video-help { align-items: flex-start; flex-direction: column; }
  .pb-related-answers { padding: 18px; }
}

/* V14 — compact ticket history and friendly error pages */
.pb-ticket-list {
  overflow: hidden;
  border: 1px solid var(--pb-border, #dce7ec);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(15, 55, 75, .06);
}
.pb-ticket-list-head,
.pb-ticket-row {
  display: grid;
  grid-template-columns: minmax(150px, .85fr) minmax(260px, 2fr) 110px 140px 24px;
  gap: 18px;
  align-items: center;
}
.pb-ticket-list-head {
  padding: 13px 20px;
  background: #f5f9fb;
  border-bottom: 1px solid #e3edf1;
  color: #637a86;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.pb-ticket-row {
  padding: 18px 20px;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid #edf2f4;
  transition: background-color .16s ease, transform .16s ease;
}
.pb-ticket-row:last-child { border-bottom: 0; }
.pb-ticket-row:hover { background: #f8fbfc; }
.pb-ticket-number,
.pb-ticket-subject,
.pb-ticket-date { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pb-ticket-number strong { color: #006f9f; }
.pb-ticket-number small,
.pb-ticket-subject small,
.pb-ticket-date small { color: #718792; font-size: .78rem; }
.pb-ticket-subject strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-ticket-arrow { width: 18px; height: 18px; color: #7c929d; }
.pb-doubt-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; }
.pb-doubt-detail-text { margin: 18px 0 0; color: #334f5c; line-height: 1.7; }
.pb-error-page {
  min-height: min(620px, 70vh);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 48px 24px;
  background: #fff;
  border: 1px solid #dce7ec;
  border-radius: 28px;
}
.pb-error-code { color: #f47b20; font-weight: 900; letter-spacing: .14em; }
.pb-error-page h1 { max-width: 650px; margin: 12px 0; }
.pb-error-page p { max-width: 610px; color: #637a86; }
.pb-error-reference { display: inline-block; margin-top: 12px; padding: 9px 13px; border-radius: 10px; background: #f2f7f9; color: #284b5c; }

@media (max-width: 900px) {
  .pb-ticket-list-head { display: none; }
  .pb-ticket-row { grid-template-columns: 1fr auto; gap: 10px 14px; }
  .pb-ticket-number, .pb-ticket-subject { grid-column: 1; }
  .pb-ticket-date { grid-column: 1; flex-direction: row; gap: 5px; }
  .pb-ticket-row > span:nth-child(4) { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
  .pb-ticket-arrow { display: none; }
  .pb-doubt-detail-grid { grid-template-columns: 1fr; }
}
.pb-quiz-card { scroll-margin-top: 96px; }

/* --------------------------------------------------------------------------
   V18 — interface equilibrada e renderização progressiva
   -------------------------------------------------------------------------- */
:root {
  --pb-sidebar-width: 282px;
  --pb-topbar-height: 64px;
  --pb-radius: 14px;
  --pb-radius-lg: 20px;
  --pb-shadow-sm: 0 6px 18px rgba(8, 52, 72, .045);
  --pb-shadow: 0 16px 44px rgba(8, 52, 72, .08);
}

.pb-topbar {
  gap: 18px;
  padding-inline: 22px;
  background: #fff;
  backdrop-filter: none;
}
.pb-content { width: min(100% - 44px, 1240px); padding-top: 26px; }
.pb-page-header { align-items: center; margin-bottom: 22px; }
.pb-page-header-compact h1 { font-size: clamp(1.75rem, 2.5vw, 2.35rem); }
.pb-page-header-actions { align-items: center; }

.pb-home-intro {
  gap: 26px;
  padding: 28px 30px;
  border-color: var(--pb-line);
  background: #fff;
  box-shadow: var(--pb-shadow-sm);
}
.pb-home-intro::after { display: none; }
.pb-home-intro h1 { max-width: 680px; font-size: clamp(1.9rem, 3vw, 2.75rem); }
.pb-home-intro p { margin-block: 10px 18px; }
.pb-home-score { border-left: 1px solid var(--pb-line); padding-left: 26px; }
.pb-home-grid { grid-template-columns: minmax(0, 1.8fr) minmax(275px, .65fr); gap: 18px; }
.pb-module-grid { gap: 12px; }
.pb-module-card,
.pb-ticket-row,
.pb-admin-module,
.pb-result-card {
  content-visibility: auto;
  contain-intrinsic-size: 140px;
}
.pb-module-card { box-shadow: none; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.pb-module-card:hover { transform: translateY(-1px); box-shadow: var(--pb-shadow-sm); }
.pb-data-card { box-shadow: none; }
.pb-side-card { box-shadow: none; }

.pb-integration-card { padding: 24px; }
.pb-integration-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px;
  margin-bottom: 20px;
}
.pb-integration-head h2 { margin: 2px 0 4px; font-size: 1.12rem; }
.pb-integration-head p { margin: 0; color: var(--pb-muted); font-size: .87rem; line-height: 1.5; }
.pb-integration-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  color: var(--pb-blue-700);
  background: var(--pb-cyan-50);
}
.pb-integration-icon svg { width: 20px; height: 20px; }
.pb-integration-action { margin-top: 18px; }
.pb-diagnostic-compact > div { padding-block: 10px; }
.pb-flow-card {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
}
.pb-flow-card > svg { color: #9cb1ba; }
.pb-flow-step { display: flex; align-items: center; gap: 12px; min-width: 0; }
.pb-flow-step > span {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--pb-blue-700);
  font-size: .82rem;
  font-weight: 800;
}
.pb-flow-step div { display: flex; min-width: 0; flex-direction: column; }
.pb-flow-step strong { font-size: .88rem; }
.pb-flow-step small { margin-top: 2px; color: var(--pb-muted); line-height: 1.4; }

.pb-jira-sync-form { display: flex; align-items: flex-end; flex-direction: column; gap: 5px; }
.pb-jira-sync-form .btn { white-space: nowrap; }
.pb-sync-feedback { max-width: 310px; color: var(--pb-muted); text-align: right; }
.btn.is-loading { opacity: .72; cursor: wait; }

.pb-ticket-list { border-radius: 14px; box-shadow: none; }
.pb-ticket-row { min-height: 68px; }
.pb-doubt-detail-grid { gap: 16px; }
.pb-doubt-detail-text { font-size: .96rem; line-height: 1.7; }

.pb-sidebar { box-shadow: none; }
.pb-sidebar-scroll { padding-top: 10px; }
.pb-course-accordion .accordion-button { min-height: 48px; }
.pb-lesson-link { min-height: 34px; }
.pb-nav-link { min-height: 42px; }

@media (max-width: 991.98px) {
  .pb-content { width: min(100% - 24px, 820px); }
  .pb-page-header-actions { align-items: flex-start; flex-direction: column; }
  .pb-jira-sync-form { align-items: flex-start; }
  .pb-sync-feedback { text-align: left; }
  .pb-flow-card { grid-template-columns: 1fr; }
  .pb-flow-card > svg { display: none; }
}

@media (max-width: 767.98px) {
  .pb-home-intro { padding: 24px 20px; }
  .pb-home-score { border-top: 1px solid var(--pb-line); border-left: 0; padding-top: 18px; padding-left: 0; }
  .pb-integration-head { grid-template-columns: auto minmax(0, 1fr); }
  .pb-integration-head > .pb-status { grid-column: 2; justify-self: start; }
  .pb-integration-card { padding: 20px; }
}

/* --------------------------------------------------------------------------
   V20 — navigation feedback, restrained visual hierarchy and fast learning flow
   -------------------------------------------------------------------------- */
:root {
  --pb-canvas: #f5f8fa;
  --pb-line: #dce7eb;
  --pb-line-strong: #c7d8df;
  --pb-radius: 14px;
  --pb-radius-lg: 18px;
  --pb-shadow-sm: 0 4px 14px rgba(8, 52, 72, .045);
  --pb-shadow: 0 14px 36px rgba(8, 52, 72, .075);
}

.pb-navigation-progress {
  position: fixed;
  z-index: 2000;
  inset: 0 0 auto;
  height: 3px;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity .12s ease;
}
.pb-navigation-progress span {
  display: block;
  width: 34%;
  height: 100%;
  border-radius: 0 999px 999px 0;
  background: linear-gradient(90deg, var(--pb-blue), var(--pb-orange));
  transform: translateX(-110%);
}
body.pb-is-navigating .pb-navigation-progress { opacity: 1; }
body.pb-is-navigating .pb-navigation-progress span { animation: pb-navigation-progress 1.15s ease-in-out infinite; }
body.pb-is-navigating .pb-topbar::after {
  content: "Abrindo…";
  position: absolute;
  right: 20px;
  bottom: -30px;
  padding: 5px 9px;
  border: 1px solid var(--pb-line);
  border-radius: 9px;
  color: var(--pb-muted);
  background: rgba(255,255,255,.96);
  box-shadow: var(--pb-shadow-sm);
  font-size: .7rem;
  font-weight: 750;
}
@keyframes pb-navigation-progress {
  0% { transform: translateX(-110%); }
  55% { transform: translateX(155%); }
  100% { transform: translateX(320%); }
}

.pb-content { padding-bottom: 52px; }
.pb-breadcrumb { margin-bottom: 15px; }
.pb-section-head { margin-bottom: 13px; }
.pb-section-head h2 { font-size: 1.22rem; }
.pb-section-head p { margin-top: 4px; font-size: .82rem; }
.pb-page-header p,
.pb-admin-hero p { line-height: 1.55; }

.pb-home-intro,
.pb-admin-hero,
.pb-module-hero,
.pb-lesson-title-card {
  border-color: var(--pb-line);
  background: #fff;
  box-shadow: none;
}
.pb-home-intro { padding: 26px 28px; }
.pb-home-intro h1 { letter-spacing: -.035em; }
.pb-home-score { min-width: 235px; }
.pb-continue { border-color: #cfe2e9; box-shadow: none; }
.pb-continue:hover { border-color: #9fcbd9; box-shadow: var(--pb-shadow-sm); }
.pb-module-card { min-height: 178px; padding: 18px; }
.pb-module-card::after { display: none; }
.pb-module-card h3 { margin-top: 14px; }
.pb-module-card-bottom { padding-top: 14px; }
.pb-side-card { border-color: var(--pb-line); }

.pb-module-hero { gap: 16px; margin-bottom: 19px; padding: 22px 24px; }
.pb-module-hero-icon { width: 56px; height: 56px; border-radius: 16px; box-shadow: none; }
.pb-module-hero p { line-height: 1.55; }
.pb-lesson-table { box-shadow: none; }
.pb-lesson-row { min-height: 62px; padding: 10px 14px; transition: background .12s ease, border-color .12s ease; }
.pb-lesson-row:hover { background: #f2f8fa; }
.pb-lesson-row-copy strong { font-size: .9rem; }
.pb-lesson-row-copy small { color: var(--pb-muted); font-size: .72rem; }
.pb-lesson-row-action { color: var(--pb-blue-700); font-size: .74rem; font-weight: 760; }

.pb-lesson-page { width: min(100%, 1060px); }
.pb-lesson-title-compact { align-items: flex-start; padding: 23px 25px; }
.pb-lesson-title-compact h1 { max-width: 780px; font-size: clamp(1.85rem, 3vw, 2.65rem); }
.pb-lesson-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 8px; }
.pb-lesson-eyebrow .pb-kicker { margin: 0; }
.pb-sequence-label {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  padding: 3px 9px;
  border: 1px solid #f7d8a5;
  border-radius: 999px;
  color: #925500;
  background: #fff7e8;
  font-size: .67rem;
  font-weight: 820;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.pb-lesson-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.pb-lesson-actions .btn { display: inline-flex; min-height: 42px; align-items: center; gap: 7px; }
.pb-lesson-actions .btn-light { border: 1px solid var(--pb-line); color: var(--pb-blue-800); background: #fff; }
.pb-lesson-meta { margin-top: 16px; }
.pb-meta-chip, .pb-status { min-height: 28px; }

.pb-video-shell { border-color: #cfdde3; box-shadow: none; }
.pb-video { aspect-ratio: 16 / 9; min-height: 0; }
.pb-video-poster { opacity: .82; filter: saturate(.86) contrast(1.02); }
.pb-video-lazy::after { background: linear-gradient(180deg, rgba(3,23,32,.08), rgba(3,23,32,.68)); }
.pb-video-play { background: rgba(5, 39, 54, .9); backdrop-filter: none; }
.pb-video-help { min-height: 43px; }

.pb-lesson-content { margin-top: 0; padding: 25px 27px; box-shadow: none; }
.pb-content-label { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid #e8eff2; }
.pb-content-label span { color: var(--pb-blue-800); font-size: .78rem; font-weight: 840; letter-spacing: .09em; text-transform: uppercase; }
.pb-content-label small { color: var(--pb-muted); font-size: .74rem; }
.pb-lesson-content .lesson-lead { margin: 0 0 22px; color: #254b5c; font-size: 1rem; line-height: 1.72; }
.pb-lesson-content h2 { margin: 24px 0 10px; color: var(--pb-blue-900); font-size: 1.05rem; letter-spacing: -.01em; }
.pb-lesson-content ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.pb-lesson-content li { position: relative; padding: 9px 12px 9px 31px; border: 1px solid #e4ecef; border-radius: 10px; color: #36525f; background: #fbfcfd; font-size: .84rem; line-height: 1.5; }
.pb-lesson-content li::before { position: absolute; top: 13px; left: 13px; width: 7px; height: 7px; border-radius: 50%; content: ""; background: var(--pb-blue); }

.pb-quiz-card { padding: 24px 26px; box-shadow: none; }
.pb-quiz-head { margin-bottom: 19px; }
.pb-quiz-head h2 { font-size: 1.3rem; }
.pb-quiz-question { padding: 18px 0; }
.pb-choice { min-height: 44px; padding: 10px 12px; }
.pb-lesson-nav { gap: 10px; margin-top: 15px; }
.pb-lesson-nav a { min-height: 66px; padding: 13px 15px; border-color: var(--pb-line); box-shadow: none; }
.pb-lesson-nav a:hover { border-color: #acd2de; background: #f8fbfc; }

.pb-data-card,
.pb-admin-stat,
.pb-admin-module,
.pb-ticket-list,
.pb-article-card { box-shadow: none; }
.pb-admin-hero { padding: 22px 24px; }
.pb-admin-stats { gap: 11px; }
.pb-admin-stat { min-height: 92px; }
.pb-integration-card { padding: 22px; }
.pb-flow-card { box-shadow: none; }

.pb-article-grid { gap: 11px; }
.pb-article-card { min-height: 142px; padding: 16px; }
.pb-article-card:hover { transform: none; border-color: #aad2df; box-shadow: none; }
.pb-article-unavailable { display: none; }

/* Content below the viewport is laid out only when needed. */
.pb-lesson-content,
.pb-quiz-card,
.pb-lesson-nav,
.pb-article-grid,
.pb-ticket-list,
.pb-data-card {
  content-visibility: auto;
  contain-intrinsic-size: auto 240px;
}

@media (max-width: 767.98px) {
  .pb-content { width: min(100% - 20px, 760px); padding-top: 15px; }
  .pb-home-intro { padding: 22px 19px; }
  .pb-home-score { min-width: 0; }
  .pb-module-hero { padding: 18px; }
  .pb-lesson-title-compact { padding: 19px; }
  .pb-lesson-actions { width: 100%; justify-content: stretch; }
  .pb-lesson-actions .btn { flex: 1; justify-content: center; }
  .pb-lesson-content, .pb-quiz-card { padding: 20px; }
  .pb-content-label { align-items: flex-start; flex-direction: column; gap: 4px; }
  body.pb-is-navigating .pb-topbar::after { display: none; }
}

/* --------------------------------------------------------------------------
   V23 — three-level learning path, real video progress and certificates
   -------------------------------------------------------------------------- */
.pb-learning-hero { align-items: stretch; }
.pb-learning-scoreboard { display: grid; min-width: 280px; align-content: center; gap: 12px; }
.pb-performance-chip { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 14px; border: 1px solid var(--pb-line); border-radius: 12px; background: #f8fbfc; }
.pb-performance-chip span { color: var(--pb-muted); font-size: .73rem; font-weight: 760; }
.pb-performance-chip strong { color: var(--pb-blue-800); font-size: 1.15rem; }

.pb-level-grid { display: grid; gap: 18px; }
.pb-level-card { overflow: hidden; border: 1px solid var(--pb-line); border-radius: var(--pb-radius-lg); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-level-card.is-locked { border-style: dashed; background: #f8fafb; box-shadow: none; }
.pb-level-card.is-complete { border-color: #acd9c6; }
.pb-level-card-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: start; padding: 20px 22px 15px; }
.pb-level-icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 15px; color: var(--pb-blue-800); background: #e9f5f9; font-size: 1.55rem; }
.pb-level-icon svg { width: 22px; height: 22px; }
.pb-level-title > span { color: var(--pb-orange); font-size: .68rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.pb-level-title h3 { margin: 2px 0 4px; color: var(--pb-blue-900); font-size: 1.3rem; }
.pb-level-title p { max-width: 680px; margin: 0; color: var(--pb-muted); font-size: .82rem; line-height: 1.55; }
.pb-level-state { display: inline-flex; min-height: 27px; align-items: center; padding: 4px 10px; border-radius: 999px; font-size: .67rem; font-weight: 820; }
.pb-level-state.started { color: #075e79; background: #e5f5fb; }
.pb-level-state.completed { color: #17643f; background: #e7f7ef; }
.pb-level-state.locked { color: #64747c; background: #e9eef0; }
.pb-level-progress-row { display: flex; align-items: center; gap: 12px; padding: 0 22px 16px; }
.pb-level-progress-row .pb-module-progress { flex: 1; }
.pb-level-progress-row strong { min-width: 40px; color: var(--pb-blue-800); font-size: .78rem; text-align: right; }
.pb-level-modules-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0 22px 18px; }
.pb-level-module-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 11px; align-items: center; min-height: 66px; padding: 11px 13px; border: 1px solid #dfe9ed; border-radius: 12px; color: inherit; background: #fbfdfe; text-decoration: none; transition: border-color .12s ease, background .12s ease; }
.pb-level-module-card:hover { border-color: #9fcbd9; color: inherit; background: #f2f9fb; }
.pb-level-module-card.is-locked { opacity: .72; }
.pb-level-module-card .pb-module-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; background: #edf6f9; font-size: 1rem; }
.pb-level-module-card .pb-module-icon svg, .pb-level-module-card > svg { width: 17px; height: 17px; }
.pb-level-module-card span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; }
.pb-level-module-card strong { overflow: hidden; color: var(--pb-blue-900); font-size: .84rem; text-overflow: ellipsis; white-space: nowrap; }
.pb-level-module-card small { margin-top: 3px; color: var(--pb-muted); font-size: .68rem; }
.pb-level-card-footer { display: flex; min-height: 62px; align-items: center; justify-content: flex-end; gap: 9px; padding: 12px 22px; border-top: 1px solid #e6eef1; background: #fbfcfd; }
.pb-level-card-footer > span { margin-right: auto; color: var(--pb-muted); font-size: .72rem; }
.pb-level-lock-message { display: flex; gap: 12px; align-items: center; margin: 0 22px 20px; padding: 15px; border: 1px dashed #cbd9de; border-radius: 12px; color: #526973; background: #fff; }
.pb-level-lock-message > svg { width: 22px; height: 22px; }
.pb-level-lock-message div { display: flex; flex-direction: column; }
.pb-level-lock-message strong { color: var(--pb-blue-800); font-size: .83rem; }
.pb-level-lock-message span { font-size: .73rem; }
.pb-current-level { display: flex; align-items: center; gap: 12px; margin: 10px 0 13px; }
.pb-current-level > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: #e9f5f9; }
.pb-current-level div { display: flex; flex-direction: column; }
.pb-current-level strong { color: var(--pb-blue-900); }
.pb-current-level small { color: var(--pb-muted); }
.pb-level-hero .pb-module-hero-icon { background: #e8f6fb; }
.pb-certificate-banner { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 13px; align-items: center; margin: -4px 0 19px; padding: 14px 17px; border: 1px solid #a9dbc5; border-radius: 14px; background: #effaf5; }
.pb-certificate-banner > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; color: #17643f; background: #d8f1e5; }
.pb-certificate-banner svg { width: 18px; height: 18px; }
.pb-certificate-banner div { display: flex; flex-direction: column; }
.pb-certificate-banner strong { color: #165b3b; }
.pb-certificate-banner small { color: #527064; }
.pb-module-card.is-locked, .pb-lesson-row.is-locked { cursor: not-allowed; opacity: .7; }
.pb-module-percent { color: var(--pb-muted); font-size: .7rem; font-weight: 760; }

.pb-level-pill { display: inline-flex; min-height: 24px; align-items: center; padding: 3px 9px; border: 1px solid #b8dce7; border-radius: 999px; color: #0b6685; background: #eef8fb; font-size: .67rem; font-weight: 820; }
.pb-video-progress-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 16px; align-items: center; padding: 13px 16px; border-bottom: 1px solid #d7e3e8; background: #f8fbfc; }
.pb-video-progress-panel > div:first-child { display: flex; flex-direction: column; }
.pb-video-progress-panel strong { color: var(--pb-blue-900); font-size: .78rem; }
.pb-video-progress-panel small { color: var(--pb-muted); font-size: .68rem; }
.pb-progress-value { color: var(--pb-blue-800); font-size: .9rem; font-weight: 850; }
.pb-progress-track { grid-column: 1 / -1; height: 7px; overflow: hidden; border-radius: 999px; background: #dfeaed; }
.pb-progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--pb-blue), var(--pb-orange)); transition: width .35s ease; }
.pb-next-locked { display: flex; min-height: 66px; flex-direction: column; justify-content: center; padding: 13px 15px; border: 1px dashed #cbd9de; border-radius: var(--pb-radius); color: var(--pb-muted); background: #f7f9fa; text-align: right; }
.pb-next-locked small { font-size: .69rem; }
.pb-next-locked strong { display: flex; align-items: center; justify-content: flex-end; gap: 6px; color: #647780; font-size: .8rem; }
.pb-next-locked svg { width: 15px; height: 15px; }
.pb-quiz-lock { display: flex; gap: 12px; align-items: center; margin-bottom: 17px; padding: 14px; border: 1px dashed #d3dfe3; border-radius: 12px; color: #5c717a; background: #f8fafb; }
.pb-quiz-lock > svg { width: 22px; height: 22px; }
.pb-quiz-lock div { display: flex; flex-direction: column; }
.pb-quiz-lock strong { color: var(--pb-blue-800); font-size: .82rem; }
.pb-quiz-lock span { font-size: .72rem; }
.pb-quiz-card fieldset[data-quiz-fieldset] { min-width: 0; margin: 0; padding: 0; border: 0; }
.pb-quiz-card fieldset[data-quiz-fieldset]:disabled { opacity: .58; }
.pb-question-legend { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 13px; color: var(--pb-blue-900); font-weight: 780; }
.pb-completion-pending { display: flex; gap: 12px; align-items: center; padding: 14px; border: 1px solid #dbe7eb; border-radius: 12px; background: #f9fbfc; }
.pb-completion-pending > svg { width: 21px; height: 21px; color: var(--pb-blue); }
.pb-completion-pending span { display: flex; flex-direction: column; }
.pb-completion-pending strong { color: var(--pb-blue-900); font-size: .83rem; }
.pb-completion-pending small { color: var(--pb-muted); font-size: .71rem; }

.pb-sidebar-levels { display: grid; gap: 7px; }
.pb-sidebar-level-button { width: 100%; }
.pb-sidebar-module { margin: 5px 6px 8px 14px; }
.pb-sidebar-module-title { display: block; padding: 5px 8px; color: #6b7d85; font-size: .63rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.pb-sidebar-level-locked { opacity: .64; }
.pb-lesson-link small { display: block; overflow: hidden; color: var(--pb-muted); font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
.pb-lesson-state.locked { background: #d9e0e3; }

.pb-certificates-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.pb-certificate-count { display: inline-flex; min-height: 34px; align-items: center; padding: 7px 12px; border-radius: 999px; color: #17643f; background: #e5f6ed; font-size: .75rem; font-weight: 820; white-space: nowrap; }
.pb-certificate-grid { display: grid; gap: 14px; }
.pb-certificate-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 17px; align-items: center; padding: 20px; border: 1px solid var(--pb-line); border-radius: var(--pb-radius-lg); background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-certificate-mark, .pb-verify-icon { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 50%; color: #17643f; background: #def3e8; }
.pb-certificate-mark svg, .pb-verify-icon svg { width: 25px; height: 25px; }
.pb-certificate-copy h2 { margin: 2px 0 4px; color: var(--pb-blue-900); font-size: 1.25rem; }
.pb-certificate-copy p { margin: 0 0 8px; color: var(--pb-muted); font-size: .8rem; }
.pb-certificate-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; color: #607680; font-size: .7rem; }
.pb-certificate-meta code { padding: 3px 6px; border-radius: 6px; color: #0a617e; background: #edf6f9; }
.pb-certificate-actions { display: flex; gap: 8px; }
.pb-certificate-actions .btn { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.pb-certificate-actions svg { width: 15px; height: 15px; }
.pb-certificate-verify { width: min(100%, 760px); margin: 30px auto; padding: 36px; border: 1px solid var(--pb-line); border-radius: 22px; background: #fff; box-shadow: var(--pb-shadow); text-align: center; }
.pb-certificate-verify .pb-verify-icon { margin: 0 auto 15px; }
.pb-certificate-verify h1 { margin: 5px 0 8px; color: var(--pb-blue-900); }
.pb-certificate-verify > p { color: var(--pb-muted); }
.pb-certificate-verify dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 24px 0 0; text-align: left; }
.pb-certificate-verify dl div { padding: 13px; border: 1px solid #e2ebee; border-radius: 11px; background: #fafcfd; }
.pb-certificate-verify dt { color: var(--pb-muted); font-size: .66rem; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.pb-certificate-verify dd { margin: 4px 0 0; overflow-wrap: anywhere; color: var(--pb-blue-900); font-size: .82rem; font-weight: 720; }
.pb-empty-state { display: grid; justify-items: center; padding: 48px 24px; border: 1px dashed #c8d8de; border-radius: var(--pb-radius-lg); background: #fff; text-align: center; }
.pb-empty-icon { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 50%; color: var(--pb-blue-700); background: #eaf5f8; }
.pb-empty-icon svg { width: 23px; height: 23px; }
.pb-empty-state h2 { margin: 14px 0 6px; color: var(--pb-blue-900); }
.pb-empty-state p { max-width: 560px; color: var(--pb-muted); }

@media (max-width: 767.98px) {
  .pb-learning-scoreboard { min-width: 0; }
  .pb-level-card-head { grid-template-columns: auto minmax(0, 1fr); padding: 18px; }
  .pb-level-state { grid-column: 2; justify-self: start; }
  .pb-level-progress-row, .pb-level-modules-grid { padding-right: 18px; padding-left: 18px; }
  .pb-level-modules-grid { grid-template-columns: 1fr; }
  .pb-level-card-footer { align-items: stretch; flex-direction: column; padding: 13px 18px; }
  .pb-level-card-footer > span { margin: 0; }
  .pb-level-lock-message { margin-right: 18px; margin-left: 18px; }
  .pb-video-progress-panel { grid-template-columns: minmax(0, 1fr) auto; }
  .pb-certificate-banner, .pb-certificate-card { grid-template-columns: auto minmax(0, 1fr); }
  .pb-certificate-banner .btn, .pb-certificate-actions { grid-column: 1 / -1; }
  .pb-certificate-actions { flex-wrap: wrap; }
  .pb-certificates-header { align-items: flex-start; flex-direction: column; }
  .pb-certificate-verify { margin-top: 10px; padding: 24px 18px; }
  .pb-certificate-verify dl { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   V24 - administração simplificada, cadastro e responsividade
   -------------------------------------------------------------------------- */
.pb-content-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
  padding: 14px 16px;
  border: 1px solid var(--pb-line);
  border-radius: var(--pb-radius);
  background: #fff;
}
.pb-content-summary { display: flex; flex: 0 0 auto; gap: 8px; }
.pb-content-summary span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 10px;
  border-radius: 999px;
  color: var(--pb-muted);
  background: #f2f7f9;
  font-size: .72rem;
}
.pb-content-summary strong { color: var(--pb-blue-900); }
.pb-content-filters {
  display: grid;
  grid-template-columns: minmax(180px, 1.25fr) minmax(145px, .7fr) minmax(145px, .7fr) auto auto;
  gap: 8px;
  align-items: center;
  width: min(100%, 850px);
}
.pb-content-filters .btn { white-space: nowrap; }
.pb-module-empty { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; color: var(--pb-muted); }
.pb-icon-action.danger { color: #b42318; }
.pb-icon-action.danger:hover { border-color: #f1b7b2; color: #8f1d15; background: #fff3f2; }

.pb-lesson-editor { display: grid; gap: 16px; }
.pb-lesson-editor .pb-form-card { padding: 26px; }
.pb-publish-field {
  display: flex;
  min-height: 70px;
  flex-direction: column;
  justify-content: center;
  padding: 12px 14px;
  border: 1px solid #dce7eb;
  border-radius: 12px;
  background: #f8fbfc;
}
.pb-publish-field .form-check { margin: 0; }
.pb-publish-field > span { margin: 5px 0 0 25px; color: var(--pb-muted); font-size: .7rem; }
.pb-advanced-panel {
  overflow: hidden;
  border: 1px solid var(--pb-line);
  border-radius: var(--pb-radius);
  background: #fff;
}
.pb-advanced-panel > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 20px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.pb-advanced-panel > summary::-webkit-details-marker { display: none; }
.pb-advanced-panel > summary > span { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; align-items: center; }
.pb-advanced-panel > summary > span > svg { grid-row: 1 / span 2; width: 21px; height: 21px; color: var(--pb-blue); }
.pb-advanced-panel > summary strong { color: var(--pb-blue-900); }
.pb-advanced-panel > summary small { color: var(--pb-muted); font-size: .72rem; }
.pb-advanced-panel > summary > svg { width: 18px; height: 18px; transition: transform .18s ease; }
.pb-advanced-panel[open] > summary > svg { transform: rotate(180deg); }
.pb-advanced-panel-body { padding: 22px; border-top: 1px solid var(--pb-line); background: #fbfcfd; }
.pb-sticky-actions { position: sticky; z-index: 10; bottom: 12px; border: 1px solid var(--pb-line); border-radius: 14px; background: rgba(255,255,255,.96); box-shadow: 0 10px 28px rgba(8,52,72,.12); backdrop-filter: blur(8px); }
.pb-sticky-actions .btn { display: inline-flex; align-items: center; gap: 7px; }
.pb-sticky-actions svg { width: 16px; height: 16px; }

.pb-delete-card {
  width: min(100%, 760px);
  margin: 24px auto;
  padding: 36px;
  border: 1px solid #efd1ce;
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--pb-shadow);
  text-align: center;
}
.pb-delete-icon { display: grid; width: 58px; height: 58px; margin: 0 auto 14px; place-items: center; border-radius: 50%; color: #b42318; background: #fff0ef; }
.pb-delete-icon svg { width: 26px; height: 26px; }
.pb-delete-card h1 { margin: 7px 0 9px; color: var(--pb-blue-900); }
.pb-delete-card > p { color: var(--pb-muted); }
.pb-delete-impact { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 22px 0; }
.pb-delete-impact div { display: flex; flex-direction: column; padding: 14px; border: 1px solid var(--pb-line); border-radius: 12px; background: #fafcfd; }
.pb-delete-impact strong { color: var(--pb-blue-900); font-size: 1.2rem; }
.pb-delete-impact span { color: var(--pb-muted); font-size: .7rem; }
.pb-delete-actions { display: flex; justify-content: center; gap: 9px; margin-top: 22px; }
.pb-delete-actions .btn { display: inline-flex; align-items: center; gap: 7px; }
.pb-delete-actions svg { width: 16px; height: 16px; }

.pb-admin-alert {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  margin-bottom: 16px;
  padding: 14px 16px;
  border: 1px solid #f0d6a1;
  border-radius: 14px;
  background: #fff9ed;
}
.pb-admin-alert > svg { width: 23px; height: 23px; color: #a76600; }
.pb-admin-alert div { display: flex; min-width: 0; flex-direction: column; }
.pb-admin-alert strong { color: #704600; }
.pb-admin-alert span { color: #806944; font-size: .75rem; }
.pb-admin-quick-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.pb-admin-quick {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 15px 16px;
  border: 1px solid var(--pb-line);
  border-radius: var(--pb-radius);
  color: inherit;
  background: #fff;
  text-decoration: none;
}
.pb-admin-quick:hover { border-color: #aacfdc; background: #f8fcfd; }
.pb-admin-quick > svg:first-child { width: 22px; height: 22px; color: var(--pb-blue); }
.pb-admin-quick > svg:last-child { width: 17px; height: 17px; color: #8aa0aa; }
.pb-admin-quick span { display: flex; min-width: 0; flex-direction: column; }
.pb-admin-quick strong { color: var(--pb-blue-900); font-size: .86rem; }
.pb-admin-quick small { margin-top: 3px; color: var(--pb-muted); font-size: .7rem; }
.pb-admin-stat-copy small { margin-top: 3px; color: var(--pb-muted); font-size: .65rem; }

.pb-signup-card { width: min(620px, 100%); }
.pb-signup-note { display: flex; align-items: center; gap: 11px; margin-top: 18px; padding: 12px 14px; border: 1px solid #cfe2e9; border-radius: 12px; background: #f3fafc; }
.pb-signup-note > span { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 50%; color: #fff; background: var(--pb-blue); font-size: .75rem; font-weight: 800; }
.pb-signup-note div { display: flex; flex-direction: column; }
.pb-signup-note strong { color: var(--pb-blue-900); font-size: .8rem; }
.pb-signup-note small { margin-top: 2px; color: var(--pb-muted); font-size: .7rem; line-height: 1.45; }
.pb-signup-footer { margin: 13px 0 0; color: var(--pb-muted); font-size: .72rem; text-align: center; }

@media (max-width: 1100px) {
  .pb-content-toolbar { align-items: stretch; flex-direction: column; }
  .pb-content-filters { width: 100%; }
  .pb-admin-quick-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
  .pb-content-filters { grid-template-columns: 1fr 1fr; }
  .pb-content-filters input[type="search"] { grid-column: 1 / -1; }
  .pb-content-filters .btn-link { justify-self: start; }
  .pb-content-summary { flex-wrap: wrap; }
  .pb-admin-lesson-row { grid-template-columns: auto minmax(0, 1fr); gap: 9px 11px; padding: 14px; }
  .pb-admin-lesson-actions { grid-column: 1 / -1; justify-content: flex-end; flex-wrap: wrap; }
  .pb-admin-module-actions { justify-content: flex-start; flex-wrap: wrap; }
  .pb-page-actions, .pb-admin-shortcuts { width: 100%; flex-wrap: wrap; }
  .pb-page-actions .btn, .pb-admin-shortcuts .btn { flex: 1 1 auto; justify-content: center; }
  .pb-lesson-editor .pb-form-card, .pb-advanced-panel-body { padding: 20px 16px; }
  .pb-sticky-actions { bottom: 6px; justify-content: stretch; }
  .pb-sticky-actions .btn { flex: 1 1 0; justify-content: center; }
  .pb-delete-card { margin-top: 8px; padding: 26px 18px; }
  .pb-delete-impact { grid-template-columns: 1fr; }
  .pb-delete-actions { flex-direction: column-reverse; }
  .pb-delete-actions .btn { justify-content: center; }
  .pb-admin-alert { grid-template-columns: auto minmax(0, 1fr); }
  .pb-admin-alert .btn { grid-column: 1 / -1; }
  .pb-admin-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pb-module-empty { align-items: stretch; flex-direction: column; }
  .pb-module-empty .btn { align-self: flex-start; }
}

@media (max-width: 480px) {
  .pb-content-filters { grid-template-columns: 1fr; }
  .pb-content-filters input[type="search"] { grid-column: auto; }
  .pb-content-filters .btn { width: 100%; justify-content: center; }
  .pb-admin-stats { grid-template-columns: 1fr; }
  .pb-page-actions .btn, .pb-admin-shortcuts .btn { flex-basis: 100%; }
  .pb-auth-standalone.pb-signup-card { padding: 22px 16px; }
  .pb-signup-card .pb-form-grid { grid-template-columns: 1fr; }
  .pb-signup-card .pb-field { grid-column: 1; }
  .pb-advanced-panel > summary { padding: 15px; }
  .pb-advanced-panel > summary small { display: none; }
}

/* --------------------------------------------------------------------------
   V25 — jornada lúdica, navegação compacta e ordenação rápida
   -------------------------------------------------------------------------- */
:root { --pb-sidebar-width: 318px; }

.pb-journey-index { margin-top: 16px; padding-top: 14px; }
.pb-journey-index-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 4px 10px;
  padding: 0 4px;
}
.pb-journey-index-head > div { display: flex; min-width: 0; flex-direction: column; }
.pb-journey-index-head .pb-nav-label { margin: 0; }
.pb-journey-index-head strong { margin-top: 3px; color: var(--pb-blue-900); font-size: .78rem; }
.pb-journey-index-head > a {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border: 1px solid var(--pb-line);
  border-radius: 10px;
  color: var(--pb-blue-700);
  background: #fff;
}
.pb-journey-index-head > a:hover { border-color: #9dcbd9; background: #f1f9fb; }
.pb-journey-index-head svg { width: 17px; height: 17px; }

.pb-journey-accordion { position: relative; }
.pb-journey-accordion::before {
  position: absolute;
  top: 28px;
  bottom: 28px;
  left: 24px;
  width: 2px;
  content: "";
  background: linear-gradient(#9bd2e3, #dce9ed 72%);
}
.pb-journey-accordion .accordion-item { position: relative; margin-bottom: 5px; }
.pb-journey-accordion .accordion-button {
  min-height: 58px;
  gap: 11px;
  padding: 8px 8px 8px 7px;
  border-radius: 14px !important;
}
.pb-journey-accordion .accordion-button:not(.collapsed) { background: #edf8fb; }
.pb-journey-node {
  position: relative;
  z-index: 1;
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  color: #fff;
  background: #a7b8bf;
  box-shadow: 0 0 0 1px #cbdce2;
  font-size: .77rem;
  font-weight: 850;
}
.pb-journey-node.current { background: linear-gradient(145deg, var(--pb-blue-700), var(--pb-blue)); box-shadow: 0 0 0 2px #b9e0ec; }
.pb-journey-node.completed { background: var(--pb-success); box-shadow: 0 0 0 2px #bfe4d3; }
.pb-journey-node.locked { color: #6f828a; background: #e7edef; }
.pb-journey-node svg { width: 14px; height: 14px; }
.pb-journey-accordion .accordion-body { padding: 4px 3px 10px 43px; }

.pb-sidebar-module {
  margin: 4px 0 7px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
}
.pb-sidebar-module.is-current { border-color: #d5e7ed; background: #fbfdfe; }
.pb-sidebar-module[open] { border-color: #dce9ed; background: #fff; }
.pb-sidebar-module-title {
  display: grid;
  min-height: 48px;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 7px 8px;
  color: #3f5f6d;
  text-transform: none;
  letter-spacing: normal;
  cursor: pointer;
  list-style: none;
}
.pb-sidebar-module-title::-webkit-details-marker { display: none; }
.pb-sidebar-module-title:hover { color: var(--pb-blue-800); background: #f4fafc; }
.pb-sidebar-module.is-locked .pb-sidebar-module-title { cursor: default; opacity: .72; }
.pb-sidebar-module-icon {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 9px;
  color: var(--pb-blue-700);
  background: #eaf6fa;
  font-size: .92rem;
}
.pb-sidebar-module-icon svg { width: 14px; height: 14px; }
.pb-sidebar-module-copy { display: flex; min-width: 0; flex-direction: column; }
.pb-sidebar-module-copy strong {
  overflow: hidden;
  color: inherit;
  font-size: .76rem;
  font-weight: 790;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pb-sidebar-module-copy small { margin-top: 3px; color: var(--pb-muted); font-size: .64rem; line-height: 1.2; }
.pb-sidebar-module-chevron { width: 14px; height: 14px; color: #82969f; transition: transform .16s ease; }
.pb-sidebar-module[open] .pb-sidebar-module-chevron { transform: rotate(180deg); }
.pb-sidebar-lessons { display: grid; gap: 2px; padding: 0 6px 7px 14px; }
.pb-lesson-link {
  min-height: 43px;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 9px;
  padding: 6px 8px;
  border-radius: 10px;
  font-size: .78rem;
}
.pb-lesson-link.current { color: var(--pb-blue-800); background: #f1f9fb; }
.pb-lesson-link.active { background: #e6f5fa; }
.pb-lesson-copy { display: flex; min-width: 0; flex-direction: column; }
.pb-lesson-copy strong {
  overflow: hidden;
  color: inherit;
  font-size: .76rem;
  font-weight: 680;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pb-lesson-copy small {
  display: block;
  margin-top: 3px;
  overflow: hidden;
  color: #82949c;
  font-size: .62rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pb-lesson-state { width: 17px; height: 17px; }
.pb-lesson-state.started { border-color: var(--pb-orange); background: #fff6e8; }
.pb-lesson-state.locked { color: #7f9198; background: #edf1f2; }
.pb-lesson-state svg { width: 9px; height: 9px; }

/* Milestone journey replaces the continuous viewing bar. */
.pb-video-journey { padding: 15px 18px 13px; border-bottom: 1px solid #d7e3e8; background: #f8fbfc; }
.pb-video-journey-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.pb-video-journey-head > div { display: flex; min-width: 0; flex-direction: column; }
.pb-video-journey-head .pb-kicker { margin: 0 0 2px; }
.pb-video-journey-head strong { color: var(--pb-blue-900); font-size: .9rem; }
.pb-video-journey-value { flex: 0 0 auto; color: var(--pb-blue-800); font-size: .72rem; font-weight: 800; }
.pb-video-milestones {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: 14px 0 8px;
  padding: 0;
  list-style: none;
}
.pb-video-milestones::before {
  position: absolute;
  z-index: 0;
  top: 17px;
  right: 12.5%;
  left: 12.5%;
  height: 3px;
  border-radius: 999px;
  content: "";
  background: #d6e2e6;
}
.pb-video-milestones li { position: relative; z-index: 1; display: grid; justify-items: center; gap: 5px; color: #81939b; text-align: center; }
.pb-video-milestones li > span {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 3px solid #f8fbfc;
  border-radius: 50%;
  color: #71858d;
  background: #e3eaed;
  box-shadow: 0 0 0 1px #cbd9de;
  font-size: .72rem;
  font-weight: 850;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.pb-video-milestones li > span svg { width: 14px; height: 14px; }
.pb-video-milestones li.is-reached { color: var(--pb-blue-800); }
.pb-video-milestones li.is-reached > span { color: #fff; background: var(--pb-blue); box-shadow: 0 0 0 2px #b9deea; }
.pb-video-milestones li.is-current > span { transform: scale(1.08); box-shadow: 0 0 0 4px #d8eff6; }
.pb-video-milestones li:nth-child(3).is-reached > span { background: var(--pb-orange); box-shadow: 0 0 0 2px #f9d4a4; }
.pb-video-milestones li:nth-child(4).is-reached > span { background: var(--pb-success); box-shadow: 0 0 0 2px #bfe3d2; }
.pb-video-milestones small { font-size: .62rem; font-weight: 720; }
.pb-video-journey-note { margin: 0; color: var(--pb-muted); font-size: .68rem; line-height: 1.45; text-align: center; }

.pb-level-quest-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 12px;
  margin: 0 22px 16px;
  padding: 12px 14px;
  border: 1px solid #e0eaee;
  border-radius: 12px;
  background: #f9fbfc;
}
.pb-level-quest-summary strong { color: var(--pb-blue-900); font-size: .76rem; }
.pb-level-quest-summary small { margin-left: auto; color: var(--pb-muted); font-size: .68rem; }
.pb-quest-status { display: inline-flex; min-height: 27px; align-items: center; padding: 4px 9px; border-radius: 999px; font-size: .65rem; font-weight: 820; }
.pb-quest-status.ready { color: #5d7078; background: #e9eef0; }
.pb-quest-status.started, .pb-quest-status.almost { color: #865300; background: #fff1db; }
.pb-quest-status.unlocked { color: #066680; background: #e3f5fa; }
.pb-quest-status.mastered { color: #17643f; background: #e5f6ed; }
.pb-quest-summary { min-width: 230px; }
.pb-quest-summary strong { max-width: 250px; font-size: 1rem; }
.pb-level-module-card .pb-module-meta { width: 100%; }

/* Fast lesson ordering in management. */
.pb-admin-lessons[data-sortable-lessons] { padding: 6px 12px 12px; }
.pb-admin-lesson-row { transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.pb-admin-lesson-row[draggable="true"] { cursor: grab; }
.pb-admin-lesson-row.is-dragging { opacity: .55; background: #edf8fb; transform: scale(.995); }
.pb-admin-lesson-row.is-drag-over { border-top-color: var(--pb-blue); background: #f2fafc; }
.pb-admin-drag-handle {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 0;
  border-radius: 8px;
  color: #78909a;
  background: transparent;
  cursor: grab;
  touch-action: none;
}
.pb-admin-drag-handle:hover { color: var(--pb-blue-800); background: #eef7fa; }
.pb-admin-drag-handle svg { width: 16px; height: 16px; }
.pb-admin-order-controls { display: inline-flex; gap: 3px; }
.pb-admin-order-controls button { display: grid; width: 30px; height: 30px; place-items: center; padding: 0; }
.pb-admin-order-controls svg { width: 14px; height: 14px; }
.pb-order-feedback { min-height: 18px; color: var(--pb-muted); font-size: .68rem; }
.pb-video-check { display: inline-flex; min-height: 25px; align-items: center; gap: 5px; padding: 3px 8px; border-radius: 999px; color: #657a83; background: #eef3f5; font-size: .62rem; font-weight: 760; }
.pb-video-check.available { color: #17643f; background: #e5f6ed; }
.pb-video-check.unavailable, .pb-video-check.invalid { color: #9a2f27; background: #fff0ee; }
.pb-video-check.unknown { color: #865300; background: #fff3df; }

@media (max-width: 991.98px) {
  :root { --pb-sidebar-width: min(88vw, 340px); }
}

@media (max-width: 767.98px) {
  .pb-video-journey { padding: 14px 12px 12px; }
  .pb-video-journey-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .pb-video-milestones small { font-size: .58rem; }
  .pb-video-journey-note { text-align: left; }
  .pb-level-quest-summary { margin-right: 18px; margin-left: 18px; }
  .pb-level-quest-summary small { width: 100%; margin-left: 0; }
  .pb-admin-lessons[data-sortable-lessons] { padding: 4px; }
  .pb-admin-lesson-row { grid-template-columns: auto auto minmax(0, 1fr); }
  .pb-admin-lesson-actions { grid-column: 2 / -1; justify-content: flex-start; }
  .pb-admin-order-controls { order: -1; }
}

@media (max-width: 420px) {
  .pb-video-milestones::before { right: 13%; left: 13%; }
  .pb-video-milestones li > span { width: 32px; height: 32px; }
  .pb-video-milestones::before { top: 15px; }
  .pb-sidebar-scroll { padding-right: 9px; padding-left: 9px; }
}
.pb-admin-lesson-row { grid-template-columns: auto auto minmax(0, 1fr) auto; }
.pb-admin-lesson-copy .pb-video-check { align-self: flex-start; margin-top: 6px; }
.pb-certificate-test-card { padding: 22px; }
.pb-certificate-test-form { display: grid; grid-template-columns: minmax(220px, 380px) auto; align-items: end; gap: 12px; margin-top: 18px; }
.pb-certificate-test-form .btn { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 7px; }
@media (max-width: 767.98px) { .pb-certificate-test-form { grid-template-columns: 1fr; } }

/* Keep ordering actions usable on narrow screens after the desktop grid rule. */
@media (max-width: 767.98px) {
  .pb-admin-lesson-row {
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: start;
  }
  .pb-admin-lesson-actions {
    grid-column: 2 / -1;
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .pb-admin-order-controls { margin-right: auto; }
}

/* V27 — Jira status parity, pending-user notice and company import */
.pb-status.jira-open { color: #075985; background: #e8f6fb; }
.pb-status.jira-dev { color: #6d28d9; background: #f1edff; }
.pb-status.jira-leader { color: #9a3412; background: #fff1e9; }
.pb-status.jira-pending { color: #8a5400; background: #fff5d9; }
.pb-status.jira-reopened { color: #b42318; background: #fff0ef; }
.pb-status.jira-srv { color: #155e75; background: #e9f7fa; }
.pb-status.jira-homologation { color: #1d4ed8; background: #eaf0ff; }
.pb-status.jira-done { color: var(--pb-success); background: var(--pb-success-soft); }

.pb-ticket-list-without-number .pb-ticket-list-head,
.pb-ticket-list-without-number .pb-ticket-row {
  grid-template-columns: minmax(280px, 1fr) 120px 150px 24px;
}

.pb-inline-filter {
  display: flex;
  min-width: min(100%, 260px);
  align-items: center;
  gap: 9px;
}
.pb-inline-filter label {
  margin: 0;
  color: var(--pb-muted);
  font-size: .76rem;
  font-weight: 760;
  white-space: nowrap;
}
.pb-inline-filter .form-select { min-width: 180px; }

.pb-admin-alert-users {
  border-color: #b9dce9;
  background: #f0f9fc;
}
.pb-admin-alert-users > svg { color: var(--pb-blue-700); }
.pb-admin-alert-users strong { color: var(--pb-blue-900); }
.pb-admin-alert-users span { color: #53707d; }

@media (max-width: 900px) {
  .pb-ticket-list-without-number .pb-ticket-row { grid-template-columns: minmax(0, 1fr) auto; }
  .pb-ticket-list-without-number .pb-ticket-subject { grid-column: 1; grid-row: 1; }
  .pb-ticket-list-without-number .pb-ticket-date { grid-column: 1; grid-row: 2; }
  .pb-ticket-list-without-number .pb-ticket-row > span:nth-child(3) { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .pb-inline-filter { width: 100%; align-items: stretch; flex-direction: column; }
  .pb-inline-filter .form-select { width: 100%; min-width: 0; }
}

/* --------------------------------------------------------------------------
   V28 — perfil, vídeo integrado e navegação recolhida sem contadores quebrados
   -------------------------------------------------------------------------- */
body.pb-sidebar-collapsed .pb-journey-index-head { display: none !important; }
body.pb-sidebar-collapsed .pb-journey-index { margin-top: 7px; padding-top: 7px; }

.pb-video-shell {
  overflow: hidden;
  border: 1px solid #c9dce3;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(7, 54, 73, .07);
}
.pb-video-journey {
  position: relative;
  padding: 16px 20px 14px;
  border-bottom: 0;
  background: linear-gradient(180deg, #fff, #f7fbfc);
}
.pb-video-journey::after {
  position: absolute;
  right: 20px;
  bottom: 0;
  left: 20px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, #d9e7eb 12%, #d9e7eb 88%, transparent);
}
.pb-video-shell .pb-video {
  display: block;
  margin: 0;
  border-radius: 0 !important;
  box-shadow: none;
}
.pb-video-poster { display: block; width: 100%; height: 100%; }
.pb-video-help { background: #fbfdfe; }
.pb-video-journey-note { max-width: 760px; margin-inline: auto; }

.pb-avatar { overflow: hidden; }
.pb-avatar img { width: 100%; height: 100%; object-fit: cover; }
.pb-avatar-large { width: 78px; height: 78px; flex-basis: 78px; border-radius: 22px; font-size: 1.5rem; }
.pb-profile-settings-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 18px; align-items: start; }
.pb-profile-settings-card { padding: 26px; }
.pb-profile-settings-head, .pb-profile-password-head { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; padding-bottom: 19px; border-bottom: 1px solid var(--pb-line); }
.pb-profile-settings-head h2, .pb-profile-password-head h2 { margin: 2px 0 0; font-size: 1.3rem; }
.pb-profile-settings-head p, .pb-profile-password-head p { margin: 4px 0 0; color: var(--pb-muted); font-size: .78rem; }
.pb-profile-card-icon { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; border-radius: 14px; color: var(--pb-blue-800); background: var(--pb-cyan-50); }
.pb-profile-card-icon svg { width: 21px; height: 21px; }
.pb-profile-form { display: grid; gap: 16px; }
.pb-profile-readonly { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; padding: 14px; border: 1px solid #e1ebee; border-radius: 13px; background: #f8fbfc; }
.pb-profile-readonly div { display: flex; min-width: 0; flex-direction: column; }
.pb-profile-readonly small { color: var(--pb-muted); font-size: .66rem; text-transform: uppercase; letter-spacing: .05em; }
.pb-profile-readonly strong { margin-top: 4px; overflow: hidden; color: var(--pb-blue-900); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.pb-profile-form .form-text { display: block; margin-top: 5px; color: var(--pb-muted); font-size: .72rem; }
.pb-profile-form .form-check { display: flex; align-items: center; gap: 8px; }

@media (max-width: 900px) {
  .pb-profile-settings-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .pb-video-journey { padding: 14px 12px 12px; }
  .pb-video-journey::after { right: 12px; left: 12px; }
  .pb-profile-settings-card { padding: 20px 16px; }
  .pb-profile-settings-head { align-items: flex-start; }
  .pb-profile-readonly { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   V29 — mapa da trilha, Central de ajuda administrável e avanço em tempo real
   -------------------------------------------------------------------------- */
.pb-map-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 24px;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid #cfe2e9;
  border-radius: 26px;
  background:
    radial-gradient(circle at 88% 18%, rgba(255,138,0,.13), transparent 24%),
    linear-gradient(135deg, #ffffff, #edf9fc);
  box-shadow: var(--pb-shadow-sm);
}
.pb-map-hero-copy { max-width: 760px; }
.pb-map-hero-copy h1 { max-width: 780px; margin: 10px 0 12px; }
.pb-map-hero-copy p { margin: 0; color: var(--pb-muted); }
.pb-map-score { display: flex; min-width: 225px; align-items: center; gap: 15px; padding: 15px 18px; border: 1px solid rgba(0,111,159,.16); border-radius: 18px; background: rgba(255,255,255,.82); }
.pb-map-score .pb-score-ring { width: 70px; height: 70px; flex: 0 0 70px; }
.pb-map-score > div:last-child { display: flex; min-width: 0; flex-direction: column; }
.pb-map-score strong { color: var(--pb-blue-900); }
.pb-map-score span { color: var(--pb-muted); font-size: .82rem; }

.pb-learning-map { position: relative; display: grid; gap: 28px; padding: 8px 0 18px; }
.pb-learning-map-track { position: absolute; z-index: 0; top: 36px; bottom: 36px; left: 31px; width: 6px; overflow: hidden; border-radius: 999px; background: #dce8ec; }
.pb-learning-map-track span { display: block; width: 100%; height: var(--map-progress); border-radius: inherit; background: linear-gradient(180deg, var(--pb-orange), var(--pb-blue)); transition: height .8s cubic-bezier(.2,.8,.2,1); }
.pb-map-level { position: relative; z-index: 1; padding-left: 86px; opacity: 0; transform: translateY(12px); animation: pb-map-arrive .55s ease forwards; animation-delay: calc(var(--level-delay) * 90ms); }
.pb-map-level-head { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; min-height: 118px; padding: 22px 24px; border: 1px solid var(--pb-line); border-radius: 22px; background: #fff; box-shadow: var(--pb-shadow-sm); }
.pb-map-level-node { position: absolute; top: 31px; left: -78px; display: grid; width: 56px; height: 56px; place-items: center; border: 6px solid var(--pb-canvas); border-radius: 50%; color: #fff; background: var(--pb-blue-700); box-shadow: 0 0 0 2px #9fd2e1; font-weight: 900; }
.pb-map-level-node svg { width: 20px; height: 20px; }
.pb-map-level-head h2 { margin: 4px 0; }
.pb-map-level-head p { margin: 0; color: var(--pb-muted); }
.pb-map-level-status { align-self: start; padding: 8px 11px; border-radius: 999px; color: var(--pb-blue-800); background: var(--pb-cyan-50); font-size: .75rem; font-weight: 800; white-space: nowrap; }
.pb-map-level.is-complete .pb-map-level-node { background: var(--pb-success); box-shadow: 0 0 0 2px #a9dcc8; }
.pb-map-level.is-complete .pb-map-level-status { color: var(--pb-success); background: var(--pb-success-soft); }
.pb-map-level.is-locked .pb-map-level-head { opacity: .76; background: #f7fafb; }
.pb-map-level.is-locked .pb-map-level-node { color: #6f858f; background: #e4ecef; box-shadow: 0 0 0 2px #d2e0e5; }
.pb-map-level.is-locked .pb-map-level-status { color: #687d87; background: #edf2f4; }

.pb-map-modules { display: grid; gap: 14px; margin-top: 14px; }
.pb-map-module { overflow: hidden; border: 1px solid var(--pb-line); border-radius: 18px; background: rgba(255,255,255,.94); content-visibility: auto; contain-intrinsic-size: 280px; }
.pb-map-module > header { display: flex; align-items: center; gap: 13px; padding: 15px 18px; border-bottom: 1px solid #edf2f4; }
.pb-map-module-icon { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border-radius: 12px; background: #eff8fb; }
.pb-map-module h3 { margin: 0 0 3px; }
.pb-map-module small { color: var(--pb-muted); }
.pb-map-module.is-locked { opacity: .72; background: #f6f9fa; }
.pb-map-lessons { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; margin: 0; padding: 14px; list-style: none; }
.pb-map-lessons li { min-width: 0; }
.pb-map-lessons a,
.pb-map-lesson-locked { position: relative; display: flex; min-height: 74px; align-items: center; gap: 11px; padding: 12px; border: 1px solid #e3ecef; border-radius: 14px; color: var(--pb-ink); background: #fff; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.pb-map-lessons a:hover { transform: translateY(-2px); border-color: #afd5e1; box-shadow: 0 10px 22px rgba(7,54,73,.08); }
.pb-map-lesson-node { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 50%; color: #607984; background: #edf3f5; font-size: .78rem; font-weight: 900; }
.pb-map-lesson-node svg { width: 15px; height: 15px; }
.pb-map-lesson-copy { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.pb-map-lesson-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-map-lesson-copy small { margin-top: 3px; font-size: .72rem; }
.pb-map-lessons li.is-complete .pb-map-lesson-node { color: #fff; background: var(--pb-success); }
.pb-map-lessons li.is-current a { border-color: #78c5dc; background: linear-gradient(135deg, #f5fdff, #fff8ee); box-shadow: 0 10px 28px rgba(0,125,171,.13); }
.pb-map-lessons li.is-current .pb-map-lesson-node { color: #fff; background: var(--pb-blue); animation: pb-current-pulse 1.8s ease-in-out infinite; }
.pb-map-you-are-here { position: absolute; top: -9px; right: 9px; padding: 4px 8px; border-radius: 999px; color: #7d4800; background: #fff0d6; font-size: .62rem; font-weight: 900; letter-spacing: .03em; text-transform: uppercase; }
.pb-map-lesson-locked { color: #70838c; background: #f7fafb; }
.pb-map-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 8px; padding: 22px 24px; border: 1px solid var(--pb-line); border-radius: 18px; background: #fff; }
.pb-map-footer > div { display: flex; flex-direction: column; }
.pb-map-footer span { color: var(--pb-muted); font-size: .82rem; }

.pb-help-admin-list { overflow: hidden; border: 1px solid var(--pb-line); border-radius: 18px; background: #fff; }
.pb-help-admin-head,
.pb-help-admin-row { display: grid; grid-template-columns: minmax(320px, 1fr) minmax(150px, .3fr) 100px 120px; gap: 18px; align-items: center; }
.pb-help-admin-head { padding: 11px 18px; color: #748a94; background: #f6fafb; font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.pb-help-admin-row { padding: 16px 18px; border-top: 1px solid #edf2f4; content-visibility: auto; contain-intrinsic-size: 94px; }
.pb-help-admin-copy { display: flex; min-width: 0; flex-direction: column; }
.pb-help-admin-copy > strong { color: var(--pb-blue-900); }
.pb-help-admin-copy > small { margin-top: 4px; color: var(--pb-muted); }
.pb-help-admin-copy > a { display: inline-flex; width: fit-content; align-items: center; gap: 5px; margin-top: 7px; font-size: .75rem; font-weight: 750; }
.pb-help-admin-copy > a svg { width: 13px; height: 13px; }
.pb-help-admin-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; }

.pb-sidebar-module-unlocked { display: flex; align-items: center; gap: 10px; padding: 10px 9px; border: 1px solid #add7e3; border-radius: 12px; color: var(--pb-blue-900); background: #f1fbfd; }
.pb-sidebar-module-unlocked:hover { color: var(--pb-blue-900); background: #e8f7fb; }
.is-newly-unlocked { animation: pb-unlocked-highlight 1.25s ease both; }
.pb-unlock-celebration { position: fixed; z-index: 1100; right: 24px; bottom: 24px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 12px; align-items: center; width: min(430px, calc(100vw - 32px)); padding: 15px 16px; border: 1px solid #93cfdf; border-radius: 17px; background: #fff; box-shadow: 0 22px 58px rgba(7,54,73,.22); opacity: 0; transform: translateY(18px) scale(.98); transition: opacity .28s ease, transform .28s ease; }
.pb-unlock-celebration.is-visible { opacity: 1; transform: translateY(0) scale(1); }
.pb-unlock-celebration-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: #fff; background: linear-gradient(145deg, var(--pb-orange), var(--pb-blue)); }
.pb-unlock-celebration > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; }
.pb-unlock-celebration small { margin-top: 2px; overflow: hidden; color: var(--pb-muted); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.pb-unlock-celebration a { padding: 8px 10px; border-radius: 10px; color: #fff; background: var(--pb-blue-700); font-size: .75rem; font-weight: 800; }

/* Reduce rendering work in long management and learning lists. */
.pb-admin-module,
.pb-level-card,
.pb-ticket-row { content-visibility: auto; contain-intrinsic-size: 160px; }

@keyframes pb-map-arrive { to { opacity: 1; transform: translateY(0); } }
@keyframes pb-current-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(0,143,208,.28); } 50% { box-shadow: 0 0 0 8px rgba(0,143,208,0); } }
@keyframes pb-unlocked-highlight { 0% { box-shadow: 0 0 0 0 rgba(255,138,0,.3); } 45% { box-shadow: 0 0 0 8px rgba(255,138,0,0); } 100% { box-shadow: none; } }

@media (max-width: 900px) {
  .pb-map-hero { align-items: stretch; flex-direction: column; }
  .pb-map-score { width: 100%; min-width: 0; }
  .pb-help-admin-head { display: none; }
  .pb-help-admin-row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
  .pb-help-admin-row > span:nth-child(2) { grid-column: 1; color: var(--pb-muted); font-size: .78rem; }
  .pb-help-admin-row > span:nth-child(3) { grid-column: 2; grid-row: 1; }
  .pb-help-admin-actions { grid-column: 2; grid-row: 2; }
}
@media (max-width: 640px) {
  .pb-map-level { padding-left: 54px; }
  .pb-learning-map-track { left: 20px; width: 4px; }
  .pb-map-level-node { top: 24px; left: -50px; width: 42px; height: 42px; border-width: 4px; }
  .pb-map-level-head { grid-template-columns: 1fr; min-height: 0; padding: 18px; }
  .pb-map-level-status { justify-self: start; }
  .pb-map-lessons { grid-template-columns: 1fr; }
  .pb-map-footer { align-items: stretch; flex-direction: column; }
  .pb-unlock-celebration { right: 16px; bottom: 16px; grid-template-columns: auto minmax(0,1fr); }
  .pb-unlock-celebration a { grid-column: 1 / -1; text-align: center; }
  .pb-help-admin-row { grid-template-columns: 1fr; }
  .pb-help-admin-row > span:nth-child(2),
  .pb-help-admin-row > span:nth-child(3),
  .pb-help-admin-actions { grid-column: 1; grid-row: auto; justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
  .pb-map-level { opacity: 1; transform: none; animation: none; }
  .pb-map-lessons li.is-current .pb-map-lesson-node,
  .is-newly-unlocked { animation: none; }
  .pb-learning-map-track span,
  .pb-unlock-celebration { transition: none; }
}

/* V30 · recognized history and certificate readiness */
.pb-history-access-note { display:flex; align-items:flex-start; gap:12px; margin:0 0 18px; padding:14px 16px; border:1px solid #a8d8e5; border-radius:15px; color:var(--pb-blue-900); background:#f1fbfd; }
.pb-history-access-note > svg { width:20px; height:20px; flex:0 0 20px; margin-top:2px; }
.pb-history-access-note > div { display:flex; flex-direction:column; }
.pb-history-access-note span { margin-top:2px; color:var(--pb-muted); font-size:.82rem; }

.pb-certificate-readiness { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; margin:18px 0 24px; padding:20px 22px; border:1px solid var(--pb-line); border-radius:18px; background:#fff; }
.pb-level-readiness { grid-template-columns:minmax(300px,1fr) minmax(280px,.8fr) auto; }
.pb-readiness-summary { display:flex; min-width:0; align-items:center; gap:14px; }
.pb-readiness-summary h2 { margin:3px 0 4px; }
.pb-readiness-summary p { margin:0; color:var(--pb-muted); }
.pb-readiness-icon { display:grid; width:48px; height:48px; flex:0 0 48px; place-items:center; border-radius:15px; color:var(--pb-blue-700); background:var(--pb-cyan-50); }
.pb-readiness-icon.is-ready { color:#fff; background:var(--pb-success); }
.pb-readiness-icon svg { width:22px; height:22px; }
.pb-readiness-metrics { display:flex; flex-wrap:wrap; gap:10px; }
.pb-readiness-metrics > div { display:flex; min-width:118px; flex-direction:column; padding:10px 12px; border-radius:12px; background:#f5f9fa; }
.pb-readiness-metrics span { color:var(--pb-muted); font-size:.7rem; font-weight:750; text-transform:uppercase; }
.pb-readiness-metrics strong { margin-top:2px; color:var(--pb-blue-900); }

.pb-level-certificate-progress { display:flex; margin-top:14px; padding:12px 14px; border:1px dashed #bdd6de; border-radius:13px; background:#f8fbfc; }
.pb-level-certificate-progress > span { display:flex; min-width:0; flex-direction:column; }
.pb-level-certificate-progress small { margin-top:2px; color:var(--pb-muted); }
.pb-level-certificate-progress .pb-certificate-ready { flex-direction:row; align-items:center; gap:8px; color:var(--pb-success); font-weight:800; }
.pb-level-certificate-progress svg { width:16px; height:16px; }

.pb-map-certificate-stop { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:center; margin-top:14px; padding:14px 17px; border:1px dashed #9fcfdc; border-radius:16px; color:var(--pb-blue-900); background:#f4fbfd; }
.pb-map-certificate-stop:hover { color:var(--pb-blue-900); border-style:solid; background:#ecf9fc; }
.pb-map-certificate-stop.is-ready { border-color:#9ad2bb; background:var(--pb-success-soft); }
.pb-map-certificate-stop.is-locked { cursor:not-allowed; border-color:var(--pb-line); color:var(--pb-muted); background:#f7f9fa; }
.pb-map-certificate-stop.is-locked:hover { border-style:dashed; color:var(--pb-muted); background:#f7f9fa; }
.pb-map-certificate-stop.is-locked .pb-map-certificate-icon { background:#8ea3ad; }
.btn.is-disabled { cursor:not-allowed; opacity:.72; pointer-events:none; }
.pb-map-certificate-icon { display:grid; width:38px; height:38px; place-items:center; border-radius:12px; color:#fff; background:var(--pb-blue); }
.pb-map-certificate-stop.is-ready .pb-map-certificate-icon { background:var(--pb-success); }
.pb-map-certificate-stop > span:nth-child(2) { display:flex; min-width:0; flex-direction:column; }
.pb-map-certificate-stop small { margin-top:2px; color:var(--pb-muted); }
.pb-map-certificate-stop svg { width:17px; height:17px; }

.pb-final-assessment-form { margin-top:22px; }
.pb-final-question-list { display:grid; gap:14px; }
.pb-final-question { min-width:0; margin:0; padding:18px; border:1px solid var(--pb-line); border-radius:17px; background:#fff; }
.pb-final-question legend { display:flex; width:100%; align-items:flex-start; gap:12px; margin:0 0 14px; }
.pb-final-question legend > span { display:grid; width:32px; height:32px; flex:0 0 32px; place-items:center; border-radius:50%; color:#fff; background:var(--pb-blue); font-size:.78rem; font-weight:900; }
.pb-final-question legend > div { display:flex; min-width:0; flex-direction:column; }
.pb-final-question legend small { margin-bottom:4px; color:var(--pb-muted); font-size:.72rem; }
.pb-final-question legend strong { font-size:1rem; line-height:1.45; }
.pb-final-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.pb-final-choice { position:relative; display:flex; align-items:flex-start; gap:10px; padding:12px 13px; border:1px solid #dce8ec; border-radius:12px; cursor:pointer; background:#fbfdfe; }
.pb-final-choice:hover { border-color:#9dcbd8; background:#f3fbfd; }
.pb-final-choice:has(input:checked) { border-color:var(--pb-blue); background:#eaf8fc; }
.pb-final-choice input { margin-top:3px; }
.pb-final-actions { position:sticky; z-index:4; bottom:14px; margin-top:18px; padding:12px; border:1px solid var(--pb-line); border-radius:15px; background:rgba(255,255,255,.96); box-shadow:0 12px 32px rgba(7,54,73,.12); backdrop-filter:blur(8px); }

.pb-pending-lessons { margin-top:28px; }
.pb-pending-lesson-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.pb-pending-lesson { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:11px; align-items:center; padding:13px 14px; border:1px solid var(--pb-line); border-radius:14px; color:var(--pb-ink); background:#fff; }
.pb-pending-lesson:hover { color:var(--pb-ink); border-color:#a7d2de; background:#f7fcfd; }
.pb-pending-lesson-icon { display:grid; width:36px; height:36px; place-items:center; border-radius:11px; color:var(--pb-blue); background:var(--pb-cyan-50); }
.pb-pending-lesson > span:nth-child(2) { display:flex; min-width:0; flex-direction:column; }
.pb-pending-lesson small { margin-top:3px; color:var(--pb-muted); }
.pb-pending-lesson svg { width:16px; height:16px; }

.pb-certificate-requirement-list { display:grid; gap:7px; margin-top:12px; }
.pb-certificate-requirement-list span { display:flex; align-items:center; gap:8px; color:var(--pb-muted); font-size:.82rem; }
.pb-certificate-requirement-list span.is-done { color:var(--pb-success); }
.pb-certificate-requirement-list svg { width:16px; height:16px; }
.pb-certificate-card.is-issued { border-color:#a8d8c5; }
.pb-history-toggle { display:flex; align-items:center; gap:7px; min-width:170px; font-size:.76rem; }

@media (max-width: 1100px) {
  .pb-level-readiness { grid-template-columns:1fr; }
  .pb-level-readiness > .btn { justify-self:start; }
}
@media (max-width: 760px) {
  .pb-certificate-readiness { grid-template-columns:1fr; }
  .pb-final-choices,
  .pb-pending-lesson-grid { grid-template-columns:1fr; }
  .pb-final-actions { position:static; }
}

/* --------------------------------------------------------------------------
   V33 — refinamento humano, motivador e leve
   Mantém as regras operacionais e usa apenas CSS/SVG já carregados
   -------------------------------------------------------------------------- */
.pb-home-intro {
  padding-block: 30px;
  background:
    radial-gradient(circle at 92% 18%, rgba(255,138,0,.12), transparent 23%),
    radial-gradient(circle at 76% 100%, rgba(0,143,208,.09), transparent 29%),
    linear-gradient(140deg, #fff 0%, #f5fbfd 100%);
}
.pb-home-intro h1 { max-width: 720px; }
.pb-home-intro p { max-width: 680px; }
.pb-home-score {
  border-color: #d8e8ed;
  background: #fff;
  box-shadow: 0 10px 26px rgba(4,57,77,.06);
  backdrop-filter: none;
}
.pb-performance-chip {
  min-height: 48px;
  border-color: #e1eaed;
  background: #fff;
}
.pb-performance-chip span { display: inline-flex; align-items: center; gap: 7px; }
.pb-performance-chip span svg { width: 16px; height: 16px; color: var(--pb-orange); }
.pb-performance-chip strong { max-width: 150px; font-size: .9rem; text-align: right; }

.pb-level-card,
.pb-side-card,
.pb-continue,
.pb-certificate-card,
.pb-profile-settings-card { contain: layout paint; }

.pb-level-quest-summary {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 10px 14px;
}
.pb-level-quest-summary > small { color: var(--pb-muted); font-size: .73rem; text-align: right; }

.pb-level-certificate-progress {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 11px;
  align-items: center;
  overflow: hidden;
  border-style: solid;
  border-color: #dce8ec;
  background: linear-gradient(135deg, #fbfdfe, #f5fafc);
}
.pb-level-certificate-progress.is-final {
  border-color: #efcf9e;
  background: linear-gradient(135deg, #fffaf3, #fff);
}
.pb-level-certificate-progress.is-ready {
  border-color: #afdcc9;
  background: linear-gradient(135deg, #effaf5, #fff);
}
.pb-level-progress-symbol {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  color: var(--pb-blue-800);
  background: #eaf7fb;
}
.pb-level-certificate-progress.is-final .pb-level-progress-symbol { color: #9b5b00; background: #fff0d7; }
.pb-level-certificate-progress.is-ready .pb-level-progress-symbol { color: #fff; background: var(--pb-success); }
.pb-level-progress-symbol svg { width: 18px; height: 18px; }
.pb-level-certificate-progress > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; }
.pb-level-certificate-progress > span:nth-child(2) strong { font-size: .82rem; }
.pb-level-mini-progress {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: #e8eff2;
}
.pb-level-mini-progress i {
  display: block;
  width: var(--progress);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--pb-blue-700), var(--pb-blue));
  transition: width .2s ease;
}
.pb-level-certificate-progress.is-final .pb-level-mini-progress i { background: linear-gradient(90deg, #e99a2e, var(--pb-orange)); }
.pb-level-certificate-progress.is-ready .pb-level-mini-progress i { background: var(--pb-success); }

.pb-current-level-card { border-color: #cfe4eb; background: linear-gradient(145deg, #fff, #f4fbfd); }
.pb-current-level-card .pb-kicker { display: inline-flex; align-items: center; gap: 6px; }
.pb-current-level-card .pb-kicker svg { width: 14px; height: 14px; color: var(--pb-orange); }

.pb-avatar-with-edit { position: relative; overflow: visible; }
.pb-avatar-edit-hint {
  position: absolute;
  right: -3px;
  bottom: -3px;
  display: grid;
  width: 17px;
  height: 17px;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 50%;
  color: #fff;
  background: var(--pb-orange);
}
.pb-avatar-edit-hint svg { width: 9px; height: 9px; stroke-width: 2.2; }
.pb-profile-button:hover .pb-avatar-edit-hint { transform: scale(1.06); }

.pb-avatar-editor {
  position: relative;
  display: inline-grid;
  flex: 0 0 auto;
  cursor: pointer;
}
.pb-avatar-editor .pb-avatar-large {
  width: 86px;
  height: 86px;
  flex-basis: 86px;
  border: 4px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #cfe1e7, 0 10px 24px rgba(6,65,88,.1);
}
.pb-avatar-editor-button {
  position: absolute;
  right: -1px;
  bottom: 1px;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  color: #fff;
  background: var(--pb-blue-700);
  box-shadow: 0 5px 12px rgba(0,92,126,.18);
  transition: transform .16s ease, background .16s ease;
}
.pb-avatar-editor:hover .pb-avatar-editor-button { transform: translateY(-1px); background: var(--pb-blue); }
.pb-avatar-editor-button svg { width: 14px; height: 14px; }
.pb-profile-photo-error { margin: -4px 0 2px; }
.pb-profile-photo-tip { display: block; margin-top: 6px; color: var(--pb-blue-700); font-size: .72rem; font-weight: 650; }

.pb-certificate-card:not(.is-issued) .pb-certificate-mark { color: var(--pb-blue-700); background: #eaf7fb; }
.pb-certificate-requirement-list span { line-height: 1.35; }
.pb-certificate-requirement-list span:not(.is-done) svg { color: var(--pb-orange); }

.pb-map-hero { background:
  radial-gradient(circle at 88% 15%, rgba(255,138,0,.11), transparent 23%),
  linear-gradient(140deg, #fff, #f3fbfd);
}
.pb-map-level.is-complete .pb-map-level-head { border-color: #b9ddce; }
.pb-map-lessons li.is-current a::after {
  content: "Próxima conquista";
  position: absolute;
  right: 10px;
  bottom: 8px;
  color: #8a5100;
  font-size: .62rem;
  font-weight: 800;
}

.pb-video-journey { background: linear-gradient(180deg, #fff, #f8fbfc); }
.pb-video-journey-note { color: var(--pb-muted); }
.pb-next-locked strong { color: var(--pb-blue-800); }
.pb-next-locked strong svg { color: var(--pb-orange); }

.pb-topbar,
.pb-sticky-actions,
.pb-final-actions { backdrop-filter: none; }
.pb-topbar { background: rgba(255,255,255,.97); }
.pb-sticky-actions,
.pb-final-actions { background: #fff; }

@media (max-width: 767.98px) {
  .pb-home-intro { padding: 24px 20px; }
  .pb-level-quest-summary { grid-template-columns: 1fr auto; }
  .pb-level-quest-summary .pb-quest-status { grid-column: 1 / -1; justify-self: start; }
  .pb-level-quest-summary > small { text-align: left; }
  .pb-level-certificate-progress { margin-top: 12px; }
  .pb-profile-settings-head { align-items: center; }
  .pb-map-lessons li.is-current a::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .pb-level-mini-progress i,
  .pb-avatar-editor-button,
  .pb-avatar-edit-hint { transition: none; }
}

.pb-profile-readonly { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 600px) { .pb-profile-readonly { grid-template-columns: 1fr; } }


/* V35 - visual refinements, semantic icons and a lighter learning map */
.pb-welcome-title { display: grid; gap: .04em; max-width: 860px; }
.pb-welcome-title > span { display: block; }
.pb-welcome-title > span:last-child { color: var(--pb-blue-900); }

.pb-learning-hero {
  background:
    radial-gradient(circle at 86% 18%, rgba(7,141,197,.10), transparent 29%),
    radial-gradient(circle at 7% 100%, rgba(244,125,32,.08), transparent 25%),
    #fff;
}
.pb-performance-chip { background: rgba(246,250,252,.92); }
.pb-performance-chip svg { color: var(--pb-blue-700); }
.pb-current-level-card .pb-kicker svg { color: var(--pb-orange); }

.pb-map-hero {
  position: relative;
  overflow: hidden;
  border-color: rgba(7,116,162,.16);
  background:
    radial-gradient(circle at 85% 14%, rgba(7,141,197,.13), transparent 30%),
    radial-gradient(circle at 9% 100%, rgba(244,125,32,.10), transparent 28%),
    linear-gradient(145deg, #ffffff 0%, #f4fbfd 58%, #fffaf4 100%);
}
.pb-map-hero::after {
  position: absolute;
  right: 8%;
  bottom: -42px;
  width: 180px;
  height: 180px;
  border: 1px dashed rgba(7,116,162,.18);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
.pb-map-hero-copy, .pb-map-score { position: relative; z-index: 1; }
.pb-map-score { box-shadow: 0 12px 34px rgba(16,61,80,.07); }

.pb-map-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 16px 0 18px;
  padding: 12px 16px;
  border: 1px solid var(--pb-line);
  border-radius: 15px;
  background: rgba(255,255,255,.86);
}
.pb-map-legend > span { display: inline-flex; align-items: center; gap: 8px; color: var(--pb-muted); font-size: .78rem; font-weight: 720; }
.pb-map-legend i { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 8px; color: #fff; background: #8fa4ae; font-style: normal; }
.pb-map-legend i svg { width: 13px; height: 13px; }
.pb-map-legend i.is-complete { background: var(--pb-success); }
.pb-map-legend i.is-current { background: var(--pb-orange); }
.pb-map-legend i.is-ready { background: var(--pb-blue); }
.pb-map-legend i.is-locked { color: #70848e; background: #edf2f4; }

.pb-learning-map {
  position: relative;
  overflow: hidden;
  padding: 28px 28px 28px 4px;
  border: 1px solid rgba(203,220,227,.78);
  border-radius: 26px;
  background:
    radial-gradient(circle at 18px 18px, rgba(7,116,162,.045) 1px, transparent 1.5px) 0 0 / 28px 28px,
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(247,251,252,.94));
}
.pb-learning-map-track { left: 50px; top: 40px; bottom: 40px; width: 6px; border-radius: 999px; background: #dfe9ed; }
.pb-learning-map-track span { border-radius: inherit; background: linear-gradient(180deg, var(--pb-blue), #20a3a0 60%, var(--pb-orange)); }
.pb-map-level { --level-accent: var(--pb-blue); --level-soft: #edf8fb; padding-left: 104px; }
.pb-map-level.level-low-code { --level-accent: #128c87; --level-soft: #edf8f5; }
.pb-map-level.level-expert { --level-accent: #d97820; --level-soft: #fff5e9; }
.pb-map-level + .pb-map-level { margin-top: 24px; }
.pb-map-level-head { border-color: color-mix(in srgb, var(--level-accent) 20%, var(--pb-line)); background: linear-gradient(140deg, #fff 0%, var(--level-soft) 145%); }
.pb-map-level-head::before { position: absolute; inset: 0 auto 0 0; width: 5px; border-radius: 22px 0 0 22px; background: var(--level-accent); content: ""; }
.pb-map-level-node { left: -90px; color: #fff; background: var(--level-accent); box-shadow: 0 0 0 5px var(--pb-canvas), 0 0 0 7px color-mix(in srgb, var(--level-accent) 38%, white); }
.pb-map-level.is-complete .pb-map-level-node { box-shadow: 0 0 0 5px var(--pb-canvas), 0 0 0 7px #a9dcc8; }
.pb-map-level-status { color: color-mix(in srgb, var(--level-accent) 82%, #183742); background: var(--level-soft); }
.pb-map-level-progress { display: grid; grid-template-columns: minmax(0,220px) auto; gap: 9px; align-items: center; margin-top: 13px; }
.pb-map-level-progress::before { grid-column: 1; grid-row: 1; height: 8px; border-radius: 999px; background: rgba(16,61,80,.09); content: ""; }
.pb-map-level-progress > span { grid-column: 1; grid-row: 1; width: var(--level-progress); max-width: 100%; height: 8px; border-radius: 999px; background: var(--level-accent); transition: width .45s ease; }
.pb-map-level-progress strong { color: var(--level-accent); font-size: .75rem; }
.pb-map-module { border-color: color-mix(in srgb, var(--level-accent) 14%, var(--pb-line)); box-shadow: 0 10px 28px rgba(16,61,80,.045); }
.pb-map-module > header { background: color-mix(in srgb, var(--level-soft) 72%, white); }
.pb-map-module-icon { color: var(--level-accent); background: #fff; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--level-accent) 18%, var(--pb-line)); }
.pb-map-lessons { position: relative; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; padding: 18px; }
.pb-map-lessons::before { position: absolute; inset: 50% 24px auto; border-top: 2px dashed color-mix(in srgb, var(--level-accent) 20%, var(--pb-line)); content: ""; pointer-events: none; }
.pb-map-lessons li { position: relative; z-index: 1; }
.pb-map-lessons a, .pb-map-lesson-locked { min-height: 82px; border-color: color-mix(in srgb, var(--level-accent) 13%, var(--pb-line)); }
.pb-map-lessons a:hover { border-color: color-mix(in srgb, var(--level-accent) 48%, var(--pb-line)); box-shadow: 0 12px 24px rgba(16,61,80,.08); }
.pb-map-lessons li.is-current a { border-color: color-mix(in srgb, var(--level-accent) 58%, white); background: linear-gradient(135deg, var(--level-soft), #fff); box-shadow: 0 12px 30px color-mix(in srgb, var(--level-accent) 14%, transparent); }
.pb-map-lessons li.is-current .pb-map-lesson-node { background: var(--level-accent); }
.pb-map-lessons li.is-ready .pb-map-lesson-node { color: var(--level-accent); background: var(--level-soft); }
.pb-map-you-are-here { color: #834c12; background: #fff0dc; }
.pb-map-certificate-stop { border-color: color-mix(in srgb, var(--level-accent) 36%, var(--pb-line)); background: var(--level-soft); }
.pb-map-certificate-stop:hover { background: color-mix(in srgb, var(--level-soft) 78%, white); }
.pb-map-certificate-icon { background: var(--level-accent); }
.pb-map-footer { border-color: rgba(7,116,162,.17); background: linear-gradient(135deg, #fff, #f5fbfd); }

@media (max-width: 1050px) {
  .pb-map-lessons { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .pb-welcome-title { gap: .12em; }
  .pb-learning-map { padding: 20px 14px 20px 0; border-radius: 20px; }
  .pb-learning-map-track { left: 22px; }
  .pb-map-level { padding-left: 60px; }
  .pb-map-level-node { left: -55px; }
  .pb-map-lessons { grid-template-columns: 1fr; padding: 13px; }
  .pb-map-lessons::before { display: none; }
  .pb-map-legend { gap: 9px 13px; }
  .pb-map-level-progress { grid-template-columns: minmax(0,1fr) auto; }
}
@media (prefers-reduced-motion: reduce) {
  .pb-map-level-progress > span { transition: none; }
}


/* V37 - refined journey buttons, achievement icon, and responsive polish */
.btn-primary {
  border-color: var(--pb-blue-700);
  background: linear-gradient(135deg, var(--pb-blue-700), var(--pb-blue));
  box-shadow: 0 10px 18px rgba(0, 118, 164, 0.16);
}
.btn-primary:hover, .btn-primary:focus {
  border-color: var(--pb-blue-800);
  background: linear-gradient(135deg, var(--pb-blue-800), var(--pb-blue-700));
  box-shadow: 0 12px 22px rgba(0, 98, 138, 0.18);
}
.pb-level-card-footer .btn,
.pb-certificate-actions .btn,
.pb-lesson-actions .btn,
.pb-page-actions .btn,
.pb-admin-shortcuts .btn {
  min-height: 44px;
  border-radius: 14px;
}
.pb-level-card-footer .btn-primary,
.pb-certificate-actions .btn-primary {
  padding-inline: 16px;
  font-weight: 760;
}
.pb-level-card-footer .btn-primary svg,
.pb-certificate-actions .btn-primary svg {
  width: 16px;
  height: 16px;
  opacity: .95;
}
.pb-level-card-footer .btn-outline-primary,
.pb-certificate-actions .btn-light {
  border-color: #c8dde6;
  color: var(--pb-blue-800);
  background: #fff;
}
.pb-level-card-footer .btn-outline-primary:hover,
.pb-certificate-actions .btn-light:hover {
  border-color: #a9cad7;
  color: var(--pb-blue);
  background: #f7fbfc;
}
.pb-level-card-footer {
  gap: 10px;
}
.pb-certificate-actions {
  gap: 10px;
}
.pb-certificate-mark {
  color: #17704c;
  background: linear-gradient(145deg, #e7f7ee, #d8f0e3);
  box-shadow: inset 0 0 0 1px rgba(23,112,76,.08);
}
.pb-certificate-mark svg {
  width: 26px;
  height: 26px;
}
.pb-level-progress-symbol {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
.pb-home-intro,
.pb-home-grid,
.pb-level-grid,
.pb-certificate-grid {
  min-width: 0;
}
.pb-level-card,
.pb-certificate-card,
.pb-side-card,
.pb-admin-stat,
.pb-continue {
  min-width: 0;
}
.pb-level-title h3,
.pb-level-title p,
.pb-certificate-copy h2,
.pb-certificate-copy p,
.pb-continue-copy strong,
.pb-continue-copy span {
  overflow-wrap: anywhere;
}
.pb-level-card-footer .btn,
.pb-certificate-actions .btn {
  justify-content: center;
  white-space: nowrap;
}
@media (max-width: 991.98px) {
  .pb-level-card-footer,
  .pb-certificate-actions {
    grid-template-columns: 1fr;
  }
  .pb-level-card-footer .btn,
  .pb-certificate-actions .btn,
  .pb-level-card-footer .pb-status,
  .pb-certificate-actions .pb-status {
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  .pb-home-intro { gap: 18px; }
  .pb-home-intro-copy .pb-welcome-title { font-size: clamp(2rem, 10vw, 2.6rem); line-height: 1.03; }
  .pb-continue { grid-template-columns: 44px minmax(0, 1fr) 20px; gap: 12px; padding: 14px 14px; }
  .pb-continue-icon { width: 44px; height: 44px; border-radius: 14px; }
  .pb-level-card-head { gap: 12px; }
  .pb-level-icon { width: 46px; height: 46px; border-radius: 14px; }
  .pb-level-title h3 { font-size: 1.12rem; }
  .pb-level-quest-summary strong { font-size: .96rem; }
  .pb-level-certificate-progress { grid-template-columns: 42px minmax(0, 1fr); }
  .pb-level-progress-symbol { width: 42px; height: 42px; }
  .pb-side-card-head { gap: 10px; }
}
@media (max-width: 575.98px) {
  .pb-section-head .btn,
  .pb-lesson-actions .btn,
  .pb-page-actions .btn,
  .pb-admin-shortcuts .btn,
  .pb-level-card-footer .btn,
  .pb-certificate-actions .btn {
    min-height: 46px;
    font-size: .86rem;
  }
  .pb-certificate-count {
    justify-self: start;
  }
}

/* V38 - clearer primary journey action and refined achievement treatment */
.pb-journey-btn {
  min-width: 188px;
  padding: 6px 7px 6px 16px !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border-radius: 15px !important;
  letter-spacing: -.01em;
}
.pb-journey-btn > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pb-journey-btn > svg {
  flex: 0 0 auto;
  width: 32px !important;
  height: 32px !important;
  padding: 8px;
  border-radius: 10px;
  background: rgba(255,255,255,.16);
}
.pb-journey-btn:hover > svg,
.pb-journey-btn:focus > svg {
  background: rgba(255,255,255,.24);
}
.pb-certificate-mark,
.pb-level-progress-symbol {
  border-radius: 18px;
}
.pb-certificate-card:not(.is-issued) .pb-certificate-mark,
.pb-level-certificate-progress:not(.is-ready) .pb-level-progress-symbol {
  color: #9a6200;
  background: linear-gradient(145deg, #fff8e8, #fbe9b8);
  box-shadow: inset 0 0 0 1px rgba(154,98,0,.10);
}
.pb-certificate-card.is-issued .pb-certificate-mark,
.pb-level-certificate-progress.is-ready .pb-level-progress-symbol {
  color: #176b4a;
  background: linear-gradient(145deg, #eaf8f0, #d9efe4);
  box-shadow: inset 0 0 0 1px rgba(23,107,74,.10);
}
@media (max-width: 575.98px) {
  .pb-journey-btn {
    width: 100%;
    min-width: 0;
  }
}

/* --------------------------------------------------------------------------
   V42 — refinamento visual global
   Menos redundância, hierarquia mais clara e proporções consistentes
   -------------------------------------------------------------------------- */

/* Botões e ações: texto e símbolo nunca ficam colados */
.btn,
.pb-help-action,
.pb-section-link,
.pb-mode-switch a,
.pb-nav-link,
.pb-continue-action,
.pb-map-footer a {
  column-gap: 9px;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.15;
}
.btn > svg,
.btn > span > svg,
.pb-help-action > svg,
.pb-section-link > svg,
.pb-continue-action > svg {
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  margin: 0;
}
.btn > span,
.pb-continue-action > span {
  min-width: 0;
}
.pb-icon-button svg,
.pb-level-icon svg,
.pb-module-icon svg,
.pb-map-module-icon svg,
.pb-map-level-node svg,
.pb-map-lesson-node svg,
.pb-continue-icon svg,
.pb-level-progress-symbol svg {
  display: block;
  margin: 0;
}

/* Início do aluno: uma coluna principal, sem cartões laterais redundantes */
.pb-home-grid-refined {
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}
.pb-home-grid-refined .pb-home-main {
  width: 100%;
}
.pb-learning-hero {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  gap: 28px;
  padding: 28px 30px;
}
.pb-learning-hero .pb-home-intro-copy {
  align-self: center;
}
.pb-learning-hero .pb-welcome-title {
  max-width: 780px;
  font-size: clamp(2.15rem, 4vw, 3.35rem);
  line-height: 1.02;
}
.pb-learning-hero .pb-home-intro-copy > p {
  max-width: 760px;
  margin-bottom: 0;
}
.pb-learning-scoreboard {
  min-width: 0;
  align-content: center;
}
.pb-learning-scoreboard .pb-home-score,
.pb-learning-scoreboard .pb-performance-chip {
  box-shadow: none;
}
.pb-learning-scoreboard .pb-home-score {
  min-width: 0;
  padding: 15px 16px;
  border-color: rgba(7,116,162,.14);
  background: rgba(255,255,255,.9);
}
.pb-learning-scoreboard .pb-performance-chip {
  padding: 10px 13px;
  background: rgba(248,251,252,.95);
}

/* Próximo passo: a ação fica explícita e proporcional */
.pb-continue {
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 16px;
  padding: 18px 20px;
}
.pb-continue-action {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 9px 12px 9px 14px;
  border-radius: 12px;
  color: var(--pb-blue-800);
  background: var(--pb-cyan-50);
  font-size: .78rem;
  font-weight: 780;
  white-space: nowrap;
}
.pb-continue:hover .pb-continue-action {
  color: #fff;
  background: var(--pb-blue-700);
}
.pb-continue-copy strong {
  font-size: 1.06rem;
}

/* Cabeçalho e cartões da jornada */
.pb-journey-section-head {
  align-items: center;
  margin-bottom: 14px;
}
.pb-level-card {
  box-shadow: 0 7px 22px rgba(8,52,72,.045);
}
.pb-level-card-head {
  padding: 19px 21px 14px;
}
.pb-level-title p {
  max-width: 820px;
}
.pb-level-quest-summary {
  gap: 10px;
  margin-inline: 21px;
  padding: 10px 12px;
}
.pb-level-quest-summary small {
  margin-left: auto;
  text-align: right;
}
.pb-level-modules-grid {
  padding: 0 21px 16px;
}
.pb-level-module-card {
  min-height: 62px;
  padding: 10px 12px;
  box-shadow: none;
}
.pb-level-module-card > svg {
  color: #8298a2;
}
.pb-level-certificate-progress {
  margin: 0 21px 14px;
  padding: 12px 13px;
  border-style: solid;
  border-color: #d5e5ea;
  background: #f8fbfc;
}
.pb-level-certificate-progress.is-ready {
  border-color: #b8dfce;
  background: #f3fbf7;
}
.pb-level-certificate-progress.is-final {
  border-color: #ead2a7;
  background: #fffaf0;
}
.pb-level-card-footer-refined {
  min-height: auto;
  justify-content: flex-end;
  padding: 12px 21px 14px;
  background: #fff;
}
.pb-level-card-footer-refined .btn {
  min-width: 184px;
}
.pb-level-card-footer-refined .pb-journey-btn {
  min-width: 194px;
}

/* Símbolos de conquista: centro geométrico e óptico */
.pb-level-certificate-progress > .pb-level-progress-symbol {
  display: grid;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  place-items: center;
  padding: 0;
  line-height: 0;
}
.pb-level-progress-symbol > svg {
  width: 18px;
  height: 18px;
  transform-box: view-box;
  transform-origin: center;
}
.pb-level-progress-symbol.is-award > svg { transform: translateY(.5px); }
.pb-level-progress-symbol.is-flag > svg { transform: translateX(.5px); }
.pb-level-progress-symbol.is-spark > svg { transform: none; }

/* Mapa: caminho contínuo e legível entre todas as aulas */
.pb-map-lessons {
  display: flex;
  grid-template-columns: none;
  flex-direction: column;
  gap: 0;
  padding: 16px;
}
.pb-map-lessons::before {
  display: none;
}
.pb-map-lessons li {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding-bottom: 16px;
}
.pb-map-lessons li:last-child {
  padding-bottom: 0;
}
.pb-map-lessons li:not(:last-child)::after {
  position: absolute;
  z-index: 0;
  top: 48px;
  bottom: -2px;
  left: 29px;
  width: 3px;
  border-radius: 999px;
  background: #dce7eb;
  content: "";
}
.pb-map-lessons li.is-complete:not(:last-child)::after {
  background: var(--pb-success);
}
.pb-map-lessons li.is-current:not(:last-child)::after {
  background: repeating-linear-gradient(to bottom, var(--level-accent) 0 7px, transparent 7px 12px);
}
.pb-map-lessons li.is-ready:not(:last-child)::after {
  background: repeating-linear-gradient(to bottom, color-mix(in srgb, var(--level-accent) 55%, #dce7eb) 0 6px, transparent 6px 11px);
}
.pb-map-lessons a,
.pb-map-lesson-locked {
  position: relative;
  z-index: 1;
  min-height: 70px;
  gap: 13px;
  padding: 12px 14px;
  border-radius: 13px;
}
.pb-map-lesson-node {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  box-shadow: 0 0 0 5px #fff;
}
.pb-map-module.is-locked .pb-map-lesson-node {
  box-shadow: 0 0 0 5px #f6f9fa;
}
.pb-map-lessons li.is-current a {
  transform: none;
}
.pb-map-lessons li.is-current a:hover {
  transform: translateY(-1px);
}
.pb-map-lesson-copy strong {
  white-space: normal;
  overflow-wrap: anywhere;
}
.pb-map-you-are-here {
  top: 9px;
  right: 10px;
}
.pb-map-module > header {
  padding: 14px 17px;
}
.pb-map-certificate-stop {
  column-gap: 12px;
}
.pb-map-certificate-stop > svg {
  flex: 0 0 17px;
  margin: 0;
}

/* Proporções e alinhamentos recorrentes em todo o sistema */
.pb-page-actions,
.pb-admin-shortcuts,
.pb-form-actions,
.pb-lesson-actions,
.pb-certificate-actions,
.pb-delete-actions,
.pb-sticky-actions {
  gap: 10px;
}
.pb-page-actions .btn,
.pb-admin-shortcuts .btn,
.pb-form-actions .btn,
.pb-lesson-actions .btn,
.pb-certificate-actions .btn,
.pb-delete-actions .btn,
.pb-sticky-actions .btn {
  column-gap: 8px;
}
.pb-page-actions .btn svg,
.pb-admin-shortcuts .btn svg,
.pb-form-actions .btn svg,
.pb-lesson-actions .btn svg,
.pb-certificate-actions .btn svg,
.pb-delete-actions .btn svg,
.pb-sticky-actions .btn svg {
  display: block;
  flex: 0 0 auto;
  margin: 0;
}
.pb-side-card-head,
.pb-doubt-card-head,
.pb-quiz-head,
.pb-section-head,
.pb-page-head {
  min-width: 0;
}
.pb-kicker {
  column-gap: 7px;
}
.pb-kicker svg {
  flex: 0 0 auto;
  margin: 0;
}

/* Responsividade: reorganiza antes de ocorrer compressão */
@media (max-width: 1040px) {
  .pb-learning-hero {
    grid-template-columns: minmax(0, 1fr);
  }
  .pb-learning-scoreboard {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .pb-learning-scoreboard .pb-home-score,
  .pb-learning-scoreboard .pb-performance-chip {
    height: 100%;
  }
}

@media (max-width: 820px) {
  .pb-section-head,
  .pb-journey-section-head {
    align-items: flex-start;
  }
  .pb-level-modules-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .pb-level-card-head {
    grid-template-columns: 48px minmax(0, 1fr);
  }
  .pb-level-state {
    grid-column: 2;
    justify-self: start;
  }
  .pb-map-level-head {
    grid-template-columns: minmax(0, 1fr);
  }
  .pb-map-level-status {
    justify-self: start;
  }
}

@media (max-width: 680px) {
  .pb-learning-hero {
    gap: 20px;
    padding: 22px 18px;
  }
  .pb-learning-scoreboard {
    grid-template-columns: minmax(0, 1fr);
  }
  .pb-continue {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    padding: 15px;
  }
  .pb-continue-action {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 2px;
  }
  .pb-continue-copy strong {
    white-space: normal;
  }
  .pb-section-head,
  .pb-journey-section-head {
    flex-direction: column;
    align-items: stretch;
  }
  .pb-section-head .btn,
  .pb-journey-section-head .btn {
    width: 100%;
  }
  .pb-level-card-head,
  .pb-level-modules-grid,
  .pb-level-card-footer-refined {
    padding-right: 15px;
    padding-left: 15px;
  }
  .pb-level-quest-summary,
  .pb-level-certificate-progress {
    margin-right: 15px;
    margin-left: 15px;
  }
  .pb-level-quest-summary {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .pb-level-quest-summary small {
    width: 100%;
    margin-left: 0;
    text-align: left;
  }
  .pb-level-card-footer-refined .btn,
  .pb-level-card-footer-refined .pb-journey-btn {
    width: 100%;
    min-width: 0;
  }
  .pb-map-level {
    padding-left: 60px;
  }
  .pb-map-level-node {
    left: -55px;
  }
  .pb-map-lessons {
    padding: 13px;
  }
  .pb-map-lessons li:not(:last-child)::after {
    left: 27px;
  }
  .pb-map-you-are-here {
    position: static;
    width: max-content;
    margin-top: 6px;
  }
}

@media (max-width: 460px) {
  .pb-content {
    width: calc(100% - 12px);
  }
  .pb-learning-hero .pb-welcome-title {
    font-size: clamp(1.95rem, 11vw, 2.5rem);
  }
  .pb-learning-scoreboard .pb-home-score {
    align-items: center;
  }
  .pb-level-card-head {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 11px;
  }
  .pb-level-icon {
    width: 42px;
    height: 42px;
  }
  .pb-level-certificate-progress {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
  }
  .pb-level-certificate-progress > .pb-level-progress-symbol {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }
  .pb-map-lessons a,
  .pb-map-lesson-locked {
    align-items: flex-start;
    padding: 11px 12px;
  }
  .pb-map-lessons li:not(:last-child)::after {
    left: 26px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pb-continue,
  .pb-map-lessons a,
  .btn {
    transition: none;
  }
}

/* Renderização progressiva dos cartões longos da página inicial */
@supports (content-visibility: auto) {
  .pb-level-card {
    content-visibility: auto;
    contain-intrinsic-size: 520px;
  }
}
.pb-level-card.is-final {
  border-color: #ead2a7;
}
/* O conector permanece visível no corredor dos nós e chega até a próxima aula */
.pb-map-lessons li:not(:last-child)::after {
  z-index: 2;
  bottom: -12px;
}
.pb-map-lesson-node {
  position: relative;
  z-index: 3;
}


/* --------------------------------------------------------------------------
   V43 — tela de aula proporcional e responsiva
   Mesma largura visual das demais áreas, melhor distribuição e ações legíveis
   -------------------------------------------------------------------------- */

/* A aula passa a usar a largura útil do workspace, sem parecer uma página menor */
.pb-lesson-view .pb-content {
  width: min(100% - 44px, 1320px);
}
.pb-lesson-view .pb-breadcrumb,
.pb-lesson-view .pb-lesson-page {
  width: min(100%, 1240px);
  margin-inline: auto;
}
.pb-lesson-view .pb-lesson-page {
  max-width: none;
}

/* Cabeçalho: conteúdo e ações ocupam espaços previsíveis */
.pb-lesson-view .pb-lesson-title-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 24px;
  padding: 25px 27px;
}
.pb-lesson-view .pb-lesson-title-copy {
  min-width: 0;
}
.pb-lesson-view .pb-lesson-title-compact h1 {
  max-width: 920px;
}
.pb-lesson-view .pb-lesson-title-compact .pb-lesson-title-copy > p {
  max-width: 900px;
}
.pb-lesson-view .pb-lesson-actions {
  display: flex;
  max-width: 430px;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}
.pb-lesson-view .pb-lesson-actions .btn {
  min-height: 42px;
  padding-inline: 14px;
  white-space: nowrap;
}
.pb-lesson-view .pb-lesson-actions .btn > span {
  min-width: 0;
}

/* Jornada e vídeo: distribuição mais ampla sem adicionar novos elementos */
.pb-lesson-view .pb-video-shell {
  margin-bottom: 18px;
}
.pb-lesson-view .pb-video-journey {
  padding: 18px 22px 15px;
}
.pb-lesson-view .pb-video-journey-head,
.pb-lesson-view .pb-video-milestones,
.pb-lesson-view .pb-video-journey-note {
  width: min(100%, 980px);
  margin-inline: auto;
}
.pb-lesson-view .pb-video-milestones {
  grid-template-columns: repeat(4, minmax(92px, 1fr));
}
.pb-lesson-view .pb-video-help {
  padding-inline: 18px;
}
.pb-lesson-view .pb-video-help a {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
}
.pb-lesson-view .pb-video-help a > span {
  min-width: 0;
}

/* Guia: usa melhor o espaço horizontal, preservando leitura confortável */
.pb-lesson-view .pb-lesson-content {
  padding: 28px 30px;
}
.pb-lesson-view .pb-lesson-content .lesson-lead {
  max-width: 980px;
}
@media (min-width: 1100px) {
  .pb-lesson-view .pb-lesson-content ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 10px;
  }
}

/* Avaliação e navegação seguem a mesma largura e proporção da aula */
.pb-lesson-view .pb-quiz-card {
  padding: 27px 30px;
}
.pb-lesson-view .pb-lesson-nav {
  gap: 14px;
  margin-top: 18px;
}
.pb-lesson-view .pb-lesson-nav a,
.pb-lesson-view .pb-next-locked {
  min-height: 72px;
  padding: 14px 17px;
}
.pb-lesson-view .pb-lesson-nav strong {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: .84rem;
}
.pb-lesson-view .pb-next-locked strong > svg {
  flex: 0 0 auto;
  margin: 0;
}

/* Tablet: ações descem antes de comprimir título e botões */
@media (max-width: 1050px) {
  .pb-lesson-view .pb-content {
    width: min(100% - 32px, 1040px);
  }
  .pb-lesson-view .pb-lesson-title-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 17px;
  }
  .pb-lesson-view .pb-lesson-actions {
    width: 100%;
    max-width: none;
    justify-content: flex-start;
  }
}

/* Celular: uma ação por linha, margens enxutas e nenhum estouro horizontal */
@media (max-width: 767.98px) {
  .pb-lesson-view .pb-content {
    width: min(100% - 20px, 760px);
  }
  .pb-lesson-view .pb-lesson-title-card {
    gap: 15px;
    padding: 20px;
  }
  .pb-lesson-view .pb-lesson-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .pb-lesson-view .pb-lesson-actions .btn {
    width: 100%;
    min-width: 0;
    justify-content: center;
    white-space: normal;
  }
  .pb-lesson-view .pb-video-journey {
    padding: 15px 14px 13px;
  }
  .pb-lesson-view .pb-video-journey-head,
  .pb-lesson-view .pb-video-milestones,
  .pb-lesson-view .pb-video-journey-note {
    width: 100%;
  }
  .pb-lesson-view .pb-video-milestones {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .pb-lesson-view .pb-video-help {
    padding: 11px 14px;
  }
  .pb-lesson-view .pb-lesson-content,
  .pb-lesson-view .pb-quiz-card {
    padding: 21px 19px;
  }
  .pb-lesson-view .pb-lesson-nav {
    grid-template-columns: minmax(0, 1fr);
  }
  .pb-lesson-view .pb-lesson-nav a:last-child {
    align-items: flex-start;
    text-align: left;
  }
}

@media (max-width: 460px) {
  .pb-lesson-view .pb-content {
    width: calc(100% - 12px);
  }
  .pb-lesson-view .pb-breadcrumb {
    margin-bottom: 11px;
  }
  .pb-lesson-view .pb-lesson-title-card {
    padding: 17px 15px;
  }
  .pb-lesson-view .pb-lesson-eyebrow {
    gap: 6px;
  }
  .pb-lesson-view .pb-video-milestones small {
    font-size: .55rem;
  }
  .pb-lesson-view .pb-video-help a {
    align-items: flex-start;
  }
  .pb-lesson-view .pb-lesson-content,
  .pb-lesson-view .pb-quiz-card {
    padding: 18px 15px;
  }
}

@media (max-width: 767.98px) {
  .pb-lesson-view .pb-next-locked {
    align-items: flex-start;
    text-align: left;
  }
  .pb-lesson-view .pb-next-locked strong {
    justify-content: flex-start;
  }
}

/* --------------------------------------------------------------------------
   V44 — refinamento geral, home resumida e hierarquia mais madura
   -------------------------------------------------------------------------- */

/* Botões: proporções, respiro e alinhamento consistentes em toda a aplicação */
.btn:not(.btn-close) {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 15px;
  border-radius: 11px;
  font-weight: 720;
  line-height: 1.2;
  text-align: center;
}
.btn:not(.btn-close) > svg {
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  margin: 0;
}
.btn:not(.btn-close) > span {
  min-width: 0;
}
.btn-sm:not(.btn-close) {
  min-height: 36px;
  gap: 7px;
  padding: 7px 11px;
  border-radius: 9px;
  font-size: .78rem;
}
.btn-sm:not(.btn-close) > svg {
  width: 14px;
  height: 14px;
  flex-basis: 14px;
}
.btn-lg:not(.btn-close) {
  min-height: 48px;
  padding: 11px 18px;
}
.pb-section-link {
  gap: 7px;
}
.pb-section-link > svg {
  flex: 0 0 14px;
  margin: 0;
}

/* A página inicial é um resumo: três níveis compactos e sem listas de módulos */
.pb-home-journey-summary {
  min-width: 0;
}
.pb-journey-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.pb-journey-summary-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 300px;
  aspect-ratio: 1 / 1;
  flex-direction: column;
  overflow: hidden;
  padding: 20px;
  border: 1px solid var(--pb-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(8,52,72,.045);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.pb-journey-summary-card::after {
  position: absolute;
  top: -56px;
  right: -55px;
  width: 150px;
  height: 150px;
  border: 25px solid rgba(7,141,197,.035);
  border-radius: 42px;
  content: "";
  pointer-events: none;
  transform: rotate(22deg);
}
.pb-journey-summary-card:hover {
  border-color: #bfdce5;
  box-shadow: 0 14px 34px rgba(8,52,72,.075);
  transform: translateY(-2px);
}
.pb-journey-summary-card.is-complete {
  border-color: #bfe0d1;
}
.pb-journey-summary-card.is-final {
  border-color: #ead5af;
}
.pb-journey-summary-card.is-locked {
  border-style: dashed;
  background: #f8fafb;
  box-shadow: none;
}
.pb-journey-summary-card.is-locked:hover {
  border-color: var(--pb-line-strong);
  box-shadow: none;
  transform: none;
}
.pb-journey-summary-head {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.pb-journey-summary-icon {
  display: grid;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  place-items: center;
  border: 1px solid #d5e7ed;
  border-radius: 15px;
  color: var(--pb-blue-800);
  background: #f3f9fb;
  font-size: 1.35rem;
  line-height: 1;
}
.pb-journey-summary-icon > svg {
  display: block;
  width: 21px;
  height: 21px;
  margin: 0;
}
.pb-journey-summary-card.is-complete .pb-journey-summary-icon {
  border-color: #bfe0d1;
  color: var(--pb-success);
  background: var(--pb-success-soft);
}
.pb-journey-summary-card.is-final .pb-journey-summary-icon {
  border-color: #ead5af;
  color: var(--pb-warning);
  background: var(--pb-warning-soft);
}
.pb-journey-summary-card.is-locked .pb-journey-summary-icon {
  color: #82969f;
  background: #eef3f5;
}
.pb-journey-summary-state {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  padding: 5px 9px;
  border-radius: 999px;
  color: var(--pb-blue-800);
  background: var(--pb-cyan-50);
  font-size: .69rem;
  font-weight: 780;
  white-space: nowrap;
}
.pb-journey-summary-card.is-complete .pb-journey-summary-state {
  color: var(--pb-success);
  background: var(--pb-success-soft);
}
.pb-journey-summary-card.is-final .pb-journey-summary-state {
  color: var(--pb-warning);
  background: var(--pb-warning-soft);
}
.pb-journey-summary-card.is-locked .pb-journey-summary-state {
  color: #6f828b;
  background: #edf2f4;
}
.pb-journey-summary-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
  margin-top: 21px;
}
.pb-journey-summary-copy > span {
  color: var(--pb-orange);
  font-size: .71rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.pb-journey-summary-copy h3 {
  margin: 6px 0 7px;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
}
.pb-journey-summary-copy p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--pb-muted);
  font-size: .8rem;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.pb-journey-summary-progress {
  position: relative;
  z-index: 1;
  margin-top: auto;
  padding-top: 20px;
}
.pb-journey-summary-progress > div {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  color: var(--pb-muted);
  font-size: .74rem;
}
.pb-journey-summary-progress > div strong,
.pb-journey-summary-progress > div b {
  color: var(--pb-ink);
  font-weight: 780;
}
.pb-journey-summary-track {
  display: block;
  height: 7px;
  margin-top: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eff2;
}
.pb-journey-summary-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--pb-blue-700), var(--pb-blue));
}
.pb-journey-summary-card.is-complete .pb-journey-summary-track i {
  background: var(--pb-success);
}
.pb-journey-summary-card.is-final .pb-journey-summary-track i {
  background: var(--pb-orange);
}
.pb-journey-summary-progress > small {
  display: -webkit-box;
  overflow: hidden;
  min-height: 36px;
  margin-top: 10px;
  color: #506873;
  font-size: .75rem;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.pb-journey-summary-footer {
  position: relative;
  z-index: 1;
  margin-top: 14px;
}
.pb-journey-summary-footer .btn {
  width: 100%;
  min-width: 0;
}
.pb-journey-summary-locked {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid #dfe7ea;
  border-radius: 11px;
  color: #73868f;
  background: #f3f6f7;
  font-size: .77rem;
  font-weight: 720;
  text-align: center;
}
.pb-journey-summary-locked svg {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  margin: 0;
}

/* Minhas dúvidas volta como resumo leve, sem contador ou painel lateral pesado */
.pb-home-doubts-summary {
  padding: 18px 20px;
  border: 1px solid var(--pb-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(8,52,72,.04);
}
.pb-home-doubts-heading {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}
.pb-home-doubts-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  color: var(--pb-blue-800);
  background: var(--pb-cyan-50);
}
.pb-home-doubts-icon svg {
  width: 18px;
  height: 18px;
  margin: 0;
}
.pb-home-doubts-heading h2 {
  margin: 0;
  font-size: 1.05rem;
}
.pb-home-doubts-heading p {
  margin: 3px 0 0;
  color: var(--pb-muted);
  font-size: .76rem;
}
.pb-home-doubts-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.pb-home-doubt-item {
  display: grid;
  min-width: 0;
  min-height: 62px;
  grid-template-columns: 9px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #e3ecef;
  border-radius: 12px;
  color: var(--pb-ink);
  background: #fbfcfd;
}
.pb-home-doubt-item:hover {
  border-color: #bfdce5;
  color: var(--pb-ink);
  background: #f6fbfd;
}
.pb-home-doubt-status {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--pb-blue);
}
.pb-home-doubt-status.done,
.pb-home-doubt-status.completed,
.pb-home-doubt-status.closed {
  background: var(--pb-success);
}
.pb-home-doubt-status.pending,
.pb-home-doubt-status.warning {
  background: var(--pb-orange);
}
.pb-home-doubt-item > span:nth-child(2) {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.pb-home-doubt-item strong {
  overflow: hidden;
  font-size: .8rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pb-home-doubt-item small {
  margin-top: 3px;
  color: var(--pb-muted);
  font-size: .7rem;
}
.pb-home-doubt-item > svg {
  width: 15px;
  height: 15px;
  margin: 0;
  color: #8398a1;
}
.pb-home-doubts-empty {
  display: flex;
  grid-column: 1 / -1;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--pb-muted);
  background: #f7f9fa;
  font-size: .78rem;
}
.pb-home-doubts-empty a {
  font-weight: 750;
  white-space: nowrap;
}

/* Proporções gerais: cartões e áreas de ação não comprimem texto ou ícones */
.pb-page-actions,
.pb-admin-shortcuts,
.pb-form-actions,
.pb-certificate-actions,
.pb-delete-actions,
.pb-sticky-actions,
.pb-lesson-actions {
  align-items: center;
}
.pb-page-actions > *,
.pb-admin-shortcuts > *,
.pb-form-actions > *,
.pb-certificate-actions > *,
.pb-delete-actions > *,
.pb-sticky-actions > *,
.pb-lesson-actions > * {
  min-width: 0;
}
.pb-admin-lesson-actions .btn,
.pb-admin-module-actions .btn,
.pb-table-actions .btn {
  gap: 7px;
}

@media (max-width: 1160px) {
  .pb-journey-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pb-journey-summary-card {
    aspect-ratio: auto;
    min-height: 310px;
  }
}

@media (max-width: 760px) {
  .pb-journey-card-grid,
  .pb-home-doubts-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .pb-journey-summary-card {
    min-height: 0;
    padding: 18px;
  }
  .pb-journey-summary-copy {
    margin-top: 17px;
  }
  .pb-home-doubts-heading {
    grid-template-columns: 42px minmax(0, 1fr);
  }
  .pb-home-doubts-heading .pb-section-link {
    grid-column: 1 / -1;
    justify-self: start;
    margin-top: 3px;
  }
}

@media (max-width: 460px) {
  .pb-journey-summary-card {
    border-radius: 16px;
  }
  .pb-journey-summary-head {
    align-items: flex-start;
  }
  .pb-journey-summary-state {
    max-width: 145px;
    white-space: normal;
    text-align: center;
  }
  .pb-home-doubts-summary {
    padding: 16px;
  }
  .pb-home-doubts-empty {
    align-items: flex-start;
    flex-direction: column;
  }
}

@supports (content-visibility: auto) {
  .pb-journey-summary-card,
  .pb-home-doubts-summary {
    content-visibility: auto;
    contain-intrinsic-size: 320px;
  }
}
.pb-home-doubt-status.jira-done { background: var(--pb-success); }
.pb-home-doubt-status.jira-pending,
.pb-home-doubt-status.jira-leader,
.pb-home-doubt-status.jira-homologation { background: var(--pb-orange); }
.pb-home-doubt-status.jira-dev,
.pb-home-doubt-status.jira-srv { background: var(--pb-purple); }
.pb-home-doubt-status.jira-reopened { background: #b85418; }
.pb-home-doubt-status.jira-open { background: var(--pb-blue); }

/* --------------------------------------------------------------------------
   V46 — botão de continuidade limpo e proporções refinadas das aulas
   -------------------------------------------------------------------------- */

/* O botão de continuidade usa somente texto: menos ruído e melhor equilíbrio */
.pb-certificate-actions .pb-journey-btn {
  min-width: 168px;
  padding: 10px 18px !important;
  justify-content: center !important;
  gap: 0 !important;
  border-radius: 12px !important;
}
.pb-certificate-actions .pb-journey-btn > span {
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

/* Lista de aulas: cartões proporcionais, legíveis e sem linhas comprimidas */
.pb-module-lessons .pb-lesson-table {
  display: grid;
  gap: 10px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.pb-module-lessons .pb-lesson-row {
  min-height: 72px;
  padding: 12px 15px;
  border: 1px solid var(--pb-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(8,52,72,.035);
}
.pb-module-lessons .pb-lesson-row:first-child {
  border-top: 1px solid var(--pb-line);
}
.pb-module-lessons a.pb-lesson-row:hover {
  border-color: #bddbe5;
  background: #f8fbfc;
  box-shadow: 0 8px 20px rgba(8,52,72,.055);
}
.pb-module-lessons .pb-lesson-number {
  width: 38px;
  height: 38px;
  border-radius: 11px;
}
.pb-module-lessons .pb-lesson-row-copy {
  gap: 3px;
}
.pb-module-lessons .pb-lesson-row-copy strong {
  font-size: .9rem;
  line-height: 1.35;
}
.pb-module-lessons .pb-lesson-row-copy small {
  margin-top: 0;
  font-size: .72rem;
  line-height: 1.4;
}
.pb-module-lessons .pb-lesson-row-action {
  min-width: 54px;
  justify-content: flex-end;
}

@media (max-width: 767.98px) {
  .pb-certificate-actions .pb-journey-btn {
    width: 100%;
    min-width: 0;
    min-height: 46px;
  }
  .pb-module-lessons .pb-lesson-table {
    gap: 8px;
  }
  .pb-module-lessons .pb-lesson-row {
    min-height: 64px;
    gap: 11px;
    padding: 10px 12px;
    border-radius: 12px;
  }
  .pb-module-lessons .pb-lesson-number {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }
  .pb-module-lessons .pb-lesson-row-copy strong {
    font-size: .84rem;
  }
  .pb-module-lessons .pb-lesson-row-copy small {
    font-size: .68rem;
  }
}

@media (max-width: 420px) {
  .pb-module-lessons .pb-lesson-row {
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: start;
  }
  .pb-module-lessons .pb-lesson-number {
    width: 32px;
    height: 32px;
  }
}

/* --------------------------------------------------------------------------
   V48 — proporções da tela da aula restauradas ao padrão da V45
   --------------------------------------------------------------------------
   Sem novos overrides em .pb-lesson-view: prevalecem as medidas consolidadas
   da V45. Ajustes posteriores de botões e cartões de módulo foram preservados.
*/


/* --------------------------------------------------------------------------
   V49 — guia linear, jornada compacta e conclusão de módulos em laranja
   -------------------------------------------------------------------------- */

/* Guia da aula: leitura sequencial, um item por linha em todos os tamanhos */
.pb-lesson-view .pb-lesson-content ul {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px;
}
.pb-lesson-view .pb-lesson-content li {
  min-height: 42px;
  padding: 10px 14px 10px 34px;
}
.pb-lesson-view .pb-lesson-content li::before {
  top: 16px;
  left: 15px;
}

/* Jornada compacta: reduz área vazia e mantém o vídeo como foco */
.pb-lesson-view .pb-video-journey {
  padding: 12px 20px 10px;
}
.pb-lesson-view .pb-video-journey-head {
  align-items: center;
}
.pb-video-journey-heading {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}
.pb-video-journey-heading > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.pb-lesson-view .pb-video-milestones {
  margin-top: 8px;
}
.pb-video-milestones::before {
  top: 16px;
}
.pb-video-milestones li > span {
  width: 34px;
  height: 34px;
}
.pb-video-milestones li small {
  margin-top: 5px;
}

/* Explicação sob demanda: hover no desktop e foco/toque no mobile */
.pb-journey-help {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
}
.pb-journey-help-button {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  padding: 0;
  border: 1px solid #d5e5eb;
  border-radius: 9px;
  color: var(--pb-blue-800);
  background: #fff;
  box-shadow: none;
}
.pb-journey-help-button:hover,
.pb-journey-help-button:focus-visible {
  border-color: #9bcddd;
  color: var(--pb-blue-900);
  background: #f2fbfd;
}
.pb-journey-help-button svg {
  width: 15px;
  height: 15px;
  margin: 0;
}
.pb-journey-help-tooltip {
  position: absolute;
  z-index: 30;
  top: calc(100% + 9px);
  left: 0;
  width: min(340px, calc(100vw - 40px));
  padding: 10px 12px;
  border: 1px solid #d8e6eb;
  border-radius: 11px;
  color: #36525f;
  background: #fff;
  box-shadow: 0 12px 30px rgba(8,52,72,.13);
  font-size: .72rem;
  line-height: 1.5;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity .14s ease, transform .14s ease;
}
.pb-journey-help:hover .pb-journey-help-tooltip,
.pb-journey-help:focus-within .pb-journey-help-tooltip {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/* Conclusão de módulos: laranja cria harmonia sem confundir com aula/certificado */
.pb-sidebar-module.is-complete .pb-sidebar-module-icon,
.pb-map-module.is-complete .pb-map-module-icon,
.pb-module-card.is-complete .pb-module-icon {
  color: #a94e08;
  border-color: #f5c68f;
  background: #fff3e4;
  box-shadow: inset 0 0 0 1px rgba(244,132,35,.08);
}
.pb-sidebar-module.is-complete .pb-sidebar-module-title {
  color: var(--pb-ink);
}

@media (max-width: 767.98px) {
  .pb-lesson-view .pb-video-journey {
    padding: 11px 13px 9px;
  }
  .pb-video-journey-heading {
    width: 100%;
    justify-content: space-between;
  }
  .pb-video-journey-value {
    align-self: flex-start;
  }
  .pb-journey-help-tooltip {
    right: 0;
    left: auto;
    width: min(300px, calc(100vw - 34px));
  }
  .pb-video-milestones li > span {
    width: 31px;
    height: 31px;
  }
  .pb-video-milestones::before {
    top: 15px;
  }
  .pb-lesson-view .pb-lesson-content li {
    min-height: 0;
    padding: 10px 12px 10px 31px;
  }
  .pb-lesson-view .pb-lesson-content li::before {
    top: 15px;
    left: 13px;
  }
}

@media (max-width: 460px) {
  .pb-video-journey-heading {
    align-items: flex-start;
  }
  .pb-journey-help-button {
    width: 30px;
    height: 30px;
  }
  .pb-video-milestones li small {
    max-width: 62px;
    line-height: 1.2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pb-journey-help-tooltip {
    transition: none;
  }
}


/* --------------------------------------------------------------------------
   V53 — jornada compacta preservada da V52
   -------------------------------------------------------------------------- */
.pb-lesson-view .pb-video-journey {
  padding: 8px 18px 5px;
  background: linear-gradient(180deg, #ffffff, #fbfdfe);
}
.pb-lesson-view .pb-video-journey-head,
.pb-lesson-view .pb-video-milestones {
  width: 100%;
  max-width: none;
}
.pb-lesson-view .pb-video-journey-head {
  display: flex;
  min-height: 28px;
  align-items: center;
  justify-content: flex-end;
}
.pb-video-journey-value {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  color: var(--pb-blue-800);
  background: #eef8fb;
  font-size: .7rem;
  font-weight: 800;
  white-space: nowrap;
}
.pb-video-journey-heading,
.pb-journey-help { display: none !important; }
.pb-lesson-view .pb-video-milestones { margin: 4px 0 0; padding-bottom: 0; }
.pb-video-milestones::before { top: 15px; height: 2px; }
.pb-video-milestones li { gap: 4px; }
.pb-video-milestones li > span { width: 32px; height: 32px; border-width: 2px; }
.pb-video-milestones li > span svg { width: 13px; height: 13px; }
.pb-video-milestones li small { font-size: .61rem; line-height: 1.15; }
.pb-video-shell .pb-video { border-top: 1px solid #edf3f5; }
@media (max-width: 767.98px) {
  .pb-lesson-view .pb-video-journey { padding: 8px 12px 4px; }
  .pb-video-milestones li > span { width: 30px; height: 30px; }
  .pb-video-milestones li small { max-width: 58px; }
}
