/* Generated from site.css on 2026-06-30. site.css is kept as fallback/reference. */
.app-main {
    width: min(1180px, calc(100vw - 28px));
    margin: clamp(8px, 1.5vh, 18px) auto;
}

body.app-shell {
    --line: rgba(225, 232, 238, .22);
    --line-soft: rgba(225, 232, 238, .09);
    --panel: rgba(26, 32, 37, .78);
    --panel-strong: rgba(46, 54, 61, .86);
    --glow: rgba(235, 241, 246, .72);
    --premium-gold: rgba(231, 184, 91, .66);
    --premium-gold-soft: rgba(255, 211, 126, .13);
    --premium-gold-dim: rgba(255, 194, 82, .075);
    background:
        radial-gradient(ellipse at 44% 10%, rgba(238,244,248,.16), transparent 23%),
        radial-gradient(ellipse at 86% 26%, rgba(196,207,216,.10), transparent 28%),
        radial-gradient(ellipse at 8% 82%, rgba(160,174,187,.10), transparent 28%),
        linear-gradient(135deg, #242b30 0%, #151b1f 48%, #090d10 100%);
}

#bg-canvas {
    position: fixed;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    background:
        linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 24px),
        radial-gradient(circle at var(--mx, 50%) var(--my, 20%), rgba(170, 187, 199, .10), transparent 24%),
        linear-gradient(135deg, #1f272d, #10161a 48%, #070b0d);
}

body.app-shell::before {
    opacity: .86;
    animation: honeyBlink 6.8s ease-in-out infinite;
    filter: drop-shadow(0 0 20px rgba(231, 184, 91, .26));
    background:
        radial-gradient(ellipse at 96% 10%, rgba(231, 184, 91, .20), transparent 24%),
        radial-gradient(ellipse at 2% 92%, rgba(231, 184, 91, .18), transparent 26%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='360' viewBox='0 0 720 360'%3E%3Cg fill='none' stroke='%23e7b85b' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg stroke-opacity='.18' stroke-width='1'%3E%3Cpath d='M514 28l24 14v28l-24 14-24-14V42zM562 28l24 14v28l-24 14-24-14V42zM610 28l24 14v28l-24 14-24-14V42zM538 70l24 14v28l-24 14-24-14V84zM586 70l24 14v28l-24 14-24-14V84zM634 70l24 14v28l-24 14-24-14V84zM514 112l24 14v28l-24 14-24-14v-28zM562 112l24 14v28l-24 14-24-14v-28zM610 112l24 14v28l-24 14-24-14v-28zM34 224l24 14v28l-24 14-24-14v-28zM82 224l24 14v28l-24 14-24-14v-28zM130 224l24 14v28l-24 14-24-14v-28zM58 266l24 14v28l-24 14-24-14v-28zM106 266l24 14v28l-24 14-24-14v-28z'/%3E%3C/g%3E%3Cg stroke-opacity='.14' stroke-width='1'%3E%3Cpath d='M28 62h170l26-24h168M94 102h110l28 28h112l20-20h108M14 170h108l24 24h130l26-26h150M198 246h112l34-34h160M490 196h92l18 18h92'/%3E%3Ccircle cx='198' cy='62' r='2.6'/%3E%3Ccircle cx='344' cy='130' r='2.6'/%3E%3Ccircle cx='452' cy='168' r='2.6'/%3E%3Ccircle cx='310' cy='246' r='2.6'/%3E%3Ccircle cx='600' cy='214' r='2.6'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='360' viewBox='0 0 720 360'%3E%3Cg fill='none' stroke='%23e7b85b' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg stroke-opacity='.18' stroke-width='1'%3E%3Cpath d='M514 28l24 14v28l-24 14-24-14V42zM562 28l24 14v28l-24 14-24-14V42zM610 28l24 14v28l-24 14-24-14V42zM538 70l24 14v28l-24 14-24-14V84zM586 70l24 14v28l-24 14-24-14V84zM634 70l24 14v28l-24 14-24-14V84zM514 112l24 14v28l-24 14-24-14v-28zM562 112l24 14v28l-24 14-24-14v-28zM610 112l24 14v28l-24 14-24-14v-28zM34 224l24 14v28l-24 14-24-14v-28zM82 224l24 14v28l-24 14-24-14v-28zM130 224l24 14v28l-24 14-24-14v-28zM58 266l24 14v28l-24 14-24-14v-28zM106 266l24 14v28l-24 14-24-14v-28z'/%3E%3C/g%3E%3Cg stroke-opacity='.14' stroke-width='1'%3E%3Cpath d='M28 62h170l26-24h168M94 102h110l28 28h112l20-20h108M14 170h108l24 24h130l26-26h150M198 246h112l34-34h160M490 196h92l18 18h92'/%3E%3Ccircle cx='198' cy='62' r='2.6'/%3E%3Ccircle cx='344' cy='130' r='2.6'/%3E%3Ccircle cx='452' cy='168' r='2.6'/%3E%3Ccircle cx='310' cy='246' r='2.6'/%3E%3Ccircle cx='600' cy='214' r='2.6'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),
        repeating-linear-gradient(135deg, transparent 0 24px, rgba(255, 211, 126, .018) 25px, transparent 28px);
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat;
    background-size: min(44vw, 620px) 42vh, min(46vw, 640px) 44vh, min(48vw, 640px) auto, min(48vw, 640px) auto, 94px 94px;
    background-position: right -4vw top -2vh, left -5vw bottom -3vh, right -18px top 6px, left -22px bottom 4px, center;
    -webkit-mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.98) 14%, rgba(0,0,0,.74) 30%, rgba(0,0,0,.34) 45%, rgba(0,0,0,.18) 50%, rgba(0,0,0,.34) 55%, rgba(0,0,0,.74) 70%, rgba(0,0,0,.98) 86%, #000 100%);
    mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.98) 14%, rgba(0,0,0,.74) 30%, rgba(0,0,0,.34) 45%, rgba(0,0,0,.18) 50%, rgba(0,0,0,.34) 55%, rgba(0,0,0,.74) 70%, rgba(0,0,0,.98) 86%, #000 100%);
}

body.app-shell::after {
    opacity: .40;
    background:
        linear-gradient(90deg, transparent 0 3%, var(--line) 3.1%, var(--line) 72%, transparent 72.2%) left 30px top 30px/100% 1px no-repeat,
        repeating-linear-gradient(135deg, rgba(232,238,243,.11) 0 6px, transparent 6px 13px) left 38px top 47px/86px 12px no-repeat,
        radial-gradient(circle at var(--mx, 58%) var(--my, 18%), rgba(255,255,255,.10), transparent 16%),
        linear-gradient(180deg, rgba(255,255,255,.04), transparent 36%, rgba(0,0,0,.32));
}

.app-header {
    min-height: 58px;
    padding: 7px clamp(12px, 3vw, 24px);
}

.app-brand img {
    height: 38px;
    max-width: 210px;
}

.app-btn,
.mini-action,
.btn-submit,
.mini-auth-btn,
.cookie-btn,
.admin-menu-btn,
.register-action-btn,
.register-inline-btn,
.legal-action-btn,
.shop-buy,
.renewal-pay-btn,
.renewal-close,
.password-toggle,
.register-password-toggle,
.bcm2-file-button,
.general-immo-off-patch-button,
.general-immo-off-close,
.vag-ccm-select-button,
.audi-ezs-status-button,
button {
    position: relative;
    overflow: hidden;
}

.app-btn {
    min-height: 32px;
    padding: 8px 13px;
    text-decoration: none;
}

.app-btn,
.mini-action,
.btn-submit,
.mini-auth-btn,
.cookie-btn,
.admin-menu-btn,
.register-action-btn,
.register-inline-btn,
.legal-action-btn,
.shop-buy,
.renewal-pay-btn,
.renewal-close,
.password-toggle,
.register-password-toggle,
.bcm2-file-button,
.general-immo-off-patch-button,
.general-immo-off-close,
.vag-ccm-select-button,
.audi-ezs-status-button,
button {
    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease,
        color .18s ease,
        filter .18s ease;
}

.app-btn::before,
.mini-action::before,
.btn-submit::before,
.mini-auth-btn::before,
.cookie-btn::before,
.admin-menu-btn::before,
.register-action-btn::before,
.register-inline-btn::before,
.legal-action-btn::before,
.shop-buy::before,
.renewal-pay-btn::before,
.renewal-close::before,
.password-toggle::before,
.register-password-toggle::before,
.bcm2-file-button::before,
.general-immo-off-patch-button::before,
.general-immo-off-close::before,
.vag-ccm-select-button::before,
.audi-ezs-status-button::before,
button::before {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-115%);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.26), transparent);
    transition: transform .55s ease;
    pointer-events: none;
}

.app-btn:hover::before,
.mini-action:hover::before,
.btn-submit:hover::before,
.mini-auth-btn:hover::before,
.cookie-btn:hover::before,
.admin-menu-btn:hover::before,
.register-action-btn:hover::before,
.register-inline-btn:hover::before,
.legal-action-btn:hover::before,
.shop-buy:hover::before,
.renewal-pay-btn:hover::before,
.renewal-close:hover::before,
.password-toggle:hover::before,
.register-password-toggle:hover::before,
.bcm2-file-button:hover::before,
.general-immo-off-patch-button:hover::before,
.general-immo-off-close:hover::before,
.vag-ccm-select-button:hover::before,
.audi-ezs-status-button:hover::before,
button:hover::before {
    transform: translateX(115%);
}

.app-btn:hover,
.mini-action:hover,
.btn-submit:hover,
.mini-auth-btn:hover,
.cookie-btn:hover,
.admin-menu-btn:hover,
.register-action-btn:hover,
.register-inline-btn:hover,
.legal-action-btn:hover,
.shop-buy:hover,
.renewal-pay-btn:hover,
.renewal-close:hover,
.password-toggle:hover,
.register-password-toggle:hover,
.bcm2-file-button:hover,
.general-immo-off-patch-button:hover,
.general-immo-off-close:hover,
.vag-ccm-select-button:hover,
.audi-ezs-status-button:hover,
button:hover {
    transform: translateY(-1px);
}

.console-panel,
.hero-panel,
.auth-panel,
.admin-panel,
.tool-panel,
.module-section,
.content-panel {
    position: relative;
    border: 1px solid var(--border);
    border-radius: 10px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.10), transparent 31%),
        linear-gradient(180deg, rgba(50,58,65,.86), rgba(18,23,27,.82));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.13), 0 18px 42px rgba(0,0,0,.44);
    backdrop-filter: blur(15px) saturate(118%);
}

.console-panel::before,
.hero-panel::before,
.auth-panel::before,
.admin-panel::before,
.tool-panel::before,
.module-section::before,
.content-panel::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 16px;
    right: 16px;
    top: 7px;
    height: 1px;
    pointer-events: none;
    opacity: .65;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.48), transparent);
}

.console-panel::after,
.hero-panel::after,
.auth-panel::after,
.admin-panel::after,
.tool-panel::after,
.module-section::after,
.content-panel::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: 28px;
    top: 5px;
    width: 76px;
    height: 7px;
    opacity: .18;
    pointer-events: none;
    background: repeating-linear-gradient(135deg, #e8edf2 0 7px, transparent 7px 13px);
}

.console-panel > *,
.hero-panel > *,
.auth-panel > *,
.admin-panel > *,
.tool-panel > *,
.module-section > *,
.content-panel > * {
    position: relative;
    z-index: 1;
}

.hero-panel,
.auth-panel,
.admin-panel,
.tool-panel,
.module-section,
.content-panel {
    padding: clamp(16px, 2.4vw, 28px);
    margin-bottom: 12px;
}

.hero-panel {
    min-height: auto;
    overflow: hidden;
}

.hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(290px, .72fr);
    gap: clamp(16px, 3vw, 34px);
    align-items: center;
}

.eyebrow {
    margin: 0 0 8px;
    color: #d9e1e8;
    font: 800 11px/1.2 "Orbitron", Arial, sans-serif;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.hero-panel h1,
.page-title,
.section-title {
    position: relative;
    margin: 0 0 12px;
    color: #f7fafc;
    font-family: "Orbitron", Arial, sans-serif;
    letter-spacing: 0;
    text-shadow: 0 4px 22px rgba(0,0,0,.58);
}

.hero-panel h1 {
    max-width: 820px;
    font-size: clamp(34px, 5.2vw, 66px);
    line-height: 1.02;
}

.page-title { font-size: clamp(26px, 4vw, 46px); }

.section-title { font-size: clamp(19px, 2.2vw, 28px); }

.hero-panel h1::after,
.page-title::after,
.section-title::after {
    content: "";
    display: block;
    width: min(560px, 82vw);
    height: 2px;
    margin-top: 12px;
    background: linear-gradient(90deg, transparent, var(--glow), transparent);
    box-shadow: 0 0 16px rgba(255,255,255,.72), 0 0 32px rgba(255,255,255,.26);
    animation: pulseLine 2.7s ease-in-out infinite;
    transform-origin: center;
}

.lead {
    max-width: 760px;
    margin: 0 0 18px;
    color: #c7d0d8;
    font-size: clamp(14px, 1.7vw, 17px);
    line-height: 1.6;
}

.muted { color: var(--muted); }

.hero-visual {
    position: relative;
    z-index: 1;
    min-height: 280px;
    display: grid;
    place-items: center;
}

.ecu-plate {
    width: min(390px, 100%);
    aspect-ratio: 1.28;
    border: 1px solid rgba(232,238,243,.42);
    border-radius: 18px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.38), rgba(132,143,153,.16) 38%, rgba(10,14,17,.62) 100%),
        repeating-linear-gradient(0deg, rgba(255,255,255,.09) 0 1px, transparent 1px 12px);
    box-shadow: inset 0 2px 5px rgba(255,255,255,.22), inset 0 -18px 40px rgba(0,0,0,.34), 0 24px 44px rgba(0,0,0,.55);
    transform: rotate(-5deg);
    display: grid;
    align-content: center;
    padding: 26px;
}

.ecu-label {
    margin-left: auto;
    width: 72%;
    border-radius: 8px;
    padding: 14px;
    background: rgba(236,240,243,.9);
    color: #151b1f;
    font: 800 14px/1.35 "Inter", Arial, sans-serif;
    box-shadow: 0 10px 22px rgba(0,0,0,.34);
}

.ecu-label strong {
    display: block;
    font: 900 24px/1 "Orbitron", Arial, sans-serif;
    margin-bottom: 8px;
}

.hero-logos {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 18px 0 0;
}

.hero-logos img,
.brand-strip img {
    width: 50px;
    height: 38px;
    object-fit: contain;
    filter: grayscale(.05) brightness(1.16) drop-shadow(0 7px 13px rgba(0,0,0,.38));
}

.brand-strip { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 16px; }

.grid { display: grid; gap: 12px; }

.two { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }

.three { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }

.sdi-row,
.module-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 10px;
}

.sdi-tile,
.mini-card,
.module-card,
.plan-card,
.info-card,
.stat {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(214,222,229,.34);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(70,79,87,.48), rgba(19,24,28,.74));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 12px 28px rgba(0,0,0,.30);
}

.sdi-tile::after,
.mini-card::after,
.module-card::after,
.plan-card::after,
.info-card::after,
.stat::after {
    content: "";
    position: absolute;
    left: 18%;
    right: 18%;
    bottom: 10px;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(239,244,248,.8), transparent);
    opacity: .45;
}

.sdi-tile {
    min-height: 94px;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 10px;
}

.sdi-icon {
    width: 46px;
    height: 32px;
    border: 2px solid #e7edf2;
    border-radius: 5px;
    box-shadow: 0 0 0 4px rgba(255,255,255,.08);
}

.sdi-icon-img {
    width: 52px;
    height: 38px;
    object-fit: contain;
    filter: drop-shadow(0 7px 10px rgba(0,0,0,.36));
}

.sdi-tile strong {
    display: block;
    margin-top: 6px;
    color: #fff;
    font: 900 16px/1 "Orbitron", Arial, sans-serif;
}

.action-band {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.action-tile {
    min-height: 90px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    color: #fff;
    text-decoration: none;
}

.action-icon {
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border: 2px solid rgba(241,245,249,.82);
    border-radius: 50%;
    font: 900 22px/1 "Orbitron", Arial, sans-serif;
}

.module-section h2 {
    margin: 0 0 12px;
    font: 900 18px/1.1 "Orbitron", Arial, sans-serif;
}

.module-card {
    min-height: 86px;
    display: grid;
    grid-template-columns: 44px minmax(0,1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 11px;
}

.module-card img {
    max-width: 44px;
    max-height: 34px;
    object-fit: contain;
    filter: brightness(1.12) drop-shadow(0 5px 10px rgba(0,0,0,.35));
}

.module-card h3 {
    margin: 0 0 4px;
    color: #fff;
    font-size: 14px;
    line-height: 1.15;
}

.module-card p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
}

.module-card.locked { opacity: .78; }

.module-card.enabled { border-color: rgba(239,244,248,.48); }

.form-grid {
    display: grid;
    gap: 12px;
}

.form-grid label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-weight: 800;
    font-size: 12px;
    text-transform: uppercase;
}

.form-grid input,
.form-grid select,
.form-grid textarea {
    width: 100%;
    border: 1px solid rgba(214,222,229,.34);
    border-radius: 8px;
    background: rgba(5,8,10,.42);
    color: var(--text);
    padding: 11px 12px;
    outline: 0;
}

.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus {
    border-color: rgba(245,248,251,.82);
    box-shadow: 0 0 0 3px rgba(245,248,251,.12);
}

.alert {
    margin: 12px 0;
    padding: 11px 13px;
    border-radius: 8px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,.06);
}

.alert.danger { border-color: rgba(248,113,113,.7); color: #fecaca; }

.alert.success { border-color: rgba(185,240,203,.7); color: var(--success); }

.alert.warn { border-color: rgba(251,191,36,.72); color: #fde68a; }

@keyframes decrypt-alert-vanish {
    0%, 72% {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
    100% {
        opacity: 0;
        visibility: hidden;
        transform: translateX(-50%) translateY(-8px);
    }
}

.decrypt-action-modal {
    position: fixed;
    inset: 0;
    z-index: 1300;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(0, 0, 0, .58);
    backdrop-filter: blur(5px);
}

.decrypt-action-modal[hidden] {
    display: none;
}

.decrypt-action-card {
    width: min(460px, 100%);
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 12px;
    background: rgba(14, 17, 20, .98);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .55);
}

.decrypt-action-card h2 {
    margin: 0 0 10px;
    font-size: 1.2rem;
}

.decrypt-action-card p {
    margin: 0;
    color: var(--muted);
}

.decrypt-action-file {
    margin-top: 14px;
    padding: 10px 12px;
    overflow-wrap: anywhere;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    background: rgba(255, 255, 255, .04);
    color: var(--text);
    font-family: var(--mono);
    font-size: .86rem;
}

.decrypt-action-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.mini-action.danger,
.decrypt-action-buttons .mini-action.danger {
    border-color: rgba(248, 113, 113, .55);
    color: #fecaca;
}

.support-form {
    gap: 9px;
}

.support-topic-select {
    position: relative;
    display: grid;
    gap: 5px;
}

.support-topic-label {
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.support-topic-trigger {
    width: 100%;
    min-height: 36px;
    padding: 8px 34px 8px 10px;
    border: 1px solid rgba(216, 173, 85, .48);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(216, 173, 85, .10), rgba(5, 8, 10, .46)),
        rgba(5, 8, 10, .72);
    color: #f8fafc;
    font: inherit;
    font-weight: 900;
    text-align: left;
    cursor: pointer;
}

.support-topic-trigger::after {
    content: "";
    position: absolute;
    right: 13px;
    top: 34px;
    width: 8px;
    height: 8px;
    border-right: 2px solid rgba(248, 250, 252, .9);
    border-bottom: 2px solid rgba(248, 250, 252, .9);
    transform: rotate(45deg);
    pointer-events: none;
}

.support-topic-trigger:hover,
.support-topic-trigger:focus {
    border-color: rgba(245, 248, 251, .82);
    box-shadow: 0 0 0 3px rgba(245, 248, 251, .10);
    outline: none;
}

.support-topic-menu {
    position: absolute;
    z-index: 20;
    top: calc(100% + 5px);
    left: 0;
    right: 0;
    max-height: 260px;
    overflow-y: auto;
    padding: 7px;
    border: 1px solid rgba(216, 173, 85, .42);
    border-radius: 8px;
    background: rgba(18, 24, 29, .98);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .45);
}

.support-topic-menu strong {
    display: block;
    padding: 6px 7px 4px;
    color: #f2d58d;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.support-topic-menu button {
    display: block;
    width: 100%;
    min-height: 30px;
    margin: 1px 0;
    padding: 6px 8px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: rgba(235, 242, 247, .88);
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}

.support-topic-menu button:hover,
.support-topic-menu button[aria-current="true"] {
    border-color: rgba(216, 173, 85, .44);
    background: rgba(216, 173, 85, .14);
    color: #fff6dc;
}

.support-public-grid {
    align-items: stretch;
    grid-template-columns: minmax(320px, .82fr) minmax(260px, .54fr) !important;
    gap: 14px !important;
}

.support-info-grid {
    align-content: start;
    gap: 10px;
}

.contact-hidden {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.optional-label {
    color: #f2d58d;
    font-size: 10px;
    font-weight: 900;
}

.support-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.support-user-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 42px;
    padding: 8px 11px;
    border: 1px solid rgba(216,173,85,.42);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(216,173,85,.14), rgba(255,255,255,.04));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
}

.support-page .app-main {
    width: min(1060px, calc(100vw - 28px)) !important;
}

.support-page .content-panel {
    padding: 16px 20px !important;
    margin-bottom: 10px !important;
}

.support-page .eyebrow {
    margin-bottom: 4px !important;
}

.support-page .page-title,
.support-page .section-title {
    margin-bottom: 8px !important;
}

.support-page .lead,
.support-page .content-panel > .muted {
    margin-bottom: 12px !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
}

.support-page .form-grid label {
    gap: 5px;
    font-size: 11px;
}

.support-page .form-grid input,
.support-page .form-grid select,
.support-page .form-grid textarea {
    min-height: 34px !important;
    padding: 8px 10px !important;
}

.support-page textarea[name="message"] {
    min-height: 118px !important;
}

.support-page .info-card {
    padding: 10px 12px !important;
}

.support-page .info-card h2 {
    font-size: 14px !important;
    margin-bottom: 5px !important;
}

.support-page .info-card p {
    font-size: 12px;
    line-height: 1.35;
}

.support-page .support-check {
    padding: 8px 10px;
}

.support-page .app-btn[type="submit"] {
    min-height: 30px;
    padding: 7px 12px;
}

.support-user-strip span {
    color: #fff;
    font-weight: 950;
}

.support-user-strip strong {
    color: #f2d58d;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.support-check {
    display: grid;
    grid-template-columns: 18px 1fr;
    align-items: flex-start;
    gap: 9px;
    padding: 10px 12px;
    border: 1px solid rgba(214,222,229,.22);
    border-radius: 8px;
    background: rgba(5,8,10,.32);
    text-transform: none;
    line-height: 1.35;
}

.support-check input {
    width: 16px;
    height: 16px;
    margin: 1px 0 0;
    accent-color: #d8ad55;
}

.support-check span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.support-page .auth-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
}

.support-page .content-panel {
    max-width: 980px;
    margin-left: auto !important;
    margin-right: auto !important;
}

.support-page .content-panel > .muted {
    max-width: 860px;
}

.support-page .auth-grid > .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

@media (max-width: 900px) {
    .support-page .auth-grid > .grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .support-page .auth-grid > .grid {
        grid-template-columns: 1fr;
    }
}

.support-ticket-link-row {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 10px;
}

.support-ticket-head,
.support-ticket-detail-head,
.support-ticket-list-head,
.support-ticket-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.support-ticket-head {
    margin-bottom: 8px;
}

.support-ticket-head .section-title,
.support-ticket-head .muted {
    margin: 0 !important;
}

.support-ticket-grid {
    display: grid;
    grid-template-columns: minmax(250px, .38fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.support-ticket-list-grid,
.support-ticket-detail-grid {
    grid-template-columns: 1fr;
}

.support-ticket-list,
.support-ticket-detail {
    min-width: 0;
    border: 1px solid rgba(214,222,229,.2);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(70,79,87,.32), rgba(7,10,12,.54));
}

.support-ticket-list {
    padding: 8px;
}

.support-ticket-list-head {
    margin-bottom: 8px;
    color: #f4f7f9;
    font-weight: 900;
}

.support-ticket-list-head span {
    color: #f3d694;
}

.support-ticket-list-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 5px 8px;
    padding: 7px 8px;
    margin-bottom: 6px;
    color: inherit;
    text-decoration: none;
    border: 1px solid rgba(214,222,229,.16);
    border-radius: 8px;
    background: rgba(5,8,10,.3);
}

.support-ticket-list-item:hover,
.support-ticket-list-item.active {
    border-color: rgba(216,173,85,.58);
    background: rgba(216,173,85,.12);
}

.support-ticket-list-item strong,
.support-ticket-list-item em,
.support-ticket-list-item small {
    display: block;
    min-width: 0;
}

.support-ticket-list-item em,
.support-ticket-list-item small {
    color: var(--muted);
    font-style: normal;
    font-size: 11px;
}

.support-ticket-list-item small {
    grid-column: 1 / -1;
}

.ticket-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 18px;
    padding: 1px 7px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 950;
    text-transform: uppercase;
    white-space: nowrap;
}

.ticket-status.warn { background: #3a2a10; color: #ffe2b0; border-color: #7a5b1d; }
.ticket-status.purple { background: #221135; color: #e1caff; border-color: #4b2f74; }
.ticket-status.muted { background: #1b2433; color: #c2ccd9; border-color: #2b3a52; }

.support-ticket-detail {
    padding: 10px;
}

.support-ticket-detail-toolbar {
    display: flex;
    justify-content: flex-start;
    margin: 8px 0 10px;
}

.support-ticket-detail-head h2,
.support-ticket-detail-head p {
    margin: 0;
}

.support-ticket-detail-head p {
    color: var(--muted);
    font-size: 11px;
}

.support-ticket-detail-head h2 {
    font-size: 19px;
    line-height: 1.1;
}

.support-ticket-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin: 8px 0;
}

.support-ticket-meta span {
    min-width: 0;
    padding: 6px 8px;
    border: 1px solid rgba(214,222,229,.16);
    border-radius: 8px;
    background: rgba(5,8,10,.28);
    color: var(--muted);
    font-size: 10px;
}

.support-ticket-meta strong {
    display: block;
    color: #f7fafc;
    overflow-wrap: anywhere;
}

.support-ticket-thread,
.ticket-thread {
    display: grid;
    gap: 6px;
}

.support-ticket-message,
.ticket-message {
    padding: 8px 10px;
    border: 1px solid rgba(214,222,229,.18);
    border-radius: 8px;
    background: rgba(5,8,10,.32);
}

.support-ticket-message.admin,
.ticket-message.admin {
    border-color: rgba(88,214,154,.38);
    background: rgba(35,74,55,.24);
}

.support-ticket-message > div,
.ticket-message > div {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 5px;
    color: #f7fafc;
}

.support-ticket-message span,
.ticket-message span {
    color: var(--muted);
    font-size: 11px;
    white-space: nowrap;
}

.support-ticket-message p,
.ticket-message p {
    margin: 0;
    color: rgba(235,242,247,.88);
    font-size: 13px;
    line-height: 1.38;
    overflow-wrap: anywhere;
}

.support-ticket-archive-link {
    justify-self: start;
    margin-top: 6px;
    min-height: 26px;
    padding: 4px 8px;
    font-size: 10px;
}

.support-ticket-actions {
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 8px 0;
}

.support-ticket-actions form,
.support-ticket-admin-actions form {
    margin: 0;
}

.support-ticket-reply,
.ticket-reply-form {
    display: grid;
    gap: 7px;
    margin-top: 8px;
}

.support-ticket-reply label,
.ticket-reply-form label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.support-ticket-reply textarea,
.ticket-reply-form textarea {
    width: 100%;
    min-height: 92px;
    resize: vertical;
}

.ticket-reply-form input[type="file"] {
    width: 100%;
    min-height: 34px;
    padding: 7px 8px;
    border: 1px solid rgba(216, 173, 85, .28);
    border-radius: 7px;
    background: rgba(5, 8, 10, .42);
    color: #e8edf2;
}

.support-ticket-page .content-panel {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

@media (max-width: 860px) {
    .support-ticket-grid,
    .support-ticket-meta {
        grid-template-columns: 1fr;
    }

    .support-ticket-head,
    .support-ticket-detail-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

.seasonal-promo-code {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 5px 9px;
    border: 1px dashed rgba(255,231,166,.7);
    border-radius: 8px;
    background: rgba(0,0,0,.22);
    color: #fff4d4;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
}

.seasonal-toggle {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #f2d58d;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.seasonal-toggle input {
    width: 16px;
    height: 16px;
    accent-color: #d8ad55;
}

.seasonal-plan-picker {
    display: grid;
    gap: 7px;
    padding: 9px;
    border: 1px solid rgba(216,173,85,.2);
    border-radius: 9px;
    background: rgba(0,0,0,.16);
}

.seasonal-plan-picker > span {
    color: #f2d58d;
    font-size: 10px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.seasonal-plan-picker > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.seasonal-plan-picker label {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    padding: 7px 8px;
    border: 1px solid rgba(214,222,229,.18);
    border-radius: 8px;
    background: rgba(5,8,10,.24);
    color: rgba(233,239,244,.82);
    font-size: 10px;
    font-weight: 850;
    line-height: 1.2;
}

.seasonal-plan-picker input {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
    accent-color: #d8ad55;
}

.seasonal-save-row {
    justify-content: flex-end;
}

.legal-panel {
    max-width: 1040px;
    margin-inline: auto;
    padding: clamp(12px, 1.8vw, 18px) !important;
}

.legal-page .app-main {
    width: min(1080px, calc(100vw - 30px)) !important;
    margin-top: 10px;
}

.legal-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, 230px);
    gap: 14px;
    align-items: stretch;
}

.legal-hero .page-title {
    width: fit-content;
    min-width: min(100%, 310px);
    margin-bottom: 8px;
    padding: 8px 10px;
    font-size: clamp(20px, 2.5vw, 30px);
}

.legal-hero .lead {
    max-width: 690px;
    margin: 0;
    color: rgba(226, 232, 238, .78);
    font-size: 12.5px;
    line-height: 1.45;
}

.legal-meta-card {
    display: grid;
    align-content: center;
    gap: 6px;
    padding: 10px;
    border: 1px solid rgba(231, 184, 91, .28);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255, 218, 139, .13), rgba(255,255,255,.035) 42%, rgba(7,10,12,.28)),
        rgba(8, 12, 15, .28);
}

.legal-meta-card span,
.legal-summary-grid span {
    color: #ffe0a0;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.legal-meta-card strong {
    color: #fff7dc;
    font-size: 13px;
}

.legal-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    width: fit-content;
    padding: 5px 10px;
    border: 1px solid rgba(231, 184, 91, .38);
    border-radius: 7px;
    background: linear-gradient(180deg, rgba(80,88,95,.62), rgba(36,42,47,.82));
    color: #ffe0a0;
    font-size: 10px;
    font-weight: 950;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 7px 16px rgba(0,0,0,.20);
}

.legal-action-btn:hover,
.legal-index a:hover {
    border-color: rgba(255, 220, 137, .72);
    color: #fff7dc;
    filter: brightness(1.12);
}

.legal-action-btn.subtle {
    color: rgba(226, 232, 238, .90);
    border-color: rgba(148, 163, 184, .30);
}

.legal-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.legal-summary-grid div {
    display: grid;
    gap: 4px;
    padding: 10px;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(0,0,0,.16));
}

.legal-summary-grid strong {
    color: #fff5d8;
    font-size: 12px;
}

.legal-summary-grid small {
    color: rgba(226, 232, 238, .70);
    font-size: 10.5px;
    line-height: 1.35;
}

.legal-index {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.legal-index a {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 8px;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 999px;
    background: rgba(8, 12, 15, .26);
    color: rgba(226, 232, 238, .84);
    font-size: 9.5px;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
}

.legal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 12px;
}

.legal-section {
    padding: 10px;
    border: 1px solid rgba(214,222,229,.2);
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(5,8,10,.22));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.legal-section h2 {
    margin: 0 0 6px;
    color: #fff7dc;
    font: 900 13px/1.2 "Orbitron", Arial, sans-serif;
}

.legal-section p {
    margin: 0 0 7px;
    color: var(--muted);
    font-size: 11.5px;
    line-height: 1.48;
}

.legal-section p:last-child {
    margin-bottom: 0;
}

.legal-section ul {
    margin: 6px 0 0;
    padding-left: 16px;
    color: var(--muted);
    font-size: 11.25px;
    line-height: 1.48;
}

.legal-section li + li {
    margin-top: 3px;
}

.legal-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 8px;
}

@media (max-width: 820px) {
    .legal-hero,
        .legal-grid {
            grid-template-columns: 1fr;
        }
    
    .legal-meta-card {
            align-content: start;
        }
}

@media (max-width: 560px) {
    .legal-page .app-main {
            width: calc(100vw - 18px) !important;
        }
    
    .legal-panel {
            padding: 12px !important;
        }
    
    .legal-index {
            max-height: 92px;
            overflow: auto;
            padding-right: 2px;
        }
    
    .legal-hero .page-title {
            width: 100%;
            min-width: 0;
        }
}

@media (max-width: 480px) {
    .legal-summary-grid {
            grid-template-columns: 1fr;
        }
}

.plan-card,
.info-card,
.mini-card,
.stat {
    padding: 15px;
}

.plan-card h2,
.info-card h2,
.mini-card h2 {
    margin: 0 0 8px;
    font: 900 17px/1.2 "Orbitron", Arial, sans-serif;
}

.plan-card ul,
.info-card ul {
    margin: 10px 0 0;
    padding-left: 18px;
    color: var(--muted);
    line-height: 1.6;
}

.price {
    color: #fff;
    font: 900 24px/1 "Orbitron", Arial, sans-serif;
}

.stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }

.stat strong { display: block; font-size: 26px; color: #fff; }

table th,
table td {
    padding: 10px;
    border-bottom: 1px solid var(--border);
    text-align: left;
    white-space: nowrap;
}

@keyframes pulseLine {
    0%, 100% { opacity: .55; transform: scaleX(.92); }
    50% { opacity: 1; transform: scaleX(1); }
}

@keyframes honeyBlink {
    0%, 100% {
        opacity: .54;
        filter: drop-shadow(0 0 10px rgba(255, 194, 82, .12));
    }
    48% {
        opacity: .88;
        filter: drop-shadow(0 0 22px rgba(255, 194, 82, .30));
    }
}

@media (max-width: 900px) {
    .app-main {
            width: calc(100vw - 16px);
            margin: 10px auto;
        }
    
    .hero-visual {
            min-height: 210px;
        }
    
    .ecu-plate {
            width: min(330px, 92%);
        }
    
    .module-grid {
            grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
        }
}

.mini-action.warn {
    border-color: rgba(255, 212, 128, .44);
    color: #ffe2a6;
}

@media (max-width: 560px) {
    .hero-panel h1 {
            font-size: clamp(30px, 12vw, 43px);
        }
    
    .page-title {
            font-size: clamp(25px, 10vw, 35px);
        }
    
    .sdi-row,
        .module-grid,
        .stat-grid,
        .two,
        .three {
            grid-template-columns: 1fr;
        }
    
    .module-card {
            grid-template-columns: 42px minmax(0, 1fr);
        }
    
    .module-card .app-btn {
            grid-column: 1 / -1;
            width: 100%;
        }
    
    .hero-logos,
        .brand-strip {
            justify-content: center;
        }
    
    .form-grid input,
        .form-grid select,
        .form-grid textarea {
            font-size: 16px;
        }
}

/* Final compact production layer: keeps all pages aligned and prevents old large rules from winning. */
body.app-shell {
    font-size: 14px;
    font-family: var(--font-ui, "Bahnschrift", "Segoe UI Variable", "Segoe UI", Arial, sans-serif) !important;
    background:
        radial-gradient(circle at 22% 12%, rgba(150, 164, 176, .16), transparent 26%),
        linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 22px),
        linear-gradient(135deg, #20292f, #10161a 46%, #0b1013) !important;
}

.app-header {
    min-height: 62px !important;
    padding: 7px clamp(12px, 2vw, 24px) !important;
}

.app-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0;
}

.app-brand img {
    filter: brightness(1.18) contrast(1.08) drop-shadow(0 4px 12px rgba(0,0,0,.45));
}

.app-brand-main {
    height: 42px !important;
    width: auto !important;
    max-width: 215px !important;
    object-fit: contain;
}

.app-brand-partner {
    height: 42px !important;
    width: 42px !important;
    max-width: 42px !important;
    object-fit: cover;
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(255,255,255,.18), 0 0 18px rgba(238, 47, 47, .18);
}

.app-actions {
    gap: 7px !important;
}

.app-btn {
    min-height: 28px !important;
    padding: 6px 10px !important;
    border-radius: 7px !important;
    font-size: 10px !important;
}

.app-user {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 154px;
    padding: 5px 9px;
    border: 1px solid rgba(210, 220, 228, .26);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(75,85,94,.38), rgba(11,15,18,.45));
    color: #f4f7f9;
    line-height: 1.05;
}

.app-user-icon,
.footer-role-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    border: 1px solid rgba(210, 220, 228, .38);
    background: linear-gradient(180deg, rgba(235,242,248,.18), rgba(20,26,31,.46));
    color: #f4f7f9;
    font-weight: 950;
    line-height: 1;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14);
}

.app-user-icon {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    font-size: 14px;
}

.app-role-badge {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 40px;
    height: 46px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.app-role-badge img {
    width: 40px;
    height: 46px;
    object-fit: contain;
    filter: drop-shadow(0 5px 8px rgba(0,0,0,.52));
}

.app-role-badge.admin,
.app-role-badge.superadmin,
.app-role-badge.user {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

.app-subscription-badge {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(229, 197, 112, .36);
    border-radius: 9px;
    background:
        linear-gradient(135deg, rgba(212, 164, 74, .13), rgba(255,255,255,.035) 48%, rgba(0,0,0,.24)),
        rgba(10, 14, 17, .42);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 8px 18px rgba(0,0,0,.24);
}

.app-subscription-badge img {
    width: 29px;
    height: 29px;
    object-fit: contain;
    filter: drop-shadow(0 4px 7px rgba(0,0,0,.45));
}

.app-subscription-badge.admin {
    border-color: rgba(255, 213, 118, .58);
}

.app-user-icon.admin::before,
.footer-role-icon.admin::before {
    content: "\1F6E1";
}

.app-user-icon.user::before,
.footer-role-icon.user::before {
    content: "\1F465";
}

.app-user-text {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.app-user strong {
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-user span {
    color: rgba(220, 228, 234, .68);
    font-size: 9px;
    font-weight: 800;
}

.app-user .app-user-text span {
    color: rgba(220, 228, 234, .68);
    font-size: 9px;
    font-weight: 800;
}

.footer-role-icon {
    width: 17px;
    height: 17px;
    margin-right: 5px;
    border-radius: 5px;
    font-size: 10px;
    vertical-align: -3px;
}

.footer-role-icon.admin {
    border-color: rgba(255, 214, 120, .45);
    color: #ffe2a6;
}

.footer-role-icon.user {
    border-color: rgba(150, 205, 255, .42);
    color: #c7e6ff;
}

.app-footer-stats,
.app-footer-links,
.app-footer-speed {
    min-width: 0;
}

.app-footer-links {
    position: relative;
    padding-inline: 12px;
}

.app-footer-links::before,
.app-footer-links::after {
    content: "";
    width: 34px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(231, 184, 91, .44), transparent);
}

.app-footer-speed {
    color: rgba(226, 235, 242, .74);
}

.app-footer-speed span,
.footer-health {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 22px;
}

.app-footer-speed strong {
    color: #fff2c7;
    font-weight: 950;
}

.footer-health {
    color: rgba(226, 235, 242, .82);
}

.footer-health.ok .footer-dot {
    background: #7cf0b1;
    box-shadow: 0 0 10px rgba(124, 240, 177, .44);
}

.footer-health.warn .footer-dot {
    background: #f0c36a;
    box-shadow: 0 0 10px rgba(240, 195, 106, .40);
}

.footer-dot {
    width: 7px;
    height: 7px;
    border-radius: 999px;
}

.app-main {
    width: min(1080px, calc(100vw - 32px)) !important;
    margin: 10px auto 16px !important;
}

.content-panel {
    min-height: 0 !important;
}

.eyebrow {
    margin-bottom: 6px !important;
    font-size: 10px !important;
    letter-spacing: 1px !important;
}

.hero-panel h1,
.page-title,
.section-title {
    margin-bottom: 8px !important;
    line-height: 1.05 !important;
}

.hero-panel h1 {
    font-size: clamp(30px, 3.2vw, 44px) !important;
}

.page-title {
    font-size: clamp(28px, 3vw, 42px) !important;
}

.section-title {
    font-size: clamp(18px, 1.7vw, 24px) !important;
}

.hero-panel h1::after,
.page-title::after,
.section-title::after {
    width: min(420px, 74vw) !important;
    margin-top: 8px !important;
}

.lead {
    max-width: 900px !important;
    margin-bottom: 12px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.module-section h2 {
    margin-bottom: 10px !important;
    font-size: 18px !important;
}

.module-grid {
    grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)) !important;
    gap: 9px !important;
}

.module-card {
    min-height: 72px !important;
    grid-template-columns: 38px minmax(0, 1fr) auto !important;
    gap: 9px !important;
    padding: 9px 10px !important;
    border-radius: 8px !important;
}

.module-card img {
    max-width: 38px !important;
    max-height: 30px !important;
}

.module-card h3 {
    font-size: 13px !important;
    line-height: 1.1 !important;
    margin-bottom: 3px !important;
}

.module-card p {
    font-size: 11px !important;
}

.mini-card,
.plan-card,
.info-card,
.stat {
    padding: 12px !important;
    border-radius: 8px !important;
}

.mini-card h2,
.plan-card h2,
.info-card h2 {
    font-size: 15px !important;
    margin-bottom: 6px !important;
}

.mini-card p,
.plan-card li,
.info-card li,
.muted {
    font-size: 13px;
}

.form-grid {
    gap: 10px !important;
}

.form-grid input,
.form-grid select,
.form-grid textarea {
    min-height: 38px !important;
    padding: 9px 10px !important;
}

.brand-strip img,
.hero-logos img {
    width: 42px !important;
    height: 32px !important;
}

.app-footer {
    padding: 14px 5% !important;
}

@media (min-width: 1200px) {
    .features .app-main,
        .home .app-main {
            width: min(1100px, calc(100vw - 34px)) !important;
        }
}

@media (max-width: 760px) {
    .app-header {
            justify-content: center !important;
        }
    
    .app-brand {
            gap: 8px !important;
        }

    .app-brand-main {
            height: 36px !important;
            max-width: 168px !important;
        }

    .app-brand-partner {
            width: 36px !important;
            height: 36px !important;
            max-width: 36px !important;
        }
        .app-actions {
            justify-content: center !important;
        }
    
    .page-title {
            font-size: clamp(26px, 9vw, 34px) !important;
        }
    
    .module-grid {
            grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
        }
}

/* Shared premium finish: a dim gold accent that matches the annual membership card. */
.app-header,
.app-footer {
    border-color: rgba(231, 184, 91, .22) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.24), 0 0 22px rgba(255, 194, 82, .045) !important;
}

@keyframes dashNewBlink {
    0%, 100% {
        opacity: 1;
        box-shadow: 0 0 0 rgba(131, 255, 181, 0);
    }
    50% {
        opacity: .42;
        box-shadow: 0 0 14px rgba(131, 255, 181, .55);
    }
}

@keyframes dashCascade {
    from {
        opacity: 0;
        filter: saturate(.72);
        transform: translateY(12px) scale(.988);
    }
    to {
        opacity: 1;
        filter: saturate(1);
        transform: translateY(0);
    }
}

.status-page .app-main {
    display: grid;
    place-items: center;
    min-height: calc(100vh - 210px);
    width: min(760px, calc(100vw - 28px)) !important;
}

.status-card {
    width: 100%;
    padding: 22px;
    border: 1px solid rgba(205, 216, 224, .28);
    border-radius: 12px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02) 48%, rgba(0,0,0,.26)),
        rgba(25, 31, 36, .9);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 18px 42px rgba(0,0,0,.34);
    text-align: center;
}

.status-card.danger {
    border-color: rgba(248, 113, 113, .5);
}

.status-card h1 {
    margin: 0 0 10px;
    color: #ffd1d1;
    font-size: clamp(22px, 4vw, 34px);
    line-height: 1.05;
    text-transform: uppercase;
}

.status-card p {
    max-width: 620px;
    margin: 0 auto 10px;
    color: rgba(236, 242, 246, .84);
    font-size: 13px;
    line-height: 1.65;
}

.status-note {
    margin: 12px auto 0;
    padding: 11px 13px;
    max-width: 620px;
    border: 1px solid rgba(211, 222, 230, .16);
    border-radius: 9px;
    background: rgba(8, 12, 15, .38);
    color: rgba(226, 234, 240, .74);
    font-size: 12px;
    line-height: 1.55;
    text-align: left;
}

.status-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 9px;
    margin-top: 16px;
}

.mini-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    border: 1px solid rgba(210, 220, 228, .32);
    border-radius: 7px;
    background: linear-gradient(180deg, rgba(83,93,101,.78), rgba(19,24,28,.68));
    color: #f5f8fa;
    cursor: pointer;
    font-size: 10px;
    font-weight: 900;
    padding: 5px 8px;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.mini-action:hover,
.mini-action:focus {
    text-decoration: none;
}

.mini-action.danger {
    border-color: rgba(255, 160, 160, .45);
}

.table-inset {
    width: 100%;
    min-width: 0;
    overflow-x: auto;
}

.maintenance-setting {
    align-items: stretch;
    border-color: rgba(231, 184, 91, .26);
    background:
        linear-gradient(135deg, rgba(231, 184, 91, .10), transparent 42%),
        rgba(8, 12, 15, .26);
}

.maintenance-setting.active {
    box-shadow: inset 0 0 0 1px rgba(231, 184, 91, .16), 0 0 22px rgba(231, 184, 91, .08);
}

.maintenance-setting-head {
    min-width: 170px;
}

.maintenance-setting-head small {
    display: block;
    margin-top: 4px;
    color: rgba(236, 224, 185, .78);
    font-size: 10px;
}

.maintenance-setting-actions {
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: flex-end;
}

.app-btn.subtle {
    border-color: rgba(231, 184, 91, .30);
    background: linear-gradient(180deg, rgba(231, 184, 91, .16), rgba(18, 22, 25, .78));
}

.compact-stats {
    margin-bottom: 8px;
}

.mini-action.disabled {
    opacity: .45;
    pointer-events: none;
}

@media (max-width: 680px) {
    .seasonal-plan-picker > div {
            grid-template-columns: 1fr;
        }
    
    .seasonal-promo-code {
            width: fit-content;
        }
}

@media (max-width: 560px) {
    .app-brand img {
            height: 36px !important;
        }
    
    .app-user {
            width: 100%;
            min-width: 0;
            justify-content: center;
            text-align: center;
        }
}

.cookie-btn.primary {
    width: 100%;
    min-height: 34px;
    border: 1px solid rgba(205, 216, 224, .28);
    border-radius: 9px;
    background: linear-gradient(180deg, rgba(70,79,87,.56), rgba(20,25,29,.80));
    color: #f4f7f9;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

.cookie-btn.primary:hover {
    border-color: rgba(231, 236, 240, .46);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
}

.cookie-actions .cookie-btn.primary {
    width: auto;
}

.cookie-banner {
    position: fixed;
    left: auto;
    right: 18px;
    bottom: max(18px, calc(14px + env(safe-area-inset-bottom)));
    z-index: 320;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: min(520px, calc(100vw - 36px));
    max-width: 520px;
    max-height: min(220px, calc(100vh - 36px));
    margin: 0;
    padding: 10px;
    overflow: auto;
    pointer-events: auto;
}

.cookie-banner p {
    margin: 0;
    color: #cbd5dd;
    font-size: 11px;
    line-height: 1.35;
}

.cookie-actions {
    display: flex;
    gap: 7px;
    flex: 0 0 auto;
}

.cookie-actions form {
    margin: 0;
}

.cookie-btn {
    min-height: 30px;
    min-width: 82px;
    padding: 7px 10px;
    border: 1px solid rgba(209,216,222,.26);
    border-radius: 9px;
    background: linear-gradient(180deg, rgba(80,88,95,.62), rgba(36,42,47,.76));
    color: #fff;
    font-weight: 900;
    cursor: pointer;
    touch-action: manipulation;
}

@media (max-width: 560px) {
    .cookie-banner {
            left: 8px;
            right: 8px;
            bottom: max(8px, env(safe-area-inset-bottom));
            width: calc(100vw - 16px);
            max-height: min(38vh, 260px);
            gap: 8px;
            padding: 9px;
        }
    
    .cookie-actions,
        .cookie-actions form,
        .cookie-btn {
            width: 100%;
        }
}

.auth-flow-list {
    display: grid;
    gap: 8px;
    margin: 12px 0;
}

.auth-flow-step {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    align-items: flex-start;
    padding: 10px;
    border-radius: 10px;
    border: 1px solid rgba(231, 184, 91, .16);
    background: rgba(8, 12, 15, .22);
}

.auth-flow-step span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(255, 220, 137, .46);
    border-radius: 50%;
    background: rgba(255, 211, 126, .08);
    color: #ffe0a0;
    font-weight: 950;
}

.field-hint {
    color: rgba(226, 232, 238, .62);
    font-size: 10px;
    line-height: 1.28;
    text-transform: none;
}

.security-panel {
    display: grid;
    gap: 8px;
    padding: clamp(9px, 1.2vw, 12px);
    border: 1px solid rgba(231, 184, 91, .26);
    border-radius: 12px;
    background:
        radial-gradient(circle at 78% 0, rgba(255, 220, 137, .10), transparent 34%),
        linear-gradient(145deg, rgba(42, 50, 55, .86), rgba(11, 16, 18, .92));
    box-shadow: 0 20px 55px rgba(0, 0, 0, .30);
}

.security-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid rgba(231, 184, 91, .18);
    padding-bottom: 8px;
}

.security-head h1 {
    margin: 0 0 4px;
    color: #fff7dc;
    font-size: clamp(21px, 2vw, 28px);
    line-height: 1;
}

.security-grid {
    display: grid;
    grid-template-columns: minmax(280px, .78fr) minmax(280px, 1fr);
    gap: 8px;
}

.security-card {
    display: grid;
    gap: 8px;
    align-content: start;
    padding: 9px;
    border: 1px solid rgba(231, 184, 91, .22);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.16));
}

.security-card h2 {
    margin: 0;
    color: #fff1c8;
    font-size: 14px;
}

.security-status {
    display: grid;
    gap: 4px;
    padding: 8px 9px;
    border-radius: 9px;
    border: 1px solid rgba(148, 163, 184, .22);
    background: rgba(5, 9, 12, .52);
}

.security-status strong {
    color: #fff;
    font-size: 14px;
}

.security-status span {
    color: rgba(226, 232, 238, .72);
    font-size: 12px;
}

.security-status.enabled {
    border-color: rgba(74, 222, 128, .32);
}

.security-status.disabled {
    border-color: rgba(231, 184, 91, .26);
}

.app-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

.app-choice {
    min-height: 31px;
    padding: 6px;
    border: 1px solid rgba(231, 184, 91, .26);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(80,88,95,.52), rgba(23,28,32,.86));
    color: #e8edf1;
    font-weight: 900;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.app-choice:hover,
.app-choice.active {
    color: #fff7dc;
    border-color: rgba(255, 220, 137, .72);
    filter: brightness(1.12);
}

.security-form {
    display: grid;
    gap: 8px;
}

.security-form label {
    display: grid;
    gap: 5px;
    color: rgba(226, 232, 238, .86);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.security-form input {
    min-height: 32px;
    padding: 8px 10px;
    border: 1px solid rgba(148, 163, 184, .34);
    border-radius: 8px;
    background: #05090c;
    color: #f8fafc;
}

.manual-secret {
    overflow-wrap: anywhere;
    padding: 8px 10px;
    border: 1px solid rgba(255, 220, 137, .38);
    border-radius: 9px;
    background: #05090c;
    color: #ffe0a0;
    font-family: Consolas, Monaco, monospace;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .08em;
    text-align: center;
}

.totp-direct-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
    gap: 7px;
    align-items: center;
}

.totp-direct-grid .app-btn {
    justify-content: center;
    min-height: 34px;
}

.copy-secret-status {
    grid-column: 1 / -1;
    min-height: 14px;
    color: #92f6bd;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.totp-manual-wrap {
    display: grid;
    gap: 6px;
}

.totp-manual-wrap strong {
    color: #fff1c8;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.security-uri {
    color: rgba(226, 232, 238, .72);
    font-size: 11px;
}

.security-uri code {
    display: block;
    overflow-wrap: anywhere;
    margin-top: 8px;
    padding: 8px;
    border-radius: 8px;
    background: rgba(0,0,0,.34);
    color: #d8e2e8;
}

.security-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.security-actions .app-btn {
    flex: 1 1 180px;
    justify-content: center;
}

.recovery-code-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.recovery-code-grid code {
    padding: 9px;
    border: 1px solid rgba(231, 184, 91, .28);
    border-radius: 8px;
    background: #05090c;
    color: #fff1c8;
    text-align: center;
}

@media (max-width: 860px) {
    .security-grid {
            grid-template-columns: 1fr;
        }
    
    .totp-setup-grid {
            grid-template-columns: 1fr;
        }
    
    .security-head {
            flex-direction: column;
        }
    
    .app-choice-grid,
        .recovery-code-grid {
            grid-template-columns: 1fr;
        }
}

.hidden-file {
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.maintenance-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 14px;
}

.maintenance-shell::after {
    opacity: .24;
}

.maintenance-wrap {
    width: min(560px, calc(100vw - 24px));
}

.maintenance-card {
    position: relative;
    display: grid;
    gap: 8px;
    justify-items: center;
    padding: clamp(12px, 2vw, 16px);
    border: 1px solid rgba(231, 184, 91, .35);
    border-radius: 10px;
    background:
        radial-gradient(circle at 50% 0, rgba(255, 219, 134, .16), transparent 34%),
        linear-gradient(145deg, rgba(56, 62, 62, .84), rgba(13, 17, 18, .88));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 18px 44px rgba(0,0,0,.48), 0 0 30px rgba(231, 184, 91, .10);
    overflow: visible;
}

.maintenance-card::before {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    top: 12px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 230, 168, .70), transparent);
    box-shadow: 0 0 18px rgba(255, 220, 140, .62);
}

.maintenance-art {
    display: block;
    width: min(300px, 70vw);
    height: min(300px, 70vw);
    object-fit: contain;
    object-position: center;
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(0,0,0,.30);
}

.maintenance-live {
    width: min(460px, 100%);
    padding: 8px 10px;
    border: 1px solid rgba(231, 184, 91, .26);
    border-radius: 8px;
    background: rgba(8, 12, 15, .32);
    color: rgba(244, 248, 250, .92);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
}

.maintenance-eta {
    display: inline-grid;
    gap: 2px;
    min-width: min(300px, 100%);
    padding: 7px 10px;
    border: 1px solid rgba(231, 184, 91, .34);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(231, 184, 91, .14), rgba(8, 12, 15, .36));
    text-align: center;
}

.maintenance-eta span,
.maintenance-preview {
    color: rgba(255, 232, 178, .84);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.maintenance-eta strong {
    color: #fff7dc;
    font-size: 14px;
}

.maintenance-preview {
    position: absolute;
    top: 10px;
    right: 12px;
}

.maintenance-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    justify-content: center;
    margin-top: 2px;
}

@media (max-width: 980px) {
    .maintenance-setting-actions {
            justify-content: flex-start;
        }
}

@media (max-width: 640px) {
    .maintenance-setting {
            display: grid;
        }
    
    .maintenance-setting-actions {
            flex-direction: column;
            align-items: stretch;
        }
    
    .maintenance-art {
            width: min(260px, 78vw);
            height: min(260px, 78vw);
        }
}

@keyframes bcm2FixBlink {
    50% { opacity: .3; }
}

.tool-panel {
    border-radius: 12px;
    padding: clamp(20px, 2.7vw, 32px);
}

.tool-panel .mini-card,
.tool-panel .info-card,
.tool-panel .stat {
    padding: 14px;
}

.tool-panel .form-grid {
    gap: 14px;
}

.tool-panel .form-grid input,
.tool-panel .form-grid select,
.tool-panel .form-grid textarea {
    min-height: 42px;
    font-size: 13px;
}

@keyframes vagCcmProgress {
    0% { transform: translateX(-105%); }
    100% { transform: translateX(245%); }
}

body.security-modal-open {
    overflow: hidden;
}

.security-actions-open {
    min-width: 82px;
}

.security-center-modal {
    position: fixed;
    inset: 0;
    z-index: 4000;
    display: grid;
    place-items: center;
    padding: 22px;
    background: rgba(3, 6, 8, .68);
    backdrop-filter: blur(6px);
}

.security-center-modal[hidden] {
    display: none !important;
}

.security-center-card {
    width: min(520px, calc(100vw - 34px));
    padding: 16px;
    border: 1px solid rgba(215, 224, 232, .28);
    border-radius: 10px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.025) 42%, rgba(0,0,0,.28)),
        rgba(18, 24, 29, .96);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 26px 70px rgba(0,0,0,.62);
    color: #f4f7f9;
}

.security-center-card.success {
    border-color: rgba(128, 236, 173, .46);
}

.security-center-card.danger {
    border-color: rgba(255, 142, 142, .48);
}

.security-center-card h2 {
    margin: 0;
    color: #fff;
    font: 950 18px/1.15 "Orbitron", Arial, sans-serif;
    letter-spacing: 0;
    text-transform: uppercase;
}

.security-center-card p {
    margin: 10px 0 14px;
    color: rgba(231, 238, 243, .86);
    font-size: 13px;
    line-height: 1.55;
}

.security-modal-head {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 12px;
}

.security-modal-head .eyebrow {
    margin-bottom: 5px;
}

.security-modal-x {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(210, 220, 228, .30);
    border-radius: 7px;
    background: rgba(8, 12, 15, .50);
    color: #f4f7f9;
    cursor: pointer;
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
}

.security-selected-user {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    padding: 9px 10px;
    border: 1px solid rgba(214, 222, 229, .16);
    border-radius: 8px;
    background: rgba(5, 8, 10, .32);
}

.security-selected-user strong {
    min-width: 0;
    overflow: hidden;
    color: #fff;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.security-selected-user span {
    color: #abeecb;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.security-action-summary {
    display: grid;
    gap: 8px;
    margin: 0 0 12px;
}

.security-action-summary div {
    display: grid;
    gap: 4px;
    padding: 9px 10px;
    border: 1px solid rgba(214, 222, 229, .13);
    border-radius: 8px;
    background: rgba(8, 12, 15, .24);
}

.security-action-summary dt {
    color: rgba(238, 244, 248, .72);
    font-size: 10px;
    font-weight: 950;
    text-transform: uppercase;
}

.security-action-summary dd {
    margin: 0;
    color: rgba(238, 244, 248, .88);
    font-size: 12px;
    line-height: 1.35;
}

.security-modal-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.security-modal-actions .mini-action {
    width: 100%;
    min-height: 34px;
}

.security-download-action {
    grid-column: 1 / -1;
    border-color: rgba(128, 191, 255, .40);
}

.security-confirm-modal {
    z-index: 4100;
}

.security-confirm-card {
    width: min(410px, calc(100vw - 34px));
    text-align: center;
}

.security-confirm-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.security-confirm-actions .mini-action,
.security-modal-close {
    min-width: 112px;
}

@media (max-width: 720px) {
    .security-modal-actions {
            grid-template-columns: 1fr;
        }
}

.hidden-file {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

@keyframes bcm2ProgressSweep {
    from { transform: translateX(-110%); }
    to { transform: translateX(250%); }
}

body.app-shell {
    font-size: 15px !important;
}

.app-btn,
.mini-action,
button.app-btn,
button.mini-action {
    font-size: 13px !important;
}

.frf-main-card,
.frf-result-card {
    border: 1px solid rgba(214, 170, 82, .32);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(37, 45, 51, .92), rgba(12, 18, 21, .94));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
    padding: 14px;
}

.frf-controls {
    display: grid;
    grid-template-columns: minmax(240px, .72fr) minmax(320px, 1.28fr);
    gap: 12px;
    align-items: end;
}

.frf-controls label,
.frf-upload-row label {
    display: grid;
    gap: 6px;
    color: #dfe6eb;
    font-weight: 800;
}

.frf-controls span,
.frf-upload-row span {
    color: #f6d67f;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: 0;
}

.frf-controls select,
.frf-upload-row input[type="text"] {
    width: 100%;
    min-height: 34px;
    border: 1px solid rgba(214, 170, 82, .38);
    border-radius: 6px;
    background: #05090b;
    color: #f4f7f8;
    font-weight: 800;
    padding: 7px 10px;
}

.frf-upload-row {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 170px 160px 160px;
    gap: 10px;
    align-items: end;
    margin-top: 12px;
}

.frf-note {
    min-height: 34px;
    margin-top: 12px;
    border: 1px solid rgba(137, 171, 188, .28);
    border-radius: 6px;
    background: rgba(7, 13, 15, .55);
    color: #cbd6dc;
    font-weight: 700;
    padding: 9px 11px;
}

.frf-result-empty {
    min-height: 170px;
    display: grid;
    place-items: center;
    color: #9faab1;
    font-weight: 800;
    text-align: center;
    border: 1px dashed rgba(214, 170, 82, .28);
    border-radius: 8px;
}

.frf-result-status {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    border-radius: 6px;
    padding: 10px 12px;
    margin-bottom: 10px;
    border: 1px solid rgba(214, 170, 82, .34);
    background: rgba(10, 15, 18, .72);
}

.frf-result-status strong {
    color: #f4f7f8;
    font-size: 1.02rem;
}

.frf-result-status span {
    color: #cbd6dc;
    font-weight: 800;
    text-align: right;
    overflow-wrap: anywhere;
}

.frf-result-status.ok {
    border-color: rgba(95, 220, 145, .42);
}

.frf-result-status.ok strong {
    color: #8dffb7;
}

.frf-result-status.bad {
    border-color: rgba(245, 82, 82, .46);
}

.frf-result-status.bad strong {
    color: #ff8888;
}

.frf-message {
    color: #dfe6eb;
    font-weight: 750;
    margin: 6px 0;
}

.frf-downloads {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 12px 0;
}

.frf-result-table {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.frf-result-table div {
    display: grid;
    grid-template-columns: minmax(130px, .45fr) minmax(0, 1fr);
    gap: 8px;
    border: 1px solid rgba(137, 171, 188, .22);
    border-radius: 6px;
    background: rgba(8, 14, 16, .62);
    padding: 8px 10px;
}

.frf-result-table span {
    color: #f6d67f;
    font-weight: 900;
}

.frf-result-table strong {
    color: #eef4f6;
    overflow-wrap: anywhere;
}

.frf-blocks {
    margin-top: 12px;
}

.frf-blocks h2 {
    margin: 0 0 8px;
    font-size: .95rem;
    color: #f4f7f8;
}

.frf-blocks table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 6px;
}

.frf-blocks th,
.frf-blocks td {
    text-align: left;
    padding: 8px 10px;
    background: rgba(8, 14, 16, .64);
    color: #dfe6eb;
    font-weight: 750;
}

.frf-blocks th {
    color: #f6d67f;
    background: rgba(30, 37, 42, .86);
}

@media (max-width: 900px) {
    .frf-controls,
        .frf-upload-row,
        .frf-result-table {
            grid-template-columns: 1fr;
        }
    
    .frf-result-status {
            align-items: flex-start;
            flex-direction: column;
        }
    
    .frf-result-status span {
            text-align: left;
        }
}

.oct-status {
    margin-top: 14px;
    min-height: 24px;
    color: var(--muted);
    font-weight: 800;
}

.oct-status.is-ok {
    color: #a8f7c4;
}

.oct-status.is-error {
    color: #ff9b9b;
}

.oct-downloads {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.oct-tool-panel {
    width: min(1320px, 100%);
    margin-inline: auto;
}

.oct-transfer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
}

.oct-transfer-panel {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(96px, .28fr) minmax(0, 1fr) auto;
    gap: 10px;
    align-content: start;
}

.oct-transfer-panel .hidden-file {
    display: none;
}

.oct-ident-grid {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 10px;
    margin-top: 2px;
}

.oct-ident-grid input {
    min-width: 0;
    text-overflow: ellipsis;
}

.oct-action-card {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.oct-action-card .oct-status {
    flex: 1 1 100%;
    margin-top: 2px;
}

.oct-cvn-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.oct-cvn-steps div {
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 8px;
    padding: 10px;
    color: var(--muted);
    background: rgba(0,0,0,.16);
}

.oct-cvn-steps div.active {
    border-color: rgba(212, 166, 73, .72);
    color: #fff;
    background: linear-gradient(180deg, rgba(212,166,73,.18), rgba(255,255,255,.04));
}

.oct-cvn-steps strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-right: 6px;
    border-radius: 50%;
    background: rgba(212,166,73,.22);
    color: #ffe7a8;
}

.oct-cvn-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
    gap: 12px;
}

.oct-cvn-panel {
    min-height: 0;
    min-width: 0;
}

.oct-cvn-main {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.oct-cvn-main > .muted {
    margin: 0 0 14px;
}

.oct-cvn-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.oct-cvn-actions form {
    margin: 0;
}

.oct-cvn-actions .app-btn {
    min-width: 180px;
}

.oct-cvn-footer form {
    margin: 0;
}

@media (max-width: 1050px) {
    .oct-transfer-grid,
        .oct-cvn-grid {
            grid-template-columns: 1fr;
        }
}

@media (max-width: 760px) {
    .oct-cvn-steps {
            grid-template-columns: 1fr;
        }
    
    .oct-transfer-panel {
            grid-template-columns: 1fr;
        }
    
    .oct-ident-grid {
            grid-template-columns: 1fr;
        }
    
    .oct-cvn-actions .app-btn {
            width: 100%;
        }
}

@keyframes generalImmoOffProgressPulse {
    0% {
        transform: translateX(-115%);
    }
    50% {
        transform: translateX(138%);
    }
    100% {
        transform: translateX(-115%);
    }
}

.frf-upload-row {
    grid-template-columns: minmax(260px, 1fr) 160px 160px;
}

@media (max-width: 860px) {
    .frf-upload-row {
            grid-template-columns: 1fr;
        }
}

/* 2026-06-29 Responsive hardening pass: shared shells, forms, tables, and action rows. */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
}

input,
select,
textarea,
button {
    max-width: 100%;
}

