/* OmniLaunch consolidated stylesheet v17 */

/* Exact original CSS order preserved, with only safe final overrides appended. */



/* === paNavBar_fixed.css === */

/* OmniLaunch - fixed NavBar CSS */
.navbar1 {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
  width: 100%;
  overflow: visible !important;
  background: transparent;
}

.navbar1 * {
  box-sizing: border-box;
}

.dropdown1,
.menu-group,
.submenu,
.group {
  position: relative;
}

.dropdown1 {
  display: inline-flex;
  flex-direction: column;
  align-items: stretch;
}

.dropbtn,
.menu-group-btn,
.navbar1 .button,
.navbar1 button.button {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid rgba(15, 23, 42, 0.10);
  background: #ffffff;
  color: #0f172a;
  border-radius: 12px;
  font: inherit;
  line-height: 1.2;
  cursor: pointer;
  text-align: left;
  min-height: 42px;
}

.dropbtn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  font-size: 15px;
  font-weight: 700;
  box-shadow: 0 1px 2px rgba(0,0,0,.03);
}

.dropbtn:hover,
.dropbtn:focus,
.menu-group-btn:hover,
.menu-group-btn:focus,
.navbar1 .button:hover,
.navbar1 .button:focus {
  background: #f8fafc;
  outline: none;
}

.dropbtn .caret,
.menu-group-btn .caret {
  opacity: .7;
  font-size: 12px;
}

.dropdown-content {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 220px;
  max-width: min(92vw, 480px);
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 14px;
  box-shadow: 0 14px 28px rgba(2,6,23,.14);
  padding: 10px;
  z-index: 99999;
  overflow: visible !important;
}

.dropdown1.open > .dropdown-content,
.dropdown1.mobile-open > .dropdown-content,
.dropdown1:hover > .dropdown-content,
.dropdown1:focus-within > .dropdown-content {
  display: block;
}

.navbar1 .button,
.dropdown-content .button,
.dropdown-content button.button {
  display: block;
  width: 100% !important;
  padding: 10px 12px;
  margin: 0;
  background: #ffffff;
  color: #111827;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  white-space: normal !important;
  text-align: left !important;
  box-shadow: none;
}

.dropdown-content .button:hover,
.dropdown-content button.button:hover {
  background: #f8fafc;
}

.dropdown-content .icon {
  font-style: normal;
  font-size: 0.96em;
}

.menu-entry-spacer {
  height: 8px;
}

.menu-group {
  display: block;
}

.menu-group-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 10px 12px;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 12px;
  font-weight: 800;
  background: #f8fafc;
  color: #374151;
}

.menu-group-items {
  display: none;
  position: absolute;
  top: 0;
  left: calc(100% + 6px);
  min-width: 240px;
  max-width: min(92vw, 420px);
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 14px;
  box-shadow: 0 14px 28px rgba(2,6,23,.14);
  padding: 10px;
  z-index: 100000;
}

.menu-group.open > .menu-group-items,
.menu-group:hover > .menu-group-items,
.menu-group:focus-within > .menu-group-items {
  display: block;
}

.navbar1-panel {
  display: block;
  width: 100%;
  overflow: visible !important;
}

.hamburger-btn {
  display: none;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(15,23,42,.12);
  background: #ffffff;
  color: #0f172a;
  border-radius: 12px;
  padding: .5rem .65rem;
  margin: 0;
}

@media (max-width: 767px) {
  .hamburger-btn {
    display: inline-flex !important;
  }

  .navbar1-panel {
    display: none !important;
    width: 100%;
    margin-top: 8px;
  }

  .navbar1-panel.open {
    display: block !important;
  }

  .navbar1 {
    flex-direction: column !important;
    gap: 10px;
  }

  .dropdown1 {
    width: 100%;
    display: block;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 14px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
  }

  .dropbtn {
    width: 100%;
    border: 0;
    border-radius: 0;
    min-height: 48px;
    padding: 14px 16px;
    background: #ffffff;
  }

  .dropdown-content {
    display: none;
    position: static !important;
    top: auto !important;
    left: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    border: 0;
    border-top: 1px solid rgba(15,23,42,.06);
    border-radius: 0;
    box-shadow: none;
    background: #f8fafc;
    padding: 8px;
  }

  .dropdown1.mobile-open > .dropdown-content,
  .dropdown1.open > .dropdown-content {
    display: block !important;
  }

  .navbar1 .button,
  .dropdown-content .button,
  .dropdown-content button.button {
    min-height: 46px;
    padding: 12px 14px;
    border-radius: 10px;
    margin: 0 0 8px 0;
  }

  .menu-group {
    position: static !important;
    margin-bottom: 8px;
  }

  .menu-group:last-child {
    margin-bottom: 0;
  }

  .menu-group-btn {
    min-height: 44px;
    border-radius: 10px;
  }

  .menu-group-items {
    display: none;
    position: static !important;
    top: auto !important;
    left: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border: 0;
    box-shadow: none;
    background: transparent;
    padding: 8px 0 0 12px;
  }

  .menu-group.open > .menu-group-items {
    display: block !important;
  }

  .menu-entry-spacer {
    display: none !important;
  }
}



/* === homepage2_styles_v12.css === */

:root {
                --text: #0f172a;
                --muted: #5f6b7a;
                --line: rgba(15,23,42,.10);
                --brand: #2563eb;
                --brand2: #7c3aed;
                --shadow: 0 18px 45px rgba(2,6,23,.12);
                --radius: 20px;
                --hero: radial-gradient(circle at top right, rgba(6,182,212,.18), transparent 30%),radial-gradient(circle at left, rgba(124,58,237,.16), transparent 22%),linear-gradient(135deg,#081322 0%,#10203a 46%,#132949 100%)
            }

            * {
                box-sizing: border-box
            }

            html {
                scroll-behavior: smooth
            }

            body {
                margin: 0;
                color: var(--text);
                font-family: "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;
                background: linear-gradient(180deg,#f4f8fd 0%,#edf3fb 100%)
            }

body {
                padding-top: 104px;
            }

@media (max-width: 991px) {
                body {
                    padding-top: 118px;
                }
            }

@media (max-width: 767px) {
                body {
                    padding-top: 132px;
                }
            }


            .shell {
                width: min(98vw, 2400px);
                margin: 0 auto
            }

            .topbar {
                position: fixed;
                top: 0;
                left: 0;
                right: 0;
                width: 100%;
                z-index: 3000;
                background: rgba(255,255,255,.98);
                border-bottom: 1px solid rgba(15,23,42,.08);
                backdrop-filter: blur(14px);
                box-shadow: 0 4px 20px rgba(15,23,42,.08);
                overflow: visible !important
            }

            .topbar-inner {
                display: grid;
                grid-template-columns: auto 1fr auto;
                gap: 14px;
                align-items: center;
                padding: 10px 0;
                overflow: visible!important
            }

            .brand-logo {
                width: 46px;
                height: 46px;
                border-radius: 14px;
                display: grid;
                place-items: center;
                color: #fff;
                font-weight: 800;
                background: rgba(215,108,72,1.0);
                /*background: linear-gradient(135deg,var(--brand),var(--brand2));*/
                box-shadow: 0 14px 30px rgba(37,99,235,.25);
                letter-spacing: .04em
            }

            .topbar-nav-wrap {
                min-width: 0;
                overflow: visible!important
            }

            .toolbar {
                display: flex;
                gap: 10px;
                flex-wrap: wrap;
                align-items: center;
                justify-content: flex-end
            }

            .ol-btn,.ol-btn-ghost {
                border: 0;
                border-radius: 999px;
                padding: 10px 16px;
                font-weight: 700;
                cursor: pointer;
                transition: transform .18s ease,box-shadow .18s ease,background .18s ease;
                text-decoration: none;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                gap: 8px;
                line-height: 1.2;
                white-space: nowrap
            }

            .ol-btn:hover,.ol-btn-ghost:hover {
                transform: translateY(-1px)
            }

            .ol-btn {
                background: linear-gradient(135deg,var(--brand),#1d4ed8);
                color: #fff;
                box-shadow: 0 14px 28px rgba(37,99,235,.24)
            }

            .ol-btn.secondary {
                background: linear-gradient(135deg,var(--brand2),#5b21b6)
            }

            .ol-btn-ghost {
                background: rgba(15,23,42,.04);
                color: var(--text);
                border: 1px solid rgba(15,23,42,.08)
            }

            .header-nav-shell {
                position: relative;
                background: linear-gradient(180deg,#fff,#f9fbff);
                border: 1px solid rgba(15,23,42,.08);
                border-radius: 18px;
                padding: 8px 12px;
                overflow: visible!important;
                min-height: 58px;
                z-index: 350
            }

            /* requested top layout */
            .top-tools-grid {
                display: grid;
                grid-template-columns: minmax(170px, 25%) minmax(0,1fr);
                gap: 18px;
                align-items: start;
                margin-top: 10px
            }

            .top-tools-left {
                display: grid;
                gap: 18px
            }

            .top-tools-right {
                display: grid;
                gap: 18px
            }

            .search-panel {
                padding: 16px 18px
            }

            .menu-search {
                width: 100%
            }

            #menuFilter {
                border-radius: 999px;
                border: 1px solid rgba(15,23,42,.12);
                padding: 13px 18px;
                font-size: .98rem;
                box-shadow: none;
                width: 100%
            }

            .device-card {
                min-width: 0
            }

            .device-card .widget-frame {
                min-height: 600px
            }

            .device-card .widget-frame iframe {
                min-height: 600px
            }

            .threat-card {
                min-width: 0
            }

            .threat-card .widget-frame {
                min-height: 590px
            }

            .threat-card .widget-frame iframe {
                min-height: 590px
            }

            .hero-section-grid {
                display: grid;
                grid-template-columns: 1fr;
                gap: 18px;
                margin-top: 24px
            }

            .hero {
                padding: 34px;
                color: #fff;
                background: var(--hero);
                border-radius: 28px;
                box-shadow: 0 28px 65px rgba(2,6,23,.24)
            }

            .hero-grid {
                display: grid;
                gap: 24px;
                grid-template-columns: minmax(0,1.55fr) minmax(280px,.9fr)
            }

            .eyebrow {
                display: inline-flex;
                align-items: center;
                gap: 8px;
                padding: 7px 12px;
                border-radius: 999px;
                font-size: .86rem;
                font-weight: 700;
                color: #dbeafe;
                background: rgba(255,255,255,.1);
                border: 1px solid rgba(255,255,255,.14);
                margin-bottom: 16px
            }

            .hero h2 {
                margin: 0 0 14px;
                font-size: clamp(2rem,4vw,3.3rem);
                line-height: 1.05;
                font-weight: 800;
                max-width: 13ch
            }

            .hero p {
                margin: 0;
                color: rgba(255,255,255,.86);
                line-height: 1.7;
                max-width: 64ch;
                font-size: 1.03rem
            }

            .hero-actions {
                display: flex;
                gap: 12px;
                flex-wrap: wrap;
                margin-top: 24px
            }

            .hero-stack {
                display: grid;
                gap: 14px
            }

            .glance,.cardy,.launch-panel {
                background: #fff;
                border-radius: var(--radius);
                border: 1px solid var(--line);
                box-shadow: var(--shadow)
            }

            .glance {
                padding: 18px
            }

            .glance h3 {
                margin: 0;
                color: #0f4ecc;
                font-size: 1.9rem;
                font-weight: 800
            }

            .glance p,.glance ul {
                margin: 10px 0 0;
                color: var(--muted);
                line-height: 1.75
            }

            .section-head {
                display: flex;
                align-items: end;
                justify-content: space-between;
                gap: 12px;
                margin: 30px 0 18px;
                flex-wrap: wrap
            }

            .section-head h3 {
                margin: 0;
                font-size: 1.55rem;
                font-weight: 800
            }

            .section-head p {
                margin: 8px 0 0;
                max-width: 78ch;
                color: var(--muted);
                line-height: 1.7
            }

            .chip {
                display: inline-flex;
                align-items: center;
                gap: 8px;
                padding: 9px 12px;
                border-radius: 999px;
                font-size: .86rem;
                font-weight: 700;
                background: rgba(37,99,235,.08);
                color: #1747c6
            }

            .grid-3,.launch-grid {
                display: grid;
                gap: 18px
            }

            .grid-3 {
                grid-template-columns: repeat(3,minmax(0,1fr))
            }

            .launch-grid {
                grid-template-columns: minmax(0,1.25fr) minmax(330px,.85fr);
                align-items: start
            }

            .cardy {
                padding: 22px
            }

            .iconbox {
                width: 44px;
                height: 44px;
                border-radius: 14px;
                display: grid;
                place-items: center;
                color: #fff;
                font-weight: 800;
                background: linear-gradient(135deg,var(--brand),var(--brand2));
                margin-bottom: 14px
            }

            .cardy h4 {
                margin: 0 0 10px;
                font-size: 1.06rem;
                font-weight: 800
            }

            .cardy p,.cardy li {
                color: var(--muted);
                line-height: 1.72
            }

            .cardy ul {
                padding-left: 18px;
                margin: 10px 0 0
            }

            .launch-panel {
                padding: 18px;
                overflow: visible!important;
                position: relative;
                z-index: 110
            }

            .launch-toolbar {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 12px;
                flex-wrap: wrap;
                margin-bottom: 14px
            }

            .widget-frame {
                margin-top: 10px;
                border-radius: 16px;
                overflow: hidden;
                background: #fff;
                border: 1px solid rgba(15,23,42,.08);
                min-height: 340px
            }

            .widget-frame iframe {
                width: 100%;
                min-height: 340px;
                border: 0;
                background: #fff
            }

            .footer {
                margin: 36px 0 26px;
                padding-top: 22px;
                border-top: 1px solid rgba(15,23,42,.08);
                color: var(--muted);
                display: flex;
                justify-content: space-between;
                gap: 12px;
                flex-wrap: wrap;
                font-size: .95rem
            }

            .omni-modal {
                position: fixed;
                inset: 0;
                display: none;
                align-items: center;
                justify-content: center;
                padding: 20px;
                background: rgba(2,6,23,.65);
                backdrop-filter: blur(8px);
                z-index: 5000
            }

            .omni-modal.open {
                display: flex
            }

            .omni-modal-card {
                width: min(760px,100%);
                max-height: 88vh;
                overflow: auto;
                background: #fff;
                color: var(--text);
                border-radius: 24px;
                border: 1px solid rgba(15,23,42,.08);
                box-shadow: 0 32px 80px rgba(2,6,23,.34)
            }

            .omni-modal-head {
                display: flex;
                justify-content: space-between;
                align-items: flex-start;
                gap: 16px;
                padding: 24px 24px 0
            }

            .omni-modal-head h3 {
                margin: 0;
                font-weight: 800;
                font-size: 1.45rem
            }

            .omni-modal-head p {
                margin: 8px 0 0;
                color: var(--muted);
                line-height: 1.65
            }

            .omni-modal-body {
                padding: 20px 24px 24px
            }

            .modal-close {
                width: 40px;
                height: 40px;
                border: 0;
                border-radius: 999px;
                cursor: pointer;
                font-size: 1.15rem;
                background: rgba(15,23,42,.06)
            }

            .about-grid {
                display: grid;
                gap: 14px;
                margin-top: 18px
            }

            .about-grid>div {
                padding: 14px 16px;
                border-radius: 16px;
                border: 1px solid rgba(37,99,235,.10);
                background: linear-gradient(180deg,rgba(37,99,235,.05),rgba(124,58,237,.03))
            }

            .form-grid {
                display: grid;
                grid-template-columns: repeat(2,minmax(0,1fr));
                gap: 14px
            }

            .form-row {
                display: flex;
                flex-direction: column;
                gap: 8px
            }

            .form-row.full {
                grid-column: 1/-1
            }

            .form-row label {
                margin: 0;
                font-size: .92rem;
                font-weight: 700
            }

            .form-row input,.form-row textarea,.form-row select {
                width: 100%;
                border: 1px solid rgba(15,23,42,.12);
                border-radius: 14px;
                padding: 12px 14px;
                font: inherit;
                background: #fff;
                color: var(--text)
            }

            .form-row textarea {
                min-height: 150px;
                resize: vertical
            }

            .form-note {
                margin-top: 14px;
                color: var(--muted);
                font-size: .92rem;
                line-height: 1.65
            }

            .form-status {
                min-height: 22px;
                margin-top: 14px;
                font-size: .92rem;
                font-weight: 700
            }

            .text-success {
                color: #16a34a
            }

            .text-warning {
                color: #ea580c
            }

            #popupPrefsOverlay {
                display: none;
                position: fixed;
                inset: 0;
                background: rgba(2,6,23,.66);
                z-index: 4500;
                align-items: center;
                justify-content: center;
                padding: 18px;
                backdrop-filter: blur(8px)
            }

            #popupPrefsOverlay .prefs-panel {
                background: #fff;
                width: min(1050px,100%);
                max-height: 90vh;
                overflow: auto;
                border-radius: 22px;
                box-shadow: 0 28px 70px rgba(2,6,23,.34);
                border: 1px solid rgba(15,23,42,.08);
                padding: 20px
            }

            .prefs-header {
                display: flex;
                align-items: flex-start;
                justify-content: space-between;
                gap: 12px
            }

            .prefs-title {
                font-weight: 800;
                font-size: 1.1rem
            }

            .prefs-subtitle {
                margin: 5px 0 0;
                color: var(--muted);
                font-size: .94rem
            }

            .prefs-box {
                margin-top: 14px;
                padding: 14px;
                border: 1px solid rgba(15,23,42,.09);
                border-radius: 18px;
                background: linear-gradient(180deg,#fff,#fbfdff)
            }

            .prefs-box h5 {
                margin: 0 0 6px;
                font-size: 1rem;
                font-weight: 800
            }

            
            @media (max-width: 1199px) {
                .bottom-content-grid {
                    grid-template-columns: 1fr;
                }
            }
@media (max-width: 1199px) {
                .hero-grid,.grid-3,.launch-grid,.top-tools-grid {
                    grid-template-columns:1fr
                }

                .topbar-inner {
                    grid-template-columns: auto 1fr
                }

                .toolbar {
                    grid-column: 1/-1;
                    justify-content: flex-start
                }

                .device-card .widget-frame,.device-card .widget-frame iframe,.threat-card .widget-frame,.threat-card .widget-frame iframe {
                    min-height: 320px
                }
            }

            @media (max-width: 767px) {
                .shell {
                    width:min(100% - 14px,100%)
                }

                .topbar-inner {
                    grid-template-columns: 1fr;
                    align-items: stretch;
                    gap: 10px
                }

                .brand-logo {
                    display: none
                }

                .toolbar,.hero-actions {
                    width: 100%
                }

                .toolbar>*,.hero-actions>* {
                    flex: 1 1 auto
                }

                .ol-btn,.ol-btn-ghost {
                    width: 100%
                }

                .hero {
                    padding: 24px 20px
                }

                .hero h2 {
                    max-width: 100%
                }

                .section-head {
                    align-items: start
                }

                .form-grid {
                    grid-template-columns: 1fr
                }

                .device-card .widget-frame,.device-card .widget-frame iframe,.threat-card .widget-frame,.threat-card .widget-frame iframe {
                    min-height: 240px
                }
            }
        
            .bottom-content-grid {
                display: grid;
                grid-template-columns: minmax(0,1.25fr) minmax(320px,.85fr);
                gap: 22px;
                margin-top: 28px;
                align-items: start;
            }
            .bottom-main, .bottom-side { min-width: 0; }
            .compact-head { margin: 0 0 16px; }
            .compact-head p { max-width: 72ch; }
            .info-card-grid { margin-top: 0; }
            .info-card { height: 100%; }
            .side-head { margin-top: 0; }
            .tidy-launch-panel { padding: 16px; }
            .tidy-toolbar { margin-bottom: 12px; }
            .launch-helper-card { padding: 18px; }
            .launch-helper-card ul { margin: 10px 0 0; padding-left: 18px; }
            .support-card-stack { display: grid; gap: 14px; margin-top: 14px; }
            .support-card { padding: 18px 20px; }
            .tidy-footer { align-items: center; }
            .footer-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; justify-content: flex-end; }

.brand-logo.brand-logo-image-wrap{
  width:64px;
  height:64px;
  padding:0;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible!important
}
.brand-logo-image{
  display:block;
  width:64px;
  height:64px;
  object-fit:contain
}
@media (max-width:767px){
  .brand-logo.brand-logo-image-wrap{
    width:52px;
    height:52px
  }
  .brand-logo-image{
    width:52px;
    height:52px
  }
}


/* Readable classes extracted from inline styles in homepage2.html */
.ol-nav-item-w-100-li { list-style:none; }
.ol-menuaccordion-accordion-div { display:none !important; }
.ol-mt-3-d-flex-div { gap:10px; }
.ol-popupprefssub-div { margin-top:6px;font-size:13px;color:#444; }
.ol-div { margin-top:12px;display:flex;gap:10px;flex-wrap:wrap;align-items:end; }
.ol-label-label { display:flex;flex-direction:column;font-size:13px;gap:6px; }
.ol-prefw-input-number { padding:10px 12px;width:120px;border:1px solid #ccc;border-radius:12px; }
.ol-prefx-input-number-blank { padding:10px 12px;width:140px;border:1px solid #ccc;border-radius:12px; }
.ol-div-2 { margin-top:14px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap; }
.ol-prefstatus-div { margin-top:10px;font-size:13px;color:#333;min-height:18px; }
.ol-div-3 { margin-top:4px;font-size:13px;color:#444; }
.ol-prefs-box-div { margin-top:12px; }
.ol-h5 { font-size:15px; }
.ol-div-4 { display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-top:10px; }
.ol-menucategory-select-select { padding:10px 12px;width:180px;border:1px solid #ccc;border-radius:12px; }
.ol-menuurl-input-text-https-example-com { padding:10px 12px;width:280px;border:1px solid #ccc;border-radius:12px; }
.ol-menugroup-input-text-e-g-switches { padding:10px 12px;width:160px;border:1px solid #ccc;border-radius:12px; }
.ol-menuwidth-input-number { padding:10px 12px;width:100px;border:1px solid #ccc;border-radius:12px; }
.ol-ol-btn-button-button-add-menu-item { background:linear-gradient(135deg,#16a34a,#15803d); }
.ol-menucategoryview-select-select { padding:10px 12px;width:220px;border:1px solid #ccc;border-radius:12px; }
.ol-ol-btn-button-button-move-selected-to-group { background:linear-gradient(135deg,#ea580c,#c2410c); }
.ol-menueditorlist-div { margin-top:12px;border:1px solid #ddd;border-radius:14px;overflow:hidden; }

/* Desktop: keep the two top tool cards at 90% of the viewport minus sticky header height */
@media (min-width: 992px) {
  .top-tools-left.device-card,
  .top-tools-right.threat-card {
    height: calc(90vh - 104px);
    min-height: calc(90vh - 104px);
  }

  .top-tools-left.device-card > .cardy,
  .top-tools-right.threat-card > .cardy {
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  .top-tools-left.device-card .widget-frame,
  .top-tools-right.threat-card .widget-frame {
    flex: 1 1 auto;
    min-height: 0;
  }

  .top-tools-left.device-card iframe,
  .top-tools-right.threat-card iframe {
    width: 100%;
    height: 100%;
    display: block;


/* ========================================================================== 
   OmniLaunch v12 bottom-layout tightening + corrected hero inline row
   Full drop-in replacement CSS
   ========================================================================== */

/* --- Hero layout correction: eyebrow and actions beside each other, no stretched buttons --- */
.hero-grid > div:first-child {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "toprow"
    "title"
    "body";
  row-gap: 14px;
  min-width: 0;
}

.hero-grid > div:first-child > .eyebrow,
.hero-grid > div:first-child > .hero-actions,
.hero-grid > div:first-child > h2,
.hero-grid > div:first-child > p {
  min-width: 0;
}

.hero-grid > div:first-child > .eyebrow {
  grid-area: toprow;
  display: inline-flex;
  align-items: center;
  margin: 0;
}

.hero-grid > div:first-child > .hero-actions {
  grid-area: toprow;
  justify-self: end;
  align-self: center;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin: 0;
  min-width: 0;
}

.hero-grid > div:first-child > h2 {
  grid-area: title;
  margin: 0;
  max-width: 15ch;
}

.hero-grid > div:first-child > p {
  grid-area: body;
  max-width: 72ch;
}

/* Keep hero buttons content-width on desktop */
.hero-actions .ol-btn,
.hero-actions .ol-btn-ghost {
  width: auto;
  flex: 0 0 auto;
}

/* --- Bottom section: stable, compact, non-overlapping --- */
.bottom-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.82fr);
  gap: 22px;
  align-items: start;
  margin-top: 28px;
  margin-bottom: 12px;
  position: relative;
  isolation: isolate;
}

.bottom-main,
.bottom-side {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.bottom-content-grid .section-head,
.bottom-content-grid .compact-head,
.bottom-content-grid .side-head {
  margin: 0;
  align-items: flex-start;
}

.bottom-content-grid .section-head h3,
.bottom-content-grid .section-head p,
.bottom-content-grid .compact-head p,
.bottom-content-grid .bottom-main p,
.bottom-content-grid .bottom-side p,
.bottom-content-grid .bottom-main li,
.bottom-content-grid .bottom-side li {
  position: relative;
  z-index: 1;
}

.bottom-content-grid .compact-head p {
  max-width: 72ch;
}

.bottom-content-grid article,
.bottom-content-grid .cardy,
.bottom-content-grid .launch-panel {
  min-width: 0;
  position: relative;
  z-index: 0;
}

.bottom-content-grid .cardy,
.bottom-content-grid .launch-panel,
.footer .search-panel {
  overflow: hidden;
}

.bottom-main > .grid-3,
.bottom-side > .support-card-stack {
  margin-top: 0;
}

.bottom-main .grid-3 {
  gap: 16px;
}

.info-card-grid {
  margin-top: 0;
}

.info-card,
.support-card,
.launch-helper-card {
  height: 100%;
}

.info-card,
.support-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.info-card p,
.support-card p,
.launch-helper-card p,
.launch-helper-card li {
  margin-bottom: 0;
  overflow-wrap: anywhere;
}

.support-card {
  padding: 18px 20px;
}

.support-card .ol-btn {
  align-self: flex-start;
}

.tidy-launch-panel {
  padding: 16px;
}

.tidy-toolbar {
  margin-bottom: 12px;
}

.launch-helper-card {
  padding: 18px;
}

.launch-helper-card ul {
  margin: 10px 0 0;
  padding-left: 18px;
}

.support-card-stack {
  display: grid;
  gap: 14px;
  margin-top: 0;
}

.bottom-side {
  position: relative;
}

@media (min-width: 1200px) {
  .bottom-side {
    position: sticky;
    top: calc(104px + 12px);
  }
}

/* --- Footer/search area --- */
.tidy-footer {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.95fr) auto;
  gap: 16px;
  align-items: center;
  margin: 28px 0 22px;
  padding: 18px 0 calc(10px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(15,23,42,.08);
}

.footer-search-wrap {
  display: contents;
}

.footer-search-copy {
  min-width: 0;
  line-height: 1.6;
}

.footer-search-copy strong {
  color: #0f172a;
}

.footer .search-panel {
  padding: 14px 16px;
  min-width: 0;
  margin: 0;
}

.footer .menu-search,
.footer .menu-search input,
.footer .search-panel #menuFilter {
  width: 100%;
}

.footer-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
}

.bottom-content-grid .grid-3 > article,
.bottom-content-grid .support-card-stack > article {
  margin: 0;
}

.bottom-content-grid .grid-3,
.bottom-content-grid .support-card-stack,
.bottom-content-grid .launch-panel,
.bottom-content-grid .cardy {
  align-self: stretch;
}

.bottom-content-grid .grid-3 > * {
  min-width: 0;
}

@media (max-width: 1199.98px) {
  .bottom-content-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .bottom-side {
    position: static;
  }

  .bottom-main .grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tidy-footer {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .footer-search-wrap {
    display: grid;
    gap: 14px;
  }

  .footer-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  /* Mobile: eyebrow above buttons to avoid collisions, but keep buttons natural width unless too narrow */
  .hero-grid > div:first-child {
    grid-template-areas:
      "eyebrow"
      "actions"
      "title"
      "body";
    row-gap: 12px;
  }

  .hero-grid > div:first-child > .eyebrow {
    grid-area: eyebrow;
  }

  .hero-grid > div:first-child > .hero-actions {
    grid-area: actions;
    justify-self: start;
    justify-content: flex-start;
    width: 100%;
  }

  .hero-actions .ol-btn,
  .hero-actions .ol-btn-ghost {
    width: auto;
    flex: 0 1 auto;
  }

  .bottom-content-grid {
    gap: 16px;
    margin-top: 22px;
    margin-bottom: 6px;
  }

  .bottom-main,
  .bottom-side {
    gap: 14px;
  }

  .bottom-main .grid-3 {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .tidy-launch-panel,
  .launch-helper-card,
  .support-card,
  .footer .search-panel {
    padding-left: 14px;
    padding-right: 14px;
  }

  .tidy-footer {
    gap: 14px;
    margin: 22px 0 16px;
    padding-bottom: calc(12px + env(safe-area-inset-bottom));
  }

  .footer-actions {
    width: 100%;
  }

  .footer-actions > * {
    flex: 1 1 220px;
  }
}

@media (max-width: 480px) {
  body {
    padding-bottom: env(safe-area-inset-bottom);
  }

  .hero {
    padding: 22px 16px;
    border-radius: 22px;
  }

  .hero-grid > div:first-child > h2 {
    max-width: 100%;
    font-size: clamp(1.75rem, 8vw, 2.25rem);
  }

  .eyebrow {
    max-width: 100%;
    white-space: normal;
  }

  .hero-actions {
    gap: 8px;
  }

  .hero-actions .ol-btn,
  .hero-actions .ol-btn-ghost,
  .footer-actions > * {
    flex-basis: 100%;
    width: 100%;
  }

  .bottom-content-grid {
    gap: 14px;
  }

  .bottom-main,
  .bottom-side {
    gap: 12px;
  }

  .bottom-content-grid .cardy,
  .bottom-content-grid .launch-panel,
  .footer .search-panel {
    border-radius: 16px;
  }

  .support-card,
  .launch-helper-card,
  .tidy-launch-panel,
  .footer .search-panel {
    padding: 14px;
  }

  .footer-search-copy {
    font-size: .95rem;
  }

  .footer .search-panel #menuFilter {
    padding: 12px 16px;
    font-size: .96rem;
  }
}



/* === homepage2_blankstart_v3_topgap_fix.css === */

/* OmniLaunch v3 top-gap fix */
html, body {
  margin: 0 !important;
  padding: 0 !important;
}
body {
  background: #ffffff;
}
body > .topbar {
  margin-top: 0 !important;
}
.topbar {
  margin-top: 0 !important;
}
.topbar + .shell {
  margin-top: 0 !important;
  padding-top: 8px !important;
}
.shell {
  margin-top: 0;
}
.top-tools-grid {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.top-tools-grid .cardy,
.top-tools-grid article,
.top-tools-grid h4 {
  margin-top: 0 !important;
}





/* ========================================================================== 
   OmniLaunch consolidated v17
   - Remove header action buttons entirely
   - Simplify header to logo + paNavBar only
   - Focus on keeping eyebrow + hero action buttons on one desktop row
   - Preserve copy-card styling and mobile bottom-layout cleanup
   ========================================================================== */

/* ----- Simplified header: logo + paNavBar only ----- */
.topbar { overflow: visible !important; }

.topbar-inner {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
  row-gap: 8px;
  padding-top: 8px;
  padding-bottom: 8px;
}

.brand-logo {
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  border-radius: 12px;
  font-size: .95rem;
  display: grid;
  place-items: center;
  align-self: center;
  justify-self: center;
}

.topbar-nav-wrap,
.header-nav-shell,
.header-nav-shell .wrapper,
.header-nav-shell .container-fluid,
.header-nav-shell header,
.header-nav-shell nav.navbar,
.header-nav-shell .navbar-collapse,
.header-nav-shell .navbar-nav,
.header-nav-shell .nav-item,
.header-nav-shell main { min-width: 0; }

.topbar-nav-wrap { overflow: visible !important; }

.header-nav-shell .wrapper,
.header-nav-shell .container-fluid,
.header-nav-shell header,
.header-nav-shell nav.navbar {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.header-nav-shell nav.navbar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}

.header-nav-shell .navbar-collapse { overflow: visible !important; }

@media (max-width: 991.98px) {
  .topbar-inner {
    grid-template-columns: 36px minmax(0, 1fr);
    column-gap: 8px;
  }

  .brand-logo {
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
    border-radius: 10px;
  }
}

/* ----- Hero row: keep eyebrow + hero actions on ONE desktop row ----- */
.hero-top-row {
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
  row-gap: 10px;
  margin-bottom: 16px;
}

.hero-top-row .eyebrow {
  margin: 0;
  white-space: nowrap !important;
}

.hero-top-row .hero-actions {
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  align-items: center;
  justify-content: end;
  gap: 8px;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  margin: 0;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}

.hero-top-row .hero-actions > * {
  flex: 0 0 auto !important;
}

.hero-top-row .hero-actions .ol-btn,
.hero-top-row .hero-actions .ol-btn-ghost {
  width: auto !important;
  min-width: auto !important;
  padding: 7px 10px;
  min-height: 34px;
  font-size: .84rem;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.hero-grid > div:first-child > h2 { margin-top: 0; }

@media (max-width: 991.98px) {
  .hero-top-row {
    grid-template-columns: 1fr;
  }

  .hero-top-row .eyebrow {
    white-space: normal !important;
  }

  .hero-top-row .hero-actions {
    display: flex !important;
    justify-content: flex-start;
    flex-wrap: wrap !important;
    white-space: normal !important;
    overflow: visible;
  }
}

@media (max-width: 480px) {
  .hero-top-row .hero-actions .ol-btn,
  .hero-top-row .hero-actions .ol-btn-ghost {
    flex-basis: 100% !important;
    width: 100% !important;
  }
}

/* ----- Copy cards ----- */
.copy-card {
  background: #fff;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.copy-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.72;
}
.hero-copy-card,
.section-copy-card,
.footer-copy-card { padding: 16px 18px; }
.hero-copy-card { margin-top: 14px; max-width: 72ch; }
.section-copy-card { margin-top: 10px; }
.footer-copy-card { line-height: 1.6; }
.footer-copy-card strong { color: #0f172a; }

/* ----- iPhone-friendly bottom tightening ----- */
@media (max-width: 767.98px) {
  .bottom-content-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px;
    margin-top: 20px;
    margin-bottom: 8px;
    align-items: start;
  }
  .bottom-main,
  .bottom-side {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .bottom-content-grid .section-head,
  .bottom-content-grid .compact-head,
  .bottom-content-grid .side-head {
    margin: 0 !important;
    align-items: flex-start;
  }
  .bottom-main .grid-3,
  .bottom-main .info-card-grid,
  .support-card-stack {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px;
    margin-top: 0 !important;
  }
  .bottom-content-grid article,
  .bottom-content-grid .cardy,
  .bottom-content-grid .launch-panel,
  .footer .search-panel {
    min-width: 0;
    overflow: hidden;
  }
  .tidy-launch-panel,
  .launch-helper-card,
  .support-card,
  .footer .search-panel,
  .copy-card {
    padding-left: 14px;
    padding-right: 14px;
  }
  .tidy-footer {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px;
    align-items: start;
    margin: 22px 0 16px;
    padding-bottom: calc(12px + env(safe-area-inset-bottom));
  }
  .footer-search-wrap {
    display: grid !important;
    gap: 12px;
  }
  .footer-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 480px) {
  body { padding-bottom: env(safe-area-inset-bottom); }
  .bottom-content-grid { gap: 12px; }
  .bottom-main,
  .bottom-side { gap: 12px; }
  .bottom-content-grid .cardy,
  .bottom-content-grid .launch-panel,
  .footer .search-panel,
  .copy-card { border-radius: 16px; }
  .support-card,
  .launch-helper-card,
  .tidy-launch-panel,
  .footer .search-panel,
  .copy-card { padding: 14px; }
  .bottom-content-grid p,
  .bottom-content-grid li,
  .footer-search-copy { overflow-wrap: anywhere; }
}


/* ================================
   OmniLaunch AI floating assistant
   ================================ */

#olAiAssistantRoot {
  position: static;
  z-index: 2147483000;
}

/* Floating action button */
#olAiFab {
  position: fixed !important;
  right: 20px !important;
  bottom: 20px !important;
  left: auto !important;
  top: auto !important;

  width: 58px;
  height: 58px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 999px;
  background: #111827;
  box-shadow: 0 10px 28px rgba(0,0,0,0.35);
  cursor: pointer;
  z-index: 2147483646;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  line-height: 1;
}

#olAiFab:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(0,0,0,0.42);
}

#olAiFab img {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
  pointer-events: none;
}

/* Right-side drawer */
#olAiDrawer {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  bottom: 0 !important;

  width: min(460px, 92vw);
  height: 100vh;
  max-height: 100vh;
  margin: 0;
  padding: 0;
  border: none;
  background: #0b1220;
  box-shadow: -10px 0 28px rgba(0,0,0,0.42);
  z-index: 2147483645;

  display: flex;
  flex-direction: column;
  overflow: hidden;

  transform: translateX(100%);
  transition: transform 220ms ease;
}

/* Open state */
#olAiDrawer.is-open {
  transform: translateX(0);
}

#olAiDrawerHeader {
  flex: 0 0 52px;
  height: 52px;
  min-height: 52px;
  padding: 0 14px;
  background: #111827;
  color: #ffffff;
  border-bottom: 1px solid rgba(255,255,255,0.08);

  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 600;
}

#olAiDrawerClose {
  appearance: none;
  background: transparent;
  border: none;
  color: #ffffff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  padding: 0 2px;
}

/* Important: allow iframe to actually expand */
#olAiFrame {
  display: block;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  height: calc(100vh - 52px);
  border: 0;
  background: #ffffff;
}

/* Optional mobile adjustment */
@media (max-width: 768px) {
  #olAiFab {
    right: 14px !important;
    bottom: 14px !important;
    width: 54px;
    height: 54px;
  }

  #olAiDrawer {
    width: 100vw;
  }
}
