
/* Lentara Portal v0.76e CSS-only mobile cleanup
   Safety rule: presentation only. No JS. No behavior changes. */

@media (max-width: 768px) {
  /* trust shelf: lighter, glossier, but keep existing structure */
  .trustShelf, .topShelf, .sessionShelf, .securityShelf {
    background: rgba(7, 14, 30, 0.38) !important;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    border-color: rgba(130, 170, 225, 0.14) !important;
  }

  /* smaller pills/badges without changing layout logic */
  .tag, .pill, .softTag, .badge, .miniPill {
    min-height: 0 !important;
    padding: 6px 11px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    border-radius: 999px !important;
  }

  /* public-facing cleanup: hide obviously internal/operator text blocks only */
  .modeSwitch, .mode-switch, .operatorOnly, .operator-only, .internalOnly, .internal-only,
  [data-role="mode-switch"],
  [data-role="operator-only"],
  [data-role="internal-only"] {
    display: none !important;
  }

  /* common copy cards that were called out as unnecessary */
  .compressionFirst, .compression-first,
  .neverTrapped, .never-trapped,
  .signatureAnchor, .signature-anchor {
    display: none !important;
  }

  /* safer generic spacing cleanup */
  .card, .panel, .section, .module {
    overflow: hidden;
  }

  .card h2, .card h3, .card h4,
  .panel h2, .panel h3, .panel h4 {
    margin-bottom: 8px !important;
    line-height: 1.08 !important;
  }

  .card p, .panel p, .section p, .module p,
  .card small, .panel small, .section small, .module small {
    line-height: 1.35 !important;
  }

  /* mobile hero/lens: smaller, calmer, but do not alter behavior */
  .lensShell, .heroLens, .portalLens, .lensCircle {
    width: min(210px, 58vw) !important;
    height: min(210px, 58vw) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* if swirl/animation already exists, let it show a bit more */
  .lensSwirl, .lensGlow, .lensGlimmer {
    opacity: 0.92 !important;
  }

  /* session-at-a-glance / session seal readability only */
  .securityTimeline .timelineRow,
  .sessionGrid .timelineRow,
  .sessionMini .timelineRow {
    display: block !important;
    margin-bottom: 12px !important;
  }

  .securityTimeline .timelineRow > *,
  .sessionGrid .timelineRow > *,
  .sessionMini .timelineRow > * {
    display: block !important;
    margin-bottom: 6px !important;
    min-width: 0 !important;
  }

  /* preview area: visual cleanup only */
  .previewCard .toolbar,
  .docPreview .toolbar,
  .viewerWrap .toolbar {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .previewCard .toolbar > *,
  .docPreview .toolbar > *,
  .viewerWrap .toolbar > * {
    width: 100% !important;
  }

  /* final review/sign visual stacking only */
  .affirmLauncher,
  .finalReviewCard,
  .signatureCard {
    display: block !important;
  }

  .affirmLauncher .actions,
  .finalReviewCard .actions,
  .signatureCard .actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .affirmLauncher .actions > *,
  .finalReviewCard .actions > *,
  .signatureCard .actions > * {
    width: 100% !important;
  }

  /* modal sizing only; keep behavior intact */
  .spotlightScrim, .modalScrim, .overlayScrim {
    padding: calc(env(safe-area-inset-top) + 10px) 12px 16px !important;
    overflow-y: auto !important;
    align-items: flex-start !important;
  }

  .spotlightPanel, .modalPanel, .overlayPanel {
    width: min(620px, 100%) !important;
    max-height: calc(100dvh - 28px) !important;
    overflow: auto !important;
    border-radius: 24px !important;
  }

  /* root dark background to prevent white flash */
  html, body, .wrap, .app, .portalRoot {
    background: #050816 !important;
  }
}

/* v0.76f2 cleanup */
@media (max-width: 768px) {
  .securityGrid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .securityStat strong,
  .securityTimeline strong{
    display:block;
    margin-bottom:6px !important;
    line-height:1.08 !important;
  }

  .securityStat .mini,
  .securityTimeline small{
    display:block;
    line-height:1.32 !important;
    margin-top:0 !important;
  }

  .securityStat .tag,
  .securityTimeline .tag{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:auto !important;
    max-width:max-content !important;
    margin-top:8px !important;
    padding:6px 12px !important;
  }

  .securityTimeline .timelineRow{
    padding-bottom:6px;
    border-bottom:1px solid rgba(120,150,210,.08);
  }
  .securityTimeline .timelineRow:last-child{
    border-bottom:none;
    padding-bottom:0;
  }

  .affirmLauncher .dock{
    gap:8px !important;
  }
  .affirmLauncher .dock .softTag{
    width:auto !important;
    max-width:max-content !important;
  }

  .sectionHead .mini{
    line-height:1.25 !important;
  }
}


/* v0.76f3 targeted polish */
@media (max-width: 768px) {
  /* Verification tab should visibly warn when attention is needed */
  .chipBtn.needsInput,
  [data-pane="pane-verify"].needsInput {
    border-color: rgba(255, 191, 103, 0.72) !important;
    background: linear-gradient(180deg, rgba(74, 52, 18, 0.62), rgba(34, 23, 10, 0.78)) !important;
    box-shadow:
      0 0 0 1px rgba(255,191,103,.22),
      0 0 22px rgba(255,191,103,.10);
    color: #ffe3b2 !important;
  }

  /* Signed state at bottom should feel done / available */
  .affirmLauncher.signedState {
    border-color: rgba(96,227,176,.34) !important;
    box-shadow:
      0 0 0 1px rgba(96,227,176,.12),
      0 0 26px rgba(96,227,176,.08);
    background:
      radial-gradient(circle at 100% 0, rgba(96,227,176,.08), transparent 34%),
      linear-gradient(180deg, rgba(8,18,30,.92), rgba(6,13,25,.98)) !important;
  }
  .affirmLauncher.signedState strong,
  .affirmLauncher.signedState h3 {
    color: #dffcf0 !important;
  }

  /* Preview placeholder cleaner + less "internal doc" */
  .viewerPlaceholder .ghost {
    max-width: 420px !important;
    gap: 10px !important;
  }
  .viewerPlaceholder h4 {
    font-size: 20px !important;
    line-height: 1.08 !important;
    margin-bottom: 4px !important;
  }
  .viewerPlaceholder p {
    font-size: 14px !important;
    line-height: 1.45 !important;
    max-width: 26ch;
    margin: 0 auto !important;
  }
}


/* v0.76f4 cleanup */
.pillbar{display:none !important;}

#toolbarProgressPill.good{
  border-color: rgba(96,227,176,.36) !important;
  color: #dffcf0 !important;
  box-shadow: 0 0 0 1px rgba(96,227,176,.12), 0 0 18px rgba(96,227,176,.08);
}

@media (max-width: 768px) {
  /* top shelf / toolbar feel more centered and stable */
  .trustShelf{
    justify-content:center !important;
    text-align:center !important;
  }
  .trustShelf .trustCluster{
    width:100%;
    justify-content:center !important;
  }
  .trustShelf .trustLabel{
    width:100%;
    text-align:center !important;
    font-size:13px !important;
  }
  .stepLine{
    justify-content:center !important;
    padding-top:4px !important;
  }

  /* SessionSeal spacing normalization */
  .securityGrid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .securityStat{
    display:flex !important;
    flex-direction:column !important;
    gap:6px !important;
  }
  .securityStat strong{
    display:block;
    margin:0 !important;
    line-height:1.08 !important;
  }
  .securityStat .mini{
    display:block;
    margin:0 !important;
    line-height:1.32 !important;
  }
  .securityStat .tag{
    display:inline-flex !important;
    justify-content:center;
    align-items:center;
    width:max-content !important;
    max-width:max-content !important;
    margin-top:2px !important;
  }

  .securityTimeline .timelineRow{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
    padding-bottom:12px !important;
    margin-bottom:12px !important;
    border-bottom:1px solid rgba(120,150,210,.08);
  }
  .securityTimeline .timelineRow:last-child{
    border-bottom:none;
    margin-bottom:0;
    padding-bottom:0;
  }
  .securityTimeline .timelineRow strong{
    display:block;
    margin:0 0 4px 0 !important;
    line-height:1.08 !important;
  }
  .securityTimeline .timelineRow small{
    display:block;
    line-height:1.32 !important;
    margin:0 !important;
  }
  .securityTimeline .timelineRow .tag{
    width:max-content !important;
    max-width:max-content !important;
    margin-top:0 !important;
  }

  /* if there is no real preview loaded, don't reserve a giant black stage */
  .previewCard.collapsed .viewer{
    display:none !important;
  }
  .viewer #pdfFrame.hidden + .viewerPlaceholder{display:grid;}
  .viewerPlaceholder{
    min-height:220px !important;
  }
}


/* v0.76f5 cleanup */
@media (max-width: 768px) {
  /* Hide empty preview stage when collapsed/signed */
  .viewer.signedCollapsed,
  .previewCard.collapsed .viewer {
    display: none !important;
  }
  .previewCard.collapsed {
    padding-bottom: 14px !important;
  }

  /* Keep only one clear document action feeling */
  #openPreview {
    margin-top: 2px;
  }

  /* Review/sign card cleanup and alignment */
  .affirmLauncher .actions,
  .finalReviewCard .actions {
    align-items: center !important;
  }
  .affirmLauncher .actions > button,
  .affirmLauncher .actions > a,
  .finalReviewCard .actions > button,
  .finalReviewCard .actions > a {
    width: 100% !important;
    max-width: 520px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .affirmLauncher .dock {
    justify-content: center !important;
  }

  /* Signed card should be the obvious completion zone */
  .affirmLauncher.signedState {
    position: relative;
  }
  .affirmLauncher.signedState::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: radial-gradient(120% 90% at 50% 0%, rgba(96,227,176,.08), transparent 42%);
  }

  /* Tone down orb bleed behind top shelf */
  .heroCard::before,
  .heroCard::after,
  .lensGlow,
  .lensSwirl {
    opacity: .45 !important;
  }
  .trustShelf,
  .topShelf,
  .sessionShelf,
  .securityShelf {
    position: relative;
    z-index: 3;
  }
  .heroCard {
    overflow: hidden !important;
  }

  /* Session seal/review clutter cleanup */
  .docbossStampPreview,
  .auditSnapshot {
    display: none !important;
  }

  /* Fewer duplicate audit actions visually */
  #downloadAuditMain {
    display: none !important;
  }
}


/* v0.76f6 exact cleanup */
.pillbar{display:none !important;}

@media (max-width: 768px) {
  /* Remove duplicate tech/download controls in chamber */
  #downloadSessionSeal,
  #downloadAudit,
  #modalAuditCard {
    display:none !important;
  }

  /* Center modal bar buttons cleanly */
  .modalBar{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    align-items:center !important;
  }
  .modalActions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
  }
  .modalActions > button,
  .modalBar > button,
  #closeAffirmation{
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
  }

  /* If review is incomplete, don't tease "continue to signature" */
  #openAffirmation.ctaBlocked{
    display:none !important;
  }
  #jumpToCourtroom{
    width:100% !important;
  }
  #jumpToCourtroom:not(.hidden){
    display:block !important;
  }

  /* Center primary/secondary controls in key cards */
  .actions, .signActions, .presenceRow{
    justify-content:center !important;
  }
  .actions > *, .signActions > *, .presenceRow > *{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Signed state button should feel conclusive but compact */
  #openAffirmation.isSignedState{
    width:auto !important;
    min-width:120px;
    max-width:max-content !important;
    align-self:flex-start !important;
  }

  /* DocBoss review strip fits instead of clipping */
  .chamberBoss{
    display:flex !important;
    align-items:center;
    gap:8px;
    flex-wrap:nowrap;
    overflow:hidden;
  }
  .chamberBoss span:last-child{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    display:block;
  }

  /* Tighter modal sign card copy */
  .presenceBanner p,
  .lockHint,
  .modalNote{
    line-height:1.35 !important;
  }
}

/* v0.77 mobile signer lane finish pass */
@media (max-width: 768px) {
  /* Floating visor treatment for the mobile trust shelf and step rail */
  .trustShelf{
    position: sticky !important;
    top: calc(env(safe-area-inset-top) + 8px) !important;
    z-index: 140 !important;
    margin-bottom: 10px !important;
    border-radius: 20px !important;
    background: rgba(7,14,30,.46) !important;
    border-color: rgba(130,170,225,.18) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.30), 0 0 0 1px rgba(130,170,225,.10) !important;
    -webkit-backdrop-filter: blur(22px);
    backdrop-filter: blur(22px);
  }
  .trustShelf.is-signed{
    border-color: rgba(96,227,176,.28) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.30), 0 0 0 1px rgba(96,227,176,.12), 0 0 26px rgba(96,227,176,.10) !important;
  }
  .stepLine{
    position: sticky !important;
    top: calc(env(safe-area-inset-top) + 108px) !important;
    z-index: 139 !important;
    margin: 0 0 14px !important;
    padding: 8px 10px !important;
    border-radius: 16px !important;
    background: rgba(7,14,30,.30) !important;
    border: 1px solid rgba(130,170,225,.10) !important;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
  }
  .stepLine span{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    white-space: nowrap;
  }
  .stepLine span.is-needs-input{
    color: #ffe5bb !important;
    border-color: rgba(255,191,103,.62) !important;
    background: linear-gradient(180deg, rgba(86,58,18,.56), rgba(36,24,10,.82)) !important;
    box-shadow: 0 0 0 1px rgba(255,191,103,.18), 0 0 18px rgba(255,191,103,.10) !important;
  }
  .stepLine span.is-signed,
  .stepLine.signed span:last-child{
    color: #dffcf0 !important;
    border-color: rgba(96,227,176,.34) !important;
    background: linear-gradient(180deg, rgba(96,227,176,.12), rgba(8,18,30,.76)) !important;
    box-shadow: 0 0 0 1px rgba(96,227,176,.12), 0 0 18px rgba(96,227,176,.08) !important;
  }

  /* Public-facing copy cleanup */
  .title p,
  .viewerPlaceholder .ghost p,
  .courtPanel p,
  .spotlightPanel p,
  .presenceBanner p,
  .modalNote,
  .lockHint,
  .sectionHead .mini{
    max-width: none !important;
  }

  /* Buttons are buttons, pills are pills */
  .actions,
  .signActions,
  .presenceRow,
  .modalActions,
  .spotlightActions{
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .actions > button,
  .actions > a,
  .signActions > button,
  .signActions > a,
  .presenceRow > button,
  .presenceRow > a,
  .modalActions > button,
  .modalActions > a,
  .spotlightActions > button,
  .spotlightActions > a,
  #closeAffirmation{
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
  .actions > .softTag,
  .signActions > .softTag,
  .presenceRow > .softTag,
  .spotlightActions > .softTag{
    align-self: center !important;
    width: auto !important;
    max-width: 100% !important;
    text-align: center !important;
  }
  .previewCard .toolbar{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .previewCard .toolbar > button{
    width: 100% !important;
    margin: 0 !important;
  }

  /* SessionSeal section is calmer and tighter */
  .securityGrid{
    gap: 12px !important;
  }
  .securityStat,
  .securityTimeline .timelineRow{
    border-radius: 16px !important;
  }
  .securityTimeline .timelineRow{
    padding: 12px 0 0 !important;
  }
  .securityTimeline .timelineRow:first-child{
    padding-top: 0 !important;
  }

  /* Remove duplicate noisy JSON utilities from the signer lane */
  #downloadSessionSeal,
  #downloadAudit,
  #downloadAuditTop,
  #spotlightDownloadSealBtn{
    display: none !important;
  }

  /* Chamber cleanup */
  #stampPreview{
    display: none !important;
  }
  .chamberBoss{
    white-space: normal !important;
    overflow: visible !important;
  }
  .chamberBoss span:last-child{
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
  #modalPreviewCard strong,
  #modalPreviewCard .sigPreview{
    text-align: center;
  }

  /* Hero calm-down */
  .lensGlow{
    opacity: .30 !important;
    filter: blur(38px) !important;
  }
  .lensSwirl,
  .lensGlimmer{
    opacity: .34 !important;
  }
  .lensShell,
  .heroLens,
  .portalLens,
  .lensCircle{
    width: min(196px, 54vw) !important;
    height: min(196px, 54vw) !important;
  }
}

/* v0.79 mobile signer lane guided next-step pass */
.trustActions{display:none}
.securitySummaryPill{display:none}
.securityCard .securityDetailsBody{display:block}

@media (max-width: 768px) {
  .trustShelf{
    top: calc(env(safe-area-inset-top) + 6px) !important;
    gap: 10px !important;
  }

  .trustActions{
    display:flex !important;
    width:100%;
    justify-content:center !important;
  }

  #toolbarNextStepBtn{
    width:100% !important;
    max-width:540px;
    display:block !important;
    position:relative;
    overflow:hidden;
    box-shadow:0 14px 34px rgba(0,0,0,.28), 0 0 0 1px rgba(125,229,255,.16) !important;
  }

  #toolbarNextStepBtn.is-focus-next,
  #applySignature.is-focus-next,
  #modalApply.is-focus-next{
    animation: lentaraNextPulse 1.6s ease-in-out infinite;
  }

  @keyframes lentaraNextPulse{
    0%,100%{transform:translateY(0); box-shadow:0 14px 34px rgba(0,0,0,.28), 0 0 0 1px rgba(125,229,255,.16), 0 0 18px rgba(125,229,255,.10)}
    50%{transform:translateY(-1px); box-shadow:0 18px 42px rgba(0,0,0,.32), 0 0 0 1px rgba(125,229,255,.22), 0 0 26px rgba(125,229,255,.16)}
  }

  .securityCard{
    overflow:hidden !important;
  }

  .securitySummaryPill{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:max-content;
    max-width:100%;
    margin:0 0 12px 0 !important;
    cursor:pointer;
    text-align:center;
  }

  .securityCard.is-collapsed .securityDetailsBody{
    display:none !important;
  }

  .securityDetailsBody{
    display:grid;
    gap:12px;
  }

  .securityCard.is-collapsed .sectionHead{
    margin-bottom:10px !important;
  }

  .courtroom,
  #modalSignCard,
  #signPadShell,
  #chamberConsentWrap{
    scroll-margin-top:132px;
  }

  .presenceBanner.compactPresence{
    padding:12px 14px !important;
    border-color:rgba(130,170,225,.18) !important;
    background:linear-gradient(180deg, rgba(11,18,34,.88), rgba(9,18,35,.82)) !important;
    box-shadow:none !important;
  }
  .presenceBanner.compactPresence p{
    display:none !important;
  }
  .presenceBanner.compactPresence .presenceRow{
    display:flex !important;
    flex-wrap:wrap;
    justify-content:flex-start !important;
    gap:8px !important;
    margin-top:6px !important;
  }
  .presenceBanner.compactPresence .presenceRow > button{
    display:none !important;
  }
  .presenceBanner.compactPresence #passkeySoftTag{
    display:none !important;
  }
  .presenceBanner.compactPresence #presenceSoftTag{
    margin:0 !important;
    width:auto !important;
    max-width:max-content !important;
  }

  .presenceBanner.requiresPresence{
    border-color:rgba(255,191,103,.48) !important;
    box-shadow:0 0 0 1px rgba(255,191,103,.14), 0 0 24px rgba(255,191,103,.09) !important;
  }

  #signPadShell{
    transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  }
  #signPadShell.is-focus-next{
    border-color:rgba(125,229,255,.72) !important;
    box-shadow:0 0 0 1px rgba(125,229,255,.26), 0 0 28px rgba(125,229,255,.14), 0 16px 34px rgba(0,0,0,.30) !important;
    transform:translateY(-1px);
  }

  #chamberConsentWrap{
    margin-top:12px !important;
  }
  #chamberConsentWrap.is-focus-next{
    border-color:rgba(255,191,103,.68) !important;
    background:linear-gradient(180deg, rgba(255,191,103,.10), rgba(11,21,40,.96)) !important;
    box-shadow:0 0 0 1px rgba(255,191,103,.18), 0 0 22px rgba(255,191,103,.10) !important;
  }

  #verifyPresenceBtn.is-focus-next,
  #openAffirmation.is-focus-next,
  #jumpToSign.is-focus-next,
  #jumpToCourtroom.is-focus-next,
  .chipBtn.is-focus-next{
    border-color:rgba(125,229,255,.54) !important;
    box-shadow:0 0 0 1px rgba(125,229,255,.16), 0 0 22px rgba(125,229,255,.10) !important;
  }

  .nextStepBar.is-focus-next{
    box-shadow:0 0 0 1px rgba(125,229,255,.14), 0 0 22px rgba(125,229,255,.10) !important;
  }

  .spotlightScrim{
    padding:calc(env(safe-area-inset-top) + 18px) 18px 24px !important;
    background:rgba(2,8,18,.52) !important;
  }

  .spotlightPanel{
    width:min(560px, calc(100vw - 36px)) !important;
    max-height:calc(100dvh - 72px) !important;
    background:linear-gradient(180deg, rgba(9,18,35,.88), rgba(7,15,29,.82)) !important;
    box-shadow:0 18px 54px rgba(0,0,0,.40), 0 0 28px rgba(255,207,106,.08) !important;
  }

  .spotlightPanel p,
  .spotlightList small{
    line-height:1.42 !important;
  }

  #downloadSignedMain{
    width:100% !important;
    max-width:none !important;
  }

  .affirmLauncher.signedState #downloadSignedMain{
    background:linear-gradient(90deg, rgba(96,227,176,.96), rgba(125,229,255,.88)) !important;
    color:#05111f !important;
    border:none !important;
    box-shadow:0 14px 32px rgba(0,0,0,.26), 0 0 0 1px rgba(96,227,176,.16) !important;
  }

  .signGrid{
    gap:14px !important;
  }

  .presenceBanner strong{
    line-height:1.1 !important;
  }
}


/* v0.80 guided next-step glow + preview fixes */
@keyframes lentaraNextPulseViolet{
  0%,100%{
    transform:translateY(0);
    box-shadow:
      0 16px 36px rgba(0,0,0,.28),
      0 0 0 1px rgba(160,139,255,.24),
      0 0 0 6px rgba(160,139,255,.08),
      0 0 28px rgba(160,139,255,.16),
      0 0 44px rgba(125,229,255,.08);
  }
  50%{
    transform:translateY(-1px);
    box-shadow:
      0 20px 44px rgba(0,0,0,.32),
      0 0 0 1px rgba(160,139,255,.34),
      0 0 0 8px rgba(160,139,255,.12),
      0 0 34px rgba(160,139,255,.22),
      0 0 52px rgba(125,229,255,.10);
  }
}

#toolbarNextStepBtn.is-focus-next,
#openAffirmation.is-focus-next,
#jumpToSign.is-focus-next,
#jumpToCourtroom.is-focus-next,
#verifyPresenceBtn.is-focus-next,
#applySignature.is-focus-next,
#modalApply.is-focus-next,
.chipBtn.is-focus-next{
  position:relative;
  border-color:rgba(160,139,255,.68) !important;
  box-shadow:
    0 16px 36px rgba(0,0,0,.28),
    0 0 0 1px rgba(160,139,255,.24),
    0 0 0 6px rgba(160,139,255,.08),
    0 0 28px rgba(160,139,255,.16),
    0 0 44px rgba(125,229,255,.08) !important;
  animation:lentaraNextPulseViolet 1.8s ease-in-out infinite;
}

#toolbarNextStepBtn.is-focus-next::after,
#openAffirmation.is-focus-next::after,
#jumpToSign.is-focus-next::after,
#jumpToCourtroom.is-focus-next::after,
#verifyPresenceBtn.is-focus-next::after,
#applySignature.is-focus-next::after,
#modalApply.is-focus-next::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  pointer-events:none;
  background:radial-gradient(120% 120% at 0% 0%, rgba(160,139,255,.18), transparent 42%), radial-gradient(120% 120% at 100% 100%, rgba(125,229,255,.10), transparent 36%);
  opacity:.95;
}

#signPadShell.is-focus-next{
  border-color:rgba(160,139,255,.66) !important;
  box-shadow:0 0 0 1px rgba(160,139,255,.22), 0 0 28px rgba(160,139,255,.14), 0 18px 38px rgba(0,0,0,.30) !important;
}

#chamberConsentWrap.is-focus-next,
.nextStepBar.is-focus-next{
  border-color:rgba(160,139,255,.46) !important;
  box-shadow:0 0 0 1px rgba(160,139,255,.14), 0 0 22px rgba(160,139,255,.10) !important;
}

@media (prefers-reduced-motion: reduce){
  #toolbarNextStepBtn.is-focus-next,
  #openAffirmation.is-focus-next,
  #jumpToSign.is-focus-next,
  #jumpToCourtroom.is-focus-next,
  #verifyPresenceBtn.is-focus-next,
  #applySignature.is-focus-next,
  #modalApply.is-focus-next,
  .chipBtn.is-focus-next{
    animation:none;
    transform:none;
  }
}


/* v0.81 mobile guide tightening */
@media (max-width: 768px) {
  .trustShelf{
    align-items:center !important;
    gap:8px !important;
  }

  .trustShelf .trustLabel{
    order:0;
    width:100%;
    text-align:center !important;
    font-size:10.5px !important;
    letter-spacing:.18em !important;
    text-transform:uppercase;
    opacity:.9;
  }

  .trustStatusCluster{
    order:1;
    width:100%;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px !important;
    align-items:stretch;
  }

  .trustStatusCluster .tag{
    width:100%;
    justify-content:center;
    text-align:center;
    padding:8px 10px !important;
    min-height:42px;
    font-size:11.5px !important;
    line-height:1.15;
  }

  .trustMetaCluster{
    order:2;
    width:100%;
    justify-content:center !important;
  }

  .trustMetaCluster .pill{
    width:max-content;
    max-width:100%;
    margin:0 auto;
  }

  .trustActions{
    order:3;
    flex-direction:column;
    align-items:center;
    gap:6px !important;
  }

  .guideLabel{
    display:block;
  }

  #toolbarNextStepBtn{
    min-height:60px;
    font-size:17px !important;
    font-weight:800;
    letter-spacing:-.01em;
  }

  .heroCard .actions{
    display:none !important;
  }

  .heroCard h2{
    margin-bottom:10px;
  }
}

/* v0.82 desktop guide rail harmonization */
@media (min-width: 769px) {
  .trustShelf{
    width:min(100%, 980px);
    margin:0 auto 18px !important;
    padding:14px 18px 16px !important;
    justify-content:flex-start !important;
    align-items:flex-start !important;
    gap:10px 14px !important;
  }

  .trustShelf .trustLabel{
    text-align:center !important;
    font-size:12px !important;
    letter-spacing:.22em !important;
    color:rgba(227,236,255,.92) !important;
  }

  .trustStatusCluster{
    display:flex !important;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-start !important;
    gap:10px !important;
    width:auto;
    max-width:100%;
  }

  .trustStatusCluster .tag{
    min-height:0;
    padding:8px 12px !important;
  }

  .trustMetaCluster{
    width:auto;
    max-width:100%;
    justify-content:flex-start !important;
  }

  .trustActions{
    display:flex !important;
    flex:0 0 100%;
    width:100%;
    flex-direction:column;
    align-items:flex-start !important;
    gap:8px !important;
    padding-top:4px;
  }

  .guideLabel{
    display:block !important;
    text-align:left !important;
    letter-spacing:.20em !important;
  }

  #toolbarNextStepBtn{
    width:min(100%, 420px) !important;
    min-height:56px;
    font-size:18px !important;
    font-weight:800;
    letter-spacing:-.01em;
    position:relative;
    overflow:hidden;
    box-shadow:0 14px 34px rgba(0,0,0,.28), 0 0 0 1px rgba(160,139,255,.16) !important;
  }

  .heroCard .actions{
    display:none !important;
  }
}

/* v0.83 finishing pass */
#spotlightStatusTag{
  display:none !important;
}

.spotlightDismiss.iconDismiss{
  min-width:44px;
  min-height:44px;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  font-size:26px !important;
  line-height:1 !important;
  border:1px solid rgba(145,178,235,.18);
  background:rgba(8,14,27,.34);
  color:#eef4ff !important;
}

.spotlightActions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  align-items:stretch !important;
}

.spotlightActions > button,
.spotlightActions > a{
  width:100% !important;
  margin:0 !important;
}

@media (max-width: 768px) {
  .trustShelf{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:start !important;
    row-gap:8px !important;
  }

  .trustShelf .trustLabel{
    display:block !important;
    width:100% !important;
    margin:0 0 2px !important;
    line-height:1.28 !important;
    text-align:center !important;
  }

  .trustStatusCluster,
  .trustMetaCluster,
  .trustActions{
    width:100% !important;
  }

  .trustStatusCluster{
    margin-top:0 !important;
    align-items:stretch !important;
  }

  .trustMetaCluster{
    justify-content:center !important;
  }
}

@media (min-width: 769px) {
  .trustActions{
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .guideLabel{
    width:min(100%, 390px);
    text-align:center !important;
    margin:0 auto !important;
  }

  #toolbarNextStepBtn{
    width:min(100%, 390px) !important;
    margin:0 auto !important;
    font-size:16px !important;
    letter-spacing:0 !important;
  }

  #downloadSessionSeal,
  #downloadAudit,
  #passkeySoftTag{
    display:none !important;
  }

  .presenceBanner.compactPresence{
    display:none !important;
  }

  .presenceBanner:not(.requiresPresence){
    margin-bottom:10px;
  }
}

/* v0.83 unhide repurposed spotlight secondary action */
#spotlightDownloadSealBtn{
  display:block !important;
}

/* v0.84 mobile trust shelf containment */
@media (max-width: 768px) {
  .trustShelf {
    align-items: stretch !important;
  }

  .trustStatusCluster,
  .trustMetaCluster,
  .trustActions {
    width: 100% !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    min-width: 0 !important;
  }

  .trustStatusCluster .tag,
  .trustMetaCluster .pill,
  .toolbarSessionGuide {
    max-width: calc(100vw - 64px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .trustStatusCluster .tag {
    flex: 1 1 auto !important;
    justify-content: center !important;
    min-width: 0 !important;
  }

  .toolbarNextStepBtn {
    font-size: 15px !important;
  }
}
