/* OrangeDark Theme 1.2.0 - Authentication experience */
body.odt-auth-page{
    --odt-login-bg:none;
    margin:0!important;
    min-height:100vh!important;
    background:#07090d!important;
    color:#e9edf3!important;
    overflow:hidden!important;
}

body.odt-auth-page .odt-auth-original-hidden{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
}

body.odt-auth-page .odt-auth-backdrop{
    position:fixed;
    inset:0;
    z-index:0;
    overflow:hidden;
    background:
        radial-gradient(circle at 18% 18%,rgba(255,122,0,.12),transparent 31%),
        radial-gradient(circle at 82% 82%,rgba(255,157,61,.08),transparent 28%),
        linear-gradient(105deg,rgba(5,7,10,.97) 0%,rgba(7,9,13,.93) 44%,rgba(8,10,14,.90) 100%),
        var(--odt-login-bg);
    background-position:center;
    background-size:auto,auto,auto,cover;
    background-repeat:no-repeat;
}

body.odt-auth-page .odt-auth-backdrop:before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px);
    background-size:46px 46px;
    -webkit-mask-image:radial-gradient(circle at 40% 43%,#000 9%,transparent 76%);
    mask-image:radial-gradient(circle at 40% 43%,#000 9%,transparent 76%);
    opacity:.9;
    animation:odtGridDrift 24s linear infinite;
}

body.odt-auth-page .odt-auth-backdrop:after{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 14% 20%,rgba(255,122,0,.20),transparent 29%),
        radial-gradient(circle at 84% 78%,rgba(255,153,51,.13),transparent 26%),
        linear-gradient(90deg,rgba(255,122,0,.035),transparent 31%,transparent 69%,rgba(255,122,0,.025));
    pointer-events:none;
}

.odt-auth-orb{
    position:absolute;
    border-radius:50%;
    filter:blur(72px);
    opacity:.17;
    will-change:transform;
    background:var(--odt-primary,#ff7a00);
}
.odt-auth-orb.one{width:430px;height:430px;top:-200px;left:-135px;animation:odtOrbOne 12s ease-in-out infinite}
.odt-auth-orb.two{width:390px;height:390px;right:-160px;bottom:-170px;opacity:.13;animation:odtOrbTwo 15s ease-in-out infinite}
.odt-auth-orb.three{width:230px;height:230px;left:49%;bottom:-120px;opacity:.075;animation:odtOrbThree 17s ease-in-out infinite}

.odt-auth-stars{position:absolute;inset:0;overflow:hidden}
.odt-auth-star{
    position:absolute;
    width:3px;
    height:3px;
    border-radius:50%;
    background:#fff;
    opacity:.2;
    box-shadow:0 0 8px rgba(255,255,255,.48);
    animation:odtStarFloat var(--duration,8s) ease-in-out infinite alternate;
    animation-delay:var(--delay,0s)
}

.odt-auth-scan{
    position:absolute;
    left:0;
    right:0;
    top:-20%;
    height:1px;
    opacity:.15;
    background:linear-gradient(90deg,transparent 8%,var(--odt-primary,#ff7a00) 45%,#ffc078 55%,transparent 92%);
    box-shadow:0 0 18px rgba(255,122,0,.25);
    animation:odtScan 13s linear infinite;
}

.odt-auth-layout{
    position:fixed;
    inset:0;
    z-index:3;
    width:min(1220px,calc(100% - 64px));
    min-height:100vh;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr);
    align-items:center;
    gap:clamp(52px,7vw,110px);
    padding:48px 0;
    box-sizing:border-box;
    overflow:auto;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,122,0,.35) transparent;
}

.odt-auth-showcase{
    position:relative;
    padding:20px 0;
    color:#fff;
    animation:odtShowcaseIn .72s cubic-bezier(.2,.8,.25,1) both;
}

.odt-auth-brandline{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#f4c18f;
    text-transform:uppercase;
    font-size:11px;
    font-weight:800;
    letter-spacing:.13em;
    padding:8px 11px;
    border:1px solid rgba(255,122,0,.18);
    border-radius:999px;
    background:rgba(255,122,0,.055);
    backdrop-filter:blur(8px);
}

.odt-auth-brand-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--odt-primary,#ff7a00);
    box-shadow:0 0 0 4px rgba(255,122,0,.10),0 0 18px rgba(255,122,0,.55);
}

.odt-auth-inline-icon{
    width:14px;
    height:14px;
    color:#ffad54;
    opacity:.95;
    margin-left:-2px;
}

.odt-auth-showcase h1{
    font-size:clamp(46px,5.15vw,76px)!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
    margin:24px 0 20px!important;
    color:#fff!important;
    max-width:700px;
    text-wrap:balance;
}

.odt-auth-showcase h1 .odt-accent{
    background:linear-gradient(92deg,var(--odt-primary,#ff7a00),#ffb15d 72%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.odt-auth-showcase>p{
    color:#aab3c0!important;
    font-size:16px;
    line-height:1.72;
    max-width:600px;
    margin:0 0 31px!important;
}

.odt-auth-features{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    max-width:690px;
}

.odt-auth-feature{
    min-width:0;
    min-height:104px;
    padding:15px 14px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.075);
    background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
    color:#cbd2dc;
    backdrop-filter:blur(11px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

.odt-auth-feature-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    margin-bottom:11px;
    border-radius:10px;
    color:#ffad54;
    background:linear-gradient(145deg,rgba(255,122,0,.16),rgba(255,122,0,.055));
    border:1px solid rgba(255,122,0,.20);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 8px 20px rgba(255,122,0,.05);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.odt-auth-feature-icon svg{display:block;width:18px;height:18px;overflow:visible}
.odt-auth-feature{transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.odt-auth-feature:hover{
    transform:translateY(-2px);
    border-color:rgba(255,122,0,.18);
    background:linear-gradient(145deg,rgba(255,122,0,.06),rgba(255,255,255,.018));
    box-shadow:0 13px 30px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.035);
}
.odt-auth-feature:hover .odt-auth-feature-icon{
    transform:translateY(-1px) scale(1.04);
    border-color:rgba(255,122,0,.32);
    box-shadow:0 10px 26px rgba(255,122,0,.10),inset 0 1px 0 rgba(255,255,255,.05);
}

.odt-auth-feature strong{display:block;color:#edf0f4;font-size:12px;margin-bottom:4px}
.odt-auth-feature small{display:block;color:#77818f;font-size:10.5px;line-height:1.42}

.odt-auth-signature{
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:24px;
    color:#596372;
    font-size:11px;
    letter-spacing:.02em;
}
.odt-auth-signature span{display:block;width:26px;height:1px;background:rgba(255,122,0,.5)}

.odt-auth-form-zone{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    animation:odtCardIn .68s .07s cubic-bezier(.18,.86,.26,1) both;
}

.odt-auth-form-zone:before{
    content:"";
    position:absolute;
    width:78%;
    height:55%;
    left:11%;
    bottom:-24px;
    background:var(--odt-primary,#ff7a00);
    filter:blur(72px);
    opacity:.09;
    z-index:-1;
}

.odt-auth-card{
    width:min(440px,100%)!important;
    max-width:440px!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:27px!important;
    border-radius:21px!important;
    background:linear-gradient(155deg,rgba(26,30,38,.93),rgba(11,14,19,.92))!important;
    background-image:none!important;
    border:1px solid rgba(255,255,255,.105)!important;
    box-shadow:0 34px 90px rgba(0,0,0,.56),inset 0 1px 0 rgba(255,255,255,.045)!important;
    backdrop-filter:blur(24px)!important;
    -webkit-backdrop-filter:blur(24px)!important;
    color:#e9edf3!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    float:none!important;
    overflow:hidden!important;
    isolation:isolate;
    box-sizing:border-box!important;
}

.odt-auth-card:before{
    content:"";
    position:absolute;
    left:11%;
    right:11%;
    top:0;
    height:1px;
    background:linear-gradient(90deg,transparent,var(--odt-primary,#ff7a00),#ffb15d,var(--odt-primary,#ff7a00),transparent);
    opacity:.9;
    z-index:3;
}

.odt-auth-card:after{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    border-radius:50%;
    right:-105px;
    top:-105px;
    background:var(--odt-primary,#ff7a00);
    filter:blur(58px);
    opacity:.08;
    pointer-events:none;
    z-index:-1;
}

/* Remove superfícies claras herdadas do Perfex/Tailwind dentro do card. */
.odt-auth-card .tw-bg-white,
.odt-auth-card .bg-white,
.odt-auth-card [class*="tw-bg-white"],
.odt-auth-card [class*="bg-neutral"],
.odt-auth-card .panel-body,
.odt-auth-card .card-body{
    background:transparent!important;
    box-shadow:none!important;
}

.odt-auth-card .tw-text-neutral-800,
.odt-auth-card .tw-text-neutral-700,
.odt-auth-card .tw-text-neutral-600,
.odt-auth-card [class*="tw-text-neutral"]{color:#dfe4eb!important}

.odt-auth-card img{max-width:205px!important;max-height:62px!important;object-fit:contain}
.odt-auth-card h1,.odt-auth-card h2,.odt-auth-card h3,.odt-auth-card h4,.odt-auth-card h5{color:#fff!important}
.odt-auth-card p,.odt-auth-card small,.odt-auth-card .text-muted{color:#8f99a8!important}
.odt-auth-card label{color:#cbd2dc!important;font-weight:600!important}

.odt-auth-card .form-group{margin-bottom:15px!important}

.odt-auth-card .form-control,
.odt-auth-card input[type=text],
.odt-auth-card input[type=email],
.odt-auth-card input[type=password],
.odt-auth-card input[type=tel],
.odt-auth-card select{
    height:47px!important;
    background:#090c11!important;
    border:1px solid #2b323c!important;
    color:#eef1f5!important;
    border-radius:10px!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.018)!important;
    transition:border .2s ease,box-shadow .2s ease,transform .2s ease!important;
}

.odt-auth-card .form-control:focus,
.odt-auth-card input:focus,
.odt-auth-card select:focus{
    border-color:var(--odt-primary,#ff7a00)!important;
    box-shadow:0 0 0 3px rgba(255,122,0,.12),0 10px 28px rgba(0,0,0,.16)!important;
    transform:translateY(-1px)
}

.odt-auth-card input:-webkit-autofill,
.odt-auth-card input:-webkit-autofill:hover,
.odt-auth-card input:-webkit-autofill:focus{
    -webkit-text-fill-color:#eef1f5!important;
    -webkit-box-shadow:0 0 0 1000px #090c11 inset!important;
    transition:background-color 9999s ease-out 0s!important;
}

.odt-auth-card .odt-auth-input-icon{
    padding-left:43px!important;
    background-color:#090c11!important;
}
.odt-auth-card .odt-auth-input-icon:focus{
    background-color:#0b0f14!important;
}
.odt-auth-card .form-control::placeholder,.odt-auth-card input::placeholder{color:#596372!important}

.odt-auth-card .btn-primary,
.odt-auth-card button[type=submit],
.odt-auth-card input[type=submit]{
    min-height:47px!important;
    border:0!important;
    border-radius:10px!important;
    background:linear-gradient(100deg,var(--odt-primary,#ff7a00) 0%,#ff9a32 58%,#ffb15d 100%)!important;
    color:#fff!important;
    font-weight:750!important;
    box-shadow:0 12px 30px rgba(255,122,0,.22)!important;
    transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}

.odt-auth-card .btn-primary:hover,
.odt-auth-card button[type=submit]:hover,
.odt-auth-card input[type=submit]:hover{
    transform:translateY(-2px)!important;
    box-shadow:0 17px 40px rgba(255,122,0,.28)!important;
    filter:brightness(1.04)
}

.odt-auth-card a{color:#ffad54!important}
.odt-auth-card a:hover{color:#ffd0a0!important}

.odt-auth-card input[type=checkbox]{accent-color:var(--odt-primary,#ff7a00)}

.odt-auth-company{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:48px;
    margin-bottom:21px;
    padding-bottom:17px;
    border-bottom:1px solid rgba(255,255,255,.07)
}

.odt-auth-company-identity{display:flex;align-items:center;min-width:0}
.odt-auth-company-identity img{max-width:178px!important;max-height:48px!important;display:block}
.odt-auth-company-name{font-size:14px;color:#f0f2f5;font-weight:750;line-height:1.25}

.odt-auth-area-badge{
    flex:none;
    display:inline-flex;
    align-items:center;
    gap:6px;
    height:29px;
    padding:0 9px;
    border-radius:8px;
    color:#f2bd87;
    border:1px solid rgba(255,122,0,.17);
    background:rgba(255,122,0,.07);
    font-size:9.5px;
    font-weight:800;
    letter-spacing:.08em;
}
.odt-auth-badge-icon{width:13px;height:13px;color:var(--odt-primary,#ff7a00);filter:drop-shadow(0 0 7px rgba(255,122,0,.20))}

.odt-auth-security{
    display:flex;
    align-items:center;
    gap:7px;
    color:#687280;
    font-size:10.5px;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.055);
    justify-content:center
}
.odt-auth-security-icon{width:13px;height:13px;color:var(--odt-primary,#ff7a00);flex:none}

.odt-auth-card svg,.odt-auth-showcase svg{shape-rendering:geometricPrecision}

/* Pequenos acertos para mensagens/alertas do login. */
.odt-auth-card .alert{border-radius:10px!important;border-width:1px!important;background:rgba(255,255,255,.045)!important;color:#e7ebf0!important}
.odt-auth-card .alert-danger{border-color:rgba(239,68,68,.3)!important;background:rgba(239,68,68,.08)!important}
.odt-auth-card .alert-success{border-color:rgba(34,197,94,.28)!important;background:rgba(34,197,94,.08)!important}
.odt-auth-card hr{border-color:rgba(255,255,255,.07)!important}

body.odt-auth-page.odt-no-animations .odt-auth-backdrop *,
body.odt-auth-page.odt-no-animations .odt-auth-showcase,
body.odt-auth-page.odt-no-animations .odt-auth-form-zone{animation:none!important}

@keyframes odtGridDrift{to{transform:translate3d(46px,46px,0)}}
@keyframes odtScan{0%{transform:translateY(-10vh);opacity:0}12%{opacity:.15}88%{opacity:.12}100%{transform:translateY(125vh);opacity:0}}
@keyframes odtOrbOne{50%{transform:translate3d(75px,65px,0) scale(1.10)}}
@keyframes odtOrbTwo{50%{transform:translate3d(-65px,-60px,0) scale(.91)}}
@keyframes odtOrbThree{50%{transform:translate3d(35px,-52px,0) scale(1.14)}}
@keyframes odtStarFloat{to{transform:translate3d(11px,-17px,0);opacity:.48}}
@keyframes odtShowcaseIn{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes odtCardIn{from{opacity:0;transform:translateY(24px) scale(.975)}to{opacity:1;transform:none}}

@media(max-width:1060px){
    .odt-auth-layout{width:min(960px,calc(100% - 42px));grid-template-columns:minmax(0,1fr) minmax(370px,.78fr);gap:38px}
    .odt-auth-showcase h1{font-size:48px!important}
    .odt-auth-feature{min-height:96px}
}

@media(max-width:860px){
    body.odt-auth-page{overflow:auto!important}
    .odt-auth-layout{position:relative;inset:auto;grid-template-columns:1fr;width:min(560px,calc(100% - 30px));min-height:100vh;gap:24px;padding:30px 0 34px;overflow:visible}
    .odt-auth-showcase{text-align:center;padding:0}
    .odt-auth-showcase h1{font-size:39px!important;margin:18px auto 14px!important;max-width:560px}
    .odt-auth-showcase>p{font-size:14px;margin-left:auto!important;margin-right:auto!important;margin-bottom:20px!important}
    .odt-auth-brandline{justify-content:center}
    .odt-auth-features{grid-template-columns:repeat(3,1fr);max-width:560px;margin:0 auto}
    .odt-auth-feature{text-align:left;min-height:94px}
    .odt-auth-signature{justify-content:center;margin-top:18px}
    .odt-auth-card{padding:24px!important}
}

@media(max-width:600px){
    .odt-auth-layout{width:calc(100% - 20px);padding:19px 0 26px;gap:18px}
    .odt-auth-showcase h1{font-size:31px!important}
    .odt-auth-showcase>p{font-size:13px;line-height:1.55;margin-bottom:0!important}
    .odt-auth-features,.odt-auth-signature{display:none}
    .odt-auth-brandline{font-size:9.5px;padding:7px 9px}
    .odt-auth-card{border-radius:17px!important;padding:20px!important}
    .odt-auth-company{margin-bottom:17px;padding-bottom:14px}
    .odt-auth-company-identity img{max-width:150px!important;max-height:42px!important}
    .odt-auth-area-badge{height:27px;font-size:8.5px}
}

@media(prefers-reduced-motion:reduce){
    .odt-auth-page *,
    .odt-auth-page *:before,
    .odt-auth-page *:after{
        animation-duration:.001ms!important;
        animation-iteration-count:1!important;
        transition-duration:.001ms!important
    }
}
