/* ========================================================================== 
   DYGI Pro v5.0
   Navigation, readable desktop forms, three-plan pricing, mobile applications,
   reCAPTCHA and admin commercial tools.
   ========================================================================== */

/* Navigation dropdown ------------------------------------------------------ */
.nav-dropdown {
    position: relative;
    display: flex;
    align-items: center;
}

.nav-dropdown-trigger {
    gap: 6px;
    border: 0;
    cursor: pointer;
    font: inherit;
}

.nav-dropdown-trigger > span {
    display: inline-block;
    font-size: .72em;
    transition: transform .2s ease;
}

.nav-dropdown-panel {
    position: absolute;
    z-index: 90;
    top: calc(100% + 15px);
    left: 50%;
    display: grid;
    width: min(430px, 82vw);
    gap: 7px;
    visibility: hidden;
    border: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
    border-radius: 20px;
    background: color-mix(in srgb, var(--card) 95%, transparent);
    box-shadow: 0 24px 70px rgba(16, 40, 90, .18), inset 0 1px 0 rgba(255,255,255,.75);
    padding: 11px;
    opacity: 0;
    transform: translate(-50%, -7px) scale(.98);
    transform-origin: top center;
    pointer-events: none;
    backdrop-filter: blur(22px) saturate(1.12);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.nav-dropdown-panel::before {
    position: absolute;
    top: -7px;
    left: 50%;
    width: 13px;
    height: 13px;
    border-top: 1px solid var(--border);
    border-left: 1px solid var(--border);
    background: var(--card);
    content: "";
    transform: translateX(-50%) rotate(45deg);
}

.nav-dropdown:hover .nav-dropdown-panel,
.nav-dropdown:focus-within .nav-dropdown-panel {
    visibility: visible;
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
    pointer-events: auto;
}

.nav-dropdown:hover .nav-dropdown-trigger > span,
.nav-dropdown:focus-within .nav-dropdown-trigger > span { transform: rotate(180deg); }

.nav-solution-link {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    min-height: 64px;
    border: 1px solid transparent;
    border-radius: 14px;
    color: var(--text);
    padding: 9px 11px;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.nav-solution-link:hover,
.nav-solution-link.is-active {
    border-color: rgba(0,94,255,.16);
    background: var(--blue-soft);
    transform: translateX(2px);
}

.nav-solution-link > .brand-mask-icon,
.nav-web-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    background: color-mix(in srgb, var(--blue-soft) 86%, var(--card));
}

.nav-solution-link > .brand-mask-icon { --mask-size: 22px; }
.nav-web-icon { color: var(--blue); font-size: 1.15rem; font-weight: 900; }
.nav-solution-link > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.nav-solution-link strong { color: var(--ink); font-size: .75rem; }
.nav-solution-link small { overflow: hidden; color: var(--muted); font-size: .57rem; text-overflow: ellipsis; white-space: nowrap; }
.nav-solution-link > b { color: var(--blue); font-size: .8rem; }

html[data-theme="dark"] .nav-dropdown-panel {
    border-color: rgba(125,160,220,.19);
    background: rgba(9,17,31,.96);
    box-shadow: 0 28px 80px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.035);
}
html[data-theme="dark"] .nav-dropdown-panel::before { border-color: rgba(125,160,220,.19); background: #09111f; }

/* Google reCAPTCHA --------------------------------------------------------- */
.recaptcha-field,
.dygi-recaptcha-wrap {
    display: grid;
    gap: 8px;
    align-items: start;
}

.dygi-recaptcha-shell {
    display: inline-flex;
    max-width: 100%;
    min-height: 78px;
    align-items: center;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: color-mix(in srgb, var(--bg-alt) 84%, var(--card));
    padding: 6px;
}

.dygi-recaptcha { min-height: 70px; }
.dygi-recaptcha-error { margin: 0; color: #dc2626; font-size: .72rem; font-weight: 700; }
html[data-theme="dark"] .dygi-recaptcha-shell { border-color: rgba(133,164,218,.2); background: rgba(7,15,27,.72); }

/* Desktop-only form legibility -------------------------------------------- */
@media (min-width: 900px) {
    .systems-page-v3 .custom-quote-layout { grid-template-columns: minmax(290px, .34fr) minmax(0, .66fr); }
    .systems-page-v3 .system-quote-form { font-size: 16px; }
    .systems-page-v3 .quote-form-header { padding: 28px 31px 24px; }
    .systems-page-v3 .quote-form-header h3 { margin: 5px 0 7px; font-size: 1.4rem; line-height: 1.18; }
    .systems-page-v3 .quote-form-header p { max-width: 690px; font-size: .86rem; line-height: 1.58; }
    .systems-page-v3 .quote-form-kicker,
    .systems-page-v3 .quote-secure-badge { font-size: .67rem; }
    .systems-page-v3 .quote-progress { padding: 18px 28px 10px; }
    .systems-page-v3 .quote-progress li span { width: 31px; height: 31px; font-size: .71rem; }
    .systems-page-v3 .quote-progress li small { font-size: .67rem; line-height: 1.25; }
    .systems-page-v3 .quote-step { padding: 31px 30px 34px; }
    .systems-page-v3 .quote-step-heading { grid-template-columns: 48px minmax(0, 1fr); gap: 14px; margin-bottom: 24px; }
    .systems-page-v3 .quote-step-heading > span { width: 47px; height: 47px; font-size: .82rem; }
    .systems-page-v3 .quote-step-heading h4 { margin: 0 0 5px; font-size: 1.22rem; line-height: 1.24; }
    .systems-page-v3 .quote-step-heading p { font-size: .82rem; line-height: 1.55; }
    .systems-page-v3 .form-field > label,
    .systems-page-v3 .form-label,
    .systems-page-v3 .form-label-row > label,
    .systems-page-v3 .form-label-row > span { font-size: .8rem; line-height: 1.35; }
    .systems-page-v3 .form-label-row small { font-size: .68rem; }
    .systems-page-v3 input,
    .systems-page-v3 select,
    .systems-page-v3 textarea { font-size: .86rem; }
    .systems-page-v3 input,
    .systems-page-v3 select { min-height: 47px; }
    .systems-page-v3 textarea { min-height: 130px; line-height: 1.55; }
    .systems-page-v3 .solution-choice > label { min-height: 92px; padding: 15px; }
    .systems-page-v3 .logo-choice-copy strong,
    .systems-page-v3 .compact-choice strong { font-size: .76rem; line-height: 1.3; }
    .systems-page-v3 .logo-choice-copy small { font-size: .65rem; line-height: 1.4; }
    .systems-page-v3 .compact-choice > label { min-height: 80px; padding: 12px; }
    .systems-page-v3 .quote-live-summary strong { font-size: .8rem; }
    .systems-page-v3 .quote-live-summary small,
    .systems-page-v3 .quote-live-summary dt { font-size: .64rem; }
    .systems-page-v3 .quote-live-summary dd { font-size: .75rem; line-height: 1.45; }
    .systems-page-v3 .consent-card { font-size: .72rem; line-height: 1.48; }
    .systems-page-v3 .quote-step-actions .button { min-height: 45px; font-size: .78rem; }

    .diagnostic-page-v4 .diagnostic-shell-v2 { max-width: 1180px; }
    .diagnostic-page-v4 .diagnostic-side-v2 { width: 255px; padding: 25px 22px; }
    .diagnostic-page-v4 .diagnostic-brand-card strong { font-size: .82rem; }
    .diagnostic-page-v4 .diagnostic-brand-card small,
    .diagnostic-page-v4 .diagnostic-side-meta,
    .diagnostic-page-v4 .diagnostic-side-security small { font-size: .66rem; line-height: 1.45; }
    .diagnostic-page-v4 .diagnostic-side-security strong { font-size: .72rem; }
    .diagnostic-page-v4 .diagnostic-side-restart { font-size: .73rem; }
    .diagnostic-page-v4 .diagnostic-question-panel,
    .diagnostic-page-v4 .diagnostic-result-v2 { padding: 33px 35px 36px; }
    .diagnostic-page-v4 .diagnostic-question-head { grid-template-columns: 56px minmax(0, 1fr); gap: 17px; }
    .diagnostic-page-v4 .diagnostic-question-index { width: 54px; height: 54px; font-size: .86rem; }
    .diagnostic-page-v4 .diagnostic-stage-inline { font-size: .67rem; }
    .diagnostic-page-v4 .diagnostic-question-head h2 { max-width: 780px; margin: 3px 0 6px; font-size: clamp(1.28rem, 1.75vw, 1.62rem); line-height: 1.27; }
    .diagnostic-page-v4 .diagnostic-question-head p,
    .diagnostic-page-v4 .multi-hint { font-size: .77rem; line-height: 1.48; }
    .diagnostic-page-v4 .diagnostic-options { gap: 11px; margin-top: 22px; }
    .diagnostic-page-v4 .diagnostic-option { min-height: 76px; grid-template-columns: 44px minmax(0, 1fr) 25px; gap: 11px; padding: 13px 14px; }
    .diagnostic-page-v4 .diagnostic-option-icon { width: 43px; height: 43px; }
    .diagnostic-page-v4 .diagnostic-option-copy { font-size: .82rem; line-height: 1.36; }
    .diagnostic-page-v4 .diagnostic-actions .button { min-height: 44px; font-size: .77rem; }
    .diagnostic-page-v4 .diagnostic-result-hero h2 { font-size: 1.5rem; }
    .diagnostic-page-v4 .diagnostic-result-hero p { font-size: .83rem; line-height: 1.58; }
    .diagnostic-page-v4 .diagnostic-reason-card h3,
    .diagnostic-page-v4 .complement-card h3 { font-size: .96rem; }
    .diagnostic-page-v4 .result-reasons li,
    .diagnostic-page-v4 .complement-card p { font-size: .76rem; line-height: 1.52; }
    .diagnostic-page-v4 .diagnostic-capture-heading h3 { font-size: 1.08rem; }
    .diagnostic-page-v4 .diagnostic-capture-heading p { font-size: .77rem; line-height: 1.55; }
    .diagnostic-page-v4 .diagnostic-contact-grid label { font-size: .78rem; }
    .diagnostic-page-v4 .diagnostic-contact-grid input { min-height: 46px; font-size: .84rem; }
    .diagnostic-page-v4 .diagnostic-contact-grid .consent-card { font-size: .71rem; line-height: 1.48; }
    .diagnostic-page-v4 .diagnostic-submit-row .button { min-height: 46px; font-size: .76rem; }
    .diagnostic-page-v4 .diagnostic-auto-whatsapp-note { font-size: .69rem; line-height: 1.45; }

    .contact-page-v2 .contact-form-v2,
    .mobile-app-page .app-quote-form { font-size: 16px; }
    .contact-page-v2 .contact-form-v2 label,
    .mobile-app-page .app-quote-form label,
    .mobile-app-page .app-quote-form .form-label { font-size: .78rem; }
    .contact-page-v2 .contact-form-v2 input,
    .contact-page-v2 .contact-form-v2 select,
    .contact-page-v2 .contact-form-v2 textarea,
    .mobile-app-page .app-quote-form input,
    .mobile-app-page .app-quote-form select,
    .mobile-app-page .app-quote-form textarea { font-size: .84rem; }
}

/* TikTok waitlist form ----------------------------------------------------- */
.tiktok-waitlist-form { display: grid; gap: 13px; }
.tiktok-waitlist-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.tiktok-waitlist-form .form-field label { font-size: .72rem; }
.tiktok-waitlist-form .form-field input { min-height: 45px; font-size: .8rem; }
.tiktok-waitlist-form .consent-row { font-size: .67rem; line-height: 1.45; }
.tiktok-waitlist-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.tiktok-waitlist-actions .form-status { flex: 1 1 220px; }

/* Three-plan pricing ------------------------------------------------------- */
.pricing-intro-v5 {
    padding: calc(var(--header-height) + 34px) 0 22px;
    background:
        radial-gradient(680px 260px at 50% 0%, rgba(0,94,255,.11), transparent 72%),
        linear-gradient(180deg, color-mix(in srgb, var(--bg-alt) 72%, transparent), transparent);
}
.pricing-intro-v5-inner { max-width: 880px; text-align: center; }
.pricing-intro-v5 h1 { margin: 8px 0 9px; font-size: clamp(2rem, 3.5vw, 3.15rem); }
.pricing-intro-v5 p { max-width: 770px; margin: 0 auto; color: var(--muted); font-size: .9rem; line-height: 1.62; }
.pricing-intro-v5 .pricing-intro-actions { display: flex; justify-content: center; margin-top: 17px; }
.pricing-plans-section-v5 { padding-top: 24px; }
.three-plan-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.three-plan-grid .subscription-card { min-width: 0; min-height: 0; }
.three-plan-grid .subscription-visual { height: 146px; }
.three-plan-grid .subscription-body { display: flex; min-height: 385px; flex-direction: column; padding: 17px 18px 18px; }
.three-plan-grid .subscription-body h2,
.three-plan-grid .subscription-body h3 { margin: 4px 0 2px; font-size: 1.1rem; }
.three-plan-grid .subscription-subtitle { font-size: .62rem; }
.three-plan-grid .subscription-body > p { min-height: 49px; margin: 7px 0; font-size: .67rem; line-height: 1.48; }
.three-plan-grid .subscription-channel-row { min-height: 38px; margin: 4px 0; }
.three-plan-grid .subscription-price { margin: 6px 0 8px; padding: 7px 0 8px; }
.three-plan-grid .subscription-price strong { font-size: clamp(1.85rem, 2.6vw, 2.35rem); }
.three-plan-grid .subscription-feature-block { min-height: 73px; }
.three-plan-grid .subscription-feature-block h3 { margin-bottom: 6px; font-size: .62rem; text-transform: uppercase; letter-spacing: .06em; }
.three-plan-grid .compact-plan-list { gap: 4px; }
.three-plan-grid .compact-plan-list li { font-size: .63rem; line-height: 1.38; }
.three-plan-grid .plan-more-details { margin: 7px 0 10px; }
.three-plan-grid .plan-more-details summary { font-size: .64rem; }
.three-plan-grid .subscription-body > .button { margin-top: auto; }
.subscription-quarterly { border-color: rgba(0,94,255,.28); background: radial-gradient(420px 180px at 50% 0%, rgba(0,94,255,.12), transparent 74%), var(--card); }
.subscription-quarterly .subscription-ribbon { background: linear-gradient(135deg,#005eff,#7357ff); color: #fff; }
.subscription-quarterly .subscription-kicker > span { background: #0e58d7; }

.comparison-wrap-v5 { overflow: hidden; border-radius: 20px; }
.comparison-table-v5 { width: 100%; table-layout: fixed; }
.comparison-table-v5 th:first-child,
.comparison-table-v5 td:first-child { width: 28%; }
.comparison-table-v5 th,
.comparison-table-v5 td { padding: 13px 12px; font-size: .7rem; line-height: 1.42; }
.comparison-table-v5 thead th { font-size: .65rem; }
.comparison-table-v5 tbody tr.is-same-row { transition: opacity .18s ease; }
.comparison-wrap-v5.is-difference-mode tbody tr.is-same-row { display: none; }

/* Mobile applications ------------------------------------------------------ */
.mobile-app-page { overflow: hidden; }
.mobile-app-hero {
    position: relative;
    padding: calc(var(--header-height) + 54px) 0 76px;
    background:
        radial-gradient(760px 500px at 86% 35%, rgba(0,94,255,.15), transparent 68%),
        radial-gradient(480px 320px at 15% 12%, rgba(115,87,255,.08), transparent 70%),
        var(--bg);
}
.mobile-app-hero::after { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(0,94,255,.035) 1px, transparent 1px), linear-gradient(90deg,rgba(0,94,255,.035) 1px, transparent 1px); background-size: 50px 50px; mask-image: linear-gradient(to bottom,#000,transparent 90%); content: ""; }
.mobile-app-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.92fr) minmax(500px,1.08fr); gap: 58px; align-items: center; }
.mobile-app-hero-copy h1 { max-width: 650px; margin: 16px 0; font-size: clamp(2.25rem,4vw,3.85rem); }
.mobile-app-hero-copy > p { max-width: 650px; color: var(--muted); font-size: 1rem; line-height: 1.68; }
.mobile-app-trust { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 23px; }
.mobile-app-trust span { display: inline-flex; gap: 7px; align-items: center; color: var(--muted); font-size: .68rem; font-weight: 750; }
.mobile-app-trust i { display: grid; width: 19px; height: 19px; place-items: center; border-radius: 50%; background: var(--blue-soft); color: var(--blue); font-style: normal; }

.app-device-stage { position: relative; min-height: 540px; perspective: 1500px; transform-style: preserve-3d; }
.app-orbit { position: absolute; border: 1px dashed rgba(0,94,255,.18); border-radius: 50%; animation: app-orbit-spin 28s linear infinite; }
.app-orbit::before,.app-orbit::after { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 20px rgba(0,94,255,.7); content:""; }
.orbit-one { inset: 55px 45px; }.orbit-one::before { top: 11%; left: 7%; }.orbit-one::after { right: 6%; bottom: 18%; }
.orbit-two { inset: 115px 100px; animation-direction: reverse; animation-duration: 19s; }.orbit-two::before { top: -5px; left: 50%; }.orbit-two::after { bottom: -5px; left: 26%; }
.app-phone { position: absolute; top: 50%; left: 50%; width: 230px; height: 465px; overflow: hidden; border: 7px solid #0b1422; border-radius: 37px; background: #0a1424; box-shadow: 0 34px 70px rgba(4,16,38,.28), inset 0 0 0 1px rgba(255,255,255,.22); transform-style: preserve-3d; transition: transform .25s ease; }
.app-phone-notch { position: absolute; z-index: 4; top: 8px; left: 50%; width: 82px; height: 22px; border-radius: 99px; background: #050b13; transform: translateX(-50%); }
.phone-center { z-index: 3; transform: translate(-50%,-50%) translateZ(60px); }
.phone-left { z-index: 1; transform: translate(-104%,-48%) rotateY(16deg) rotateZ(-7deg) scale(.87); opacity: .91; }
.phone-right { z-index: 2; transform: translate(4%,-48%) rotateY(-16deg) rotateZ(7deg) scale(.87); opacity: .91; }
.app-screen { position: absolute; inset: 0; overflow: hidden; border-radius: 29px; background: #f7f9ff; color: #0c1527; padding: 39px 15px 14px; }
.app-screen header { display: flex; justify-content: space-between; align-items: center; }
.app-screen header strong,.app-screen header span { font-size: .7rem; }.app-screen header small { display:block; color:#78849a; font-size:.47rem; }
.app-screen-commerce { background: linear-gradient(155deg,#f4f8ff,#edf2ff); }
.app-product-hero { position: relative; display:grid; align-content:end; height: 205px; margin:18px 0 12px; overflow:hidden; border-radius:24px; background: radial-gradient(circle at 70% 25%,#7bc4ff,transparent 20%),linear-gradient(140deg,#005eff,#7c3aed); color:#fff; padding:18px; }
.app-product-hero::after { position:absolute; right:-25px; top:35px; width:135px; height:135px; border-radius:35px; background:rgba(255,255,255,.18); content:""; transform:rotate(28deg); }
.app-product-hero small { font-size:.45rem; letter-spacing:.12em; }.app-product-hero strong { font-size:1.1rem; }.app-product-hero button { position:absolute; right:14px; bottom:14px; z-index:2; width:32px; height:32px; border:0; border-radius:50%; background:#fff; color:#005eff; }
.app-mini-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }.app-mini-grid i { height:72px; border-radius:14px; background:linear-gradient(145deg,#fff,#dfe8f8); box-shadow:0 8px 20px rgba(26,56,110,.08); }
.app-screen nav { position:absolute; right:12px; bottom:11px; left:12px; display:flex; justify-content:space-around; border-radius:18px; background:#fff; box-shadow:0 10px 28px rgba(26,56,110,.12); padding:11px; font-size:.65rem; }
.app-screen-dashboard { background:linear-gradient(165deg,#07172c,#0c2d58); color:#fff; }
.app-balance { display:grid; gap:4px; margin-top:25px; }.app-balance small{color:#88a9d4;font-size:.48rem}.app-balance strong{font-size:1.55rem}.app-balance em{width:max-content;border-radius:99px;background:rgba(37,211,102,.16);color:#55e991;padding:4px 7px;font-size:.48rem;font-style:normal}
.app-chart { display:flex; height:130px; gap:8px; align-items:end; margin:20px 0; }.app-chart span{flex:1;height:var(--h);border-radius:7px 7px 3px 3px;background:linear-gradient(#4aa8ff,#005eff);box-shadow:0 0 15px rgba(0,94,255,.35)}
.app-activity { display:grid; gap:8px; }.app-activity p{display:grid;grid-template-columns:9px 1fr auto;gap:8px;align-items:center;margin:0;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.05);padding:10px}.app-activity i{width:8px;height:8px;border-radius:50%;background:#25d366}.app-activity span{font-size:.55rem}.app-activity small{display:block;color:#7f9fc8;font-size:.43rem}.app-activity b{color:#44db87}
.app-screen-map { background:#eef5fb; }.app-map-lines{position:absolute;inset:70px 0 95px;background:linear-gradient(33deg,transparent 48%,rgba(0,94,255,.05) 49% 51%,transparent 52%)}.app-map-lines svg{width:100%;height:100%;fill:none;stroke:#005eff;stroke-width:5;stroke-linecap:round;stroke-dasharray:7 9}.app-map-lines .pin{position:absolute;z-index:2;width:15px;height:15px;border:4px solid #fff;border-radius:50%;background:#005eff;box-shadow:0 4px 10px rgba(0,94,255,.35)}.app-map-lines .a{left:37px;bottom:29px}.app-map-lines .b{right:47px;top:80px}.app-map-lines .c{left:83px;top:120px;background:#25d366}.app-route-card{position:absolute;right:12px;bottom:14px;left:12px;border-radius:19px;background:#fff;box-shadow:0 16px 38px rgba(27,63,108,.17);padding:13px}.app-route-card small{display:block;color:#8792a5;font-size:.45rem}.app-route-card strong{font-size:.66rem}.app-route-card button{float:right;border:0;border-radius:9px;background:#005eff;color:#fff;padding:7px 10px;font-size:.48rem}
.app-stage-status { position:absolute; z-index:8; right:35px; bottom:28px; display:grid; grid-template-columns:11px 1fr; gap:9px; align-items:center; border:1px solid rgba(37,211,102,.2); border-radius:15px; background:color-mix(in srgb,var(--card) 92%,transparent); box-shadow:0 18px 42px rgba(24,53,102,.17); padding:11px 14px; backdrop-filter:blur(15px); }.app-stage-status i{width:10px;height:10px;border-radius:50%;background:#25d366;box-shadow:0 0 0 5px rgba(37,211,102,.12)}.app-stage-status span{display:grid}.app-stage-status strong{font-size:.66rem}.app-stage-status small{color:var(--muted);font-size:.5rem}

.app-usecase-shell { overflow:hidden; border:1px solid var(--border); border-radius:25px; background:var(--card); box-shadow:0 26px 70px rgba(27,57,110,.1); }
.app-usecase-tabs { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--border); padding:10px; }
.app-usecase-tabs button { display:flex; gap:8px; align-items:center; justify-content:center; min-height:50px; border:0; border-radius:13px; background:transparent; color:var(--muted); cursor:pointer; font:inherit; }
.app-usecase-tabs button span{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--bg-alt);color:var(--blue)}.app-usecase-tabs button strong{font-size:.68rem}.app-usecase-tabs button.is-active{background:var(--blue-soft);color:var(--blue)}
.app-usecase-preview { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:55px; align-items:center; min-height:430px; padding:46px 60px; background:radial-gradient(400px 240px at 80% 50%,rgba(0,94,255,.1),transparent 70%); }
.app-preview-copy h3{margin:8px 0 10px;font-size:1.65rem}.app-preview-copy>p{max-width:610px;color:var(--muted);font-size:.87rem;line-height:1.65}.app-preview-kicker{color:var(--blue);font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.app-preview-metrics{display:flex;gap:11px;margin-top:24px}.app-preview-metrics>span{display:grid;min-width:145px;border:1px solid var(--border);border-radius:15px;background:var(--bg-alt);padding:13px}.app-preview-metrics strong{font-size:1.05rem}.app-preview-metrics small{color:var(--muted);font-size:.55rem}
.app-preview-phone { position:relative; width:230px; height:395px; justify-self:center; overflow:hidden; border:7px solid #0a1423; border-radius:34px; background:linear-gradient(165deg,#0a58e8,#7746ee); color:#fff; box-shadow:0 28px 58px rgba(6,31,76,.28); padding:38px 16px 16px; }.app-preview-top{position:absolute;top:10px;right:17px;left:17px;display:flex;justify-content:space-between}.app-preview-top i,.app-preview-top b{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.7)}.app-preview-top span{width:70px;height:18px;border-radius:99px;background:#061021}.app-preview-welcome small{font-size:.45rem;letter-spacing:.12em}.app-preview-welcome strong{display:block;margin:8px 0;font-size:1.3rem}.app-preview-welcome p{font-size:.56rem;line-height:1.5;opacity:.84}.app-preview-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.app-preview-cards span{height:115px;border-radius:18px;background:rgba(255,255,255,.17);box-shadow:inset 0 1px rgba(255,255,255,.28)}.app-preview-action{position:absolute;right:15px;bottom:15px;left:15px;border-radius:14px;background:#fff;color:#0756d6;padding:11px;text-align:center;font-size:.58rem;font-weight:850}

.app-capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.app-capability-card{min-height:205px;padding:25px}.app-capability-card>span{display:grid;width:43px;height:43px;place-items:center;border-radius:13px;background:var(--blue-soft);color:var(--blue);font-size:1.1rem}.app-capability-card h3{margin:20px 0 8px;font-size:.95rem}.app-capability-card p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.58}
.app-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }.app-process-grid article{position:relative;display:grid;grid-template-columns:42px 1fr;gap:13px;min-height:145px;border:1px solid var(--border);border-radius:18px;background:var(--card);padding:20px}.app-process-grid article>span{display:grid;width:41px;height:41px;place-items:center;border-radius:13px;background:linear-gradient(135deg,#005eff,#7357ff);color:#fff;font-size:.65rem;font-weight:900}.app-process-grid h3{margin:2px 0 7px;font-size:.82rem}.app-process-grid p{margin:0;color:var(--muted);font-size:.65rem;line-height:1.52}
.app-quote-section { background:radial-gradient(620px 400px at 16% 45%,rgba(0,94,255,.11),transparent 72%),var(--bg-alt); }.app-quote-grid{display:grid;grid-template-columns:minmax(250px,.34fr) minmax(0,.66fr);gap:28px;align-items:start}.app-quote-intro{position:sticky;top:110px;border:1px solid var(--border);border-radius:23px;background:var(--card);padding:30px}.app-quote-intro h2{margin:13px 0 10px;font-size:1.55rem}.app-quote-intro p{color:var(--muted);font-size:.78rem;line-height:1.6}.app-quote-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.app-quote-points span{border:1px solid var(--border);border-radius:99px;background:var(--bg-alt);color:var(--text);padding:7px 9px;font-size:.59rem;font-weight:750}.app-quote-form{padding:28px}.app-option-pills{display:flex;flex-wrap:wrap;gap:8px}.app-option-pills input{position:absolute;opacity:0;pointer-events:none}.app-option-pills span{display:inline-flex;min-height:38px;align-items:center;border:1px solid var(--border);border-radius:11px;background:var(--bg-alt);padding:7px 11px;font-size:.65rem;font-weight:750;cursor:pointer}.app-option-pills input:checked+span{border-color:rgba(0,94,255,.38);background:var(--blue-soft);color:var(--blue);box-shadow:0 0 0 1px rgba(0,94,255,.08)}.app-quote-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.app-quote-actions .form-status{flex:1 1 220px}

html[data-theme="dark"] .app-screen-commerce, html[data-theme="dark"] .app-screen-map{color:#0b1527}
html[data-theme="dark"] .mobile-app-hero { background:radial-gradient(760px 500px at 86% 35%,rgba(20,105,255,.22),transparent 68%),radial-gradient(480px 320px at 15% 12%,rgba(115,87,255,.13),transparent 70%),var(--bg); }
html[data-theme="dark"] .app-usecase-shell,html[data-theme="dark"] .app-quote-intro,html[data-theme="dark"] .app-quote-form{box-shadow:0 28px 80px rgba(0,0,0,.34)}

/* Responsive --------------------------------------------------------------- */
@media (max-width: 1080px) {
    .three-plan-grid { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 850px; }
    .three-plan-grid .subscription-card:last-child { grid-column: 1 / -1; width: min(100%, 420px); justify-self: center; }
    .mobile-app-hero-grid { grid-template-columns: 1fr; }
    .mobile-app-hero-copy { max-width:760px; }
    .app-device-stage { width:min(100%,720px); justify-self:center; }
    .app-process-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 899px) {
    .nav-dropdown { display:none; }
    .tiktok-waitlist-grid { grid-template-columns:1fr; }
    .app-usecase-preview { grid-template-columns:1fr; padding:35px; }
    .app-preview-phone { order:-1; width:215px; height:365px; }
    .app-capability-grid { grid-template-columns:repeat(2,1fr); }
    .app-quote-grid { grid-template-columns:1fr; }
    .app-quote-intro { position:relative; top:auto; }
}

@media (max-width: 760px) {
    .dygi-recaptcha-shell { max-width:304px; transform-origin:left top; }
    .three-plan-grid { grid-template-columns:1fr; max-width:520px; }
    .three-plan-grid .subscription-card:last-child { grid-column:auto; width:100%; }
    .three-plan-grid .subscription-body { min-height:0; }
    .comparison-wrap-v5 { overflow:visible; border:0; background:transparent; box-shadow:none; }
    .comparison-table-v5,.comparison-table-v5 tbody,.comparison-table-v5 tr,.comparison-table-v5 td { display:block; width:100%; }
    .comparison-table-v5 thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
    .comparison-table-v5 tbody { display:grid; gap:13px; }
    .comparison-table-v5 tr { overflow:hidden; border:1px solid var(--border); border-radius:17px; background:var(--card); box-shadow:0 12px 34px rgba(30,60,110,.07); }
    .comparison-table-v5 td { display:grid; grid-template-columns:minmax(112px,.42fr) minmax(0,.58fr); gap:12px; min-height:46px; align-items:center; border:0; border-bottom:1px solid var(--border); padding:10px 13px; text-align:right; }
    .comparison-table-v5 td:first-child { width:100%; border-bottom:1px solid rgba(0,94,255,.12); background:var(--blue-soft); color:var(--ink); text-align:left; font-size:.75rem; font-weight:850; }
    .comparison-table-v5 td:not(:first-child)::before { color:var(--muted); content:attr(data-label); font-size:.58rem; font-weight:850; text-align:left; text-transform:uppercase; }
    .comparison-table-v5 td:last-child { border-bottom:0; }
    .mobile-app-hero { padding-top:calc(var(--header-height) + 30px); }
    .mobile-app-hero-grid { gap:25px; }
    .app-device-stage { min-height:455px; transform:scale(.9); transform-origin:top center; margin-bottom:-45px; }
    .app-usecase-tabs { grid-template-columns:repeat(2,1fr); }
    .app-usecase-preview { padding:28px 22px; }
    .app-preview-metrics { flex-direction:column; }
    .app-capability-grid,.app-process-grid { grid-template-columns:1fr; }
    .app-quote-form { padding:22px 18px; }
}

@media (max-width: 520px) {
    .dygi-recaptcha-shell { transform:scale(.88); margin-right:-38px; margin-bottom:-8px; }
    .app-device-stage { min-height:390px; transform:scale(.74); margin-right:-70px; margin-bottom:-100px; margin-left:-70px; }
    .app-stage-status { right:50%; bottom:12px; transform:translateX(50%); }
    .app-usecase-tabs button strong { font-size:.6rem; }
    .app-preview-phone { width:205px; height:350px; }
    .app-quote-intro { padding:24px 20px; }
}

@keyframes app-orbit-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .app-orbit { animation:none; } }

/* ========================================================================== 
   DYGI Pro v5.0 - Commercial admin workspace and final desktop legibility
   ========================================================================== */

/* Final desktop form typography: mobile rules remain untouched. */
@media (min-width: 900px) {
    .systems-page-v3 .quote-form-header h3 { font-size: 1.56rem; }
    .systems-page-v3 .quote-form-header p { font-size: .94rem; }
    .systems-page-v3 .quote-form-kicker,
    .systems-page-v3 .quote-secure-badge { font-size: .73rem; }
    .systems-page-v3 .quote-progress li span { width: 34px; height: 34px; font-size: .78rem; }
    .systems-page-v3 .quote-progress li small { font-size: .74rem; }
    .systems-page-v3 .quote-step-heading h4 { font-size: 1.34rem; }
    .systems-page-v3 .quote-step-heading p { font-size: .91rem; }
    .systems-page-v3 .form-field > label,
    .systems-page-v3 .form-label,
    .systems-page-v3 .form-label-row > label,
    .systems-page-v3 .form-label-row > span { font-size: .9rem; }
    .systems-page-v3 .form-label-row small { font-size: .74rem; }
    .systems-page-v3 input,
    .systems-page-v3 select,
    .systems-page-v3 textarea { font-size: .94rem; }
    .systems-page-v3 input,
    .systems-page-v3 select { min-height: 50px; }
    .systems-page-v3 .logo-choice-copy strong,
    .systems-page-v3 .compact-choice strong { font-size: .84rem; }
    .systems-page-v3 .logo-choice-copy small { font-size: .72rem; }
    .systems-page-v3 .quote-live-summary strong { font-size: .89rem; }
    .systems-page-v3 .quote-live-summary small,
    .systems-page-v3 .quote-live-summary dt { font-size: .7rem; }
    .systems-page-v3 .quote-live-summary dd { font-size: .82rem; }
    .systems-page-v3 .consent-card { font-size: .79rem; }
    .systems-page-v3 .quote-step-actions .button { font-size: .85rem; }

    .diagnostic-page-v4 .diagnostic-shell-v2 { max-width: 1240px; }
    .diagnostic-page-v4 .diagnostic-side-v2 { width: 265px; }
    .diagnostic-page-v4 .diagnostic-brand-card strong { font-size: .9rem; }
    .diagnostic-page-v4 .diagnostic-brand-card small,
    .diagnostic-page-v4 .diagnostic-side-meta,
    .diagnostic-page-v4 .diagnostic-side-security small { font-size: .72rem; }
    .diagnostic-page-v4 .diagnostic-side-security strong,
    .diagnostic-page-v4 .diagnostic-side-restart { font-size: .79rem; }
    .diagnostic-page-v4 .diagnostic-question-panel,
    .diagnostic-page-v4 .diagnostic-result-v2 { padding: 36px 39px 40px; }
    .diagnostic-page-v4 .diagnostic-stage-inline { font-size: .73rem; }
    .diagnostic-page-v4 .diagnostic-question-head h2 { max-width: 860px; font-size: clamp(1.58rem, 2vw, 1.92rem); }
    .diagnostic-page-v4 .diagnostic-question-head p,
    .diagnostic-page-v4 .multi-hint { font-size: .85rem; }
    .diagnostic-page-v4 .diagnostic-options { gap: 13px; margin-top: 25px; }
    .diagnostic-page-v4 .diagnostic-option { min-height: 82px; grid-template-columns: 47px minmax(0, 1fr) 26px; gap: 13px; padding: 14px 16px; }
    .diagnostic-page-v4 .diagnostic-option-icon { width: 46px; height: 46px; font-size: .78rem; }
    .diagnostic-page-v4 .diagnostic-option-copy { font-size: .91rem; line-height: 1.42; }
    .diagnostic-page-v4 .diagnostic-actions .button { min-height: 47px; font-size: .84rem; }
    .diagnostic-page-v4 .diagnostic-result-hero h2 { font-size: 1.72rem; }
    .diagnostic-page-v4 .diagnostic-result-hero p { font-size: .91rem; }
    .diagnostic-page-v4 .diagnostic-reason-card h3,
    .diagnostic-page-v4 .complement-card h3 { font-size: 1.06rem; }
    .diagnostic-page-v4 .result-reasons li,
    .diagnostic-page-v4 .complement-card p { font-size: .83rem; }
    .diagnostic-page-v4 .diagnostic-capture-heading h3 { font-size: 1.2rem; }
    .diagnostic-page-v4 .diagnostic-capture-heading p { font-size: .84rem; }
    .diagnostic-page-v4 .diagnostic-contact-grid label { font-size: .86rem; }
    .diagnostic-page-v4 .diagnostic-contact-grid input { min-height: 49px; font-size: .92rem; }
    .diagnostic-page-v4 .diagnostic-contact-grid .consent-card { font-size: .78rem; }
    .diagnostic-page-v4 .diagnostic-submit-row .button { min-height: 48px; font-size: .84rem; }
    .diagnostic-page-v4 .diagnostic-auto-whatsapp-note { font-size: .76rem; }
}

/* reCAPTCHA shell aliases and validation states. */
.recaptcha-shell,
.dygi-recaptcha-shell {
    display: grid;
    width: max-content;
    max-width: 100%;
    gap: 6px;
    align-items: start;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: color-mix(in srgb, var(--bg-alt) 84%, var(--card));
    padding: 7px;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.recaptcha-shell.is-invalid,
.dygi-recaptcha-shell.is-invalid { border-color: #dc2626; box-shadow: 0 0 0 3px rgba(220,38,38,.1); }
.recaptcha-help { max-width: 304px; margin: 0; color: var(--muted); font-size: .65rem; line-height: 1.42; }
html[data-theme="dark"] .recaptcha-shell,
html[data-theme="dark"] .dygi-recaptcha-shell { border-color: rgba(133,164,218,.2); background: rgba(7,15,27,.72); }

/* Admin navigation and shared commercial layout. */
.admin-nav-caption {
    display: block;
    margin: 17px 12px 5px;
    color: #5f7294;
    font-size: .48rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.admin-side-nav .admin-nav-caption:first-child { margin-top: 0; }
.admin-metric-grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.metric-icon {
    display: grid;
    width: 43px;
    height: 43px;
    place-items: center;
    border-radius: 13px;
    background: var(--blue-soft);
    color: var(--blue);
    font-size: .82rem;
    font-weight: 900;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}
.metric-icon.green { background: rgba(22,163,74,.11); color: #169447; }
.metric-icon.violet { background: rgba(124,58,237,.11); color: #7c3aed; }
.metric-icon.amber { background: rgba(245,158,11,.13); color: #c57b00; }
.admin-section-eyebrow {
    display: inline-flex;
    margin-bottom: 5px;
    color: var(--blue);
    font-size: .55rem;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.admin-form-errors {
    margin: 18px 0 0;
    border: 1px solid rgba(220,38,38,.22);
    border-radius: 15px;
    background: rgba(220,38,38,.07);
    color: #b91c1c;
    padding: 14px 17px;
    font-size: .72rem;
    line-height: 1.55;
}
.admin-form-errors strong { display: block; margin-bottom: 5px; }
.admin-form-errors ul { margin: 0; padding-left: 18px; }

/* Consolidated database. */
.admin-consent-notice {
    display: grid;
    grid-template-columns: 40px minmax(0,1fr);
    gap: 13px;
    align-items: start;
    margin: 0 0 17px;
    border: 1px solid rgba(22,163,74,.19);
    border-radius: 17px;
    background: linear-gradient(135deg,rgba(22,163,74,.08),rgba(0,94,255,.035));
    padding: 15px 17px;
}
.admin-consent-notice > span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 12px; background: rgba(22,163,74,.13); color: #159447; font-weight: 900; }
.admin-consent-notice strong { display: block; margin-bottom: 3px; color: var(--ink); font-size: .78rem; }
.admin-consent-notice p { margin: 0; color: var(--muted); font-size: .65rem; line-height: 1.5; }
.admin-data-card,
.admin-service-editor,
.admin-service-list-card,
.quote-editor-card,
.quote-history-card {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: var(--card);
    box-shadow: 0 14px 42px rgba(16,35,75,.055);
}
.admin-data-head {
    display: flex;
    min-height: 72px;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    border-bottom: 1px solid var(--border);
    padding: 18px 21px;
}
.admin-data-head h2 { margin: 0; font-size: 1.02rem; }
.admin-data-head p { margin: 3px 0 0; color: var(--muted); font-size: .63rem; }
.admin-database-filters {
    display: grid;
    grid-template-columns: minmax(260px,1.65fr) minmax(145px,.65fr) minmax(145px,.65fr) auto auto;
    gap: 10px;
    align-items: end;
    border-bottom: 1px solid var(--border);
    background: var(--bg-alt);
    padding: 14px 17px;
}
.admin-database-filters > label:not(.admin-search-field) { display: grid; gap: 4px; }
.admin-database-filters > label > span { color: var(--muted); font-size: .5rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.admin-database-filters select { min-height: 41px; border: 1px solid var(--border); border-radius: 10px; background: var(--card); color: var(--text); padding: 0 9px; font: inherit; font-size: .65rem; }
.admin-responsive-table-wrap { width: 100%; overflow-x: auto; }
.admin-responsive-table { width: 100%; border-collapse: collapse; table-layout: auto; }
.admin-responsive-table th { border-bottom: 1px solid var(--border); background: color-mix(in srgb,var(--bg-alt) 86%,var(--card)); color: var(--muted); padding: 11px 13px; text-align: left; font-size: .52rem; font-weight: 900; letter-spacing: .035em; text-transform: uppercase; white-space: nowrap; }
.admin-responsive-table td { border-bottom: 1px solid var(--border); color: var(--text); padding: 13px; vertical-align: middle; font-size: .64rem; line-height: 1.45; }
.admin-responsive-table tbody tr:last-child td { border-bottom: 0; }
.admin-responsive-table tbody tr:hover { background: color-mix(in srgb,var(--blue-soft) 45%,transparent); }
.admin-responsive-table td > strong { display: block; color: var(--ink); font-size: .69rem; }
.admin-responsive-table td > small { display: block; max-width: 230px; margin-top: 2px; overflow: hidden; color: var(--muted); font-size: .55rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-responsive-table time { color: var(--muted); white-space: nowrap; }
.admin-interest-tag { display: inline-block; max-width: 250px; border-radius: 9px; background: var(--blue-soft); color: var(--blue); padding: 6px 8px; font-size: .57rem; font-weight: 800; line-height: 1.35; }
.admin-source-pill,
.admin-consent-pill,
.quote-status { display: inline-flex; width: max-content; align-items: center; border-radius: 999px; padding: 5px 8px; font-size: .5rem; font-weight: 900; white-space: nowrap; }
.admin-source-pill { background: rgba(0,94,255,.09); color: var(--blue); }
.admin-source-pill.type-system_quote { background: rgba(124,58,237,.1); color: #7c3aed; }
.admin-source-pill.type-mobile_app_quote { background: rgba(14,165,233,.11); color: #0284c7; }
.admin-source-pill.type-diagnostic { background: rgba(245,158,11,.12); color: #b36c00; }
.admin-source-pill.type-tiktok_waitlist { background: rgba(17,24,39,.09); color: var(--ink); }
.admin-consent-pill.is-yes { background: rgba(22,163,74,.11); color: #158442; }
.admin-consent-pill.is-no { background: rgba(100,116,139,.12); color: var(--muted); }
.admin-row-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.admin-row-actions a { border: 1px solid var(--border); border-radius: 8px; background: var(--card); color: var(--text); padding: 5px 7px; font-size: .52rem; font-weight: 800; white-space: nowrap; }
.admin-row-actions a:hover { border-color: rgba(0,94,255,.25); background: var(--blue-soft); color: var(--blue); }

/* Service catalog. */
.admin-catalog-layout { display: grid; grid-template-columns: minmax(340px,.43fr) minmax(0,.57fr); gap: 17px; align-items: start; }
.admin-service-editor,
.admin-service-list-card { padding: 22px; }
.admin-service-editor h2,
.admin-service-list-card h2 { margin: 2px 0 6px; font-size: 1.08rem; }
.admin-service-editor > p,
.admin-service-list-card > p { margin: 0 0 17px; color: var(--muted); font-size: .67rem; line-height: 1.5; }
.admin-service-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.admin-service-editor .form-field label { font-size: .67rem; }
.admin-service-editor .form-field input,
.admin-service-editor .form-field select,
.admin-service-editor .form-field textarea { font-size: .72rem; }
.admin-money-input { display: grid; grid-template-columns: 34px minmax(0,1fr); overflow: hidden; border: 1px solid var(--border); border-radius: 11px; background: var(--card); }
.admin-money-input > span { display: grid; place-items: center; border-right: 1px solid var(--border); background: var(--bg-alt); color: var(--muted); font-weight: 850; }
.admin-money-input input { min-width: 0; border: 0 !important; border-radius: 0 !important; }
.admin-service-list { display: grid; gap: 9px; max-height: 720px; overflow-y: auto; padding-right: 3px; }
.admin-service-item { display: grid; grid-template-columns: 43px minmax(0,1fr) auto; gap: 12px; align-items: center; border: 1px solid var(--border); border-radius: 14px; background: var(--bg-alt); padding: 12px; }
.admin-service-item.is-inactive { opacity: .62; }
.admin-service-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: var(--blue-soft); color: var(--blue); font-weight: 900; }
.admin-service-copy { display: grid; min-width: 0; gap: 2px; }
.admin-service-copy strong { color: var(--ink); font-size: .73rem; }
.admin-service-copy span { color: var(--blue); font-size: .63rem; font-weight: 850; }
.admin-service-copy small { overflow: hidden; color: var(--muted); font-size: .55rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-service-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.admin-service-actions a,
.admin-service-actions button { border: 1px solid var(--border); border-radius: 8px; background: var(--card); color: var(--text); padding: 6px 8px; font: inherit; font-size: .51rem; font-weight: 800; cursor: pointer; }
.admin-service-actions .is-danger { color: #dc2626; }

/* Quotation editor with A4-style live preview. */
.quote-builder { display: grid; grid-template-columns: minmax(560px,1.08fr) minmax(390px,.92fr); gap: 20px; align-items: start; }
.quote-editor-column { display: grid; gap: 16px; min-width: 0; }
.quote-editor-card { padding: 22px; }
.quote-editor-title { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 12px; align-items: center; margin-bottom: 19px; }
.quote-editor-title > span { display: grid; width: 41px; height: 41px; place-items: center; border-radius: 12px; background: linear-gradient(135deg,#005eff,#7357ff); color: #fff; font-size: .64rem; font-weight: 900; }
.quote-editor-title h2 { margin: 0; font-size: 1.03rem; }
.quote-editor-title p { margin: 3px 0 0; color: var(--muted); font-size: .61rem; }
.quote-client-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.quote-editor-card .form-field label { font-size: .66rem; }
.quote-editor-card .form-field input,
.quote-editor-card .form-field select,
.quote-editor-card .form-field textarea { font-size: .72rem; }
.quote-items { display: grid; gap: 12px; }
.quote-item { overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: var(--bg-alt); }
.quote-item-head { display: flex; min-height: 42px; justify-content: space-between; gap: 12px; align-items: center; border-bottom: 1px solid var(--border); background: color-mix(in srgb,var(--card) 70%,transparent); padding: 9px 13px; }
.quote-item-head strong { color: var(--ink); font-size: .66rem; }
.quote-item-head button { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid rgba(220,38,38,.16); border-radius: 8px; background: rgba(220,38,38,.06); color: #dc2626; cursor: pointer; }
.quote-item-grid { grid-template-columns: repeat(4,minmax(0,1fr)); padding: 14px; }
.quote-item-total { display: grid; align-content: end; min-height: 70px; border: 1px solid rgba(0,94,255,.13); border-radius: 11px; background: var(--blue-soft); padding: 9px 11px; }
.quote-item-total small { color: var(--muted); font-size: .5rem; font-weight: 800; }
.quote-item-total strong { color: var(--blue); font: 800 .86rem/1.25 "Sora",sans-serif; }
.quote-add-item { justify-self: end; }
.quote-invoice-toggle { display: grid; grid-template-columns: 22px minmax(0,1fr) 45px; gap: 12px; align-items: center; border: 1px solid var(--border); border-radius: 15px; background: var(--bg-alt); padding: 13px 15px; cursor: pointer; }
.quote-invoice-toggle input { width: 18px; height: 18px; accent-color: var(--blue); }
.quote-invoice-toggle > span { display: grid; gap: 2px; }
.quote-invoice-toggle b { color: var(--ink); font-size: .72rem; }
.quote-invoice-toggle small { color: var(--muted); font-size: .56rem; }
.quote-invoice-toggle i { position: relative; width: 43px; height: 24px; border-radius: 999px; background: #cbd5e1; transition: background .18s ease; }
.quote-invoice-toggle i::after { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 2px 5px rgba(0,0,0,.18); content: ""; transition: transform .18s ease; }
.quote-invoice-toggle:has(input:checked) i { background: var(--blue); }
.quote-invoice-toggle:has(input:checked) i::after { transform: translateX(19px); }
.quote-terms-grid { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 15px; }
.quote-builder-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; border: 1px solid var(--border); border-radius: 17px; background: var(--card); padding: 14px; box-shadow: 0 12px 34px rgba(16,35,75,.05); }
.quote-builder-actions p { flex: 1 1 100%; margin: 0; color: var(--muted); font-size: .58rem; }
.quote-preview-column { position: sticky; top: 102px; min-width: 0; }
.quote-preview-toolbar { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 9px; }
.quote-preview-toolbar > div { display: grid; gap: 1px; }
.quote-preview-toolbar span { color: var(--muted); font-size: .53rem; font-weight: 800; text-transform: uppercase; }
.quote-preview-toolbar strong { color: var(--ink); font-size: .75rem; }
.quote-live-indicator { display: inline-flex !important; gap: 6px; align-items: center; border: 1px solid rgba(22,163,74,.18); border-radius: 999px; background: rgba(22,163,74,.07); color: #158442 !important; padding: 5px 8px; font-size: .49rem !important; }
.quote-live-indicator i { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 4px rgba(34,197,94,.12); }
.quote-paper { position: relative; display: flex; min-height: 690px; flex-direction: column; overflow: hidden; border: 1px solid rgba(0,94,255,.17); border-radius: 7px; background: #fff; color: #111827; box-shadow: 0 26px 70px rgba(16,35,75,.16); aspect-ratio: 210 / 297; }
.quote-paper::before { position: absolute; top: 0; right: 0; left: 0; height: 5px; background: linear-gradient(90deg,#005eff,#7357ff,#20b8ee); content: ""; }
.quote-paper-head { display: flex; min-height: 71px; justify-content: space-between; gap: 15px; align-items: center; border-bottom: 1px solid #e5e7eb; padding: 18px 22px 13px; }
.quote-paper-brand { display: flex; gap: 9px; align-items: center; }
.quote-paper-brand img { width: 33px; height: 33px; }
.quote-paper-brand span { display: grid; }
.quote-paper-brand strong { color: #101827; font: 800 .82rem/1 "Sora",sans-serif; letter-spacing: .08em; }
.quote-paper-brand small { color: #718096; font-size: .35rem; letter-spacing: .11em; }
.quote-paper-head > div:last-child { display: grid; justify-items: end; gap: 2px; }
.quote-paper-head > div:last-child strong { color: #005eff; font: 800 .67rem/1 "Sora",sans-serif; letter-spacing: .08em; }
.quote-paper-head > div:last-child small { color: #718096; font-size: .39rem; }
.quote-paper-body { display: grid; align-content: start; gap: 16px; flex: 1; padding: 18px 22px; }
.quote-paper-client { display: grid; grid-template-columns: minmax(0,1fr) 135px; gap: 15px; border-radius: 10px; background: #f5f8ff; padding: 13px; }
.quote-paper-client > div:first-child { display: grid; align-content: start; gap: 2px; }
.quote-paper-client small,
.quote-paper-subject > small,
.quote-paper-conditions > small { color: #005eff; font-size: .37rem; font-weight: 900; letter-spacing: .08em; }
.quote-paper-client strong { color: #101827; font-size: .69rem; }
.quote-paper-client span,
.quote-paper-client p { margin: 0; color: #64748b; font-size: .43rem; line-height: 1.4; }
.quote-paper-client dl { display: grid; gap: 4px; margin: 0; }
.quote-paper-client dl > div { display: flex; justify-content: space-between; gap: 7px; border-bottom: 1px solid #e1e8f3; padding-bottom: 3px; }
.quote-paper-client dt { color: #64748b; font-size: .37rem; }
.quote-paper-client dd { margin: 0; color: #172033; font-size: .39rem; font-weight: 800; text-align: right; }
.quote-paper-subject h2 { margin: 4px 0 5px; color: #101827; font-size: .88rem; line-height: 1.2; }
.quote-paper-subject p { margin: 0; color: #5f6b7d; font-size: .47rem; line-height: 1.52; }
.quote-paper-table { overflow: hidden; border: 1px solid #e1e7f0; border-radius: 9px; }
.quote-paper-row { display: grid; grid-template-columns: minmax(0,1fr) 82px 84px; gap: 8px; align-items: start; border-bottom: 1px solid #e8edf4; padding: 8px 9px; font-size: .43rem; }
.quote-paper-row:last-child { border-bottom: 0; }
.quote-paper-row.is-head { background: #0c1d3b; color: #fff; font-size: .37rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.quote-paper-row > span:last-child { text-align: right; font-weight: 800; }
.quote-paper-row strong { display: block; color: #172033; font-size: .46rem; }
.quote-paper-row small { display: block; max-height: 30px; overflow: hidden; color: #778397; font-size: .37rem; line-height: 1.35; }
.quote-paper-totals { display: grid; width: 210px; justify-self: end; border-top: 1px solid #e3e8f0; }
.quote-paper-totals > div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid #e8edf4; padding: 5px 3px; }
.quote-paper-totals span { color: #64748b; font-size: .41rem; }
.quote-paper-totals strong { color: #172033; font-size: .44rem; }
.quote-paper-totals .is-total { margin-top: 3px; border: 0; border-radius: 6px; background: #005eff; padding: 7px 8px; }
.quote-paper-totals .is-total span,
.quote-paper-totals .is-total strong { color: #fff; }
.quote-paper-conditions { margin-top: auto; border-top: 1px solid #e7ecf3; padding-top: 8px; }
.quote-paper-conditions p { margin: 3px 0; color: #64748b; font-size: .39rem; }
.quote-paper-conditions span { display: block; overflow: hidden; color: #005eff; font-size: .38rem; text-overflow: ellipsis; white-space: nowrap; }
.quote-paper > footer { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid #e5e7eb; background: #f8fafc; color: #64748b; padding: 10px 22px; font-size: .38rem; }
.quote-paper > footer strong { color: #172033; }
.quote-history-card { margin-top: 19px; }
.quote-status.status-sent { background: rgba(22,163,74,.11); color: #158442; }
.quote-status.status-mail_pending { background: rgba(245,158,11,.13); color: #a86100; }
.quote-status.status-ready_to_send { background: rgba(0,94,255,.1); color: var(--blue); }
.quote-status.status-draft { background: rgba(100,116,139,.12); color: #64748b; }

html[data-theme="dark"] .admin-data-card,
html[data-theme="dark"] .admin-service-editor,
html[data-theme="dark"] .admin-service-list-card,
html[data-theme="dark"] .quote-editor-card,
html[data-theme="dark"] .quote-history-card,
html[data-theme="dark"] .quote-builder-actions { box-shadow: 0 18px 55px rgba(0,0,0,.28); }
html[data-theme="dark"] .admin-source-pill.type-tiktok_waitlist { background: rgba(255,255,255,.08); color: #f8fafc; }
html[data-theme="dark"] .metric-icon.amber { color: #fbbf24; }

@media (max-width: 1180px) {
    .admin-database-filters { grid-template-columns: minmax(240px,1fr) repeat(2,minmax(140px,.55fr)); }
    .admin-database-filters .button { width: 100%; }
    .quote-builder { grid-template-columns: minmax(0,1fr); }
    .quote-preview-column { position: relative; top: auto; width: min(100%,620px); justify-self: center; }
}

@media (max-width: 980px) {
    .admin-catalog-layout { grid-template-columns: 1fr; }
    .admin-service-list { max-height: none; }
    .admin-database-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-database-filters .admin-search-field { grid-column: 1 / -1; }
    .admin-metric-grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 760px) {
    .admin-metric-grid-3 { grid-template-columns: 1fr 1fr; }
    .admin-consent-notice { grid-template-columns: 35px minmax(0,1fr); padding: 13px; }
    .admin-consent-notice > span { width: 34px; height: 34px; }
    .admin-database-filters { grid-template-columns: 1fr 1fr; padding: 13px; }
    .admin-database-filters > label { grid-column: span 1; }
    .admin-database-filters .admin-search-field { grid-column: 1 / -1; }
    .admin-responsive-table-wrap { overflow: visible; }
    .admin-responsive-table,
    .admin-responsive-table tbody,
    .admin-responsive-table tr,
    .admin-responsive-table td { display: block; width: 100%; }
    .admin-responsive-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .admin-responsive-table tbody { display: grid; gap: 11px; padding: 12px; }
    .admin-responsive-table tr { overflow: hidden; border: 1px solid var(--border); border-radius: 14px; background: var(--card); box-shadow: 0 8px 24px rgba(16,35,75,.05); }
    .admin-responsive-table td { display: grid; grid-template-columns: minmax(105px,.36fr) minmax(0,.64fr); gap: 12px; align-items: start; border-bottom: 1px solid var(--border); padding: 10px 12px; text-align: right; }
    .admin-responsive-table td::before { color: var(--muted); content: attr(data-label); font-size: .49rem; font-weight: 900; text-align: left; text-transform: uppercase; }
    .admin-responsive-table td:last-child { border-bottom: 0; }
    .admin-responsive-table td > strong,
    .admin-responsive-table td > small { justify-self: end; text-align: right; }
    .admin-responsive-table td > small { max-width: 200px; }
    .admin-interest-tag,
    .admin-source-pill,
    .admin-consent-pill,
    .quote-status { justify-self: end; }
    .admin-row-actions { justify-content: flex-end; }
    .admin-responsive-table td[colspan] { display: block; }
    .admin-responsive-table td[colspan]::before { content: none; }
    .admin-service-form-grid,
    .quote-client-grid,
    .quote-terms-grid { grid-template-columns: 1fr; }
    .quote-editor-card { padding: 18px; }
    .quote-editor-title { grid-template-columns: 38px minmax(0,1fr); }
    .quote-editor-title > span { width: 37px; height: 37px; }
    .quote-editor-title .quote-add-item { grid-column: 1 / -1; width: 100%; }
    .quote-item-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .quote-preview-column { width: min(100%,520px); overflow-x: auto; padding-bottom: 5px; }
    .quote-paper { min-width: 430px; min-height: 608px; }
    .quote-builder-actions .button { flex: 1 1 230px; }
}

@media (max-width: 540px) {
    .admin-nav-caption { margin-inline: 10px; }
    .admin-metric-grid-3 { grid-template-columns: 1fr; }
    .admin-database-filters { grid-template-columns: 1fr; }
    .admin-database-filters > label,
    .admin-database-filters .admin-search-field { grid-column: 1; }
    .admin-data-head { min-height: 0; padding: 16px; }
    .admin-service-editor,
    .admin-service-list-card { padding: 17px; }
    .admin-service-item { grid-template-columns: 39px minmax(0,1fr); }
    .admin-service-icon { width: 38px; height: 38px; }
    .admin-service-actions { grid-column: 1 / -1; justify-content: flex-start; }
    .quote-item-grid { grid-template-columns: 1fr; }
    .quote-builder-actions { flex-direction: column; align-items: stretch; }
    .quote-builder-actions .button { flex-basis: auto; width: 100%; }
    .quote-invoice-toggle { grid-template-columns: 20px minmax(0,1fr); }
    .quote-invoice-toggle i { grid-column: 1 / -1; justify-self: end; margin-top: -30px; }
}

/* Home solution trio and mobile-app preview. */
.solution-grid-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.solution-grid-three .solution-card { min-width: 0; }
.solution-grid-three .solution-card > p { min-height: 86px; }
.mini-app-ui { position: relative; display: grid; min-height: 170px; place-items: center; overflow: hidden; border: 1px solid var(--border); border-radius: 18px; background: radial-gradient(circle at 65% 35%,rgba(115,87,255,.15),transparent 35%),linear-gradient(145deg,var(--bg-alt),var(--card)); }
.mini-app-phone { position: relative; z-index: 2; display: grid; width: 82px; height: 142px; grid-template-rows: 16px 36px 1fr 24px; gap: 6px; overflow: hidden; border: 5px solid #0b1425; border-radius: 20px; background: linear-gradient(165deg,#075ce8,#7857ee); padding: 9px 8px; box-shadow: 0 18px 30px rgba(7,34,86,.27); transform: rotate(-6deg); }
.mini-app-phone::before { position:absolute; top:5px; left:50%; width:34px; height:7px; border-radius:99px; background:#07101f; content:""; transform:translateX(-50%); }
.mini-app-phone i { margin-top: 7px; border-radius: 6px; background: rgba(255,255,255,.88); }
.mini-app-phone b { border-radius: 8px; background: rgba(255,255,255,.22); }
.mini-app-phone em { border-radius: 8px; background: linear-gradient(90deg,rgba(255,255,255,.22) 47%,transparent 47% 53%,rgba(255,255,255,.22) 53%); }
.mini-app-phone small { border-radius: 7px; background: #fff; }
.mini-app-panel { position:absolute; right:24px; bottom:22px; display:grid; width:106px; gap:7px; border:1px solid rgba(0,94,255,.16); border-radius:13px; background:color-mix(in srgb,var(--card) 93%,transparent); box-shadow:0 14px 30px rgba(25,54,105,.14); padding:10px; transform:rotate(4deg); }
.mini-app-panel i { height:8px; border-radius:99px; background:var(--blue-soft); }
.mini-app-panel i:nth-child(1) { width:80%; background:linear-gradient(90deg,#005eff,#7357ff); }
.mini-app-panel i:nth-child(2) { width:62%; }
.mini-app-panel i:nth-child(3) { width:90%; }
@media (max-width: 1050px) { .solution-grid-three { grid-template-columns: repeat(2,minmax(0,1fr)); } .solution-grid-three .mobile-solution-card { grid-column:1/-1; width:min(100%,560px); justify-self:center; } }
@media (max-width: 760px) { .solution-grid-three { grid-template-columns:1fr; } .solution-grid-three .mobile-solution-card { grid-column:auto; width:100%; } .solution-grid-three .solution-card > p { min-height:0; } }

/* v5.0 final: comfortable desktop form typography without altering mobile. */
@media (min-width: 900px) {
    .systems-page-v3 .system-quote-form .form-field > label,
    .systems-page-v3 .system-quote-form .form-label,
    .systems-page-v3 .system-quote-form .form-label-row > label,
    .systems-page-v3 .system-quote-form .form-label-row > span {
        font-size: .93rem;
        line-height: 1.4;
    }
    .systems-page-v3 .system-quote-form .form-label-row > small { font-size: .79rem; }
    .systems-page-v3 .system-quote-form .quote-step-heading h4 { font-size: 1.48rem; }
    .systems-page-v3 .system-quote-form .quote-step-heading p { font-size: .95rem; }
    .systems-page-v3 .system-quote-form .logo-choice-copy strong,
    .systems-page-v3 .system-quote-form .compact-choice strong {
        font-size: .92rem;
        line-height: 1.32;
    }
    .systems-page-v3 .system-quote-form .logo-choice-copy small {
        font-size: .79rem;
        line-height: 1.45;
    }
    .systems-page-v3 .system-quote-form input,
    .systems-page-v3 .system-quote-form select,
    .systems-page-v3 .system-quote-form textarea { font-size: .97rem; }
    .systems-page-v3 .system-quote-form .quote-live-summary strong { font-size: .94rem; }
    .systems-page-v3 .system-quote-form .quote-live-summary dd { font-size: .88rem; }
    .systems-page-v3 .system-quote-form .consent-card { font-size: .84rem; }
    .systems-page-v3 .system-quote-form .quote-step-actions .button { font-size: .91rem; }

    .diagnostic-page-v4 .diagnostic-question-head h2 { font-size: clamp(1.75rem, 2.15vw, 2.05rem); }
    .diagnostic-page-v4 .diagnostic-question-head p,
    .diagnostic-page-v4 .multi-hint { font-size: .93rem; }
    .diagnostic-page-v4 .diagnostic-option-copy {
        font-size: .98rem;
        line-height: 1.45;
    }
    .diagnostic-page-v4 .diagnostic-side-meta,
    .diagnostic-page-v4 .diagnostic-side-security small { font-size: .79rem; }
    .diagnostic-page-v4 .diagnostic-side-security strong,
    .diagnostic-page-v4 .diagnostic-side-restart { font-size: .86rem; }
    .diagnostic-page-v4 .diagnostic-actions .button { font-size: .91rem; }
    .diagnostic-page-v4 .diagnostic-capture-heading p { font-size: .91rem; }
    .diagnostic-page-v4 .diagnostic-contact-grid label { font-size: .92rem; }
    .diagnostic-page-v4 .diagnostic-contact-grid input { font-size: .97rem; }
    .diagnostic-page-v4 .diagnostic-contact-grid .consent-card { font-size: .84rem; }
    .diagnostic-page-v4 .diagnostic-submit-row .button { font-size: .91rem; }

    .contact-page-v2 .contact-form-v2 .form-field > label,
    .contact-page-v2 .contact-form-v2 .form-label,
    .mobile-app-page .app-quote-form .form-field > label,
    .mobile-app-page .app-quote-form .form-label { font-size: .91rem; }
    .contact-page-v2 .contact-form-v2 input,
    .contact-page-v2 .contact-form-v2 select,
    .contact-page-v2 .contact-form-v2 textarea,
    .mobile-app-page .app-quote-form input,
    .mobile-app-page .app-quote-form select,
    .mobile-app-page .app-quote-form textarea { font-size: .96rem; }
    .contact-page-v2 .contact-form-v2 .consent-card,
    .mobile-app-page .app-quote-form .consent-card { font-size: .84rem; }

    .tiktok-waitlist-form .form-field label { font-size: .86rem; }
    .tiktok-waitlist-form .form-field input { font-size: .94rem; }
    .tiktok-waitlist-form .consent-row { font-size: .8rem; }
}
