/* CertsLab presentation layer. Product calculations and account behavior stay in app.js. */
:root {
  --font-body:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-heading:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bg:#f4f6f8;
  --bg-accent:#eef1f5;
  --surface:#fff;
  --surface-strong:#fff;
  --surface-warm:#fbf7ed;
  --surface-cool:#f6f8fa;
  --surface-dark:#1e2030;
  --text:#202638;
  --muted:#526074;
  --line:#dce2e9;
  --shadow:0 4px 18px rgba(30,32,48,.025);
  --green:#176447;
  --red:#a53232;
  --amber:#8a5815;
}
html {
  background:var(--bg);
}
body {
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:16px;
  line-height:1.6;
}
body::before {
  display:none;
}
button,input,select,textarea {
  font-family:inherit;
}
a {
  text-underline-offset:4px;
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:3px solid #967024;
  outline-offset:3px;
}
.page-shell {
  width:min(1450px,calc(100% - 48px));
  padding-top:22px;
}
.card {
  border-radius:12px;
  backdrop-filter:none;
  background:#fff;
  box-shadow:var(--shadow);
}
.topbar.card {
  background:#1e2030;
  border-color:#30354a;
  padding:20px 28px;
  margin-bottom:18px;
  border-radius:12px;
}
.topbar::after {
  display:none;
}
.brand-lockup {
  display:inline-flex;
  max-width:100%;
}
.certslab-logo {
  display:block;
  width:230px;
  height:auto;
  max-width:100%;
}
.brand-lockup:focus-visible {
  outline:3px solid var(--gold);
}
.topbar-brand {
  min-width:0;
}
.topbar-brand-subtitle {
  display:none;
}
.auth-status-meta,.auth-status-copy span,.topbar-signin {
  color:#d9deea;
}
.app-layout {
  display:block;
}
.side-menu.card {
  position:static;
  background:white;
  border:1px solid var(--line);
  margin-bottom:26px;
  padding:6px 12px;
  border-radius:10px;
}
.side-menu-nav {
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  gap:4px;
}
.side-nav-link {
  width:auto;
  flex:0 1 auto;
  padding:11px 16px;
  border-radius:7px;
  color:var(--muted);
  font-size:14px;
  background:transparent;
  border-color:transparent;
}
.side-nav-link strong {
  font:600 14px/1.5 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing:normal;
}
.side-nav-link:hover,.side-nav-link.is-active {
  background:#f7f0df;
  color:#5e481a;
  border-color:#e8d9b8;
}
.view-stack {
  gap:24px;
  min-width:0;
}
.collection-page,.manage-panel,.search-panel {
  padding:26px;
}
.section-heading {
  margin-bottom:24px;
}
.section-heading h2,.info-page h2 {
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight:400;
  font-size:32px;
  letter-spacing:-.02em;
  line-height:1.25;
  color:var(--text);
}
.section-heading h3 {
  font-family:inherit;
}
.section-kicker,.panel-label,.panel-title,.metric-label {
  font:500 13px/1.5 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing:normal;
  text-transform:none;
  color:var(--muted);
}
.sidebar-text,.manage-status,.manage-empty {
  color:var(--muted);
  font-size:15px;
  line-height:1.6;
}
.search-workspace {
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  gap:26px;
  align-items:start;
}
.search-controls {
  min-width:0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fafbfc;
}
.search-results {
  min-width:0;
}
.search-query-form {
  margin-bottom:18px;
}
.search-query-field {
  width:100%;
}
.search-filter-summary {
  flex-direction:column;
  margin-bottom:16px;
  gap:12px;
}
.search-filter-summary-actions {
  width:100%;
  justify-content:space-between;
  gap:6px;
}
.search-active-filters {
  min-height:0;
}
.search-active-filter-empty {
  font-size:13px;
}
.search-active-filter-chip {
  font-size:12px;
}
.search-filter-panel {
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  gap:18px;
}
.search-filter-group {
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  background:transparent;
  padding:16px 0 0;
}
.search-filter-group h3 {
  font:650 14px/1.5 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing:normal;
  text-transform:none;
  color:var(--text);
  margin-bottom:12px;
}
.search-filter-grid,.search-risk-basics,.search-position-filters,.search-position-controls {
  grid-template-columns:minmax(0,1fr);
  gap:12px;
}
.search-position-filters {
  margin-top:16px;
}
.search-position-filter {
  padding:12px;
  background:white;
  border-radius:7px;
}
.search-position-filter legend {
  font-size:13px;
}
.search-position-hint {
  font-size:12px;
}
.search-toggle-action,.search-reset-action {
  font-size:12px;
  padding:7px 9px;
}
.manage-input,.pagination-select {
  min-height:43px;
  border-color:#bdc8d5;
  background:white;
  border-radius:6px;
  color:var(--text);
  font-size:14px;
}
.manage-input:disabled {
  color:#697586;
}
.manage-field {
  gap:6px;
  min-width:0;
}
.collection-toolbar,
.search-filter-panel.collection-filter-toolbar {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,240px));
  justify-content:start;
  align-items:end;
  width:100%;
  margin:0 0 20px;
  padding:14px;
  gap:14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-cool);
}
.collection-toolbar-field {
  min-width:150px;
}
.collection-toolbar-field .panel-label {
  font-size:12px;
}
.certificate-stack {
  gap:26px;
}
.certificate-shell {
  padding:0;
  border:1px solid #b8c4d1;
  border-top:3px solid #424e63;
  border-radius:12px;
  overflow:hidden;
  background:white;
  box-shadow:0 5px 16px rgba(30,32,48,.08);
}
.certificate-shell.is-expanded {
  border-color:#9cabbc;
  border-top-color:#c8a84b;
  box-shadow:0 7px 20px rgba(30,32,48,.10);
}
.certificate-shell-toggle {
  cursor:default;
}
.cert-card-header {
  background:white;
  padding:23px 24px 14px;
  grid-template-columns:minmax(0,1fr) minmax(130px,auto);
  gap:20px;
}
.certificate-shell-heading {
  gap:9px;
}
.issuer-row {
  gap:7px;
}
.issuer-pill-on-dark {
  background:#1e2030;
  color:#fff;
  border:1px solid #1e2030;
  font-size:12px;
  padding:4px 9px;
}
.direction-badge-on-dark {
  background:#f3f5f8;
  color:#435066;
  border:1px solid #d5dde6;
  font-size:12px;
}
.state-badge {
  font-size:12px;
}
.cert-card-type {
  display:none;
}
.certificate-shell-title-row {
  order:2;
  gap:12px;
}
.certificate-shell-subtitle-on-dark {
  font:650 21px/1.4 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  letter-spacing:-.025em;
}
.certificate-shell-meta {
  color:var(--muted);
  font:13px/1.5 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  order:3;
}
.certificate-isin-chip {
  color:var(--muted);
  min-height:30px;
  flex-wrap:wrap;
}
.certificate-isin-chip strong {
  font:500 13px/1.5 ui-monospace,SFMono-Regular,monospace;
  letter-spacing:.03em;
}
.certificate-isin-chip span {
  font:500 11px/1.5 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing:normal;
  text-transform:none;
  color:#795b1c;
}
.certificate-page-link {
  font-size:12px;
  color:#255a8a;
  text-decoration:none;
  border-bottom:1px solid #a7bed2;
}
.certificate-page-link:hover {
  text-decoration:underline;
}
.cert-card-rating {
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  text-align:right;
  min-width:130px;
  gap:4px;
  max-width:230px;
}
.cert-card-rating-label {
  font:500 12px/1.4 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing:normal;
  text-transform:none;
  color:var(--muted);
}
.cert-card-rating-val {
  font:700 31px/1.2 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing:-.04em;
  color:var(--text);
}
.cert-card-rating-lbl,.cert-card-rating-note {
  font:400 13px/1.5 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--muted);
}
.cert-card-rating-note {
  font-size:12px;
  color:#74591b;
}
.cert-card-rating.is-muted {
  background:transparent;
  border:0;
}
.cert-card-rating.is-muted .cert-card-rating-val {
  color:var(--muted);
}
.cert-card-rating.is-muted .cert-card-rating-lbl,.cert-card-rating.is-muted .cert-card-rating-note {
  color:var(--muted);
}
.cert-card-body {
  padding:8px 24px 22px;
}
.certificate-shell-metrics {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.certificate-shell-metric {
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  min-width:0;
}
.certificate-shell-metric strong {
  font:650 19px/1.4 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing:-.025em;
  font-variant-numeric:tabular-nums;
  margin-top:6px;
}
.cert-kpi-label {
  font-size:12px;
}
.cert-kpi-sub {
  display:block;
  font-size:12px;
  color:var(--muted);
  line-height:1.5;
  margin-top:4px;
}
.certificate-shell-actions {
  background:#fafbfc;
  padding:12px 24px;
  border-top:1px solid var(--line);
}
.certificate-shell-update {
  font:400 12px/1.5 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing:normal;
  text-transform:none;
}
.manage-certificate-actions {
  gap:10px;
  flex-wrap:wrap;
}
.card-chevron-button {
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:auto;
  min-width:44px;
  min-height:40px;
  padding:8px 12px;
  border:1px solid #c4ced9;
  background:white;
  border-radius:6px;
  color:var(--text);
}
.card-chevron-label {
  font-size:13px;
  font-weight:550;
}
.card-chevron-icon {
  width:16px;
  height:16px;
}
.certificate-detail-panel {
  padding:24px;
  border-top:1px solid var(--line);
  background:#fff;
}
.certificate-detail-nav {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:24px;
}
.certificate-detail-nav a {
  color:#255a8a;
  font-size:13px;
  text-decoration:none;
}
.certificate-detail-nav a:hover {
  text-decoration:underline;
}
.certificate-detail-panel section {
  scroll-margin-top:24px;
}
.metrics-grid {
  gap:12px;
  margin-bottom:26px;
}
.metric-card {
  background:#f8fafb;
  border:1px solid var(--line);
  border-radius:8px;
  padding:16px;
  box-shadow:none;
}
.metric-card strong {
  font:650 22px/1.3 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-variant-numeric:tabular-nums;
}
.metric-card>span {
  font:400 13px/1.5 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--muted);
}
.underlyings-section {
  margin-top:0;
}
.underlyings-section .section-heading h2 {
  font-size:26px;
}
.underlyings-table-wrap {
  overflow-x:auto;
  overscroll-behavior-x:contain;
  border:1px solid var(--line);
  border-radius:8px;
}
.underlyings-table {
  font-size:14px;
  min-width:820px;
}
.underlyings-table th {
  font:550 12px/1.5 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--muted);
  background:#f8fafb;
  text-transform:none;
  letter-spacing:normal;
}
.underlyings-table td {
  font-size:14px;
  font-variant-numeric:tabular-nums;
  vertical-align:top;
  padding:16px 12px;
}
.underlying-name strong,.market-cell strong {
  font:600 14px/1.4 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.underlying-meta,.underlying-meta span,.market-cell span {
  font:400 12px/1.5 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.underlying-annotation-trigger {
  font-size:12px;
}
.underlyings-table td:nth-child(n) strong {
  font-family:inherit;
}
.cert-calendar-buttons {
  gap:14px;
  margin:20px 0 26px;
}
.cert-calendar-btn {
  background:#fafbfc;
  border:1px solid #ccd5e0;
  border-radius:8px;
  min-height:62px;
}
.cert-calendar-btn-label {
  font-size:15px;
  color:var(--text);
}
.cert-calendar-btn-sub {
  font-size:12px;
  color:var(--muted);
}
.detail-grid {
  gap:20px;
}
.detail-panel {
  padding:20px;
  border:1px solid var(--line);
  border-radius:8px;
  background:white;
}
.panel-title {
  font-size:16px;
  font-weight:650;
  color:var(--text);
  margin-bottom:14px;
}
.detail-list {
  gap:0;
}
.detail-list>div {
  padding:11px 0;
  border-bottom:1px solid var(--line);
}
.detail-list dt {
  font:400 13px/1.5 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing:normal;
  text-transform:none;
  color:var(--muted);
}
.detail-list dd {
  font:550 14px/1.5 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-variant-numeric:tabular-nums;
}
.source-link {
  background:#f8fafb;
  border:1px solid var(--line);
  border-radius:7px;
}
.source-link strong {
  font:600 14px/1.5 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.source-link-meta {
  font-size:13px;
  color:var(--muted);
}
.annotations-section,.notes-panel {
  font-size:14px;
}
.annotations-empty,.notes-storage-copy {
  color:var(--muted);
  font-size:14px;
}
.modal-panel {
  background:white;
  box-shadow:0 16px 64px #161b3040;
  border-radius:14px;
}
.modal-title {
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.calendar-list-item-date {
  font-size:16px;
  color:var(--text);
}
.calendar-list-item-sub {
  font-size:13px;
  color:var(--muted);
}
.site-footer {
  margin-top:40px;
  background:#1e2030;
  border-radius:12px;
}
.site-footer p,.site-footer-company,.site-footer-disclaimer-copy {
  color:#c9d0df;
  font-size:14px;
  line-height:1.75;
}
.site-footer-tagline {
  max-width:410px;
}
.site-footer-col-title {
  color:#dfc888;
}
.site-footer-link {
  color:#e0e5ef;
}
.site-footer-link strong {
  color:white;
}
.site-footer-disclaimer-copy strong {
  color:white;
}
.site-footer-copy {
  color:#dce2ee;
}
.info-page,.faq-list {
  font-size:16px;
  line-height:1.75;
}
.faq-item p,.info-page p {
  color:#435066;
}
.faq-question {
  font-size:17px;
}
.legal-block-body {
  font-size:15px;
  line-height:1.8;
}
.legal-block-subtitle,.legal-block-body p {
  color:var(--muted);
}
@media(min-width:1101px) {
  .search-controls {
    position:sticky;
    top:18px;
    max-height:calc(100vh - 36px);
    overflow-y:auto;
    scrollbar-width:thin;
  }
  .search-controls:has(.is-collapsed) {
    position:static;
  }
}
@media(max-width:1200px) {
  .search-workspace {
    grid-template-columns:240px minmax(0,1fr);
    gap:20px;
  }
  .certificate-shell-metrics {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .cert-card-header {
    gap:14px;
  }
  .cert-card-rating {
    min-width:110px;
  }
  .cert-card-rating-val {
    font-size:28px;
  }
}
@media(max-width:950px) {
  .search-workspace {
    grid-template-columns:minmax(0,1fr);
  }
  .search-controls {
    padding:16px;
  }
  .search-filter-panel {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
  }
  .search-filter-summary {
    flex-direction:row;
  }
  .search-filter-summary-actions {
    width:auto;
  }
  .search-query-field {
    max-width:none;
  }
  .search-results {
    width:100%;
  }
  .search-filter-group {
    align-self:start;
  }
  .certslab-logo {
    width:210px;
  }
}
@media(max-width:768px) {
  .page-shell {
    width:calc(100% - 24px);
    padding-top:12px;
  }
  .topbar.card {
    padding:14px 16px!important;
    gap:12px;
    border-radius:10px;
  }
  .certslab-logo {
    width:175px;
  }
  .topbar-brand {
    flex:1;
  }
  .topbar-actions {
    max-width:55%;
  }
  .side-menu.card {
    background:#1e2030;
    margin:0;
    border-radius:0;
  }
  .side-menu-nav {
    gap:0;
    flex-wrap:nowrap;
  }
  .side-nav-link {
    color:#cfd6e4;
    flex:1;
    padding:7px 3px!important;
    min-width:0;
  }
  .side-nav-link strong {
    font-size:10px;
  }
  .side-nav-link.is-active {
    background:transparent;
    color:#e8cc80;
    border-color:transparent;
  }
  .manage-panel,.collection-page {
    padding:18px 14px;
  }
  .section-heading h2 {
    font-size:28px;
  }
  .search-filter-panel {
    grid-template-columns:1fr;
  }
  .search-filter-summary {
    flex-direction:column;
  }
  .search-filter-summary-actions {
    width:100%;
  }
  .collection-toolbar {
    flex-direction:row;
    flex-wrap:wrap;
    align-items:end;
  }
  .collection-toolbar-field {
    width:auto;
    flex:1;
    min-width:125px;
  }
  .certificate-shell.card {
    padding:0;
    border-radius:10px;
    overflow:visible;
  }
  .cert-card-header {
    grid-template-columns:minmax(0,1fr) auto;
    padding:18px 16px 12px;
    gap:12px;
    border-radius:10px 10px 0 0;
  }
  .certificate-shell-subtitle-on-dark {
    font-size:18px;
    line-height:1.4;
  }
  .certificate-shell-heading {
    overflow:visible;
  }
  .cert-card-rating {
    width:auto;
    max-width:150px;
    min-width:100px;
    padding:0;
    gap:4px;
  }
  .cert-card-rating-label {
    font-size:11px;
  }
  .cert-card-rating-val {
    font-size:27px;
  }
  .cert-card-rating-lbl,.cert-card-rating-note {
    font-size:12px;
  }
  .certificate-shell-meta {
    font-size:12px;
  }
  .certificate-isin-chip strong {
    font-size:12px;
  }
  .cert-card-body {
    padding:8px 16px 18px;
  }
  .certificate-shell-metrics {
    gap:16px;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .certificate-shell-metric strong {
    font-size:18px;
  }
  .certificate-shell-actions {
    padding:12px 16px;
    flex-wrap:wrap;
    gap:10px;
    border-radius:0 0 10px 10px;
  }
  .certificate-shell-update {
    font-size:11px;
    width:100%;
  }
  .manage-certificate-actions {
    width:100%;
    justify-content:flex-end;
  }
  .certificate-detail-panel {
    padding:20px 14px;
    border-radius:0 0 10px 10px;
  }
  .certificate-detail-nav {
    gap:12px;
  }
  .underlyings-table th:nth-child(n+5),.underlyings-table td:nth-child(n+5) {
    display:table-cell;
  }
  .underlyings-table {
    min-width:820px;
  }
  .underlyings-table-wrap::after {
    display:none;
  }
  .underlyings-section>.section-heading::after {
    content:none;
  }
  .detail-list {
    grid-template-columns:1fr;
  }
  .detail-panel {
    padding:16px;
  }
  .site-footer .certslab-logo {
    width:210px;
  }
  .site-footer {
    padding:24px 20px;
  }
  .site-footer p,.site-footer-disclaimer-copy {
    font-size:13px;
  }
}
@media(max-width:420px) {
  .cert-card-header {
    grid-template-columns:minmax(0,1fr);
  }
  .cert-card-rating {
    max-width:none;
    text-align:left;
    grid-template-columns:auto 1fr;
    align-items:baseline;
    column-gap:12px;
    padding-top:8px;
    border-top:1px solid var(--line);
  }
  .cert-card-rating-label {
    grid-column:1/-1;
  }
  .cert-card-rating-note {
    grid-column:1/-1;
  }
  .certslab-logo {
    width:150px;
  }
  .certificate-shell-subtitle-on-dark {
    font-size:18px;
  }
  .topbar-actions {
    max-width:50%;
  }
  .auth-status-copy strong {
    max-width:120px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}
/* Standalone public ISIN pages: complete HTML, without account bootstrap or catalog download. */
.public-certificate-page .page-shell {
  max-width:1200px;
}
.public-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:#1e2030;
  padding:22px 28px;
  border-radius:12px;
}
.public-header>a:last-child {
  font-size:14px;
  color:#f0dfb6;
}
.public-breadcrumbs {
  font-size:14px;
  color:var(--muted);
  margin:30px 0 24px;
}
.public-badges {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.public-badges span {
  background:white;
  border:1px solid #cdd5df;
  border-radius:6px;
  padding:4px 10px;
  font-size:13px;
  color:#414e61;
}
.public-certificate-page h1 {
  font:400 clamp(30px,4vw,44px)/1.2 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing:-.025em;
  margin:20px 0 12px;
}
.public-product-name {
  font-size:17px;
  color:var(--muted);
  margin:0 0 10px;
}
.public-underlyings {
  font-size:17px;
  margin:0 0 26px;
}
.public-metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin:26px 0;
}
.public-metric {
  padding:22px;
  background:white;
  border:1px solid var(--line);
  border-radius:10px;
}
.public-metric span,.public-metric small {
  display:block;
  font-size:13px;
  color:var(--muted);
}
.public-metric strong {
  display:block;
  font-size:26px;
  line-height:1.25;
  margin:10px 0 8px;
  font-weight:650;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.03em;
}
.public-callout {
  border-left:3px solid var(--gold);
  background:#fcf4e3;
  padding:16px 20px;
  margin:0 0 24px;
  color:#5e491c;
  font-size:15px;
}
.public-columns {
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:24px;
}
.public-panel {
  padding:26px;
  border:1px solid var(--line);
  border-radius:10px;
  background:white;
  margin-bottom:24px;
}
.public-panel h2 {
  font:400 26px/1.3 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin:0 0 20px;
}
.public-table-scroll {
  overflow-x:auto;
}
.public-table-scroll table {
  border-collapse:collapse;
  width:100%;
  font-size:14px;
}
.public-table-scroll th {
  text-align:left;
  color:var(--muted);
  font-size:12px;
  font-weight:550;
}
.public-table-scroll td,.public-table-scroll th {
  padding:13px 10px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
  font-variant-numeric:tabular-nums;
}
.public-table-scroll small {
  display:block;
  font-size:12px;
  color:var(--muted);
  white-space:nowrap;
}
.public-facts {
  margin:0;
}
.public-facts>div {
  padding:11px 0;
  border-bottom:1px solid var(--line);
}
.public-facts dt {
  font-size:13px;
  color:var(--muted);
}
.public-facts dd {
  margin:4px 0 0;
  font-size:15px;
  font-weight:550;
  overflow-wrap:anywhere;
}
.public-document {
  display:block;
  font-size:15px;
  margin:14px 0;
}
.public-muted {
  font-size:13px;
  color:var(--muted);
  margin:18px 0;
}
.public-cta {
  display:inline-block;
  padding:10px 16px;
  background:#1e2030;
  color:white;
  border-radius:6px;
  text-decoration:none;
  font-size:14px;
}
.public-schedule {
  padding:16px 0;
  border-top:1px solid var(--line);
}
.public-schedule summary {
  cursor:pointer;
  font-size:15px;
  font-weight:600;
}
.public-schedule table {
  margin-top:14px;
}
.public-footer {
  padding:28px;
  background:#1e2030;
  border-radius:10px;
  color:#cfd6e4;
  margin:24px 0;
}
.public-footer p {
  font-size:14px;
  line-height:1.8;
}
.public-footer strong {
  color:white;
}
.public-footer img {
  width:210px;
  margin-bottom:18px;
}
@media(max-width:950px) {
  .public-columns {
    grid-template-columns:1fr;
  }
  .public-metrics {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .public-columns>aside {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
  }
}
@media(max-width:600px) {
  .public-header {
    padding:18px;
    flex-wrap:wrap;
    gap:14px;
  }
  .public-header>a:last-child {
    font-size:13px;
  }
  .public-panel {
    padding:20px;
  }
  .public-columns>aside {
    display:block;
  }
  .public-metrics {
    gap:10px;
  }
  .public-metric {
    padding:16px;
  }
  .public-metric strong {
    font-size:23px;
  }
  .public-table-scroll table {
    min-width:570px;
  }
  .public-footer {
    padding:22px;
  }
  .public-certificate-page h1 {
    font-size:30px;
  }
}
/* Allow grid children to shrink while keeping wide basket tables scrollable. */
.certificate-stack,.certificate-shell,.certificate-detail-panel,.certificate-detail-panel>* {
  min-width:0;
}
.certificate-shell {
  width:100%;
}
.underlyings-section,.underlyings-table-wrap,.detail-grid {
  min-width:0;
  max-width:100%;
}
.cert-kpi-sub {
  font-family:inherit;
  text-transform:none;
  letter-spacing:normal;
}
.certificate-shell-meta:empty {
  display:none;
}
/* Standalone pages do not load the application base stylesheet. */
.public-certificate-page {
  margin:0;
  min-height:100vh;
}
.public-certificate-page *,.public-certificate-page *::before,.public-certificate-page *::after {
  box-sizing:border-box;
}
.public-footer a {
  color:#e0d0aa;
}
.search-query-field {
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.search-query-input {
  letter-spacing:normal;
  text-transform:none;
  font-size:14px;
  min-height:44px;
}
.topbar-actions {
  width:auto;
  flex:0 0 auto;
  justify-content:flex-end;
}
.topbar-signin {
  color:#1e2030;
  background:#d2b361;
  font-family:inherit;
  font-weight:650;
}
.side-nav-link.is-active {
  box-shadow:none;
}
@media(min-width:601px) and (max-width:768px) {
  .side-menu.card {
    background:white;
    margin-bottom:22px;
    border-radius:10px;
  }
  .side-nav-link {
    color:var(--muted);
  }
  .side-nav-link.is-active {
    color:#654b17;
    background:#f7f0df;
  }
}

/* Keep the same control grouping in every certificate collection. */
@media(max-width:768px) {
  .collection-toolbar,
  .search-filter-panel.collection-filter-toolbar {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    justify-content:start;
    gap:12px !important;
  }
  .collection-toolbar-field {
    min-width:0;
    width:100%;
  }
}
@media(max-width:420px) {
  .collection-toolbar,
  .search-filter-panel.collection-filter-toolbar {
    grid-template-columns:minmax(0,1fr);
  }
}
/* ISIN and product link share a baseline and equal touch-target height. */
.certificate-shell-title-row { align-items:baseline; gap:12px; }
.certificate-isin-chip { align-items:baseline; min-height:32px; padding:4px 0; line-height:24px; }
.certificate-isin-chip strong,.certificate-isin-chip span { line-height:24px; }
.certificate-page-link { display:inline-flex; align-items:baseline; min-height:32px; padding:4px 0; line-height:24px; border:0; text-decoration:underline; text-underline-offset:4px; }
[data-user-notes-message] { font-size:13px; line-height:1.55; color:var(--muted); }
/* Numeric levels have a consistent hierarchy; row bands help track across the basket. */
.underlyings-table th { padding:14px 12px; font-size:12px; font-weight:650; background:#eef2f6; border-bottom:2px solid #cbd5e0; }
.underlyings-table tbody tr:nth-child(even) { background:#f7f9fb; }
.underlyings-table tbody tr:hover { background:#f0f4f8; }
.underlyings-table td { padding:18px 14px; line-height:1.6; border-right:1px solid #edf0f4; }
.underlyings-table td:last-child { border-right:0; }
.underlyings-table .underlying-name strong { font-size:15px; line-height:1.5; }
.underlyings-table .market-cell strong,.underlyings-table .table-value strong,.underlyings-table .table-value-button strong { font-size:15px; line-height:1.5; font-weight:650; white-space:nowrap; }
.underlyings-table .market-cell span,.underlyings-table .table-value-meta,.underlyings-table .table-value-sub { font-family:inherit; font-size:12px; line-height:1.6; margin-top:5px; letter-spacing:normal; text-transform:none; }
.certificate-calendars { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:24px; align-items:start; min-width:0; }
.certificate-calendar-panel { min-width:0; padding:18px; border:1px solid #cbd5e0; border-radius:10px; background:#fafbfc; }
.certificate-calendar-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:14px; }
.certificate-calendar-heading h3 { margin:0; font-size:17px; line-height:1.4; font-weight:650; }
.certificate-calendar-heading>span { font-size:12px; color:var(--muted); }
.certificate-calendar-scroll { overflow-x:auto; min-width:0; border:1px solid var(--line); border-radius:7px; background:white; }
.certificate-calendar-table { width:100%; border-collapse:collapse; font-size:13px; }
.certificate-calendar-table th { padding:10px 9px; text-align:left; font-size:11px; line-height:1.4; color:var(--muted); background:#eef2f6; font-weight:650; }
.certificate-calendar-table td { padding:12px 9px; vertical-align:top; border-top:1px solid var(--line); font-variant-numeric:tabular-nums; line-height:1.5; }
.certificate-calendar-table tr:nth-child(even) { background:#f7f9fb; }
.certificate-calendar-table small { display:block; margin-top:4px; color:var(--muted); font-size:11px; }
.certificate-calendar-table tr[hidden] { display:none; }
.calendar-date-link { padding:0; min-height:0; border:0; background:transparent; color:#255a8a; text-align:left; font:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.certificate-calendar-note,.certificate-calendar-empty { color:var(--muted); font-size:12px; line-height:1.6; margin:12px 0 0; }
.calendar-expand-button { display:block; margin-top:14px; padding:8px 12px; background:white; border:1px solid #bdc9d6; border-radius:6px; color:#255a8a; font-size:13px; cursor:pointer; }
@media(max-width:850px) { .certificate-calendars { grid-template-columns:minmax(0,1fr); } }
@media(max-width:768px) { .certificate-isin-chip,.certificate-page-link { min-height:44px; padding:10px 0; } .certificate-calendar-panel { padding:15px; } .calendar-date-link { min-height:32px; } }
/* Independent calendar projections use current market data without changing stored quotes. */
.certificate-calendar-panel { overflow-anchor:none; }
.calendar-dividend-controls { padding:12px; margin:0 0 14px; border:1px solid #d5dfeb; border-radius:7px; background:#eef3f8; }
.calendar-dividend-controls label { display:flex; align-items:flex-start; gap:9px; font-size:13px; line-height:1.5; cursor:pointer; }
.calendar-dividend-controls input { width:17px; height:17px; min-height:0; margin:2px 0 0; padding:0; flex-shrink:0; accent-color:#405674; }
.calendar-dividend-controls p,.calendar-adjusted-note { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.certificate-calendar-table { min-width:520px; }
.calendar-projection { min-width:150px; max-width:230px; }
.calendar-projection summary { font-weight:550; font-size:12px; cursor:pointer; line-height:1.5; }
.calendar-projection-list { list-style:none; padding:0; margin:0; min-width:135px; }
.calendar-projection-list li { display:grid; gap:3px; padding:7px 0; border-bottom:1px solid var(--line); }
.calendar-projection-list li:last-child { border-bottom:0; }
.calendar-projection-list strong { font-size:12px; line-height:1.4; }
.calendar-projection-list span { font-size:13px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.calendar-projection-list small { margin-top:0; }
.calendar-projection [data-state="safe"],.calendar-projection-list [data-state="safe"] { color:var(--green); }
.calendar-projection [data-state="risk"],.calendar-projection-list [data-state="risk"] { color:var(--red); }

/* Discovery controls and practical learning pages. */
.collection-quick-filters { display:grid; grid-template-columns:minmax(220px,2fr) repeat(2,minmax(150px,1fr)); gap:14px; margin:18px 0 14px; }
.collection-filter-toolbar { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.collection-toolbar > .manage-field { min-width:180px; }
.underlying-picker { margin:0 0 18px; padding:16px; border:1px solid var(--cl-line,#dce1e8); border-radius:10px; background:#fff; }
.underlying-picker h3 { margin:0 0 12px; font-size:16px; }
.underlying-picker-input { display:flex; gap:8px; }
.underlying-picker-input input { min-width:0; width:100%; }
.underlying-picker-input button { flex-shrink:0; }
.underlying-picker .search-active-filters:empty { display:none; }
.underlying-picker .search-active-filters { margin:12px 0; }
.filter-help { font-size:13px; line-height:1.6; color:#626c7d; margin:10px 0 0; }
.topbar-brand-subtitle { display:block; margin:8px 0 0; max-width:470px; color:#d9deea; font-size:13px; line-height:1.5; letter-spacing:.015em; }
.site-footer { padding:24px 30px 18px; margin-top:28px; }
.site-footer-top { grid-template-columns:minmax(180px,.8fr) minmax(300px,1.2fr); gap:24px; align-items:center; padding-bottom:18px; }
.site-footer-meta-grid { display:block; }
.site-footer-col-title { margin:0 0 8px; }
.site-footer-links { display:flex; flex-wrap:wrap; gap:12px 26px; }
.site-footer-links-legal { margin-top:10px; }
.site-footer-disclaimer { margin-top:0; padding:16px 0; }
.site-footer .site-footer-disclaimer-copy { font-size:12px; line-height:1.65; }
.site-footer-bottom { padding-top:12px; }
.site-footer-bottom-copy { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 20px; }
.site-footer-bottom-copy p { margin:0; font-size:12px; }
.editorial-heading { padding:8px 0 26px; border-bottom:1px solid #dce1e8; margin-bottom:28px; }
.editorial-heading h2 { max-width:820px; margin:8px 0 12px; font-size:clamp(28px,3vw,42px); line-height:1.2; }
.editorial-lead { max-width:780px; margin:0; color:#586477; font-size:18px; line-height:1.7; }
.guide-section { margin:30px 0; }
.guide-section > h3,.faq-group > h3 { font-size:22px; margin:0 0 18px; }
.guide-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.guide-glossary,.guide-context { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.discovery-guide .info-tile { padding:22px; border:1px solid #dce1e8; border-radius:10px; background:#fff; }
.discovery-guide .info-tile h3 { margin:0 0 10px; font-size:18px; line-height:1.45; }
.discovery-guide .info-tile p { margin:0; line-height:1.8; font-size:15px; color:#526074; }
.guide-steps .info-tile { border-top:3px solid #b69a55; background:#faf9f5; }
.guide-context .info-tile { background:#f0f3f7; }
.guide-source-links { display:flex; flex-wrap:wrap; gap:12px 26px; }
.guide-source-links a { color:#385477; text-underline-offset:4px; }
.faq-topics { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 30px; }
.faq-topics a { padding:8px 14px; border-radius:6px; background:#edf1f6; color:#324663; font-size:14px; text-decoration:none; }
.faq-group { margin:32px 0; scroll-margin-top:24px; }
.faq-group .faq-card { box-shadow:none; border:1px solid #dce1e8; border-radius:9px; background:white; }
.faq-group .faq-question { padding:18px 22px; }
.faq-group .faq-answer { padding:0 22px 18px; max-width:960px; }
.faq-group .faq-answer p { color:#526074; line-height:1.85; font-size:15px; }
.faq-group .faq-card[open] { border-color:#b4becb; }
@media(max-width:900px) { .guide-steps { grid-template-columns:1fr; } }
@media(max-width:640px) {
 .collection-quick-filters,.guide-glossary,.guide-context { grid-template-columns:1fr; }
 .site-footer { padding:20px; }
 .site-footer-top { grid-template-columns:1fr; gap:16px; }
 .topbar-brand-subtitle { max-width:240px; font-size:11px; }
 .editorial-lead { font-size:16px; }
 .collection-toolbar > .manage-field { min-width:0; flex:1 1 150px; }
}
.topbar-brand { flex-direction:column; align-items:flex-start; gap:0; }
.topbar-brand-subtitle { margin-top:6px; }

.underlying-search-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; margin:0 0 18px; border:1px solid #dce1e8; border-radius:10px; background:#fff; }
.underlying-search-toolbar > div { min-width:0; }
.underlying-search-toolbar .filter-help { margin-top:5px; overflow-wrap:anywhere; }
.underlying-search-toolbar > button { flex-shrink:0; }
.underlying-search-dialog { width:min(640px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); box-sizing:border-box; margin:auto; padding:28px; border:1px solid #c3cad6; border-radius:14px; background:#fff; color:#1e2030; box-shadow:0 24px 90px #10182840; overflow:auto; overscroll-behavior:contain; }
.underlying-search-dialog::backdrop { background:rgba(20,25,40,.55); }
.underlying-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.underlying-dialog-heading h2 { margin:0; font-size:26px; line-height:1.25; }
.underlying-search-dialog .search-active-filters { margin:18px 0; }
.underlying-search-dialog .search-active-filters:empty { display:none; }
.underlying-search-dialog .manage-field { margin:18px 0; }
.underlying-dialog-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid #e0e5ed; margin-top:24px; padding-top:20px; }
.guide-community-links { margin-top:16px; }
@media(max-width:640px) {
 .underlying-search-toolbar { align-items:flex-start; flex-direction:column; gap:14px; }
 .underlying-search-dialog { padding:20px; }
 .underlying-dialog-heading h2 { font-size:22px; }
}

/* The same full-width filter surface for Favorites, Recents and Maxi Coupon. */
.collection-filters {
  display:grid;
  grid-template-columns:minmax(240px,2fr) repeat(2,minmax(160px,1fr));
  align-items:end;
  gap:14px;
  width:100%;
  box-sizing:border-box;
  margin:0 0 16px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-cool);
}
.collection-filters-four {
  grid-template-columns:minmax(240px,2fr) repeat(3,minmax(160px,1fr));
}
.collection-filters .manage-field { min-width:0; margin:0; }
.collection-filters .manage-input { width:100%; min-width:0; box-sizing:border-box; }
.collection-filters .panel-label { font-size:12px; }
@media(max-width:1000px) {
  .collection-filters-four { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .collection-filters-four .manage-field:first-child { grid-column:1 / -1; }
}
@media(max-width:700px) {
  .collection-filters,.collection-filters-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .collection-filters .manage-field:first-child { grid-column:1 / -1; }
}
@media(max-width:420px) {
  .collection-filters,.collection-filters-four { grid-template-columns:minmax(0,1fr); }
}
#favorites-view .collection-page { display:block; }
:is(#favorites-view,#recent-updates-view,#maxi-coupon-view) .collection-toolbar { padding:16px; margin:0 0 20px; }

/* Brand hero and account controls in the navigation bar. */
.topbar.card.certslab-hero {
  display:block;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:36px 40px;
  background:linear-gradient(110deg,#101526 0%,#13182a 58%,#1b2033 100%);
  border:1px solid #35394e;
  margin-bottom:22px;
}
.certslab-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(132deg,transparent 54%,#ffffff04 54%,#ffffff04 68%,transparent 68%),linear-gradient(48deg,transparent 64%,#00000014 64%,#00000014 82%,transparent 82%),linear-gradient(135deg,transparent 76%,#ffffff04 76%);
}
.certslab-hero .certslab-logo { width:280px; }
.hero-copy { margin-top:30px; width:100%; max-width:none; }
.hero-copy h1 { margin:0; color:#fff; font:700 clamp(27px,2.8vw,42px)/1.2 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing:-.035em; max-width:none; text-wrap:wrap; }
.hero-copy h2 { margin:16px 0 0; color:#e0e3ec; font:400 clamp(17px,1.65vw,24px)/1.5 "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing:-.015em; max-width:1000px; text-wrap:pretty; }
.hero-subtitle:not([data-variant]) { visibility:hidden; }
.side-menu.card { display:flex; align-items:center; gap:12px; overflow:visible; position:relative; z-index:20; }
.side-menu-nav { flex:1 1 auto; min-width:0; }
.side-menu > .topbar-actions { flex:0 0 auto; max-width:290px; margin-left:auto; }
.side-menu .topbar-signin { color:#211d14; background:#c7aa56; border:1px solid #b99a45; border-radius:24px; padding:12px 20px; font-weight:650; white-space:nowrap; }
.side-menu .auth-status-trigger { color:#202638; background:#f1f3f7; border:1px solid #dce1e8; }
.side-menu .auth-status-name,.side-menu .auth-status-copy strong { color:#202638; }
.side-menu .auth-status-meta,.side-menu .auth-status-copy span,.side-menu .auth-status-caret { color:#606b7d; }
.side-menu .auth-status-menu { z-index:50; right:0; max-width:calc(100vw - 32px); }
@media(max-width:1100px) {
 .side-menu.card { flex-wrap:wrap; }
 .side-menu-nav { flex-basis:100%; }
 .side-menu > .topbar-actions { margin-left:auto; }
}
@media(max-width:768px) {
 .topbar.card.certslab-hero { padding:24px!important; }
 .certslab-hero .certslab-logo { width:220px; }
 .hero-copy { margin-top:24px; }
 .side-menu.card { background:#fff; border-radius:10px; padding:8px 12px; }
 .side-menu .side-nav-link { color:#526074; }
 .side-menu .side-nav-link.is-active { color:#665020; }
 .side-menu > .topbar-actions { max-width:100%; }
 .side-menu .topbar-signin { font-size:13px; padding:10px 16px; }
}
@media(max-width:480px) {
 .side-menu-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
 .side-menu .side-nav-link { padding:9px 5px!important; }
 .side-menu .side-nav-link strong { font-size:12px; }
}
/* Inter headings use weight rather than a contrasting serif face. */
.section-heading h2,.info-page h2,.public-panel h2,.public-certificate-page h1 {
  font-weight:600;
  letter-spacing:-.025em;
}
.faq-answer-list { padding-left:22px; margin:0; }
.faq-answer-list li { margin:0 0 18px; padding-left:4px; }
.faq-answer-list li:last-child { margin-bottom:0; }
.faq-answer-list strong { color:#27354b; font-weight:600; }
.faq-group .faq-answer-list p { margin:6px 0 0; }

/* About uses the same editorial header and restrained panels as Guide / FAQ. */
#about-view .about-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:24px; align-items:start; }
#about-view .about-project,#about-view .contact-form { min-width:0; padding:24px; border:1px solid var(--line); border-radius:10px; }
#about-view .about-project { background:white; }
#about-view .contact-form { background:var(--surface-cool); margin:0; gap:16px; }
#about-view .about-project h3,#about-view .about-contact-heading h3 { margin:0 0 14px; font-size:22px; line-height:1.35; font-weight:600; letter-spacing:-.02em; }
#about-view .about-project p,#about-view .about-contact-heading p { margin:0 0 16px; color:var(--muted); font-size:15px; line-height:1.8; }
#about-view .about-project p:last-child,#about-view .about-contact-heading p { margin-bottom:0; }
#about-view .manage-field { min-width:0; margin:0; }
#about-view .manage-input { box-sizing:border-box; width:100%; min-width:0; }
#about-view .panel-label { font-size:12px; }
#about-view .contact-form-actions { justify-items:start; }
#about-view .about-project a { color:#385477; text-underline-offset:4px; }
@media(max-width:900px) { #about-view .about-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:480px) { #about-view .about-project,#about-view .contact-form { padding:20px; } }

.account-transition-banner { display:flex; align-items:flex-start; gap:16px; padding:22px 24px; border:1px solid #dcc68a; border-left:4px solid #b2913d; border-radius:10px; background:#fcf8ed; color:#34382f; }
.account-transition-icon { flex:0 0 28px; width:28px; height:28px; display:grid; place-items:center; border:1px solid #b99c54; border-radius:50%; font-weight:700; color:#806322; }
.account-transition-content { flex:1 1 auto; min-width:0; }
.account-transition-content > strong { display:block; font-size:17px; font-weight:650; line-height:1.4; color:#493b1d; }
.account-transition-content p { margin:8px 0 0; font-size:14px; line-height:1.75; }
.account-transition-content .account-transition-retention { font-size:13px; color:#687060; }
.account-transition-actions { display:flex; flex:0 0 auto; flex-direction:column; align-items:stretch; gap:8px; }
.account-transition-actions button { white-space:nowrap; }
@media(max-width:1000px) {
 .account-transition-banner { flex-wrap:wrap; }
 .account-transition-content { flex-basis:calc(100% - 48px); }
 .account-transition-actions { flex-direction:row; flex-wrap:wrap; margin-left:44px; }
}
@media(max-width:480px) {
 .account-transition-banner { padding:18px 16px; gap:12px; }
 .account-transition-actions { margin-left:0; width:100%; }
 .account-transition-actions button { flex:1 1 auto; }
}
.account-transition-banner.hidden { display:none; }

.transition-upgrade-plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:22px 0; }
.transition-upgrade-plans .billing-plan-option { padding:20px; text-align:left; }
[data-upgrade-error], [data-transition-error] { color:#a52c36; }
[data-upgrade-error]:empty, [data-transition-error]:empty { display:none; }
@media(max-width:480px) { .transition-upgrade-plans { grid-template-columns:1fr; } }

/* App discovery: a permanent About section and a compact, non-modal phone suggestion. */
.about-mobile-apps { margin:0 0 28px; padding:28px; border:1px solid var(--line); border-radius:12px; background:var(--surface-cool); }
.mobile-apps-intro { display:flex; align-items:center; gap:22px; }
.mobile-apps-intro img { flex:none; border-radius:18px; }
.mobile-apps-intro h3 { margin:0 0 10px; font-size:24px; letter-spacing:-.025em; }
.mobile-apps-intro p { margin:0; max-width:720px; color:var(--muted); line-height:1.7; }
.mobile-app-platforms { display:flex; gap:16px; margin-top:24px; flex-wrap:wrap; }
.mobile-app-store,.mobile-app-android { position:relative; display:flex; flex-direction:column; gap:6px; min-width:220px; padding:18px 48px 18px 20px; border-radius:10px; text-decoration:none; }
.mobile-app-store { background:#1e2030; color:#fff; }
.mobile-app-store span:not(.mobile-app-arrow) { color:#dedee7; font-size:13px; }
.mobile-app-store:hover { background:#30364a; }
.mobile-app-arrow { position:absolute; right:20px; top:22px; color:#c8a84b; font-size:22px; }
.mobile-app-android { border:1px solid var(--line); background:#fff; }
.mobile-app-android span { font-size:13px; color:var(--muted); }
.mobile-app-banner { display:none; }
@media(max-width:600px) {
 .about-mobile-apps { padding:20px; }
 .mobile-apps-intro { align-items:flex-start; gap:14px; }
 .mobile-apps-intro img { width:56px; height:56px; border-radius:13px; }
 .mobile-apps-intro h3 { font-size:21px; }
 .mobile-app-platforms { flex-direction:column; }
 .mobile-app-store,.mobile-app-android { min-width:0; }
 .mobile-app-banner:not([hidden]) { display:flex; align-items:center; gap:10px; padding:12px; margin-bottom:12px; background:#fff; border:1px solid var(--line); border-radius:10px; }
 .mobile-app-banner img { border-radius:11px; flex:none; }
 .mobile-app-banner div { flex:1; min-width:0; }
 .mobile-app-banner strong { font-size:13px; }
 .mobile-app-banner p { margin:3px 0 0; font-size:12px; color:var(--muted); line-height:1.4; }
 .mobile-app-banner a { font-size:12px; font-weight:600; color:#654e13; white-space:nowrap; }
 .mobile-app-banner button { flex:none; border:0; background:transparent; font-size:24px; padding:6px; color:var(--muted); cursor:pointer; }
}

/* Phone navigation replaces the legacy fixed bottom tabs, including account controls. */
@media(max-width:768px) {
 .side-menu.card { position:relative!important; inset:auto!important; z-index:20; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:8px 12px!important; margin:0 0 18px; border:1px solid var(--line)!important; border-radius:10px!important; backdrop-filter:none; }
 .side-menu .side-menu-nav { display:flex; flex-direction:row; flex-wrap:nowrap; flex-basis:auto; width:100%; overflow-x:auto; overscroll-behavior-inline:contain; gap:4px; padding:0 0 6px; scrollbar-width:thin; }
 .side-menu .side-nav-link { display:flex!important; flex:0 0 auto; width:auto; min-height:44px; min-width:0; justify-content:center; padding:10px 12px!important; white-space:nowrap; }
 .side-menu .side-nav-link.hidden,.side-menu .side-nav-link[data-view-trigger="more"] { display:none!important; }
 .side-menu .side-nav-link::before { display:none; }
 .side-menu .side-nav-link strong { font-size:13px; line-height:1.4; }
 .side-menu > .topbar-actions { display:flex; align-items:center; justify-content:stretch!important; flex:0 0 auto; width:100%!important; max-width:none; margin:0; padding:10px 0 2px; border-top:1px solid var(--line); }
 .side-menu .topbar-actions > * { max-width:100%; }
 .side-menu .topbar-signin { box-sizing:border-box; width:100%; min-height:44px; text-align:center; border-radius:8px; white-space:normal; }
 .side-menu .auth-status { position:relative; width:100%!important; max-width:none; }
 .side-menu .auth-status-trigger { box-sizing:border-box; width:100%; min-height:48px; border-radius:8px; }
 .side-menu .auth-status-copy { min-width:0; }
 .side-menu .auth-status-name { overflow:hidden; text-overflow:ellipsis; }
 .side-menu .auth-status-menu { box-sizing:border-box; width:100%; min-width:0; max-width:100%; right:0; left:0; }
 .topbar.card.certslab-hero { display:block; padding:20px!important; }
 .certslab-hero .certslab-logo { width:190px; max-width:100%; }
 .certslab-hero .hero-copy { margin-top:18px; }
 .certslab-hero .hero-copy h1 { font-size:clamp(25px,6vw,34px); line-height:1.18; }
 .certslab-hero .hero-copy h2 { margin-top:12px; font-size:16px; line-height:1.5; }
 .page-shell { padding-bottom:24px; }
 .site-footer { margin-bottom:0; }
 .view-stack,.search-workspace,.collection-page { min-width:0; }
 .manage-input { max-width:100%; box-sizing:border-box; }
}
/* Let wide certificate tables scroll within their panel rather than widening the page. */
.public-columns > *, .public-panel, .public-table-scroll { min-width:0; }
@media(max-width:768px) {
 .public-columns { grid-template-columns:minmax(0,1fr); }
 .public-table-scroll { max-width:100%; }
 .public-header { flex-wrap:wrap; gap:14px; }
 .public-certificate-page h1,.public-product-name { overflow-wrap:anywhere; }
}
