/* ============================================================
   Grupo / NordicLys IT Support Homepage
   Dedicated source file — not a generated Grupo bundle.
   ============================================================ */

:root{
    --nlx-bg:#030914;
    --nlx-panel:rgba(10,24,43,.68);
    --nlx-border:rgba(113,205,245,.20);
    --nlx-cyan:#72e7ef;
    --nlx-blue:#6596ff;
    --nlx-text:#f2f7fd;
    --nlx-muted:#8193a9;
}

/* ------------------------------------------------------------
   GENERAL
   ------------------------------------------------------------ */

body.landing_page{
    margin:0;
    background:#030914 !important;
    color:var(--nlx-text);
}

body.landing_page .main_window{
    min-height:100vh;
    background:#030914 !important;
}

body.landing_page .nordic-lys-wrapper,
body.landing_page #corp-feature-box{
    display:none !important;
}


/* ------------------------------------------------------------
   NAVIGATION
   ------------------------------------------------------------ */

.nlx-navigation{
    position:absolute !important;
    inset:0 0 auto 0;
    z-index:2000;
    background:transparent !important;
}

.nlx-navbar{
    height:92px;
    background:
        linear-gradient(
            180deg,
            rgba(2,8,18,.88),
            rgba(2,8,18,.36),
            transparent
        );
}

.nlx-nav-inner{
    width:min(1500px,calc(100% - 48px));
    height:100%;
    margin:auto;
    display:flex;
    align-items:center;
    gap:32px;
}

.nlx-brand{
    flex:0 0 auto;
    display:flex;
    align-items:center;
}

.nlx-logo{
    display:block;
    max-width:180px;
    max-height:46px;
    width:auto;
    height:auto;
    filter:
        drop-shadow(
            0 0 20px rgba(81,205,245,.12)
        );
}

.nlx-nav-content{
    flex:1;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:26px;
}

.nlx-nav-links{
    display:flex;
    align-items:center;
    gap:3px;
}

.nlx-nav-links a{
    text-decoration:none;
    color:rgba(229,240,251,.76);
    font-size:13px;
    font-weight:650;
    letter-spacing:.01em;
    padding:10px 13px;
    border-radius:11px;
    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

.nlx-nav-links a:hover{
    color:#fff;
    background:rgba(88,202,240,.07);
    transform:translateY(-1px);
}

.nlx-nav-actions{
    display:flex;
    align-items:center;
    gap:9px;
}

.nlx-login-link,
.nlx-register-link{
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:39px;
    border-radius:11px;
    font-size:12px;
    font-weight:700;
    padding:0 17px;
}

.nlx-login-link{
    color:#c8d8e8;
    border:1px solid rgba(131,197,234,.17);
    background:rgba(7,20,36,.42);
}

.nlx-register-link{
    color:#fff;
    border:1px solid rgba(130,219,249,.27);
    background:
        linear-gradient(
            110deg,
            #5864d8,
            #539ddb,
            #5ccbd8
        );
    box-shadow:
        0 9px 30px rgba(65,155,229,.20);
}

.nlx-user-pill{
    display:flex;
    align-items:center;
    gap:8px;
    color:#c5d4e5;
    font-size:11px;
    padding:8px 12px;
    border-radius:999px;
    border:1px solid rgba(108,197,237,.14);
    background:rgba(8,23,40,.58);
}

.nlx-user-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#64e6bd;
    box-shadow:0 0 12px rgba(100,230,189,.6);
}

.nlx-language{
    position:relative;
    color:#c9d7e7;
}

.nlx-language .current_language{
    min-height:38px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 9px;
    border:1px solid rgba(119,196,231,.12);
    border-radius:10px;
    background:rgba(5,17,31,.55);
    cursor:pointer;
}

.nlx-language .current_language img{
    width:19px;
    height:19px;
    object-fit:cover;
    border-radius:50%;
}

.nlx-language .current_language span{
    display:none;
}

.nlx-language .dropdown_list{
    position:absolute;
    right:0;
    top:45px;
    width:190px;
    padding:7px;
    border-radius:14px;
    background:rgba(7,18,33,.97);
    border:1px solid rgba(105,199,236,.16);
    box-shadow:0 20px 55px rgba(0,0,0,.45);
    backdrop-filter:blur(18px);
}

.nlx-language .dropdown_list ul{
    margin:0;
    padding:0;
    list-style:none;
}

.nlx-language .dropdown_list li{
    display:flex;
    align-items:center;
    gap:9px;
    padding:9px 10px;
    border-radius:9px;
    cursor:pointer;
    color:#aebed0;
    font-size:11px;
}

.nlx-language .dropdown_list li:hover{
    background:rgba(77,184,228,.08);
    color:#fff;
}

.nlx-language .dropdown_list img{
    width:18px;
    height:18px;
    border-radius:50%;
}

.nlx-mobile-menu{
    display:none;
    margin-left:auto;
    width:42px;
    height:40px;
    padding:9px;
    border-radius:11px;
    border:1px solid rgba(102,199,237,.15);
    background:rgba(5,17,31,.75);
}

.nlx-mobile-menu span{
    display:block;
    height:2px;
    margin:4px 0;
    border-radius:10px;
    background:#a8c4d8;
}


/* ------------------------------------------------------------
   HOMEPAGE BACKGROUND
   ------------------------------------------------------------ */

.nlx-homepage{
    --nlx-bg-image:none;
    --nlx-overlay:.65;
    --nlx-glass:18px;
    --nlx-x:0px;
    --nlx-y:0px;

    position:relative;
    isolation:isolate;
    min-height:100vh;
    overflow:hidden;

    padding:
        116px
        clamp(18px,3vw,52px)
        55px;

    background:
        radial-gradient(
            circle at 72% 22%,
            rgba(44,116,218,.14),
            transparent 32%
        ),
        radial-gradient(
            circle at 12% 80%,
            rgba(31,196,207,.08),
            transparent 31%
        ),
        linear-gradient(
            145deg,
            #020711,
            #06101f 48%,
            #020813
        );
}

.nlx-homepage::before{
    content:"";
    position:absolute;
    inset:-4%;
    z-index:-6;
    background-image:var(--nlx-bg-image);
    background-size:cover;
    background-position:center;
    opacity:.82;

    transform:
        translate(
            calc(var(--nlx-x) * -.22),
            calc(var(--nlx-y) * -.22)
        )
        scale(1.07);
}

.nlx-homepage::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-5;

    background:
        linear-gradient(
            90deg,
            rgba(1,6,15,calc(var(--nlx-overlay) + .11)),
            rgba(3,10,22,var(--nlx-overlay)) 44%,
            rgba(2,8,18,calc(var(--nlx-overlay) - .08))
        );
}


/* ------------------------------------------------------------
   PARTICLES / GRID / GLOW
   ------------------------------------------------------------ */

.nlx-particle-canvas{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:-1;
    pointer-events:none;
}

.nlx-homepage[data-particles="no"]
.nlx-particle-canvas{
    display:none;
}

.nlx-background-grid{
    position:absolute;
    z-index:-3;
    left:-15%;
    right:-15%;
    top:28%;
    bottom:-27%;

    opacity:.23;

    background-image:
        linear-gradient(
            rgba(89,194,239,.13) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(89,194,239,.11) 1px,
            transparent 1px
        );

    background-size:58px 58px;

    transform:
        perspective(560px)
        rotateX(62deg)
        scale(1.55)
        translateY(20%);

    mask-image:
        linear-gradient(
            transparent,
            #000 26%,
            #000 69%,
            transparent
        );

    animation:
        nlxGridMove 13s linear infinite;
}

.nlx-homepage[data-grid="no"]
.nlx-background-grid{
    display:none;
}

@keyframes nlxGridMove{
    from{
        background-position:0 0;
    }
    to{
        background-position:0 58px;
    }
}

.nlx-orb{
    position:absolute;
    z-index:-2;
    border-radius:50%;
    filter:blur(75px);
    pointer-events:none;
    opacity:.18;
}

.nlx-homepage[data-glow="no"]
.nlx-orb{
    display:none;
}

.nlx-orb-a{
    width:420px;
    height:420px;
    left:-180px;
    top:7%;
    background:#567eff;
    animation:
        nlxFloatA 11s ease-in-out infinite alternate;
}

.nlx-orb-b{
    width:480px;
    height:480px;
    right:-190px;
    bottom:-190px;
    background:#38dbe5;
    animation:
        nlxFloatB 14s ease-in-out infinite alternate;
}

.nlx-orb-c{
    width:260px;
    height:260px;
    right:32%;
    top:18%;
    background:#544be9;
    opacity:.09;
}

@keyframes nlxFloatA{
    to{
        transform:
            translate(100px,60px)
            scale(1.08);
    }
}

@keyframes nlxFloatB{
    to{
        transform:
            translate(-90px,-60px)
            scale(.92);
    }
}


/* ------------------------------------------------------------
   MAIN LAYOUT
   ------------------------------------------------------------ */

.nlx-home-shell{
    width:min(1470px,100%);
    min-height:calc(100vh - 171px);
    margin:0 auto;
    display:flex;
    align-items:center;
    position:relative;
    z-index:4;
}

.nlx-home-layout{
    width:100%;
    display:grid;

    grid-template-columns:
        minmax(390px,.86fr)
        minmax(460px,1.14fr);

    gap:clamp(56px,7vw,120px);

    align-items:center;
}


/* ------------------------------------------------------------
   GLASS SUPPORT PANEL
   ------------------------------------------------------------ */

.nlx-form-side{
    transform:
        translate(
            calc(var(--nlx-x) * .04),
            calc(var(--nlx-y) * .04)
        );
}

.nlx-glass-panel{
    width:min(525px,100%);
    position:relative;
    overflow:hidden;
    padding:30px;
    border-radius:29px;

    background:
        linear-gradient(
            145deg,
            rgba(26,43,70,.62),
            rgba(5,14,28,.78)
        );

    border:
        1px solid rgba(139,211,248,.26);

    backdrop-filter:
        blur(var(--nlx-glass))
        saturate(140%);

    -webkit-backdrop-filter:
        blur(var(--nlx-glass))
        saturate(140%);

    box-shadow:
        0 35px 100px rgba(0,0,0,.48),
        inset 0 1px rgba(255,255,255,.11),
        inset 0 0 0 1px rgba(255,255,255,.018);
}

.nlx-panel-shine{
    position:absolute;
    left:-80px;
    top:-90px;
    width:330px;
    height:220px;
    border-radius:50%;
    pointer-events:none;
    filter:blur(50px);
    background:rgba(99,180,255,.14);
}

.nlx-support-mark{
    width:48px;
    height:48px;
    margin-bottom:18px;

    display:grid;
    place-items:center;

    color:#7ee6ef;

    border-radius:15px;

    border:
        1px solid rgba(108,217,245,.19);

    background:
        linear-gradient(
            145deg,
            rgba(88,177,245,.13),
            rgba(87,77,202,.10)
        );

    box-shadow:
        0 0 28px rgba(62,205,238,.07);
}

.nlx-support-mark svg{
    width:26px;
    height:26px;
}

.nlx-form-kicker{
    color:#73dce7;
    font-size:9px;
    font-weight:800;
    letter-spacing:.23em;
    text-transform:uppercase;
}

.nlx-form-title{
    margin:7px 0 8px;
    color:#fff;
    font-size:25px;
    line-height:1.14;
    letter-spacing:-.025em;
}

.nlx-form-copy{
    margin:0 0 21px;
    color:#8d9db1;
    font-size:12px;
    line-height:1.6;
}


/* ------------------------------------------------------------
   GUEST LOGIN STATE
   ------------------------------------------------------------ */

.nlx-auth-lock{
    height:165px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:13px;
    margin:10px 0 19px;

    border-radius:18px;

    border:
        1px dashed rgba(105,199,237,.14);

    background:
        rgba(2,10,20,.35);

    color:#708499;
}

.nlx-auth-lock span{
    font-size:9px;
    letter-spacing:.19em;
    font-weight:800;
}

.nlx-lock-ring{
    width:63px;
    height:63px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#78e5ed;

    background:
        radial-gradient(
            circle,
            rgba(77,196,232,.11),
            rgba(54,105,178,.04)
        );

    border:
        1px solid rgba(109,213,241,.15);

    box-shadow:
        0 0 38px rgba(65,201,238,.08);
}

.nlx-lock-ring svg{
    width:28px;
}

.nlx-auth-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.nlx-primary-action,
.nlx-secondary-action{
    min-height:51px;
    border-radius:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:12px;
    font-weight:750;
}

.nlx-primary-action{
    color:#fff;
    border:
        1px solid rgba(139,225,251,.30);

    background:
        linear-gradient(
            105deg,
            #5862d4,
            #5399dd,
            #5ac8d8
        );

    box-shadow:
        0 14px 34px rgba(55,141,222,.20);
}

.nlx-secondary-action{
    color:#c7d8e8;
    border:
        1px solid rgba(116,192,229,.16);

    background:
        rgba(4,15,28,.52);
}


/* ------------------------------------------------------------
   LOGGED USER
   ------------------------------------------------------------ */

.nlx-account-card{
    display:flex;
    align-items:center;
    gap:11px;

    margin-bottom:15px;
    padding:11px 13px;

    border-radius:13px;

    border:
        1px solid rgba(96,196,230,.12);

    background:
        rgba(2,11,22,.38);
}

.nlx-account-status{
    flex:0 0 auto;
    width:9px;
    height:9px;
    border-radius:50%;
    background:#65e4b7;
    box-shadow:
        0 0 15px rgba(101,228,183,.44);
}

.nlx-account-card small,
.nlx-account-card strong,
.nlx-account-card span{
    display:block;
}

.nlx-account-card small{
    color:#60758b;
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.nlx-account-card strong{
    color:#dcebf7;
    font-size:11px;
    margin-top:2px;
}

.nlx-account-card div > span{
    color:#71849a;
    font-size:9px;
    margin-top:1px;
}

.nlx-support-form{
    display:grid;
    gap:13px;
}

.nlx-field{
    display:grid;
    gap:7px;
}

.nlx-field > span{
    color:#9caec1;
    font-size:10px;
    font-weight:700;
}

.nlx-field > small{
    color:#596c81;
    font-size:8px;
    line-height:1.4;
}

.nlx-field input,
.nlx-field select,
.nlx-field textarea{
    width:100%;
    box-sizing:border-box;

    padding:12px 13px;

    border-radius:12px;

    border:
        1px solid rgba(121,185,225,.15);

    outline:none;

    background:
        rgba(1,8,17,.55);

    color:#e7f1fb;

    font:inherit;
    font-size:12px;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.nlx-field select{
    cursor:pointer;
}

.nlx-field textarea{
    min-height:128px;
    resize:vertical;
    line-height:1.55;
}

.nlx-field input::placeholder,
.nlx-field textarea::placeholder{
    color:#526478;
}

.nlx-field input:focus,
.nlx-field select:focus,
.nlx-field textarea:focus{
    background:rgba(2,11,23,.78);
    border-color:rgba(91,218,240,.44);

    box-shadow:
        0 0 0 3px rgba(70,197,234,.06),
        0 0 25px rgba(56,178,227,.055);
}

.nlx-form-security{
    display:flex;
    gap:8px;
    align-items:center;
    color:#708399;
    font-size:9px;
}

.nlx-security-check{
    width:22px;
    height:22px;
    flex:0 0 22px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#66dfb7;
    border:1px solid rgba(96,221,181,.17);
    background:rgba(70,197,156,.07);
}

.nlx-submit-button{
    min-height:53px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;

    border-radius:14px;

    border:
        1px solid rgba(143,226,250,.31);

    cursor:pointer;

    color:#fff;

    font:inherit;
    font-size:13px;
    font-weight:750;

    background:
        linear-gradient(
            105deg,
            #5a62d8,
            #559ce0,
            #5acbd9
        );

    background-size:160% 100%;

    box-shadow:
        0 15px 38px rgba(55,145,227,.23),
        inset 0 1px rgba(255,255,255,.17);

    transition:
        transform .2s ease,
        background-position .4s ease,
        box-shadow .2s ease;
}

.nlx-submit-button:hover{
    transform:translateY(-2px);
    background-position:100% 0;
    box-shadow:
        0 19px 45px rgba(58,157,231,.28);
}

.nlx-submit-button:disabled{
    opacity:.55;
    cursor:not-allowed;
    transform:none;
}

.nlx-submit-button svg{
    width:19px;
    height:19px;
}

.nlx-support-error{
    padding:10px 12px;
    border-radius:10px;
    border:1px solid rgba(255,104,118,.16);
    background:rgba(169,45,60,.10);
    color:#ffc4cb;
    font-size:10px;
}

.nlx-support-success{
    display:flex;
    align-items:center;
    gap:11px;
    padding:13px;

    border-radius:12px;

    border:
        1px solid rgba(91,222,190,.17);

    background:
        rgba(56,183,145,.09);

    color:#dafaf1;
}

.nlx-support-success[hidden],
.nlx-support-error[hidden]{
    display:none !important;
}

.nlx-success-icon{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#68dfb8;
    color:#061610;
    font-weight:900;
}

.nlx-support-success strong,
.nlx-support-success div > span{
    display:block;
}

.nlx-support-success strong{
    font-size:11px;
}

.nlx-support-success div > span{
    margin-top:3px;
    color:#75e3e8;
    font-size:10px;
    font-weight:750;
}


/* ------------------------------------------------------------
   HERO
   ------------------------------------------------------------ */

.nlx-hero-side{
    max-width:720px;

    transform:
        translate(
            calc(var(--nlx-x) * -.035),
            calc(var(--nlx-y) * -.035)
        );
}

.nlx-hero-kicker{
    display:flex;
    align-items:center;
    gap:10px;

    margin-bottom:25px;

    color:#77e3ec;

    font-size:10px;
    font-weight:850;
    letter-spacing:.36em;
    text-transform:uppercase;
}

.nlx-hero-kicker span{
    width:27px;
    height:1px;
    background:#73e7ee;
    box-shadow:
        0 0 11px rgba(77,220,239,.55);
}

.nlx-hero-title{
    max-width:760px;
    margin:0;

    color:#fff;

    font-size:
        clamp(52px,6.2vw,94px);

    line-height:.92;
    letter-spacing:-.06em;
    font-weight:850;

    text-shadow:
        0 16px 45px rgba(0,0,0,.25);
}

.nlx-title-line{
    width:79px;
    height:3px;

    margin:29px 0;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            #70e5ec,
            #6493f5
        );

    box-shadow:
        0 0 20px rgba(79,211,239,.28);
}

.nlx-hero-description{
    max-width:610px;

    margin:0;

    color:#a4b1c2;

    font-size:16px;
    line-height:1.65;
}

.nlx-feature-row{
    max-width:680px;

    display:grid;
    grid-template-columns:
        repeat(3,1fr);

    margin-top:37px;
}

.nlx-feature{
    position:relative;

    padding:0 22px;

    text-align:center;
}

.nlx-feature:first-child{
    padding-left:0;
}

.nlx-feature:last-child{
    padding-right:0;
}

.nlx-feature + .nlx-feature::before{
    content:"";

    position:absolute;
    left:0;
    top:4px;
    bottom:3px;

    width:1px;

    background:
        linear-gradient(
            transparent,
            rgba(103,189,230,.20),
            transparent
        );
}

.nlx-feature-icon{
    width:45px;
    height:45px;

    margin:0 auto 9px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#78e4ec;

    background:
        rgba(66,145,201,.11);

    border:
        1px solid rgba(81,194,232,.12);
}

.nlx-feature strong{
    display:block;
    color:#e9f3fb;
    font-size:11px;
}

.nlx-feature > span{
    display:block;
    margin-top:4px;
    color:#708198;
    font-size:9px;
    line-height:1.42;
}

.nlx-system-status{
    width:min(485px,100%);
    margin-top:34px;
    padding:14px 16px;

    display:flex;
    align-items:center;
    gap:12px;

    border-radius:16px;

    border:
        1px solid rgba(83,189,231,.18);

    background:
        linear-gradient(
            135deg,
            rgba(15,38,65,.65),
            rgba(5,17,32,.62)
        );

    backdrop-filter:blur(14px);

    box-shadow:
        0 17px 45px rgba(0,0,0,.19);
}

.nlx-system-light{
    width:9px;
    height:9px;
    border-radius:50%;

    background:#63e2b8;

    box-shadow:
        0 0 15px rgba(99,226,184,.57);
}

.nlx-system-status strong,
.nlx-system-status span{
    display:block;
}

.nlx-system-status strong{
    color:#e8f1fa;
    font-size:10px;
}

.nlx-system-status div > span{
    color:#60768d;
    font-size:7px;
    letter-spacing:.12em;
    margin-top:2px;
}

.nlx-system-bars{
    margin-left:auto;
    display:flex;
    align-items:flex-end;
    gap:3px;
    height:18px;
}

.nlx-system-bars i{
    display:block;
    width:3px;
    border-radius:5px;
    background:#65dfea;
}

.nlx-system-bars i:nth-child(1){
    height:7px;
}

.nlx-system-bars i:nth-child(2){
    height:13px;
}

.nlx-system-bars i:nth-child(3){
    height:10px;
}

.nlx-system-bars i:nth-child(4){
    height:17px;
}


/* ------------------------------------------------------------
   GLASS POPUPS
   ------------------------------------------------------------ */

.nlx-popup{
    position:fixed;
    inset:0;
    z-index:999999;

    display:grid;
    place-items:center;

    padding:22px;
}

.nlx-popup[hidden]{
    display:none !important;
}

.nlx-popup-backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    cursor:default;

    background:
        rgba(0,5,13,.73);

    backdrop-filter:
        blur(13px);
}

.nlx-popup-panel{
    position:relative;
    z-index:1;

    width:min(650px,100%);
    max-height:86vh;
    overflow:auto;

    padding:34px;

    border-radius:25px;

    border:
        1px solid rgba(119,211,248,.25);

    background:
        linear-gradient(
            145deg,
            rgba(20,39,65,.93),
            rgba(4,13,27,.96)
        );

    box-shadow:
        0 44px 120px rgba(0,0,0,.58),
        inset 0 1px rgba(255,255,255,.07);

    backdrop-filter:
        blur(25px);

    animation:
        nlxPopupIn
        .25s
        cubic-bezier(.2,.86,.28,1)
        both;
}

@keyframes nlxPopupIn{
    from{
        opacity:0;
        transform:
            translateY(15px)
            scale(.975);
    }
}

.nlx-popup-x{
    position:absolute;
    right:15px;
    top:15px;

    width:37px;
    height:37px;

    border-radius:50%;

    border:
        1px solid rgba(255,255,255,.08);

    background:
        rgba(255,255,255,.03);

    color:#9caec0;

    cursor:pointer;
    font-size:21px;
}

.nlx-popup-label{
    color:#72e4ec;
    font-size:9px;
    font-weight:850;
    letter-spacing:.28em;
    text-transform:uppercase;
}

.nlx-popup-panel h2{
    margin:8px 45px 17px 0;

    color:#fff;

    font-size:29px;
    letter-spacing:-.025em;
}

.nlx-popup-copy{
    color:#a3b1c2;
    font-size:13px;
    line-height:1.76;
}

.nlx-popup-button{
    margin-top:27px;
    padding:10px 19px;

    border-radius:10px;

    border:
        1px solid rgba(98,207,240,.20);

    background:
        rgba(61,159,210,.09);

    color:#ccf8fc;

    cursor:pointer;

    font:inherit;
    font-size:11px;
    font-weight:700;
}


/* ------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------ */

@media(max-width:1100px){

    .nlx-home-layout{
        grid-template-columns:
            minmax(360px,.95fr)
            1.05fr;

        gap:45px;
    }

    .nlx-nav-links a{
        padding-inline:8px;
    }

    .nlx-hero-title{
        font-size:
            clamp(48px,6vw,70px);
    }

    .nlx-feature{
        padding-inline:12px;
    }
}

@media(max-width:900px){

    .nlx-navbar{
        height:79px;
    }

    .nlx-nav-inner{
        width:
            min(100% - 28px,1500px);
    }

    .nlx-mobile-menu{
        display:block;
    }

    .nlx-nav-content{
        display:none;

        position:absolute;
        left:14px;
        right:14px;
        top:73px;

        padding:15px;

        flex-direction:column;
        align-items:stretch;

        border-radius:17px;

        border:
            1px solid rgba(100,199,236,.15);

        background:
            rgba(3,12,24,.97);

        backdrop-filter:
            blur(22px);

        box-shadow:
            0 22px 65px rgba(0,0,0,.42);
    }

    .nlx-navigation.mobile-open
    .nlx-nav-content{
        display:flex;
    }

    .nlx-nav-links{
        flex-direction:column;
        align-items:stretch;
    }

    .nlx-nav-links a{
        padding:10px 11px;
    }

    .nlx-nav-actions{
        justify-content:flex-start;
        flex-wrap:wrap;
    }

    .nlx-homepage{
        padding-top:100px;
    }

    .nlx-home-shell{
        min-height:auto;
    }

    .nlx-home-layout{
        max-width:680px;
        margin:auto;
        grid-template-columns:1fr;
        gap:45px;
    }

    .nlx-hero-side{
        grid-row:1;
        text-align:center;
    }

    .nlx-form-side{
        grid-row:2;
    }

    .nlx-glass-panel{
        margin:auto;
    }

    .nlx-hero-kicker{
        justify-content:center;
    }

    .nlx-title-line{
        margin-inline:auto;
    }

    .nlx-hero-description,
    .nlx-system-status{
        margin-left:auto;
        margin-right:auto;
    }
}

@media(max-width:560px){

    .nlx-homepage{
        padding:
            88px
            12px
            30px;
    }

    .nlx-glass-panel{
        padding:21px 17px;
        border-radius:22px;
    }

    .nlx-hero-title{
        font-size:
            clamp(40px,14vw,58px);
    }

    .nlx-feature-row{
        grid-template-columns:1fr;
        gap:20px;
    }

    .nlx-feature{
        padding:0;
    }

    .nlx-feature + .nlx-feature::before{
        display:none;
    }

    .nlx-auth-actions{
        grid-template-columns:1fr;
    }

    .nlx-popup-panel{
        padding:29px 21px;
        border-radius:20px;
    }
}

@media(prefers-reduced-motion:reduce){

    .nlx-background-grid,
    .nlx-orb{
        animation:none !important;
    }

    .nlx-homepage *,
    .nlx-homepage::before{
        transition:none !important;
    }
}

/*
 * NLX_SUPPORT_TURNSTILE_STYLE
 */
.nlx-turnstile-wrap {
    width: 100%;
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 4px 0 8px;
}

.nlx-support-turnstile {
    max-width: 100%;
}


/*
 * ==========================================================
 * NLX_SUPPORT_VIEWPORT_FIT_V1
 * ==========================================================
 *
 * Desktop / laptop displays with limited vertical space.
 *
 * Goal:
 * - complete support card remains inside viewport
 * - Turnstile stays visible
 * - submit button stays visible
 * - no internal form scrollbar
 * - mobile/tablet behaviour remains unchanged
 */

@media
    (min-width:1101px)
    and (max-height:950px)
{

    .nlx-homepage{
        min-height:100vh;
        min-height:100dvh;

        padding-top:92px;
        padding-bottom:18px;

        box-sizing:border-box;
    }

    .nlx-home-layout{
        min-height:
            calc(100vh - 110px);

        min-height:
            calc(100dvh - 110px);

        align-items:center;
    }

    .nlx-glass-panel{
        padding:20px 24px;

        border-radius:24px;
    }

    .nlx-support-mark{
        width:38px;
        height:38px;

        margin-bottom:10px;

        border-radius:12px;
    }

    .nlx-support-mark svg{
        width:21px;
        height:21px;
    }

    .nlx-form-kicker{
        font-size:8px;
    }

    .nlx-form-title{
        margin:
            4px
            0
            5px;

        font-size:22px;
    }

    .nlx-form-copy{
        margin:
            0
            0
            11px;

        font-size:10px;
        line-height:1.45;
    }

    .nlx-account-card{
        gap:9px;

        margin-bottom:9px;

        padding:
            8px
            11px;
    }

    .nlx-account-card small{
        font-size:7px;
    }

    .nlx-account-card strong{
        font-size:10px;
    }

    .nlx-account-card div > span{
        font-size:8px;
    }

    .nlx-support-form{
        gap:8px;
    }

    .nlx-field{
        gap:4px;
    }

    .nlx-field > span{
        font-size:9px;
    }

    .nlx-field > small{
        font-size:7px;
        line-height:1.3;
    }

    .nlx-field input,
    .nlx-field select,
    .nlx-field textarea{
        padding:
            9px
            11px;

        font-size:11px;

        border-radius:11px;
    }

    .nlx-field textarea{
        min-height:92px;
        max-height:110px;

        line-height:1.4;

        resize:vertical;
    }

    .nlx-turnstile-wrap{
        min-height:65px;

        margin:
            0
            0
            2px;
    }

    .nlx-form-security{
        gap:7px;

        font-size:8px;
    }

    .nlx-security-check{
        width:19px;
        height:19px;

        flex-basis:19px;
    }

    .nlx-submit-button{
        min-height:46px;

        border-radius:12px;
    }

    .nlx-submit-button svg{
        width:17px;
        height:17px;
    }

    .nlx-support-error{
        padding:
            7px
            10px;

        font-size:9px;
    }

    .nlx-support-success{
        padding:9px;

        gap:8px;
    }
}


/*
 * Extra compression only for genuinely short laptop screens.
 * 1366x768 is the main target here.
 */

@media
    (min-width:1101px)
    and (max-height:800px)
{

    .nlx-homepage{
        padding-top:82px;
        padding-bottom:10px;
    }

    .nlx-home-layout{
        min-height:
            calc(100vh - 92px);

        min-height:
            calc(100dvh - 92px);
    }

    .nlx-glass-panel{
        padding:
            16px
            22px;
    }

    .nlx-support-mark{
        display:none;
    }

    .nlx-form-copy{
        margin-bottom:8px;
    }

    .nlx-account-card{
        margin-bottom:7px;

        padding:
            7px
            10px;
    }

    .nlx-support-form{
        gap:7px;
    }

    .nlx-field textarea{
        min-height:82px;
        max-height:94px;
    }

    .nlx-turnstile-wrap{
        min-height:62px;
    }

    .nlx-submit-button{
        min-height:44px;
    }
}

/* ==========================================================
 * NLX_LANGUAGE_DOCK_IN_SUPPORT_CARD_V1
 * Keep the language selector inside the support card.
 * ========================================================== */
.nlx-language-dock{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    margin-bottom:14px;
    position:relative;
    z-index:25;
}

.nlx-language-dock .switch_languages.dropdown_button,
.nlx-language-dock .switch_languages.dropdown_button.nlx-language,
.nlx-homepage .switch_languages.dropdown_button.nlx-language-inside-card{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    transform:none !important;
    margin:0 0 0 auto !important;
    z-index:40 !important;
}

.nlx-language-dock .dropdown,
.nlx-language-dock .dropdown_menu,
.nlx-language-dock .dropdown_list,
.nlx-language-dock .dropdown-content{
    left:auto !important;
    right:0 !important;
}

.nlx-language-dock .switch_languages.dropdown_button{
    background:rgba(8,18,38,.72);
    border:1px solid rgba(123,190,255,.22);
    border-radius:14px;
    padding:6px 10px;
    box-shadow:0 10px 30px rgba(0,0,0,.24);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

@media (max-width:1100px){
    .nlx-language-dock{
        justify-content:flex-start;
        margin-bottom:12px;
    }

    .nlx-language-dock .switch_languages.dropdown_button{
        margin-left:0 !important;
    }
}

/*
 * ==========================================================
 * NLX_LANGUAGE_TOP_NAV_V1
 * ==========================================================
 */

.nlx-language-duplicate{
    display:none !important;
}

.nlx-language.nlx-language-top-nav{
    position:relative !important;

    inset:auto !important;

    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;

    transform:none !important;

    margin:
        0
        10px !important;

    z-index:120 !important;

    flex:
        0
        0
        auto;

    align-self:center;
}

.nlx-language.nlx-language-top-nav
.current_language{
    min-width:42px;
    min-height:42px;

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

    padding:7px 9px;

    border:
        1px solid
        rgba(125,190,235,.18);

    border-radius:13px;

    background:
        rgba(7,17,33,.72);

    box-shadow:
        0 10px 30px
        rgba(0,0,0,.18);

    backdrop-filter:
        blur(14px);

    -webkit-backdrop-filter:
        blur(14px);

    cursor:pointer;
}

.nlx-language.nlx-language-top-nav
.current_language img{
    width:22px;
    height:22px;

    object-fit:cover;

    border-radius:50%;
}

.nlx-language.nlx-language-top-nav
.dropdown_list{
    position:absolute !important;

    top:calc(100% + 8px) !important;

    right:0 !important;
    left:auto !important;

    transform:none !important;

    z-index:1000 !important;
}


/*
 * The language selector must never occupy hero space.
 */

.nlx-hero-side
> .switch_languages,
.nlx-home-layout
> .switch_languages{
    display:none !important;
}


/*
 * Smaller navigation.
 */

@media(max-width:1100px){

    .nlx-language.nlx-language-top-nav{
        margin:
            0
            5px !important;
    }

    .nlx-language.nlx-language-top-nav
    .current_language{
        min-width:38px;
        min-height:38px;

        padding:6px;
    }
}

/*
 * ==========================================================
 * NLX_LANGUAGE_DROPDOWN_DOWN_V2
 * ==========================================================
 *
 * Native Grupo places the language UL with bottom:-5px,
 * which makes it expand upward.
 *
 * In the top navigation we explicitly place the complete
 * dropdown below the current-language button.
 */

.navigation,
.navigation .navbar,
.navigation .container,
.nlx-language.nlx-language-top-nav{
    overflow:visible !important;
}


/* Dropdown container itself goes BELOW the language button. */

.nlx-language.nlx-language-top-nav
> .dropdown_list{
    position:absolute !important;

    top:calc(100% + 8px) !important;
    right:0 !important;
    bottom:auto !important;
    left:auto !important;

    width:auto !important;
    height:auto !important;

    margin:0 !important;

    transform:none !important;

    overflow:visible !important;

    z-index:9999 !important;
}


/* Override Grupo's native bottom:-5px rule. */

.nlx-language.nlx-language-top-nav
> .dropdown_list
> ul{
    position:relative !important;

    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;

    margin:0 !important;

    min-width:170px !important;
    max-width:220px !important;

    max-height:300px !important;

    padding:6px !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;

    white-space:nowrap !important;

    text-align:left !important;

    border:
        1px solid
        rgba(125,190,235,.22) !important;

    border-radius:14px !important;

    background:
        rgba(5,14,29,.97) !important;

    box-shadow:
        0 22px 60px
        rgba(0,0,0,.55) !important;

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);

    z-index:10000 !important;
}


.nlx-language.nlx-language-top-nav
> .dropdown_list
> ul
> li{
    min-width:0 !important;

    padding:
        9px
        11px !important;

    display:flex !important;

    align-items:center !important;

    gap:9px !important;

    border-radius:9px;

    border-bottom:
        1px solid
        rgba(125,190,235,.09) !important;
}


.nlx-language.nlx-language-top-nav
> .dropdown_list
> ul
> li:last-child{
    border-bottom:0 !important;
}


.nlx-language.nlx-language-top-nav
> .dropdown_list
> ul
> li:hover{
    background:
        rgba(69,139,220,.15) !important;
}


.nlx-language.nlx-language-top-nav
> .dropdown_list
> ul
> li
> img{
    width:22px !important;
    height:22px !important;

    flex:
        0
        0
        22px;

    border-radius:50%;
}


.nlx-language.nlx-language-top-nav
> .dropdown_list
> ul
> li
> span{
    display:block !important;

    overflow:visible !important;

    color:#dcebf7;
}


/*
 * On narrower screens align from the right edge as well,
 * so the menu cannot leave the viewport.
 */

@media(max-width:760px){

    .nlx-language.nlx-language-top-nav
    > .dropdown_list{
        right:0 !important;
        left:auto !important;
    }

    .nlx-language.nlx-language-top-nav
    > .dropdown_list
    > ul{
        min-width:155px !important;
        max-width:min(210px,80vw) !important;
    }
}


/*
 * ==========================================================
 * NLX_MY_TICKETS_CLIENT_CSS_V1
 * ==========================================================
 */

.nlx-my-tickets-bar{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    margin:14px 0 4px;
}

.nlx-my-tickets-launch{
    appearance:none;
    border:1px solid rgba(92,225,255,.34);
    background:
        linear-gradient(
            135deg,
            rgba(18,35,69,.88),
            rgba(26,21,62,.88)
        );
    color:#eefbff;
    border-radius:14px;
    min-height:44px;
    padding:0 16px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    font-weight:700;
    letter-spacing:.01em;
    box-shadow:
        0 12px 32px rgba(0,0,0,.22),
        inset 0 1px 0 rgba(255,255,255,.05);
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.nlx-my-tickets-launch:hover{
    transform:translateY(-1px);
    border-color:rgba(92,225,255,.68);
    box-shadow:
        0 16px 38px rgba(0,0,0,.28),
        0 0 24px rgba(44,205,255,.10);
}

.nlx-my-tickets-badge{
    min-width:24px;
    height:24px;
    padding:0 7px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(
        135deg,
        #6d5cff,
        #32d8ff
    );
    color:#fff;
    font-size:12px;
    font-weight:800;
}

.nlx-my-tickets-modal{
    position:fixed;
    inset:0;
    z-index:1000001;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.nlx-my-tickets-modal.open{
    display:flex;
}

.nlx-my-tickets-backdrop{
    position:absolute;
    inset:0;
    background:rgba(2,7,18,.80);
    backdrop-filter:blur(9px);
}

.nlx-my-tickets-window{
    position:relative;
    z-index:2;
    width:min(980px,96vw);
    max-height:min(760px,90vh);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border-radius:22px;
    border:1px solid rgba(97,218,255,.24);
    background:
        linear-gradient(
            145deg,
            rgba(10,22,45,.98),
            rgba(16,17,43,.98)
        );
    color:#eaf8ff;
    box-shadow:
        0 32px 100px rgba(0,0,0,.55),
        0 0 55px rgba(63,122,255,.10);
}

.nlx-my-tickets-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:20px 22px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.nlx-my-tickets-head-copy{
    min-width:0;
}

.nlx-my-tickets-head small{
    display:block;
    color:#5ee6ff;
    text-transform:uppercase;
    letter-spacing:.13em;
    font-size:10px;
    font-weight:800;
    margin-bottom:5px;
}

.nlx-my-tickets-head h2{
    margin:0;
    color:#fff;
    font-size:21px;
}

.nlx-my-tickets-head-actions{
    display:flex;
    gap:8px;
}

.nlx-my-tickets-icon-button{
    appearance:none;
    border:1px solid rgba(255,255,255,.11);
    background:rgba(255,255,255,.055);
    color:#eaf8ff;
    min-width:38px;
    height:38px;
    padding:0 11px;
    border-radius:11px;
    cursor:pointer;
    font-weight:700;
}

.nlx-my-tickets-icon-button:hover{
    border-color:rgba(92,225,255,.42);
    background:rgba(92,225,255,.08);
}

.nlx-my-tickets-content{
    min-height:260px;
    overflow:auto;
    padding:18px 22px 22px;
}

.nlx-my-tickets-summary{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:14px;
}

.nlx-my-tickets-chip{
    padding:7px 10px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:999px;
    background:rgba(255,255,255,.04);
    font-size:12px;
    color:#b9c8dc;
}

.nlx-my-ticket-row{
    display:grid;
    grid-template-columns:
        minmax(125px,.8fr)
        minmax(180px,2fr)
        minmax(150px,1.25fr)
        auto;
    gap:14px;
    align-items:center;
    padding:15px;
    margin-bottom:10px;
    border-radius:15px;
    border:1px solid rgba(255,255,255,.075);
    background:rgba(255,255,255,.035);
}

.nlx-my-ticket-number{
    color:#65e7ff;
    font-weight:800;
}

.nlx-my-ticket-subject strong{
    display:block;
    color:#fff;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.nlx-my-ticket-subject span,
.nlx-my-ticket-org,
.nlx-my-ticket-time{
    color:#91a4bd;
    font-size:12px;
}

.nlx-my-ticket-open{
    appearance:none;
    border:0;
    border-radius:11px;
    padding:10px 13px;
    cursor:pointer;
    color:white;
    font-weight:800;
    background:linear-gradient(
        135deg,
        #675cff,
        #29c8ff
    );
}

.nlx-my-ticket-status{
    display:inline-flex;
    width:max-content;
    align-items:center;
    border-radius:999px;
    padding:5px 9px;
    font-size:10px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-top:6px;
    background:rgba(61,211,255,.11);
    color:#6eeaff;
    border:1px solid rgba(61,211,255,.18);
}

.nlx-my-ticket-status.resolved,
.nlx-my-ticket-status.closed{
    color:#a9b4c5;
    background:rgba(169,180,197,.08);
    border-color:rgba(169,180,197,.15);
}

.nlx-my-ticket-status.waiting{
    color:#ffd984;
    background:rgba(255,202,84,.08);
    border-color:rgba(255,202,84,.16);
}

.nlx-my-ticket-detail-top{
    display:flex;
    gap:12px;
    align-items:center;
    flex-wrap:wrap;
    margin-bottom:18px;
}

.nlx-my-ticket-back{
    appearance:none;
    border:1px solid rgba(255,255,255,.10);
    border-radius:10px;
    background:rgba(255,255,255,.04);
    color:#dcecff;
    padding:8px 11px;
    cursor:pointer;
}

.nlx-my-ticket-detail-title{
    margin:5px 0 4px;
    color:#fff;
    font-size:22px;
}

.nlx-my-ticket-detail-number{
    color:#62e2ff;
    font-size:12px;
    font-weight:800;
}

.nlx-my-ticket-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:16px 0;
}

.nlx-my-ticket-info{
    border:1px solid rgba(255,255,255,.07);
    background:rgba(255,255,255,.025);
    border-radius:13px;
    padding:12px;
}

.nlx-my-ticket-info small{
    display:block;
    color:#758aa5;
    margin-bottom:4px;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.nlx-my-ticket-info strong{
    color:#eaf8ff;
    font-size:13px;
}

.nlx-my-ticket-message,
.nlx-my-ticket-history{
    margin-top:16px;
}

.nlx-my-ticket-section-title{
    color:#fff;
    font-size:13px;
    font-weight:800;
    margin-bottom:8px;
}

.nlx-my-ticket-message-box{
    white-space:pre-wrap;
    word-break:break-word;
    border:1px solid rgba(255,255,255,.075);
    background:rgba(1,8,24,.42);
    border-radius:14px;
    padding:14px;
    color:#cbd8e8;
    line-height:1.55;
}

.nlx-my-ticket-history-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    padding:11px 0;
    border-bottom:1px solid rgba(255,255,255,.055);
}

.nlx-my-ticket-history-item:last-child{
    border-bottom:0;
}

.nlx-my-ticket-history-main{
    color:#cbd8e8;
    font-size:12px;
}

.nlx-my-ticket-history-meta{
    color:#6f839e;
    font-size:11px;
    text-align:right;
}

.nlx-my-tickets-empty,
.nlx-my-tickets-loading,
.nlx-my-tickets-error{
    padding:34px 12px;
    text-align:center;
    color:#8da0b9;
}

.nlx-my-tickets-error{
    color:#ff9fa9;
}

@media (max-width:760px){

    .nlx-my-tickets-modal{
        padding:10px;
    }

    .nlx-my-tickets-window{
        max-height:94vh;
        border-radius:17px;
    }

    .nlx-my-ticket-row{
        grid-template-columns:1fr;
        gap:8px;
    }

    .nlx-my-ticket-open{
        width:100%;
    }

    .nlx-my-ticket-grid{
        grid-template-columns:1fr;
    }

    .nlx-my-ticket-history-item{
        grid-template-columns:1fr;
    }

    .nlx-my-ticket-history-meta{
        text-align:left;
    }
}


/*
 * ==========================================================
 * NLX_HOMEPAGE_SCROLL_ROOT_V2
 * ==========================================================
 * Desktop homepage is a true single-viewport application.
 * Modal windows keep their own internal scrolling.
 */

@media (min-width:1100px) and (min-height:700px) {

    html,
    body {
        height:100vh !important;
        height:100dvh !important;

        min-height:100vh !important;
        min-height:100dvh !important;

        max-height:100vh !important;
        max-height:100dvh !important;

        margin:0 !important;
        overflow:hidden !important;
    }

    main,
    .landing_page,
    .landing_page .hero_section {
        height:100vh !important;
        height:100dvh !important;

        min-height:100vh !important;
        min-height:100dvh !important;

        max-height:100vh !important;
        max-height:100dvh !important;

        overflow:hidden !important;
    }

    #nlx-homepage,
    .nlx-homepage {
        box-sizing:border-box !important;

        height:100vh !important;
        height:100dvh !important;

        min-height:100vh !important;
        min-height:100dvh !important;

        max-height:100vh !important;
        max-height:100dvh !important;

        overflow:hidden !important;
    }

    .nlx-home-layout {
        min-height:0 !important;

        height:calc(100dvh - 171px) !important;
        max-height:calc(100dvh - 171px) !important;
    }
}


/*
 * Tablet/mobile remains naturally scrollable.
 */
@media (max-width:1099px),
       (max-height:699px) {

    html,
    body {
        height:auto !important;
        max-height:none !important;
        overflow-y:auto !important;
    }

    main,
    .landing_page,
    .landing_page .hero_section,
    #nlx-homepage,
    .nlx-homepage {
        height:auto !important;
        max-height:none !important;
    }

    .nlx-home-layout {
        height:auto !important;
        max-height:none !important;
    }
}



/*
 * ==========================================================
 * NLX_HOMEPAGE_COMPACT_FRAME_V3
 * ==========================================================
 *
 * Keep the existing visual identity.
 * Compact only the authenticated desktop support panel.
 * No PHP / JS / database changes.
 */


/* ==========================================================
   NORMAL DESKTOP
   ========================================================== */

@media (min-width:1100px) and (min-height:700px) {

    .nlx-homepage {
        padding-top:92px !important;
        padding-bottom:24px !important;
    }

    .nlx-home-layout {
        min-height:calc(100dvh - 116px) !important;
        height:calc(100dvh - 116px) !important;
        max-height:calc(100dvh - 116px) !important;
        align-items:center !important;
    }

    .nlx-form-side {
        height:100% !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
    }

    .nlx-glass-panel {
        width:min(500px,100%) !important;

        padding:
            20px
            22px !important;

        border-radius:24px !important;

        margin-top:auto !important;
        margin-bottom:auto !important;

        box-sizing:border-box !important;
    }

    .nlx-form-kicker {
        margin:0 0 3px !important;
        font-size:9px !important;
    }

    .nlx-form-title {
        margin:3px 0 3px !important;
        font-size:23px !important;
        line-height:1.08 !important;
    }

    .nlx-form-copy {
        margin:0 0 7px !important;
        font-size:11px !important;
        line-height:1.3 !important;
    }

    .nlx-account-card {
        padding:7px 10px !important;
        margin-bottom:5px !important;
        gap:9px !important;
    }

    .nlx-account-card small {
        font-size:8px !important;
        line-height:1.05 !important;
    }

    .nlx-account-card strong {
        line-height:1.1 !important;
    }

    .nlx-account-card div > span {
        line-height:1.1 !important;
    }

    .nlx-my-tickets-bar {
        margin:5px 0 5px !important;
    }

    .nlx-my-tickets-launch {
        height:36px !important;
        min-height:36px !important;
        padding:0 13px !important;
        font-size:15px !important;
        border-radius:12px !important;
    }

    .nlx-my-tickets-launch .nlx-my-tickets-badge,
    .nlx-my-tickets-badge {
        min-width:24px !important;
        width:24px !important;
        height:24px !important;
        font-size:10px !important;
    }

    #nlx-support-form,
    .nlx-support-form {
        gap:5px !important;
        row-gap:5px !important;
    }

    .nlx-field {
        gap:3px !important;
        margin:0 !important;
    }

    .nlx-field > span {
        margin:0 0 2px !important;
        font-size:9px !important;
        line-height:1.1 !important;
    }

    /*
     * Old explanatory text beneath the source group is obsolete
     * now that the request source is membership-bound.
     */
    #nlx-support-form
    select[name="source_group_id"] ~ small {
        display:none !important;
    }

    .nlx-field input,
    .nlx-field select {
        height:36px !important;
        min-height:36px !important;

        padding:
            7px
            11px !important;
    }

    .nlx-field textarea {
        height:78px !important;
        min-height:78px !important;
        max-height:78px !important;

        padding:
            9px
            11px !important;

        resize:none !important;
        line-height:1.4 !important;
    }

    .nlx-origin-group-note {
        margin:2px 0 1px !important;
        font-size:10px !important;
        line-height:1.15 !important;
    }

    .nlx-turnstile-wrap {
        height:55px !important;
        min-height:55px !important;
        margin:2px 0 !important;

        display:flex !important;
        align-items:flex-start !important;
        justify-content:center !important;
    }

    #nlx-support-turnstile {
        transform:scale(.80) !important;
        transform-origin:top center !important;
    }

    .nlx-form-security {
        min-height:18px !important;
        margin:0 0 3px !important;
        gap:6px !important;

        font-size:9px !important;
        line-height:1.15 !important;
    }

    .nlx-security-check {
        width:18px !important;
        height:18px !important;
        flex:0 0 18px !important;
    }

    .nlx-submit-button {
        height:42px !important;
        min-height:42px !important;

        border-radius:12px !important;

        font-size:14px !important;
    }

    .nlx-submit-button svg {
        width:16px !important;
        height:16px !important;
    }
}


/* ==========================================================
   LAPTOP / SHORT DESKTOP
   768 - 900px vertical viewport
   ========================================================== */

@media (min-width:1100px) and (min-height:700px) and (max-height:900px) {

    .nlx-homepage {
        padding-top:82px !important;
        padding-bottom:18px !important;
    }

    .nlx-home-layout {
        min-height:calc(100dvh - 100px) !important;
        height:calc(100dvh - 100px) !important;
        max-height:calc(100dvh - 100px) !important;
    }

    .nlx-glass-panel {
        width:min(485px,100%) !important;

        padding:
            16px
            20px !important;

        border-radius:22px !important;
    }

    .nlx-form-title {
        font-size:21px !important;
    }

    .nlx-form-copy {
        margin-bottom:5px !important;
    }

    .nlx-account-card {
        padding:6px 9px !important;
        margin-bottom:4px !important;
    }

    .nlx-my-tickets-bar {
        margin:4px 0 !important;
    }

    .nlx-my-tickets-launch {
        height:34px !important;
        min-height:34px !important;
        font-size:14px !important;
    }

    #nlx-support-form,
    .nlx-support-form {
        gap:4px !important;
        row-gap:4px !important;
    }

    .nlx-field input,
    .nlx-field select {
        height:34px !important;
        min-height:34px !important;
    }

    .nlx-field textarea {
        height:68px !important;
        min-height:68px !important;
        max-height:68px !important;
    }

    .nlx-turnstile-wrap {
        height:50px !important;
        min-height:50px !important;
    }

    #nlx-support-turnstile {
        transform:scale(.74) !important;
    }

    .nlx-submit-button {
        height:39px !important;
        min-height:39px !important;
    }
}


/* ==========================================================
   MOBILE / TABLET
   Do not apply desktop compaction.
   ========================================================== */

@media (max-width:1099px) {

    .nlx-form-side {
        height:auto !important;
        display:block !important;
    }

    .nlx-glass-panel {
        width:100% !important;
        max-width:525px !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }
}



/*
 * ==========================================================
 * NLX_HOMEPAGE_FRAME_V4
 * Slightly larger authenticated support panel.
 * Keeps V3 viewport-fit behavior.
 * ==========================================================
 */

@media (min-width:1100px) and (min-height:901px) {

    .nlx-glass-panel {
        width:min(515px,100%) !important;
        padding:22px 24px !important;
    }

    .nlx-form-title {
        font-size:24px !important;
    }

    .nlx-account-card {
        padding:8px 11px !important;
    }

    .nlx-my-tickets-launch {
        height:38px !important;
        min-height:38px !important;
    }

    .nlx-field input,
    .nlx-field select {
        height:38px !important;
        min-height:38px !important;
    }

    .nlx-field textarea {
        height:84px !important;
        min-height:84px !important;
        max-height:84px !important;
    }

    .nlx-submit-button {
        height:44px !important;
        min-height:44px !important;
    }
}


@media (min-width:1100px) and (min-height:700px) and (max-height:900px) {

    .nlx-glass-panel {
        width:min(500px,100%) !important;
        padding:18px 21px !important;
    }

    .nlx-form-title {
        font-size:22px !important;
    }

    .nlx-account-card {
        padding:7px 10px !important;
    }

    .nlx-my-tickets-launch {
        height:35px !important;
        min-height:35px !important;
    }

    .nlx-field input,
    .nlx-field select {
        height:35px !important;
        min-height:35px !important;
    }

    .nlx-field textarea {
        height:74px !important;
        min-height:74px !important;
        max-height:74px !important;
    }

    .nlx-submit-button {
        height:41px !important;
        min-height:41px !important;
    }
}



/*
 * ==========================================================
 * NLX_MY_TICKETS_CONVERSATION_BUTTON_CSS_V1
 * ==========================================================
 */

.nlx-my-ticket-conversation{
    width:100%;
    min-height:44px;
    margin:16px 0 18px;
    padding:10px 18px;
    border:1px solid rgba(79,220,255,.32);
    border-radius:13px;
    background:
        linear-gradient(
            135deg,
            rgba(48,121,255,.24),
            rgba(100,65,255,.20)
        );
    color:#eefaff;
    font:inherit;
    font-weight:700;
    letter-spacing:.01em;
    cursor:pointer;
    box-shadow:
        0 10px 30px rgba(0,80,180,.15),
        inset 0 1px 0 rgba(255,255,255,.07);
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.nlx-my-ticket-conversation:hover{
    transform:translateY(-1px);
    border-color:rgba(92,231,255,.58);
    box-shadow:
        0 14px 34px rgba(0,90,200,.22),
        inset 0 1px 0 rgba(255,255,255,.09);
}

.nlx-my-ticket-conversation:active{
    transform:translateY(0);
}


/*
 * NLX_SUPPORT_CLIENT_UI_V1
 * Integrated into the approved Nautico support card.
 */
.nlx-support-client-ui {
    width: 100%;
    margin: 0 0 11px;
}

.nlx-client-label {
    display: block;
    margin: 0 0 5px;
    font-size: 12px;
    font-weight: 700;
    color: rgba(232, 247, 255, .92);
}

.nlx-remote-label {
    margin-top: 8px;
}

.nlx-client-row {
    display: flex;
    width: 100%;
    gap: 7px;
    align-items: stretch;
}

.nlx-client-input,
.nlx-client-select {
    width: 100%;
    min-width: 0;
    min-height: 38px;
    box-sizing: border-box;
    border: 1px solid rgba(67, 196, 255, .25);
    border-radius: 10px;
    outline: none;
    padding: 8px 10px;
    color: #eefaff;
    background: rgba(5, 18, 39, .74);
    font: inherit;
}

.nlx-client-search {
    margin-bottom: 7px;
}

.nlx-client-input:focus,
.nlx-client-select:focus {
    border-color: rgba(73, 216, 255, .72);
    box-shadow:
        0 0 0 3px
        rgba(46, 179, 255, .1);
}

.nlx-client-input:disabled {
    opacity: .6;
}

.nlx-client-select option {
    color: #f2fbff;
    background: #07182f;
}

.nlx-client-add,
.nlx-client-primary,
.nlx-client-secondary {
    min-height: 38px;
    box-sizing: border-box;
    padding: 0 12px;
    border: 1px solid rgba(82, 207, 255, .3);
    border-radius: 10px;
    cursor: pointer;
    white-space: nowrap;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
}

.nlx-client-add,
.nlx-client-primary {
    color: #fff;
    background:
        linear-gradient(
            135deg,
            rgba(38, 175, 255, .94),
            rgba(117, 70, 255, .94)
        );
}

.nlx-client-secondary {
    color: #dff8ff;
    background:
        rgba(10, 38, 70, .86);
}

.nlx-client-add:disabled,
.nlx-client-primary:disabled,
.nlx-client-secondary:disabled {
    opacity: .48;
    cursor: not-allowed;
}

.nlx-client-note {
    margin-top: 5px;
    font-size: 10px;
    line-height: 1.3;
    color: rgba(185, 214, 232, .66);
}

.nlx-client-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 20px;
    background: rgba(1, 7, 18, .8);
    backdrop-filter: blur(7px);
}

.nlx-client-modal-card {
    width: min(430px, 100%);
    box-sizing: border-box;
    padding: 20px;
    border:
        1px solid
        rgba(72, 204, 255, .3);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            rgba(8, 28, 57, .99),
            rgba(5, 15, 34, .99)
        );
    box-shadow:
        0 24px 70px
            rgba(0, 0, 0, .5),
        0 0 40px
            rgba(49, 146, 255, .1);
}

.nlx-client-modal-title {
    margin-bottom: 16px;
    color: #f4fbff;
    font-size: 18px;
    font-weight: 800;
}

.nlx-client-modal-card
.nlx-client-input {
    margin-bottom: 11px;
}

.nlx-client-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 15px;
}

.nlx-client-error {
    min-height: 17px;
    margin-top: 7px;
    color: #ff8eaa;
    font-size: 11px;
}

@media (max-width: 520px) {
    .nlx-client-row {
        flex-wrap: wrap;
    }
}


/*
 * ============================================================
 * NLX_SUPPORT_FINAL_LAYOUT_V7
 * ============================================================
 *
 * Final organization of the authenticated support card.
 *
 * No forced card height.
 * No experimental stacked height rules.
 * Content defines panel height.
 */


/*
 * ------------------------------------------------------------
 * MAIN DESKTOP LAYOUT
 * ------------------------------------------------------------
 */
@media
    (min-width:1100px)
    and (min-height:700px) {

    .nlx-home-layout {
        align-items:center !important;
    }

    .nlx-form-side {
        display:flex !important;

        align-items:center !important;
        justify-content:center !important;

        width:min(610px,100%) !important;

        height:auto !important;
        min-height:0 !important;
        max-height:none !important;

        margin:0 !important;

        align-self:center !important;

        transform:none !important;
    }

    .nlx-glass-panel {
        position:relative !important;

        box-sizing:border-box !important;

        width:100% !important;
        max-width:610px !important;

        height:auto !important;
        min-height:0 !important;
        max-height:none !important;

        margin:0 !important;

        padding:
            19px 24px 17px !important;

        overflow:visible !important;
    }


    /*
     * HEADER
     */
    .nlx-form-kicker {
        margin:
            0 0 3px !important;

        font-size:10px !important;
        line-height:1 !important;
    }

    .nlx-form-title {
        max-width:
            calc(100% - 180px) !important;

        margin:
            0 0 2px !important;

        font-size:26px !important;
        line-height:1.04 !important;
    }

    .nlx-form-copy {
        max-width:
            calc(100% - 180px) !important;

        margin:
            0 0 9px !important;

        font-size:11px !important;
        line-height:1.15 !important;
    }


    /*
     * MY TICKETS
     *
     * The DOM inserts this after the account card.
     * The panel is the positioning context, so visually
     * it belongs to the title/header area.
     */
    .nlx-my-tickets-bar {
        position:absolute !important;

        top:44px !important;
        right:24px !important;

        z-index:5 !important;

        width:auto !important;

        margin:0 !important;
    }

    .nlx-my-tickets-launch {
        box-sizing:border-box !important;

        height:34px !important;
        min-height:34px !important;

        padding:
            0 13px !important;

        font-size:11px !important;
        line-height:1 !important;
    }


    /*
     * ACCOUNT
     */
    .nlx-account-card {
        box-sizing:border-box !important;

        height:44px !important;
        min-height:44px !important;

        margin:
            0 0 9px !important;

        padding:
            6px 12px !important;

        border-radius:11px !important;
    }

    .nlx-account-card small {
        font-size:9px !important;
        line-height:1 !important;
    }

    .nlx-account-card strong {
        font-size:11px !important;
        line-height:1.05 !important;
    }

    .nlx-account-card div > span {
        font-size:9px !important;
        line-height:1 !important;
    }


    /*
     * FORM
     */
    #nlx-support-form,
    .nlx-support-form {
        display:flex !important;

        flex-direction:column !important;

        gap:5px !important;

        margin:0 !important;

        overflow:visible !important;
    }

    .nlx-field {
        display:flex !important;
        flex-direction:column !important;

        gap:3px !important;

        margin:0 !important;
    }

    .nlx-field > span {
        margin:0 !important;

        font-size:10px !important;
        line-height:1.05 !important;
    }

    .nlx-field > small {
        margin:0 !important;

        font-size:9px !important;
        line-height:1.1 !important;
    }

    /*
     * Organization is already protected server-side.
     * Remove duplicate explanatory line from constrained card.
     */
    #nlx-support-form
    select[name="source_group_id"]
    ~ small,

    .nlx-support-form
    select[name="source_group_id"]
    ~ small {
        display:none !important;
    }

    .nlx-field input,
    .nlx-field select {
        box-sizing:border-box !important;

        height:34px !important;
        min-height:34px !important;

        padding:
            5px 10px !important;

        border-radius:9px !important;

        font-size:11px !important;
        line-height:1 !important;
    }


    /*
     * --------------------------------------------------------
     * CLIENT SMART COMBO
     * --------------------------------------------------------
     *
     * Client
     * [ Caută / selectează client          ][ + Client nou ]
     */
    .nlx-support-client-ui {
        position:relative !important;

        display:block !important;

        width:100% !important;

        margin:
            0 0 1px !important;

        padding:0 !important;
    }

    .nlx-support-client-ui
    > .nlx-client-label:not(.nlx-remote-label) {
        display:block !important;

        margin:
            0 0 4px !important;

        font-size:10px !important;
        line-height:1.05 !important;
    }

    .nlx-client-smart-row {
        display:grid !important;

        grid-template-columns:
            minmax(0,1fr)
            auto !important;

        gap:6px !important;

        width:100% !important;

        align-items:stretch !important;
    }

    .nlx-client-smart-field {
        position:relative !important;

        min-width:0 !important;
    }

    .nlx-client-smart-field
    .nlx-client-search {
        box-sizing:border-box !important;

        width:100% !important;

        height:34px !important;
        min-height:34px !important;

        margin:0 !important;

        padding:
            5px 10px !important;

        border-radius:9px !important;

        font-size:11px !important;
        line-height:1 !important;
    }

    .nlx-client-smart-row
    .nlx-client-add {
        box-sizing:border-box !important;

        height:34px !important;
        min-height:34px !important;

        padding:
            0 11px !important;

        border-radius:9px !important;

        font-size:10px !important;
        line-height:1 !important;
    }

    /*
     * Original select remains in DOM only as state storage
     * for the already certified Stage4 logic.
     */
    .nlx-client-select-storage {
        display:none !important;
    }

    .nlx-client-smart-menu {
        position:absolute !important;

        z-index:5000 !important;

        top:
            calc(100% + 4px) !important;

        left:0 !important;
        right:0 !important;

        max-height:210px !important;

        padding:5px !important;

        overflow-y:auto !important;

        border:
            1px solid
            rgba(69,201,255,.30) !important;

        border-radius:10px !important;

        background:
            rgba(5,16,35,.985) !important;

        box-shadow:
            0 18px 40px
            rgba(0,0,0,.42) !important;
    }

    .nlx-client-smart-menu[hidden] {
        display:none !important;
    }

    .nlx-client-smart-option {
        display:block !important;

        width:100% !important;

        padding:
            8px 9px !important;

        border:0 !important;
        border-radius:7px !important;

        background:
            transparent !important;

        color:#eaf9ff !important;

        text-align:left !important;

        font:inherit !important;
        font-size:10px !important;

        cursor:pointer !important;
    }

    .nlx-client-smart-option:hover,
    .nlx-client-smart-option:focus {
        outline:none !important;

        background:
            rgba(57,173,255,.13) !important;
    }


    /*
     * REMOTE ID
     */
    .nlx-support-client-ui
    > .nlx-remote-label {
        display:block !important;

        margin:
            7px 0 4px !important;

        font-size:10px !important;
        line-height:1.05 !important;
    }

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2) {
        display:grid !important;

        grid-template-columns:
            minmax(0,1fr)
            auto !important;

        gap:6px !important;

        width:100% !important;
    }

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2)
    .nlx-client-input {
        box-sizing:border-box !important;

        height:34px !important;
        min-height:34px !important;

        padding:
            5px 10px !important;

        border-radius:9px !important;

        font-size:11px !important;
    }

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2)
    .nlx-client-secondary {
        box-sizing:border-box !important;

        height:34px !important;
        min-height:34px !important;

        padding:
            0 10px !important;

        border-radius:9px !important;

        font-size:10px !important;
    }

    /*
     * Warning remains inside New Client modal.
     * No duplicate line in main card.
     */
    .nlx-support-client-ui
    > .nlx-client-note {
        display:none !important;
    }


    /*
     * SUBJECT + DESCRIPTION
     */
    .nlx-field textarea {
        box-sizing:border-box !important;

        height:72px !important;
        min-height:72px !important;
        max-height:72px !important;

        padding:
            7px 10px !important;

        font-size:11px !important;
        line-height:1.3 !important;

        resize:none !important;
    }


    /*
     * TURNSTILE
     */
    .nlx-turnstile-wrap {
        display:flex !important;

        justify-content:center !important;
        align-items:flex-start !important;

        box-sizing:border-box !important;

        height:57px !important;
        min-height:57px !important;

        margin:
            1px 0 0 !important;

        overflow:visible !important;
    }

    #nlx-support-turnstile {
        transform:
            scale(.76) !important;

        transform-origin:
            top center !important;
    }


    /*
     * SECURITY + SUBMIT
     */
    .nlx-form-security {
        min-height:13px !important;

        margin:0 !important;

        font-size:9px !important;
        line-height:1.05 !important;
    }

    .nlx-submit-button {
        box-sizing:border-box !important;

        height:37px !important;
        min-height:37px !important;

        margin:
            1px 0 0 !important;

        border-radius:10px !important;

        font-size:11px !important;
    }


    /*
     * Wider desktop gives panel a little more room,
     * without increasing its natural height.
     */
    @media (min-width:1500px) {
        .nlx-form-side,
        .nlx-glass-panel {
            width:620px !important;
            max-width:620px !important;
        }
    }
}


/*
 * ------------------------------------------------------------
 * 700 - 800px HEIGHT
 * ------------------------------------------------------------
 *
 * Same structure. Only density is reduced.
 */
@media
    (min-width:1100px)
    and (min-height:700px)
    and (max-height:800px) {

    .nlx-glass-panel {
        padding:
            13px 21px 12px !important;
    }

    .nlx-form-kicker {
        margin-bottom:2px !important;

        font-size:9px !important;
    }

    .nlx-form-title {
        font-size:22px !important;
    }

    .nlx-form-copy {
        margin-bottom:6px !important;

        font-size:10px !important;
    }

    .nlx-my-tickets-bar {
        top:30px !important;
        right:21px !important;
    }

    .nlx-my-tickets-launch {
        height:30px !important;
        min-height:30px !important;

        font-size:10px !important;
    }

    .nlx-account-card {
        height:38px !important;
        min-height:38px !important;

        margin-bottom:6px !important;

        padding:
            4px 10px !important;
    }

    #nlx-support-form,
    .nlx-support-form {
        gap:3px !important;
    }

    .nlx-field {
        gap:2px !important;
    }

    .nlx-field input,
    .nlx-field select,

    .nlx-client-smart-field
    .nlx-client-search,

    .nlx-client-smart-row
    .nlx-client-add,

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2)
    .nlx-client-input,

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2)
    .nlx-client-secondary {

        height:29px !important;
        min-height:29px !important;

        font-size:9px !important;
    }

    .nlx-support-client-ui
    > .nlx-remote-label {
        margin:
            4px 0 3px !important;
    }

    .nlx-field textarea {
        height:56px !important;
        min-height:56px !important;
        max-height:56px !important;

        font-size:10px !important;
    }

    .nlx-turnstile-wrap {
        height:46px !important;
        min-height:46px !important;
    }

    #nlx-support-turnstile {
        transform:
            scale(.65) !important;
    }

    .nlx-form-security {
        min-height:10px !important;

        font-size:8px !important;
    }

    .nlx-submit-button {
        height:31px !important;
        min-height:31px !important;

        font-size:10px !important;
    }
}


/*
 * ------------------------------------------------------------
 * 901px+ HEIGHT
 * ------------------------------------------------------------
 */
@media
    (min-width:1100px)
    and (min-height:901px) {

    .nlx-glass-panel {
        padding:
            21px 25px 19px !important;
    }

    .nlx-field textarea {
        height:78px !important;
        min-height:78px !important;
        max-height:78px !important;
    }
}


/*
 * ============================================================
 * NLX_SUPPORT_FINAL_POLISH_V8
 * ============================================================
 *
 * Final visual refinement:
 * - slightly larger support panel;
 * - larger problem-description textarea;
 * - remove obsolete original client selector row;
 * - keep smart Client search/select combo;
 * - preserve natural card height and no page scroll.
 */


/*
 * The Stage4 V7 smart combo keeps the original SELECT only
 * as hidden state storage. It must never remain visible.
 */
.nlx-client-select-storage {
    display:none !important;
}


/*
 * ------------------------------------------------------------
 * STANDARD DESKTOP
 * ------------------------------------------------------------
 */
@media
    (min-width:1100px)
    and (min-height:801px) {

    .nlx-form-side {
        width:min(640px,100%) !important;
        max-width:640px !important;
    }

    .nlx-glass-panel {
        width:100% !important;
        max-width:640px !important;

        height:auto !important;
        min-height:0 !important;
        max-height:none !important;

        padding-left:26px !important;
        padding-right:26px !important;
    }

    /*
     * Give the description enough room to actually describe
     * a technical problem comfortably.
     */
    .nlx-field textarea {
        height:96px !important;
        min-height:96px !important;
        max-height:96px !important;

        padding:
            9px 11px !important;

        font-size:11px !important;
        line-height:1.35 !important;
    }
}


/*
 * ------------------------------------------------------------
 * TALLER DESKTOP / 900p / 1080p
 * ------------------------------------------------------------
 */
@media
    (min-width:1100px)
    and (min-height:901px) {

    .nlx-form-side {
        width:min(650px,100%) !important;
        max-width:650px !important;
    }

    .nlx-glass-panel {
        max-width:650px !important;

        padding-left:27px !important;
        padding-right:27px !important;
    }

    .nlx-field textarea {
        height:104px !important;
        min-height:104px !important;
        max-height:104px !important;
    }
}


/*
 * ------------------------------------------------------------
 * 768px-CLASS DESKTOP
 * ------------------------------------------------------------
 *
 * Still slightly larger than before, but conservative enough
 * to keep the full card inside the viewport.
 */
@media
    (min-width:1100px)
    and (min-height:700px)
    and (max-height:800px) {

    .nlx-form-side {
        width:min(625px,100%) !important;
        max-width:625px !important;
    }

    .nlx-glass-panel {
        max-width:625px !important;

        height:auto !important;
        min-height:0 !important;
        max-height:none !important;

        padding-left:22px !important;
        padding-right:22px !important;
    }

    .nlx-field textarea {
        height:70px !important;
        min-height:70px !important;
        max-height:70px !important;

        line-height:1.3 !important;
    }
}


/*
 * Keep the smart Client row visually balanced after the
 * obsolete selector row is hidden.
 */
@media
    (min-width:1100px)
    and (min-height:700px) {

    .nlx-client-smart-row {
        margin-bottom:1px !important;
    }

    .nlx-support-client-ui
    > .nlx-remote-label {
        margin-top:8px !important;
    }
}


/*
 * ============================================================
 * NLX_SUPPORT_VISUAL_REFINEMENT_V9
 * ============================================================
 *
 * Small final visual improvement:
 * - slightly larger authenticated support card;
 * - slightly larger spacing between labels and fields;
 * - larger description area;
 * - hide obsolete original selector row when smart combo exists.
 */


/*
 * Safety: when V7 smart combo exists, the old original
 * selector row must never remain visible.
 */
.nlx-client-smart-row + .nlx-client-row {
    display:none !important;
}


/*
 * ------------------------------------------------------------
 * DESKTOP 801px+
 * ------------------------------------------------------------
 */
@media
    (min-width:1100px)
    and (min-height:801px) {

    .nlx-form-side {
        width:min(670px,100%) !important;
        max-width:670px !important;
    }

    .nlx-glass-panel {
        width:100% !important;
        max-width:670px !important;

        padding:
            22px 28px 21px !important;

        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
    }

    .nlx-form-kicker {
        margin-bottom:4px !important;
    }

    .nlx-form-title {
        margin-bottom:3px !important;
    }

    .nlx-form-copy {
        margin-bottom:12px !important;
        line-height:1.22 !important;
    }

    .nlx-account-card {
        margin-bottom:11px !important;
    }

    #nlx-support-form,
    .nlx-support-form {
        gap:7px !important;
    }

    .nlx-field {
        gap:4px !important;
    }

    .nlx-field > span {
        font-size:10px !important;
        line-height:1.1 !important;
    }

    .nlx-field > small {
        margin-top:1px !important;
        line-height:1.15 !important;
    }

    .nlx-field input,
    .nlx-field select {
        height:35px !important;
        min-height:35px !important;

        padding:
            6px 11px !important;
    }

    .nlx-support-client-ui
    > .nlx-client-label:not(.nlx-remote-label) {
        margin-bottom:5px !important;
    }

    .nlx-client-smart-row {
        gap:8px !important;
        margin-bottom:2px !important;
    }

    .nlx-client-smart-field
    .nlx-client-search,
    .nlx-client-smart-row
    .nlx-client-add {
        height:35px !important;
        min-height:35px !important;
    }

    .nlx-support-client-ui
    > .nlx-remote-label {
        margin:
            9px 0 5px !important;
    }

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2) {
        gap:8px !important;
    }

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2)
    .nlx-client-input,

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2)
    .nlx-client-secondary {
        height:35px !important;
        min-height:35px !important;
    }

    .nlx-field textarea {
        height:118px !important;
        min-height:118px !important;
        max-height:118px !important;

        padding:
            10px 11px !important;

        line-height:1.38 !important;
    }

    .nlx-turnstile-wrap {
        margin:
            4px 0 2px !important;
    }

    .nlx-form-security {
        margin-top:1px !important;
    }

    .nlx-submit-button {
        margin-top:4px !important;
    }
}


/*
 * ------------------------------------------------------------
 * DESKTOP 901px+
 * ------------------------------------------------------------
 */
@media
    (min-width:1100px)
    and (min-height:901px) {

    .nlx-form-side {
        width:min(680px,100%) !important;
        max-width:680px !important;
    }

    .nlx-glass-panel {
        max-width:680px !important;

        padding:
            23px 29px 22px !important;
    }

    .nlx-field textarea {
        height:126px !important;
        min-height:126px !important;
        max-height:126px !important;
    }
}


/*
 * ------------------------------------------------------------
 * DESKTOP 700px - 800px
 * ------------------------------------------------------------
 */
@media
    (min-width:1100px)
    and (min-height:700px)
    and (max-height:800px) {

    .nlx-form-side {
        width:min(638px,100%) !important;
        max-width:638px !important;
    }

    .nlx-glass-panel {
        max-width:638px !important;

        padding:
            15px 23px 14px !important;
    }

    #nlx-support-form,
    .nlx-support-form {
        gap:4px !important;
    }

    .nlx-field {
        gap:3px !important;
    }

    .nlx-client-smart-row,
    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2) {
        gap:6px !important;
    }

    .nlx-support-client-ui
    > .nlx-remote-label {
        margin:
            6px 0 4px !important;
    }

    .nlx-field textarea {
        height:78px !important;
        min-height:78px !important;
        max-height:78px !important;

        line-height:1.32 !important;
    }

    .nlx-submit-button {
        margin-top:2px !important;
    }
}


/*
 * ============================================================
 * NLX_SUPPORT_FIELD_SPACING_V10
 * ============================================================
 *
 * Visual spacing refinement only.
 * Adds more breathing room between:
 * - section header and form
 * - labels and inputs
 * - field groups
 * - remote id / subject / description blocks
 * - turnstile and submit area
 */


/*
 * ------------------------------------------------------------
 * DESKTOP 801px+
 * ------------------------------------------------------------
 */
@media
    (min-width:1100px)
    and (min-height:801px) {

    .nlx-glass-panel {
        padding:
            24px 30px 23px !important;
    }

    .nlx-form-copy {
        margin-bottom:14px !important;
    }

    .nlx-account-card {
        margin-bottom:14px !important;
    }

    #nlx-support-form,
    .nlx-support-form {
        gap:10px !important;
    }

    .nlx-field {
        gap:6px !important;
    }

    .nlx-field > span {
        margin:
            0 0 1px !important;

        line-height:1.16 !important;
    }

    .nlx-field > small {
        margin:
            1px 0 0 !important;

        line-height:1.22 !important;
    }

    .nlx-field input,
    .nlx-field select {
        height:36px !important;
        min-height:36px !important;
    }

    /*
     * Organization block
     */
    .nlx-field:has(select[name="source_group_id"]) {
        margin-bottom:3px !important;
    }

    /*
     * Client block
     */
    .nlx-support-client-ui {
        margin:
            2px 0 4px !important;
    }

    .nlx-support-client-ui
    > .nlx-client-label:not(.nlx-remote-label) {
        margin-bottom:7px !important;
    }

    .nlx-client-smart-row {
        gap:10px !important;
        margin-bottom:4px !important;
    }

    .nlx-client-smart-field
    .nlx-client-search,
    .nlx-client-smart-row
    .nlx-client-add {
        height:36px !important;
        min-height:36px !important;
    }

    .nlx-support-client-ui
    > .nlx-remote-label {
        margin:
            12px 0 7px !important;
    }

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2) {
        gap:10px !important;
        margin-bottom:4px !important;
    }

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2)
    .nlx-client-input,

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2)
    .nlx-client-secondary {
        height:36px !important;
        min-height:36px !important;
    }

    /*
     * Subject and description
     */
    .nlx-field:has(input[name="subject"]) {
        margin-top:2px !important;
        margin-bottom:1px !important;
    }

    .nlx-field:has(textarea) {
        margin-top:2px !important;
        margin-bottom:3px !important;
    }

    .nlx-field textarea {
        height:126px !important;
        min-height:126px !important;
        max-height:126px !important;

        padding:
            11px 12px !important;

        line-height:1.42 !important;
    }

    /*
     * Turnstile and submit zone
     */
    .nlx-turnstile-wrap {
        margin:
            8px 0 5px !important;
    }

    .nlx-form-security {
        margin:
            2px 0 2px !important;
    }

    .nlx-submit-button {
        margin-top:6px !important;
        height:38px !important;
        min-height:38px !important;
    }
}


/*
 * ------------------------------------------------------------
 * DESKTOP 901px+
 * ------------------------------------------------------------
 */
@media
    (min-width:1100px)
    and (min-height:901px) {

    .nlx-glass-panel {
        padding:
            25px 31px 24px !important;
    }

    #nlx-support-form,
    .nlx-support-form {
        gap:11px !important;
    }

    .nlx-support-client-ui
    > .nlx-remote-label {
        margin-top:13px !important;
    }

    .nlx-field textarea {
        height:136px !important;
        min-height:136px !important;
        max-height:136px !important;
    }
}


/*
 * ------------------------------------------------------------
 * DESKTOP 700px - 800px
 * ------------------------------------------------------------
 *
 * More spacing than V9, but still compact enough
 * to keep the full panel inside the viewport.
 */
@media
    (min-width:1100px)
    and (min-height:700px)
    and (max-height:800px) {

    .nlx-glass-panel {
        padding:
            16px 24px 15px !important;
    }

    #nlx-support-form,
    .nlx-support-form {
        gap:6px !important;
    }

    .nlx-field {
        gap:4px !important;
    }

    .nlx-account-card {
        margin-bottom:10px !important;
    }

    .nlx-support-client-ui {
        margin:
            1px 0 2px !important;
    }

    .nlx-support-client-ui
    > .nlx-client-label:not(.nlx-remote-label) {
        margin-bottom:5px !important;
    }

    .nlx-client-smart-row,
    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2) {
        gap:7px !important;
    }

    .nlx-support-client-ui
    > .nlx-remote-label {
        margin:
            8px 0 5px !important;
    }

    .nlx-field textarea {
        height:88px !important;
        min-height:88px !important;
        max-height:88px !important;

        line-height:1.35 !important;
    }

    .nlx-turnstile-wrap {
        margin:
            5px 0 3px !important;
    }

    .nlx-submit-button {
        margin-top:3px !important;
    }
}


/*
 * ============================================================
 * NLX_SUPPORT_CLIENT_AND_LOGO_SPACING_V11
 * ============================================================
 *
 * Visual refinement only:
 * - more room for Client area;
 * - permanently hide obsolete original client selector row;
 * - more air around labels and controls in the Client block;
 * - move top logo / top bar slightly inward from the edges.
 */


/*
 * If the smart Client row exists, the legacy visible selector row
 * directly under it must be hidden.
 */
.nlx-support-client-ui .nlx-client-smart-row + .nlx-client-row,
.nlx-support-client-ui > .nlx-client-row:first-of-type {
    display:none !important;
}


/*
 * ------------------------------------------------------------
 * DESKTOP 801px+
 * ------------------------------------------------------------
 */
@media
    (min-width:1100px)
    and (min-height:801px) {

    /*
     * Top branding and top nav slightly farther from edges.
     */
    header,
    .nlx-header,
    .nlx-home-header,
    .nlx-top-nav,
    .nlx-nav-shell,
    .nlx-navbar,
    .nlx-navigation {
        padding-top:14px !important;
        padding-left:24px !important;
        padding-right:24px !important;
    }

    .navbar-brand,
    .brand-logo,
    .site-logo,
    .nlx-brand,
    .nlx-brand-wrap,
    .nlx-header-brand,
    .nlx-home-brand,
    .nlx-logo,
    .nlx-logo-wrap {
        margin-top:4px !important;
        margin-left:6px !important;
    }

    /*
     * Client block more spacious.
     */
    .nlx-support-client-ui {
        margin:
            4px 0 7px !important;
    }

    .nlx-support-client-ui
    > .nlx-client-label:not(.nlx-remote-label) {
        margin-bottom:8px !important;

        font-size:11px !important;
        line-height:1.12 !important;
    }

    .nlx-client-smart-row {
        grid-template-columns:
            minmax(0,1fr)
            auto !important;

        gap:14px !important;
        margin-bottom:6px !important;

        align-items:center !important;
    }

    .nlx-client-smart-field {
        min-width:0 !important;
    }

    .nlx-client-smart-field
    .nlx-client-search {
        height:39px !important;
        min-height:39px !important;

        padding:
            7px 14px !important;

        font-size:11px !important;
    }

    .nlx-client-smart-row
    .nlx-client-add {
        height:39px !important;
        min-height:39px !important;

        padding:
            0 16px !important;

        font-size:11px !important;
        white-space:nowrap !important;
    }

    .nlx-support-client-ui
    > .nlx-remote-label {
        margin:
            14px 0 8px !important;

        font-size:11px !important;
        line-height:1.12 !important;
    }

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2) {
        gap:12px !important;
        margin-bottom:3px !important;
    }

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2)
    .nlx-client-input,

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2)
    .nlx-client-secondary {
        height:39px !important;
        min-height:39px !important;

        font-size:11px !important;
    }
}


/*
 * ------------------------------------------------------------
 * DESKTOP 901px+
 * ------------------------------------------------------------
 */
@media
    (min-width:1100px)
    and (min-height:901px) {

    .nlx-client-smart-row {
        gap:15px !important;
    }

    .nlx-support-client-ui
    > .nlx-remote-label {
        margin-top:15px !important;
    }
}


/*
 * ------------------------------------------------------------
 * DESKTOP 700px - 800px
 * ------------------------------------------------------------
 */
@media
    (min-width:1100px)
    and (min-height:700px)
    and (max-height:800px) {

    header,
    .nlx-header,
    .nlx-home-header,
    .nlx-top-nav,
    .nlx-nav-shell,
    .nlx-navbar,
    .nlx-navigation {
        padding-top:10px !important;
        padding-left:18px !important;
        padding-right:18px !important;
    }

    .navbar-brand,
    .brand-logo,
    .site-logo,
    .nlx-brand,
    .nlx-brand-wrap,
    .nlx-header-brand,
    .nlx-home-brand,
    .nlx-logo,
    .nlx-logo-wrap {
        margin-top:3px !important;
        margin-left:4px !important;
    }

    .nlx-support-client-ui {
        margin:
            2px 0 4px !important;
    }

    .nlx-support-client-ui
    > .nlx-client-label:not(.nlx-remote-label) {
        margin-bottom:6px !important;
    }

    .nlx-client-smart-row {
        gap:9px !important;
        margin-bottom:4px !important;
    }

    .nlx-client-smart-field
    .nlx-client-search,
    .nlx-client-smart-row
    .nlx-client-add {
        height:33px !important;
        min-height:33px !important;
    }

    .nlx-support-client-ui
    > .nlx-remote-label {
        margin:
            10px 0 6px !important;
    }

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2) {
        gap:8px !important;
    }

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2)
    .nlx-client-input,

    .nlx-support-client-ui
    > .nlx-client-row:nth-of-type(2)
    .nlx-client-secondary {
        height:33px !important;
        min-height:33px !important;
    }
}


/*
 * ============================================================
 * NLX_SUPPORT_LOGO_HEADER_GAP_V12
 * ============================================================
 *
 * Visual refinement only:
 * - move top branding farther from the viewport edges;
 * - create a little more breathing room between the header area
 *   and the authenticated support card border.
 */


/*
 * ------------------------------------------------------------
 * DESKTOP 801px+
 * ------------------------------------------------------------
 */
@media
    (min-width:1100px)
    and (min-height:801px) {

    header,
    .nlx-header,
    .nlx-home-header,
    .nlx-top-nav,
    .nlx-nav-shell,
    .nlx-navbar,
    .nlx-navigation {
        padding-top:18px !important;
        padding-left:30px !important;
        padding-right:30px !important;
    }

    .navbar-brand,
    .brand-logo,
    .site-logo,
    .nlx-brand,
    .nlx-brand-wrap,
    .nlx-header-brand,
    .nlx-home-brand,
    .nlx-logo,
    .nlx-logo-wrap {
        margin-top:7px !important;
        margin-left:12px !important;
    }

    .nlx-home-layout {
        padding-top:10px !important;
    }

    .nlx-form-side {
        margin-top:8px !important;
    }
}


/*
 * ------------------------------------------------------------
 * DESKTOP 901px+
 * ------------------------------------------------------------
 */
@media
    (min-width:1100px)
    and (min-height:901px) {

    header,
    .nlx-header,
    .nlx-home-header,
    .nlx-top-nav,
    .nlx-nav-shell,
    .nlx-navbar,
    .nlx-navigation {
        padding-top:20px !important;
        padding-left:32px !important;
        padding-right:32px !important;
    }

    .navbar-brand,
    .brand-logo,
    .site-logo,
    .nlx-brand,
    .nlx-brand-wrap,
    .nlx-header-brand,
    .nlx-home-brand,
    .nlx-logo,
    .nlx-logo-wrap {
        margin-top:8px !important;
        margin-left:14px !important;
    }

    .nlx-home-layout {
        padding-top:12px !important;
    }

    .nlx-form-side {
        margin-top:10px !important;
    }
}


/*
 * ------------------------------------------------------------
 * DESKTOP 700px - 800px
 * ------------------------------------------------------------
 */
@media
    (min-width:1100px)
    and (min-height:700px)
    and (max-height:800px) {

    header,
    .nlx-header,
    .nlx-home-header,
    .nlx-top-nav,
    .nlx-nav-shell,
    .nlx-navbar,
    .nlx-navigation {
        padding-top:12px !important;
        padding-left:22px !important;
        padding-right:22px !important;
    }

    .navbar-brand,
    .brand-logo,
    .site-logo,
    .nlx-brand,
    .nlx-brand-wrap,
    .nlx-header-brand,
    .nlx-home-brand,
    .nlx-logo,
    .nlx-logo-wrap {
        margin-top:4px !important;
        margin-left:8px !important;
    }

    .nlx-home-layout {
        padding-top:5px !important;
    }

    .nlx-form-side {
        margin-top:4px !important;
    }
}


/*
 * ============================================================
 * NLX_SUPPORT_LOGO_GAP_V13
 * ============================================================
 *
 * V12 moved the branding inward horizontally but its positive
 * top margin also moved it closer to the support-card border.
 *
 * V13 corrects ONLY the vertical logo position.
 * Card/layout/form dimensions remain untouched.
 */


/*
 * Standard desktop.
 */
@media
    (min-width:1100px)
    and (min-height:801px) {

    .navbar-brand,
    .brand-logo,
    .site-logo,
    .nlx-brand,
    .nlx-brand-wrap,
    .nlx-header-brand,
    .nlx-home-brand,
    .nlx-logo,
    .nlx-logo-wrap {
        margin-top:0 !important;

        transform:
            translateY(-12px) !important;
    }
}


/*
 * 900p / 1080p desktop.
 */
@media
    (min-width:1100px)
    and (min-height:901px) {

    .navbar-brand,
    .brand-logo,
    .site-logo,
    .nlx-brand,
    .nlx-brand-wrap,
    .nlx-header-brand,
    .nlx-home-brand,
    .nlx-logo,
    .nlx-logo-wrap {
        margin-top:0 !important;

        transform:
            translateY(-14px) !important;
    }
}


/*
 * 768px-class desktop:
 * use a smaller correction to preserve top clearance.
 */
@media
    (min-width:1100px)
    and (min-height:700px)
    and (max-height:800px) {

    .navbar-brand,
    .brand-logo,
    .site-logo,
    .nlx-brand,
    .nlx-brand-wrap,
    .nlx-header-brand,
    .nlx-home-brand,
    .nlx-logo,
    .nlx-logo-wrap {
        margin-top:0 !important;

        transform:
            translateY(-8px) !important;
    }
}


/*
 * ==========================================================
 * NLX_MY_TICKETS_HITBOX_FIX_V1
 * ==========================================================
 *
 * The launcher is absolutely positioned inside the support
 * card. Keep the whole visible button above overlapping
 * legacy/homepage layers and make the button itself the
 * single pointer target.
 */

.nlx-my-tickets-bar {
    z-index: 6000 !important;
    pointer-events: none !important;
}

.nlx-my-tickets-launch {
    position: relative !important;
    z-index: 6001 !important;
    pointer-events: auto !important;
    isolation: isolate !important;
    cursor: pointer !important;
    touch-action: manipulation;
}

.nlx-my-tickets-launch > * {
    pointer-events: none !important;
}



/*
 * ==========================================================
 * NLX_NAV_EMPTY_SPACE_POINTER_PASSTHROUGH_V1
 * ==========================================================
 *
 * The desktop navbar container spans across the support-card
 * ticket launcher even where the navbar is visually empty.
 *
 * Do not let that transparent container consume pointer
 * events. Restore pointer events only on actual interactive
 * navbar controls.
 */

.nlx-nav-inner {
    pointer-events: none !important;
}

.nlx-nav-inner a,
.nlx-nav-inner button,
.nlx-nav-inner input,
.nlx-nav-inner select,
.nlx-nav-inner textarea,
.nlx-nav-inner label,
.nlx-nav-inner summary,
.nlx-nav-inner [role="button"],
.nlx-nav-inner [role="link"],
.nlx-nav-inner [onclick] {
    pointer-events: auto !important;
}



/*
 * ==========================================================
 * NLX_SUPPORT_REGISTRATION_STYLE_V1
 * ==========================================================
 */

.nlx-registration-modal[hidden]{
    display:none !important;
}

.nlx-registration-modal{
    position:fixed;
    inset:0;
    z-index:12000;
    display:grid;
    place-items:center;
    padding:20px;
}

.nlx-registration-modal .nlx-popup-backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    padding:0;
    margin:0;
    cursor:default;
    background:rgba(2,8,18,.78);
    backdrop-filter:blur(13px);
    -webkit-backdrop-filter:blur(13px);
}

.nlx-registration-card{
    position:relative;
    z-index:1;
    width:min(640px,calc(100vw - 32px));
    max-height:calc(100vh - 40px);
    overflow:auto;
    padding:27px;
    border-radius:22px;
    border:1px solid rgba(112,204,244,.20);
    background:
        linear-gradient(
            145deg,
            rgba(10,28,49,.98),
            rgba(5,18,34,.98)
        );
    box-shadow:
        0 28px 90px rgba(0,0,0,.48),
        inset 0 1px 0 rgba(255,255,255,.04);
}

.nlx-registration-close{
    position:absolute;
    top:14px;
    right:15px;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:11px;
    border:1px solid rgba(124,205,242,.18);
    background:rgba(5,18,32,.75);
    color:#cfdeec;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}

.nlx-registration-head{
    padding-right:46px;
    margin-bottom:22px;
}

.nlx-registration-badge{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:0 10px;
    margin-bottom:10px;
    border-radius:999px;
    border:1px solid rgba(94,210,238,.20);
    background:rgba(45,167,218,.08);
    color:#79d9f2;
    font-size:10px;
    font-weight:800;
    letter-spacing:.13em;
}

.nlx-registration-title{
    margin:0;
    color:#f5fbff;
    font-size:27px;
    line-height:1.15;
    font-weight:800;
}

.nlx-registration-subtitle{
    margin:8px 0 0;
    color:#aebed0;
    font-size:13px;
    line-height:1.6;
}

.nlx-registration-fields{
    display:grid;
    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr);
    gap:15px;
}

.nlx-registration-field{
    min-width:0;
}

.nlx-registration-field-wide{
    grid-column:1 / -1;
}

.nlx-registration-field > label{
    display:block;
    margin:0 0 7px;
    color:#cbd9e7;
    font-size:11px;
    font-weight:700;
}

.nlx-registration-field input[type="text"],
.nlx-registration-field input[type="email"],
.nlx-registration-field input[type="password"],
.nlx-registration-field select{
    width:100%;
    min-height:45px;
    box-sizing:border-box;
    border-radius:11px;
    border:1px solid rgba(122,193,229,.16);
    outline:none;
    padding:0 13px;
    color:#eef8ff;
    background:rgba(4,17,31,.78);
    font:inherit;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.nlx-registration-field input:focus,
.nlx-registration-field select:focus{
    border-color:rgba(89,204,241,.55);
    background:rgba(5,21,38,.92);
    box-shadow:
        0 0 0 3px rgba(72,176,224,.10);
}

.nlx-registration-field select option{
    background:#08192b;
    color:#eaf6ff;
}

.nlx-registration-consent{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:12px 13px;
    border-radius:12px;
    border:1px solid rgba(121,195,231,.13);
    background:rgba(5,19,34,.52);
}

.nlx-registration-consent-label{
    display:flex !important;
    align-items:center;
    gap:9px;
    margin:0 !important;
    cursor:pointer;
}

.nlx-registration-consent-label input{
    width:17px;
    height:17px;
    margin:0;
    accent-color:auto;
}

.nlx-registration-terms-link{
    border:0;
    padding:0;
    background:transparent;
    color:#72d8f2;
    font-size:11px;
    font-weight:700;
    cursor:pointer;
    white-space:nowrap;
}

.nlx-registration-security{
    min-height:67px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px;
    border-radius:12px;
    border:1px solid rgba(121,195,231,.10);
    background:rgba(4,16,29,.42);
}

.nlx-registration-turnstile{
    min-height:65px;
}

.nlx-registration-result{
    grid-column:1 / -1;
    padding:11px 13px;
    border-radius:11px;
    font-size:12px;
    line-height:1.5;
}

.nlx-registration-result.is-error{
    color:#ffd5d9;
    border:1px solid rgba(255,117,132,.24);
    background:rgba(145,35,52,.16);
}

.nlx-registration-result.is-success{
    color:#d6fff1;
    border:1px solid rgba(86,223,169,.22);
    background:rgba(32,131,94,.15);
}

.nlx-registration-submit-wrap{
    margin-top:1px;
}

.nlx-registration-submit{
    width:100%;
    min-height:47px;
    border:0;
    border-radius:12px;
    color:#fff;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    background:
        linear-gradient(
            110deg,
            #7657df,
            #597de1,
            #53badb
        );
    box-shadow:
        0 12px 32px rgba(76,107,222,.23);
}

.nlx-registration-submit:disabled{
    opacity:.62;
    cursor:wait;
}

.nlx-registration-success{
    margin-top:8px;
    padding:18px;
    border-radius:14px;
    border:1px solid rgba(82,224,170,.22);
    background:rgba(31,137,96,.14);
    color:#d9fff0;
    font-size:13px;
    line-height:1.65;
    text-align:center;
}

html.nlx-popup-open,
html.nlx-popup-open body{
    overflow:hidden;
}

@media (max-width:640px){

    .nlx-registration-modal{
        padding:10px;
    }

    .nlx-registration-card{
        width:calc(100vw - 20px);
        max-height:calc(100vh - 20px);
        padding:21px 17px;
        border-radius:18px;
    }

    .nlx-registration-fields{
        grid-template-columns:1fr;
    }

    .nlx-registration-field-wide{
        grid-column:1;
    }

    .nlx-registration-consent{
        align-items:flex-start;
        flex-direction:column;
    }

    .nlx-registration-security{
        justify-content:flex-start;
        overflow-x:auto;
    }
}
