/* Shared repairs for public pages, catalog tables and the admin workspace. */
p, li, dd, td, th, label, small { line-height: var(--line-height-body); }

.course-card, .blog-card, .empty-state, .lesson-card, .aside-sticky,
.service-card, .product-card, .service-project-card, .book-card,
.admin-entry-card, .admin-sidebar, .stat-card, .admin-panel, .panel,
.form-panel, .diagram-card, .form-card, .info-card, .cta-panel,
.course-thumbnail, .blog-featured, .admin-table, .admin-table th,
.admin-table td, .side-link, .dropdown-menu, .dropdown-menu a,
.nav-cta, .btn, .flash, .filter-chip, .hpc-mobile-card,
.hpc-support-note, .hpc-verify-box, .hpc-ticket-message,
.hpc-category-card, .hpc-app-card, .service-detail-image,
.service-detail-placeholder, .product-detail-image, .product-facts,
.product-profile-release, .product-license-box, .product-category-select,
.product-model-fields, .admin-image-preview, .admin-content-thumb,
.admin-table-search input, .form-stack input:not([type=checkbox]):not([type=radio]):not([type=file]),
.form-stack textarea, .form-stack select, .field input, .field textarea,
.field select, .search-form input, .hpc-admin-filter input,
.hpc-admin-filter select, .hpc-admin-form input, .hpc-admin-form select,
.hpc-admin-form textarea, .hpc-verify-box input, .hpc-verify-box select,
.hpc-status-form select, .hero-media-carousel, .hero-image-slide img,
.social-admin-row, .social-admin-links a, .footer-social-links a,
.header-social-links a { border-radius: 0; }

.container, .admin-main, .admin-panel, .form-panel, .admin-table-wrap,
.hpc-admin-editor, .hpc-support-admin-list, .product-detail-layout,
.service-detail-layout, .form-stack { min-width: 0; }
.admin-panel, .form-panel { overflow-wrap: anywhere; }
.admin-panel > h2 { margin: 0; color: #1d3927; }
.admin-app .admin-panel pre {
  overflow: auto;
  padding: 17px;
  border-radius: 7px;
  background: #121b15;
  color: #e3f1e6;
  line-height: 1.6;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.admin-table-wrap, .hpc-table-scroll { max-width: 100%; overflow-x: auto; }
.admin-table { width: 100%; min-width: 760px; table-layout: auto; }
.admin-table th, .admin-table td { vertical-align: top; overflow-wrap: anywhere; }
.admin-table td small { display: block; max-width: 100%; margin-top: 4px; color: var(--muted); }
.admin-table .table-date { display: inline-block; white-space: nowrap; font-variant-numeric: tabular-nums; }
.admin-table td .hpc-row-actions { min-width: 220px; }
.app-type { display: inline-block; max-width: 170px; font-weight: 600; overflow-wrap: anywhere; }
.app-category { max-width: 220px; }
.admin-table-search input, .hpc-admin-filter input, .hpc-admin-filter select,
.hpc-admin-form input, .hpc-admin-form select, .hpc-admin-form textarea,
.form-stack input:not([type=checkbox]):not([type=radio]):not([type=file]),
.form-stack textarea, .form-stack select { max-width: 100%; min-width: 0; }
.hpc-row-actions, .support-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.support-actions > form { margin: 0; }
.hpc-support-ticket.is-unread { border-inline-start: 4px solid #c52d32; }
.side-link .notification-badge { display: inline-grid; flex: 0 0 22px; place-items: center; width: 22px; height: 22px; margin-left: auto; border-radius: 50%; background: #c52d32; color: #fff; font-size: 12px; font-weight: 700; line-height: 1; }
.admin-sidebar { position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow-y: auto; overscroll-behavior: contain; }
.admin-side-brand { flex: 0 0 auto; }
.admin-table-search input:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, button:focus-visible, a:focus-visible { outline-offset: 2px; }
.admin-log-search, .media-mode-form { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-bottom: 18px; }
.admin-log-search label, .media-mode-form label { display: grid; flex: 1 1 240px; gap: 6px; font-weight: 700; }
.admin-log-search input, .media-mode-form select { width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid #d6e1d5; background: #fff; }
.log-record-path { max-width: 320px; overflow-wrap: anywhere; }
.social-admin-list { display: grid; gap: 12px; }
.social-admin-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; border: 1px solid var(--line); padding: 16px; }
.social-admin-row legend { padding: 0 6px; font-weight: 700; }
.social-admin-row label { display: grid; min-width: 0; gap: 5px; }
.social-admin-row input:not([type=checkbox]) { min-width: 0; width: 100%; padding: 9px 10px; border: 1px solid #d6e1d5; }
.social-admin-row .check-label { display: flex; align-items: center; gap: 8px; }
.header-social-links, .footer-social-links { display: flex; align-items: center; gap: 7px; }
.header-social-links a, .footer-social-links a { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid currentColor; font-size: 12px; font-weight: 700; }
.header-social-links svg, .footer-social-links svg { display: block; width: 16px; height: 16px; fill: currentColor; }
.footer-social-links { margin-top: 12px; color: #c6d1c4; }
.topbar-inner { flex-wrap: wrap; gap: 6px 20px; padding-block: 6px; }
.topbar-inner > span { flex: 1 1 240px; min-width: 0; white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
.topbar-inner > a { flex: 0 1 auto; max-width: 100%; overflow-wrap: anywhere; line-height: 1.4; }
.course-purchase-card { align-self: start; }
.course-price { display: block; margin: 14px 0; font-size: 1.35rem; }
.lesson-player { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; background: #111; }
.lesson-player img { width: 100%; height: 100%; object-fit: cover; }
.play-overlay { position: absolute; inset: 50% auto auto 50%; display: grid; width: 42px; height: 42px; place-items: center; transform: translate(-50%,-50%); background: #b5f36d; color: #142012; }
.lesson-card .lesson-player { flex: 0 0 min(38%, 280px); }
.lesson-card .lesson-content { min-width: 0; }
.course-purchase-card form { margin: 12px 0; }
@media (max-width: 700px) { .lesson-card { display: block; } .lesson-card .lesson-player { width: 100%; margin-bottom: 12px; } }
.company-about-content { white-space: pre-line; }
.hero-background-video { object-fit: cover; }
.hero-media-carousel { overflow: hidden; }
.admin-topbar h1 { font-size: clamp(26px, 2.6vw, 32px); }
.hpc-hero h1, .hpc-page-hero h1 { font-size: clamp(30px, 4vw, 42px); line-height: 1.2; }
.hpc-category-card h2 { font-size: 20px; }
.home-video-preview { display: block; width: min(100%, 720px); max-height: 400px; margin: 0 0 18px; background: #111; }
.home-slide-preview { display: block; width: 120px; height: 74px; object-fit: cover; }
.media-row-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.book-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.book-card { display: grid; grid-template-columns: minmax(110px, .38fr) minmax(0, 1fr); min-width: 0; border: 1px solid var(--line); background: #fff; }
.book-cover { display: block; width: 100%; height: 100%; min-height: 220px; max-height: 330px; object-fit: cover; background: #eef3ed; }
.book-cover-placeholder { display: grid; place-items: center; color: #28713c; font-size: 28px; font-weight: 700; }
.book-card-body { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: 16px; }
.book-card-body h2 { margin: 6px 0 8px; font-size: 20px; }
.book-card-body h2 a { overflow-wrap: anywhere; }
.book-card-body > p { margin: 0 0 10px; font-size: 14px; }
.book-course { font-weight: 700; }
.book-meta, .book-categories, .library-browse { display: flex; flex-wrap: wrap; gap: 8px 14px; color: var(--muted); font-size: 13px; }
.book-price { margin: auto 0 12px; padding-top: 10px; }
.book-categories { margin-bottom: 18px; }
.book-categories a, .book-categories span { padding: 8px 10px; border: 1px solid var(--line); }
.book-categories a.active { border-color: var(--green-dark); color: var(--green-dark); }
.book-detail-layout { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 36px; align-items: start; }
.book-detail-cover { display: block; width: 100%; max-height: 580px; object-fit: contain; background: #eef3ed; }
.book-detail-copy { min-width: 0; }
.book-detail-copy h1 { margin: 12px 0; }
.book-description { margin-top: 20px; white-space: pre-line; }
.book-request-box { margin-top: 24px; padding: 20px; border: 1px solid var(--line); background: #fff; }
.book-request-box h2 { margin-bottom: 8px; }
.book-request-status { padding: 10px; background: #f1f7f1; overflow-wrap: anywhere; }
.book-request-box > p:last-child { margin: 12px 0 0; }
.account-library { margin: 0 0 24px; }
.library-heading { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 14px; }
.library-heading h2 { margin: 0; }
.library-browse a { color: var(--green-dark); font-weight: 700; }
.library-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.library-grid section { min-width: 0; padding: 12px; border: 1px solid var(--line); }
.library-grid h3 { font-size: 17px; }
.library-grid p { overflow-wrap: anywhere; }
.library-grid small { color: var(--muted); }
.pdf-request-list { display: grid; gap: 14px; }
.book-library-callout { padding: 20px 0; background: #eaf6eb; }
.book-library-callout .container { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.book-library-callout strong { font-size: 18px; }
.book-library-callout p { margin: 4px 0 0; }

@media (max-width: 950px) {
  .admin-shell { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .admin-sidebar { position: static; max-height: none; min-height: 0; overflow: visible; }
  .admin-sidebar > .side-link { min-height: 42px; }
  .admin-sidebar .side-spacer, .admin-sidebar .admin-side-foot { display: none; }
  .admin-sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-side-brand, .admin-sidebar .side-label, .admin-sidebar form { grid-column: 1 / -1; }
  .admin-sidebar .side-link { min-width: 0; margin: 0; overflow-wrap: anywhere; }
  .nav-utility .header-social-links { width: 100%; padding: 10px 0; }
}
@media (max-width: 600px) {
  main .container, .site-footer .container { width: min(100% - 32px, 1180px); }
  .admin-shell { width: calc(100% - 24px); }
  .admin-sidebar { grid-template-columns: 1fr; }
  .social-admin-row { grid-template-columns: 1fr; }
  .hero h1, .page-hero h1, .article-container h1 { font-size: clamp(28px, 8vw, 36px); }
  .section-pad { padding-block: 56px; }
  .admin-topbar { align-items: flex-start; flex-direction: column; }
  .admin-topbar > .btn { max-width: 100%; }
  .admin-log-search, .media-mode-form { align-items: stretch; flex-direction: column; }
  .book-grid, .book-card, .book-detail-layout, .library-grid { grid-template-columns: 1fr; }
  .book-cover { height: 250px; min-height: 0; }
  .library-heading { align-items: flex-start; flex-direction: column; }
  .book-library-callout .container { align-items: stretch; flex-direction: column; }
}
/* Keep heading scale predictable across public detail pages and all admin screens. */
main h1 { min-width: 0; font-size: clamp(28px, 3vw, 36px); line-height: 1.2; letter-spacing: -.035em; }
main .hero h1 { font-size: clamp(40px, 5vw, 60px); line-height: 1.08; }
main .page-hero h1 { max-width: 900px; font-size: clamp(32px, 4.1vw, 50px); line-height: 1.14; }
main .page-hero.compact h1 { font-size: clamp(30px, 3.8vw, 44px); }
main .hpc-hero h1, main .hpc-page-hero h1 { max-width: 900px; font-size: clamp(31px, 4vw, 46px); line-height: 1.15; letter-spacing: -.035em; }
main .article-container h1, main .book-detail-copy h1 { font-size: clamp(29px, 3.2vw, 40px); line-height: 1.2; }
main h2 { min-width: 0; font-size: clamp(22px, 2.35vw, 28px); line-height: 1.25; letter-spacing: -.03em; }
main .section-head h2, main .demo-heading h2, main .intro-layout h2,
main .manifesto h2, main .closing-inner h2, main .labs-intro h2,
main .section-heading h2, main .two-column h2, main .cta-panel h2,
main .form-card h2, main .diagram-card h2 {
  max-width: 760px; font-size: clamp(27px, 3.15vw, 38px); line-height: 1.18;
}
main h3 { min-width: 0; font-size: clamp(18px, 1.6vw, 22px); line-height: 1.3; letter-spacing: -.02em; }
.admin-app h1, .admin-app .admin-topbar h1 { font-size: clamp(26px, 2.3vw, 32px); line-height: 1.2; }
.admin-app h2 { font-size: clamp(21px, 2vw, 26px); line-height: 1.25; }
.admin-app h3 { font-size: clamp(17px, 1.45vw, 20px); line-height: 1.35; }
.site-header, .site-header :is(a,button,span,small,strong) { font-family: var(--font-family-base); }
main :is(.card-grid,.home-capabilities,.six-cards,.book-grid,.hpc-card-grid,.labs-card-grid) > * { min-width: 0; overflow-wrap: anywhere; }
main :is(.course-card,.blog-card,.service-card,.product-card,.service-project-card,.info-card,.hpc-app-card,.hpc-category-card,.labs-card,.book-card) {
  min-width: 0; margin: 0; overflow-wrap: anywhere; border-radius: 0;
}
main :is(.course-card,.blog-card,.service-card,.product-card,.service-project-card,.info-card,.hpc-app-card,.hpc-category-card,.labs-card,.book-card) :is(h2,h3,p,a,span) {
  min-width: 0; overflow-wrap: anywhere;
}
main :is(.admin-panel,.form-panel,.diagram-card,.form-card,.info-card,.course-card,.blog-card,.service-card,.product-card,.service-project-card,.hpc-app-card,.hpc-category-card,.hpc-mobile-card,.hpc-empty,.hpc-callout,.hpc-support-cta,.hpc-support-note,.hpc-command-card,.hpc-meta-grid > div,.hpc-filter-bar,.hpc-toc,.labs-card,.book-card) { border-radius: 0; }
@media (max-width: 700px) {
  main .hero h1 { font-size: clamp(34px, 9vw, 46px); }
  main .page-hero h1 { font-size: clamp(29px, 8vw, 38px); }
  main .page-hero.compact h1 { font-size: clamp(28px, 7vw, 35px); }
  main .hpc-hero h1, main .hpc-page-hero h1 { font-size: clamp(28px, 7vw, 36px); }
  main .article-container h1, main .book-detail-copy h1 { font-size: clamp(27px, 7vw, 34px); }
  main .section-head h2, main .demo-heading h2, main .intro-layout h2,
  main .manifesto h2, main .closing-inner h2, main .labs-intro h2,
  main .section-heading h2, main .two-column h2, main .cta-panel h2,
  main .form-card h2, main .diagram-card h2 { font-size: clamp(24px, 6vw, 31px); }
}
.remote-support-admin .admin-topbar { align-items: flex-start; flex-wrap: wrap; gap: 14px; }
.remote-support-admin .admin-topbar > div { min-width: 0; flex: 1 1 360px; }
.remote-support-admin .admin-topbar > form { margin: 0; }
.remote-support-admin .admin-panel { min-width: 0; padding: clamp(16px,2.5vw,26px); border-radius: 0; }
.remote-admin-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.remote-admin-section-head h2 { margin: 0 0 5px; }
.remote-admin-section-head p { margin: 0; }
.remote-admin-package-grid { display: grid; gap: 12px; }
.remote-admin-package { min-width: 0; border: 1px solid var(--line); background: #fff; }
.remote-admin-package > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; cursor: pointer; list-style-position: inside; overflow-wrap: anywhere; }
.remote-admin-package > summary > span:first-child { display: grid; gap: 4px; min-width: 0; }
.remote-admin-package > summary small { color: var(--muted); }
.remote-active-chip { flex: 0 0 auto; padding: 4px 8px; border: 1px solid #d7e0d5; color: #697469; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.remote-active-chip.is-active { border-color: #acd9b1; background: #eef8ef; color: #176f31; }
.remote-admin-form,.remote-request-update { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; min-width: 0; padding: 16px; border-top: 1px solid var(--line); }
.remote-admin-form label,.remote-request-update label { display: grid; gap: 5px; min-width: 0; font-size: 13px; font-weight: 700; }
.remote-admin-form input,.remote-admin-form select,.remote-admin-form textarea,.remote-request-update select,.remote-request-update textarea { width: 100%; min-width: 0; max-width: 100%; padding: 9px 10px; border: 1px solid #d6e1d5; border-radius: 0; background: #fff; color: var(--ink); }
.remote-admin-wide { grid-column: 1 / -1; }
.remote-admin-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.remote-admin-actions .btn { min-width: 130px; }
.remote-delete-form { padding: 0 16px 14px; }
.remote-request-count { flex: 0 0 auto; padding: 6px 10px; background: #f0f5ef; font-size: 12px; font-weight: 700; }
.remote-request-list { display: grid; gap: 12px; }
.remote-request-card { min-width: 0; padding: 16px; border: 1px solid var(--line); background: #fff; overflow-wrap: anywhere; }
.remote-request-card.is-unread { border-inline-start: 4px solid #c52d32; }
.remote-request-head { display: flex; justify-content: space-between; gap: 12px; }
.remote-request-head > div { min-width: 0; }
.remote-request-head h3 { margin: 5px 0; }
.remote-request-head p { margin: 0; overflow-wrap: anywhere; }
.remote-request-head p a { color: var(--green-dark); }
.remote-request-head time { flex: 0 0 auto; color: var(--muted); font-size: 12px; }
.remote-request-ref { display: flex; align-items: center; gap: 8px; color: #556354; font-size: 12px; font-weight: 700; }
.remote-request-ref b { padding: 2px 6px; background: #c52d32; color: #fff; font-size: 10px; }
.remote-request-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 14px 0; }
.remote-request-facts > div { min-width: 0; padding: 10px; background: #f7faf6; }
.remote-request-facts dt { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.remote-request-facts dd { margin: 4px 0 0; font-size: 13px; overflow-wrap: anywhere; }
.remote-request-issue { margin: 10px 0; padding: 10px; border: 1px solid var(--line); }
.remote-request-issue summary { cursor: pointer; font-weight: 700; }
.remote-request-issue pre { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.remote-request-update { grid-template-columns: minmax(180px,.4fr) minmax(0,1fr) auto; align-items: end; padding: 14px 0 0; }
.remote-request-update .remote-admin-wide { grid-column: auto; }
.remote-request-update > button { min-height: 40px; }
.remote-support-admin :is(.remote-admin-package,.remote-request-card,.remote-request-facts > div,.remote-request-issue) { border-radius: 0; }
@media (max-width: 760px) {
  .remote-admin-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .remote-request-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .remote-request-update { grid-template-columns: minmax(0,1fr); }
  .remote-request-update .remote-admin-wide { grid-column: auto; }
  .remote-request-update .btn { width: 100%; }
}
@media (max-width: 520px) {
  .remote-admin-form,.remote-request-facts { grid-template-columns: minmax(0,1fr); }
  .remote-admin-wide { grid-column: auto; }
  .remote-request-head { flex-direction: column; }
}
