/* Shared public and authenticated desktop download controls. */
.marketing-surface #desktopDownloads {
    --text-primary: var(--marketing-text-strong);
    --text-secondary: var(--marketing-copy);
    --surface-outline-strong: var(--marketing-border-strong);
    --surface-secondary: var(--marketing-bg);
    --surface-tertiary: var(--marketing-bg-deep);
    --shadow-soft: var(--marketing-shadow-soft);
}
.marketing-surface .desktop-download > .btn {
    flex: 1; border-radius: .45rem 0 0 .45rem;
}
.marketing-surface .desktop-download__details { align-self: stretch; }
.marketing-surface .desktop-download__details summary {
    height: 100%; width: 2.75rem; padding: .55rem 0;
    border-radius: 0 .45rem .45rem 0;
    color: var(--marketing-accent); font-size: 1rem;
}
.marketing-surface .desktop-download > .btn:hover { background: rgba(30, 100, 200, .06); }
.integrations-page .contact-band { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; }
.integrations-page .contact-band__actions {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem; width: 440px; margin: 0;
}
.integrations-page .contact-band__actions #desktopDownloads { display: contents; }
.integrations-page .contact-band__actions > .btn { white-space: nowrap; }
@media (max-width: 991.98px) {
    .integrations-page .contact-band { grid-template-columns: 1fr; }
    .integrations-page .contact-band__actions { width: 100%; }
}
@media (max-width: 479.98px) {
    .integrations-page .contact-band__actions { grid-template-columns: 1fr; }
}
.marketing-surface .desktop-download__information .text-muted { color: var(--marketing-copy) !important; }
#desktopDownloads { display: flex; align-items: center; gap: .5rem; flex-wrap: nowrap; }
.desktop-download { display: inline-flex; align-items: center; position: relative; }
.desktop-download > .btn:not(.marketing-btn) {
    border: 1px solid var(--surface-outline-strong);
    border-radius: .4rem 0 0 .4rem;
    background: transparent;
    color: var(--text-primary);
    font-size: .8rem;
    padding: .4rem .65rem;
    white-space: nowrap;
}
.desktop-download > .btn:not(.marketing-btn):hover { background: var(--surface-tertiary); }
.desktop-download__details { position: static; }
.desktop-download__details summary {
    display: grid; place-items: center; list-style: none; cursor: pointer;
    width: 2.125rem; padding: .4rem 0;
    border: 1px solid var(--surface-outline-strong); border-left: 0;
    border-radius: 0 .4rem .4rem 0;
    color: var(--text-secondary); font: italic 600 .8rem/1.5 Georgia, serif;
}
.desktop-download__details summary:hover,
.desktop-download__details[open] summary { background: var(--surface-tertiary); color: var(--text-primary); }
.desktop-download__details summary::-webkit-details-marker { display: none; }
.desktop-download__details summary:focus-visible { outline: 2px solid var(--text-primary); outline-offset: 2px; }
.desktop-download__information {
    position: absolute; left: 0; top: calc(100% + .5rem); z-index: 30;
    width: min(320px, 85vw); padding: .85rem; white-space: normal;
    background: var(--surface-secondary); color: var(--text-primary);
    border: 1px solid var(--surface-outline-strong); border-radius: .5rem;
    box-shadow: var(--shadow-soft);
}
.desktop-download:not(:first-child):last-child .desktop-download__information { left:auto; right:0; }
.desktop-download__status { margin:0; }
.desktop-download__retry { min-height:44px; }
.desktop-download__heading { margin-bottom: .5rem; }
.desktop-download__heading span { display: block; margin-top: .2rem; }
.desktop-download__information p { margin-bottom: .5rem; }
@media (max-width: 575.98px) {
    #desktopDownloads { flex-wrap: wrap; flex-direction:column; align-items:stretch; }
    .desktop-download > .btn { flex:1; min-height:44px; }
    .desktop-download__details summary { width:44px; min-height:44px; }
    .desktop-download__information,
    .desktop-download:not(:first-child):last-child .desktop-download__information { left:0; right:auto; }
}
.desktop-resource-bar { display: flex; align-items: baseline; flex-wrap: wrap; gap: 1rem; }
.desktop-developer-resources summary { cursor: pointer; font-size: .875rem; }
.desktop-setup-steps { padding-left: 1.25rem; }
.desktop-setup-steps li { margin-bottom: .85rem; }
.desktop-setup-progress { border-top: 1px solid var(--surface-outline-strong, #dee2e6); padding: .8rem 0; }
.desktop-setup-progress:first-child { border-top: 0; }
.desktop-setup-facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: .3rem .75rem; font-size: .8rem; }
.desktop-setup-facts dd { margin: 0; overflow-wrap: anywhere; }
#desktopAgentSetupModal code { overflow-wrap: anywhere; }
/* Installer information overlays the modal body without reflowing either
   platform's download button or detaching its information control. */
#desktopAgentSetupModal .desktop-download__information { background: var(--bs-modal-bg); }
#desktopAgentSetupModal #desktopDownloads { flex-wrap: wrap; }

/* Compatibility and signing are visible before the download is chosen. */
#desktopDownloads { align-items:flex-start; flex-wrap:wrap; }
.desktop-download { display:inline-grid; grid-template-columns:minmax(0,1fr) 44px; width:min(100%,18rem); max-width:100%; align-items:stretch; }
.desktop-download > .btn { min-width:44px; min-height:44px; white-space:normal !important; align-content:center; }
.desktop-download__details summary { min-width:44px; min-height:44px; width:44px; height:100%; }
.desktop-download__compatibility { grid-column:1/-1; margin:.35rem 0 0; color:var(--text-secondary); font-size:.8rem; overflow-wrap:anywhere; }
.desktop-download__information { max-width:100%; max-height:min(60vh,32rem); overflow:auto; }
.desktop-developer-resources :is(summary,a) { min-height:44px; min-width:44px; align-content:center; }
.desktop-developer-resources a { display:inline-block; overflow-wrap:anywhere; }
#desktopAgentSetupModal .modal-content { background:#101a34; overflow-wrap:anywhere; }
#desktopAgentSetupModal .modal-title { min-width:0; }
#desktopAgentSetupModal .modal-header { gap:.5rem; }
#desktopAgentSetupModal .btn-close { width:44px; height:44px; box-sizing:border-box; flex-shrink:0; }
#desktopAgentSetupModal :is(.btn,a,summary) { min-height:44px; min-width:44px; white-space:normal; align-content:center; }
#desktopAgentSetupModal .desktop-setup-details > summary { cursor:pointer; }
#desktopAgentSetupModal .desktop-download__information { background:#101a34; }
#desktopAgentSetupModal :is(.modal-body,.modal-footer) { padding:min(1rem,16px); }
#desktopAgentSetupModal .modal-body section > .d-flex { flex-wrap:wrap; }
#desktopAgentSetupModal .modal-body section h3 { min-width:0; }
#desktopAgentSetupModal .btn-outline-secondary { --bs-btn-color:var(--text-primary); --bs-btn-hover-color:var(--text-primary); --bs-btn-hover-bg:var(--surface-secondary); border:1px solid var(--surface-outline-strong); }
#desktopAgentSetupModal .btn-outline-primary { --bs-btn-color:#bad4ff; --bs-btn-hover-color:#101a34; --bs-btn-hover-bg:#bad4ff; border:1px solid #7fb4ff; }
#desktopAgentSetupModal .btn:disabled { opacity:1; color:#aebbd4; background:#24314d; border-color:#435878; }
#desktopAgentSetupModal :is(a,.text-muted) { color:#b9c9e8 !important; }
#desktopAgentSetupModal :is(a,summary,.btn):focus-visible { outline:2px solid var(--text-primary); outline-offset:2px; }
#desktopAgentSetupModal .desktop-setup-progress a { display:inline-block; }
#desktopAgentSetupModal :not(pre) > code { white-space:normal; overflow-wrap:anywhere; color:inherit; }
@media(max-width:575.98px) {
    #desktopAgentSetupModal .modal-header { flex-wrap:wrap; }
    #desktopAgentSetupModal .modal-title { order:3; flex-basis:100%; }
    #desktopAgentSetupModal .modal-header .btn-close { margin-left:auto; }
    #desktopAgentSetupModal .modal-footer { align-items:stretch; flex-direction:column; gap:.5rem; }
    #desktopAgentSetupModal .modal-footer > * { margin:0; }
    #desktopAgentSetupModal .desktop-setup-facts { grid-template-columns:minmax(0,1fr); gap:.2rem; }
    #desktopAgentSetupModal .desktop-setup-facts dd { margin-bottom:.5rem; }
}

.desktop-download__guide { display:inline-block; min-height:44px; align-content:center; overflow-wrap:anywhere; }

.marketing-surface .desktop-download__details summary { width:44px; }

.desktop-download > .btn { padding-inline:min(.6rem,8px) !important; overflow-wrap:anywhere; }
.desktop-download__information[data-placement="above"] { top:auto; bottom:calc(100% + .5rem); }
.desktop-download__information:focus-visible { outline:2px solid var(--text-primary); outline-offset:2px; }

@media(max-height:650px) {
    #desktopAgentSetupModal .modal-content { overflow-y:auto; }
    #desktopAgentSetupModal .modal-body { flex:0 0 auto; overflow:visible; }
}

.desktop-download__information { padding:min(.85rem,12px); }
