:root{
  --auth-navy:#0b315d;
  --auth-navy-2:#09294f;
  --auth-orange:#ff7a00;
  --auth-yellow:#ffbd16;
  --auth-sky:#27b8f2;
  --auth-blue:#138ef0;
  --auth-green:#28bd72;
  --auth-muted:#687a91;
  --auth-line:#dfe8f2;
  --auth-shadow:0 28px 80px rgba(24,69,109,.15);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:'DM Sans',Arial,sans-serif;color:var(--auth-navy)}
body.auth-travel-page{min-height:100vh;background:#f9fcff;overflow-x:hidden}
.auth-scene{position:relative;min-height:100vh;display:grid;grid-template-columns:minmax(300px,.88fr) minmax(480px,1.08fr) minmax(220px,.62fr);align-items:center;gap:3vw;padding:58px 7vw 44px;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 16% 17%,rgba(255,228,167,.50),transparent 27%),radial-gradient(circle at 87% 16%,rgba(111,211,255,.28),transparent 30%),linear-gradient(115deg,#fffdf9 0%,#fff 48%,#f1fbff 100%)}
.auth-scene:before,.auth-scene:after{content:"";position:absolute;z-index:-2;pointer-events:none}
.auth-scene:before{width:520px;height:210px;left:-150px;bottom:-110px;background:radial-gradient(circle,rgba(255,215,120,.28),rgba(255,239,198,.08) 58%,transparent 72%);border-radius:50%;transform:none;filter:none}
.auth-scene:after{width:650px;height:330px;right:-230px;bottom:-165px;background:linear-gradient(145deg,#61dcff,#1599f0 66%,#0374d2);border-radius:56% 44% 0 0 / 72% 66% 0 0;transform:rotate(-8deg)}
.auth-lang{position:absolute;right:32px;top:24px;z-index:20}
.auth-lang .lmd-lang-btn{width:88px;height:52px;border:none;border-radius:26px;background:rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(23,74,115,.08);color:var(--auth-navy);font-size:18px;cursor:pointer}
.auth-lang .lmd-lang-menu{right:0}
.auth-intro{align-self:center;max-width:390px;position:relative;z-index:3;animation:fadeSlide .75s ease both}
.auth-brand{display:inline-flex;align-items:center;margin-bottom:28px;text-decoration:none}
.auth-brand img{width:178px;height:auto;filter:drop-shadow(0 7px 14px rgba(10,49,93,.08))}
.auth-kicker{display:flex;align-items:center;gap:10px;color:var(--auth-orange);font-weight:800;letter-spacing:.045em;text-transform:uppercase;margin-bottom:16px}
.auth-kicker i{color:#ffa600}
.auth-intro h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(44px,4.4vw,66px);line-height:.98;margin:0 0 24px;color:var(--auth-navy-2);letter-spacing:-.03em}
.auth-intro h1 em{font-family:'Playfair Display',Georgia,serif;color:var(--auth-orange);font-weight:600}
.auth-intro p{font-size:17px;line-height:1.55;margin:0 0 30px;color:#193b62;max-width:360px}
.auth-benefits{display:grid;gap:18px}
.auth-benefit{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:center}
.auth-benefit-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.86);box-shadow:0 9px 28px rgba(27,75,115,.09);font-size:24px;color:var(--auth-orange)}
.auth-benefit:nth-child(2) .auth-benefit-icon{color:var(--auth-blue);background:#edf7ff}
.auth-benefit:nth-child(3) .auth-benefit-icon{color:var(--auth-green);background:#effdf3}
.auth-benefit strong{display:block;font-size:15px;margin-bottom:4px}.auth-benefit span{display:block;color:#49647f;font-size:13.5px;line-height:1.42}
.auth-card-shell{position:relative;z-index:5;display:flex;justify-content:center;align-self:start;margin-top:10px;margin-bottom:118px;animation:cardIn .78s cubic-bezier(.2,.7,.25,1) both}
.auth-card{position:relative;width:min(100%,570px);background:rgba(255,255,255,.94);border:1px solid rgba(218,230,242,.88);border-radius:28px;padding:42px 46px 34px;box-shadow:var(--auth-shadow);backdrop-filter:blur(14px);overflow:hidden}
.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#18a9f4 0%,#45c1d2 22%,#d5df43 42%,#ffbe0b 67%,#ff7100 100%)}
.auth-card-logo{text-align:center;margin:4px 0 16px}.auth-card-logo img{width:150px;height:auto}.auth-card-symbol{width:74px;height:74px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#fff3da,#fffaf0);font-size:30px;color:var(--auth-orange)}
.auth-card h2{font-family:'Playfair Display',Georgia,serif;text-align:center;font-size:40px;line-height:1.08;margin:0;color:var(--auth-navy-2)}
.auth-card .auth-subtitle{text-align:center;color:#47617e;font-size:16px;line-height:1.45;margin:8px auto 28px;max-width:420px}
.login-persona,.register-persona{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;border:1px solid #dae5ef;border-radius:15px;margin:0 0 26px;background:#fbfdff}
.persona-option{position:relative;cursor:pointer}.persona-option input{position:absolute;opacity:0;pointer-events:none}.persona-option span{height:42px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;font-size:13px;font-weight:700;color:#526982;transition:.25s ease}.persona-option input:checked+span{background:linear-gradient(90deg,#fff4dd,#fff0ca);color:var(--auth-navy);box-shadow:0 5px 14px rgba(245,174,51,.14)}.persona-option input:checked+span:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--auth-orange);box-shadow:0 0 0 3px rgba(255,122,0,.14)}
.auth-message{border-radius:12px;padding:11px 14px;margin-bottom:16px;font-size:13px;text-align:center}.auth-message.success{background:#ecfbf2;color:#157642}.auth-message.error{background:#fff1ef;color:#b73b2c}
.form-section-title{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin:18px 0 11px}.form-section-title.orange{color:var(--auth-orange)}.form-section-title.blue{color:var(--auth-blue)}.form-section-title.green{color:var(--auth-green)}
.auth-form-grid{display:grid;gap:14px}.auth-form-grid.two{grid-template-columns:1fr 1fr}.auth-form-grid.three{grid-template-columns:105px 1fr 1fr}.auth-field{min-width:0}.auth-field label{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:800;margin:0 0 7px;color:#14385f}.auth-field label a{font-weight:600;color:#168df0;text-decoration:none}.auth-control{position:relative}.auth-control>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:15px;color:#7d91a8;z-index:1}.auth-control .toggle-pass{left:auto;right:12px;border:0;background:transparent;cursor:pointer;color:#879bb1;width:34px;height:34px;display:grid;place-items:center;top:50%;transform:translateY(-50%);position:absolute}.auth-field input,.auth-field select,.auth-field textarea{width:100%;height:50px;border:1px solid #dbe5ef;border-radius:12px;background:#fff;color:#17385c;padding:0 14px;font:inherit;font-size:14px;outline:none;transition:.2s ease}.auth-control.has-icon input{padding-left:44px;padding-right:44px}.auth-field textarea{height:84px;padding-top:12px;resize:vertical}.auth-field input:focus,.auth-field select:focus,.auth-field textarea:focus{border-color:#72bdf2;box-shadow:0 0 0 4px rgba(29,157,240,.10);transform:translateY(-1px)}
.auth-actions-row{display:flex;align-items:center;justify-content:space-between;margin:14px 0 18px;font-size:13px}.remember{display:flex;align-items:center;gap:8px;color:#48617d}.remember input{width:16px;height:16px;accent-color:var(--auth-orange)}
.auth-submit{width:100%;height:52px;border:none;border-radius:12px;background:linear-gradient(90deg,#ff7a00,#ff9b00 52%,#ffc515);box-shadow:0 12px 26px rgba(255,133,0,.22);color:#fff;font-size:16px;font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;display:flex;align-items:center;justify-content:center;gap:16px}.auth-submit:hover{transform:translateY(-2px);box-shadow:0 16px 31px rgba(255,133,0,.28)}.auth-submit i{transition:transform .2s ease}.auth-submit:hover i{transform:translateX(5px)}
.auth-divider{display:flex;align-items:center;gap:13px;color:#6c7f96;font-size:12.5px;margin:22px 0 16px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#e1e9f1}.social-logins{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.social-logins button{height:44px;border:1px solid #dce5ee;background:#fff;border-radius:11px;color:#1d3553;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.social-logins button:hover{background:#f8fbff;transform:translateY(-1px)}
.auth-footer{text-align:center;color:#5e738c;font-size:13.5px;margin-top:23px}.auth-footer a{color:var(--auth-orange);font-weight:800;text-decoration:none;margin-left:5px}
.auth-side-art{align-self:stretch;position:relative;z-index:1;min-height:620px;pointer-events:none}.flight-path{position:absolute;width:180px;height:130px;border:3px dashed #ffad00;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-25deg);top:160px;right:38px;opacity:.95}.flight-path:after{content:"✈";position:absolute;right:-25px;top:-32px;font-size:46px;color:#ffb600;transform:rotate(27deg);animation:planeFloat 3.4s ease-in-out infinite}.paper-plane{position:absolute;left:16px;top:400px;font-size:54px;color:var(--auth-orange);transform:rotate(-12deg);animation:paperFloat 3.8s ease-in-out infinite}.spark{position:absolute;font-size:25px;animation:twinkle 2.2s ease-in-out infinite}.spark.s1{top:95px;left:14px;color:#30aefa}.spark.s2{top:295px;right:5px;color:#ffb600;animation-delay:.7s}.spark.s3{top:530px;left:84px;color:#ef4d84;animation-delay:1.1s}.leaf-cluster{position:absolute;right:-48px;bottom:12px;width:240px;height:190px;opacity:.92}.leaf{position:absolute;width:70px;height:125px;border-radius:75% 5% 70% 12%;transform-origin:bottom center;background:linear-gradient(180deg,#42c6f5,#0e95e8)}.leaf:nth-child(1){right:78px;bottom:0;transform:rotate(-16deg)}.leaf:nth-child(2){right:18px;bottom:0;transform:rotate(19deg);background:linear-gradient(180deg,#ffad13,#ff7200)}.leaf:nth-child(3){right:128px;bottom:0;transform:rotate(-35deg);height:100px;background:linear-gradient(180deg,#ffbe26,#ff8100)}
.login-trustbar{position:absolute;left:50%;bottom:8px;transform:translateX(-25%);width:min(720px,52vw);z-index:6;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.92);border:1px solid rgba(222,232,241,.86);box-shadow:0 14px 36px rgba(31,70,107,.08);border-radius:18px;padding:17px 22px;backdrop-filter:blur(12px)}.trust-item{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;padding:0 17px;border-right:1px solid #dfe7ef}.trust-item:last-child{border:0}.trust-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#fff7eb;color:var(--auth-orange);font-size:18px}.trust-item strong{display:block;font-size:12.5px}.trust-item span{display:block;color:#5f748c;font-size:11.5px;line-height:1.35;margin-top:2px}
.register-scene{grid-template-columns:minmax(300px,.75fr) minmax(630px,1.35fr) minmax(180px,.45fr);padding-top:42px;padding-bottom:42px}.register-scene .auth-card{width:min(100%,760px);padding:38px 42px 30px}.register-scene .auth-card h2{font-size:35px}.register-scene .auth-card-symbol{width:62px;height:62px;margin-bottom:10px;font-size:26px}.register-scene .auth-intro h1{font-size:54px}.register-scene .auth-benefits{gap:14px}.register-scene .auth-benefit{grid-template-columns:56px 1fr}.register-scene .auth-benefit-icon{width:56px;height:56px}.business-extra{display:none}.business-extra.show{display:grid}.agency-note{display:none;margin:3px 0 11px;padding:10px 13px;background:#fff8e9;border:1px solid #ffe0a3;border-radius:11px;color:#745216;font-size:12px;line-height:1.45}.agency-note.show{display:block}
@keyframes fadeSlide{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}@keyframes cardIn{from{opacity:0;transform:translateY(26px) scale(.985)}to{opacity:1;transform:none}}@keyframes planeFloat{0%,100%{transform:rotate(27deg) translate(0,0)}50%{transform:rotate(27deg) translate(8px,-10px)}}@keyframes paperFloat{0%,100%{transform:rotate(-12deg) translate(0,0)}50%{transform:rotate(-9deg) translate(9px,-12px)}}@keyframes twinkle{0%,100%{transform:scale(.75);opacity:.45}50%{transform:scale(1.15);opacity:1}}
@media (max-width:1180px){.auth-scene,.register-scene{grid-template-columns:minmax(270px,.7fr) minmax(500px,1fr);padding-left:5vw;padding-right:5vw}.auth-side-art{display:none}.login-trustbar{width:min(650px,58vw);left:auto;right:5vw;transform:none}.register-scene .auth-intro{max-width:330px}.register-scene .auth-intro h1{font-size:46px}}
@media (max-width:900px){body.auth-travel-page{overflow:auto}.auth-scene,.register-scene{display:block;padding:92px 20px 40px}.auth-intro{display:none}.auth-card-shell{width:100%}.auth-card,.register-scene .auth-card{width:min(100%,680px);margin:0 auto}.login-trustbar{position:relative;width:min(100%,680px);right:auto;left:auto;bottom:auto;transform:none;margin:20px auto 0}.auth-scene:before{opacity:.6}.auth-scene:after{opacity:.5}}
@media (max-width:620px){.auth-lang{right:16px;top:16px}.auth-card,.register-scene .auth-card{padding:34px 20px 26px;border-radius:22px}.auth-card h2{font-size:34px}.register-scene .auth-card h2{font-size:31px}.auth-form-grid.two,.auth-form-grid.three{grid-template-columns:1fr}.login-persona,.register-persona{grid-template-columns:1fr}.persona-option span{height:38px}.social-logins{grid-template-columns:1fr}.login-trustbar{grid-template-columns:1fr;gap:10px;padding:12px 16px}.trust-item{border-right:0;border-bottom:1px solid #e2eaf1;padding:10px 0}.trust-item:last-child{border-bottom:0}.auth-scene,.register-scene{padding:84px 12px 28px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* 2026-08-13 auth polish */
.auth-top-actions{position:absolute;right:32px;top:24px;z-index:25;display:flex;align-items:center;gap:10px}
.auth-top-actions .auth-lang{position:relative;right:auto;top:auto}
.auth-home-btn{height:52px;padding:0 19px;display:inline-flex;align-items:center;gap:9px;border-radius:26px;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(23,74,115,.08);color:var(--auth-navy);font-size:13px;font-weight:800;text-decoration:none;transition:.22s ease}
.auth-home-btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(23,74,115,.13);color:var(--auth-orange)}
.auth-login-page .auth-card-shell{margin-bottom:20px}
@media(max-width:620px){.auth-top-actions{right:16px;top:16px}.auth-home-btn{width:46px;padding:0;justify-content:center}.auth-home-btn span{display:none}.auth-top-actions .lmd-lang-btn{width:62px}}


/* V23 registration readability */
.register-scene{grid-template-columns:minmax(300px,.72fr) minmax(760px,1.55fr) minmax(150px,.35fr)!important;column-gap:46px!important}
.register-scene .auth-card{width:min(100%,900px)!important;padding:40px 48px 34px!important}
.register-scene .auth-card-shell{width:100%!important}
.register-scene .auth-form-grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:18px!important}
.register-scene .auth-form-grid.three{grid-template-columns:130px minmax(0,1fr) minmax(0,1fr)!important;gap:18px!important}
.register-scene .auth-field input,.register-scene .auth-field select{height:54px!important;font-size:15px!important}
.register-scene #mobile{min-width:0!important}
.register-scene .auth-field label{font-size:13px!important}
@media(max-width:1240px){.register-scene{grid-template-columns:minmax(260px,.62fr) minmax(680px,1.4fr)!important}.register-scene .auth-card{width:min(100%,820px)!important}.register-scene .auth-side-art{display:none!important}}
@media(max-width:980px){.register-scene{display:block!important;padding:92px 20px 40px!important}.register-scene .auth-card{width:min(100%,820px)!important}.register-scene .auth-intro{display:none!important}}
@media(max-width:680px){.register-scene .auth-card{padding:32px 22px!important}.register-scene .auth-form-grid.two,.register-scene .auth-form-grid.three{grid-template-columns:1fr!important}.register-persona{grid-template-columns:repeat(3,1fr)!important}.register-scene .auth-field input,.register-scene .auth-field select{height:52px!important}}


/* V25 owner/account-flow polish */
.register-persona-two{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:560px;margin-left:auto!important;margin-right:auto!important}
.register-scene{grid-template-columns:minmax(290px,.62fr) minmax(820px,1.7fr) minmax(130px,.28fr)!important}
.register-scene .auth-card{width:min(100%,980px)!important;padding:42px 54px 36px!important}
.register-scene .auth-form-grid.two{gap:22px!important}
.register-scene .auth-form-grid.three{grid-template-columns:140px minmax(0,1fr) minmax(0,1fr)!important;gap:22px!important}
.register-scene .auth-control input,.register-scene .auth-field>input,.register-scene .auth-field select{font-size:15px!important}
@media(max-width:980px){.register-scene .auth-card{width:min(100%,860px)!important}}
@media(max-width:680px){.register-persona-two{grid-template-columns:repeat(2,minmax(0,1fr))!important}.register-scene .auth-card{padding:30px 18px 28px!important}.register-scene .auth-form-grid.two,.register-scene .auth-form-grid.three{grid-template-columns:1fr!important}.register-scene .auth-field>div[style*="grid-template-columns:82px 1fr"]{grid-template-columns:105px minmax(0,1fr)!important;gap:12px!important}.register-scene #mobile{width:100%!important;min-width:0!important}}

/* Password recovery */
.password-flow-page{min-height:100vh;background:linear-gradient(120deg,#fff8e9 0%,#fff 43%,#ecf8ff 100%)}
.password-flow-shell{min-height:100vh;display:grid;place-items:center;padding:42px 20px;position:relative;overflow:hidden}
.password-flow-shell:before,.password-flow-shell:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.75;pointer-events:none}
.password-flow-shell:before{width:360px;height:360px;background:#dff4ff;right:-130px;top:-80px}.password-flow-shell:after{width:300px;height:300px;background:#fff0c9;left:-130px;bottom:-120px}
.password-home{position:absolute;right:30px;top:26px;z-index:2}.password-flow-card{width:min(100%,520px);background:rgba(255,255,255,.96);border:1px solid #dbe9f5;border-radius:30px;padding:38px 44px;box-shadow:0 24px 70px rgba(10,49,89,.12);position:relative;z-index:1;text-align:center}
.password-brand img{width:160px;max-height:92px;object-fit:contain}.password-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#fff2d9;color:#ff7b00;font-size:24px;margin:8px auto 18px}.password-flow-card h1{font-family:'Playfair Display',serif;color:#092f59;font-size:38px;line-height:1.08;margin:8px 0 10px}.password-flow-card>p{color:#607895;line-height:1.65;margin:0 auto 24px;max-width:410px}.password-flow-card form{text-align:left;margin-top:20px}.password-flow-card .auth-submit{margin-top:20px;width:100%}.reset-account-chip{display:flex;gap:14px;text-align:left;align-items:center;padding:14px 16px;border:1px solid #dbe9f5;border-radius:16px;background:#f8fcff;margin:20px 0}.reset-account-chip>i{width:40px;height:40px;border-radius:12px;background:#e6f4ff;color:#1684df;display:grid;place-items:center}.reset-account-chip small,.reset-account-chip span{display:block;color:#7890aa;font-size:12px}.reset-account-chip strong{display:block;color:#0a315d;font-size:15px;margin:1px 0}.password-flow-card .auth-footer{margin-top:22px}
@media(max-width:600px){.password-flow-card{padding:30px 22px;border-radius:22px}.password-flow-card h1{font-size:31px}.password-home{right:14px;top:14px}}

/* V51 local password-reset test helper (only rendered on localhost when SMTP is not configured) */
.auth-message.local-reset{background:#eef7ff;color:#24597f;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:10px 12px;align-items:start;border:1px solid #cfe7fb}.auth-message.local-reset>i{margin-top:2px;color:#1684df}.auth-message.local-reset .local-reset-link{grid-column:2;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border-radius:9px;background:#0f78d6;color:#fff;text-decoration:none;font-weight:800;width:max-content}.auth-message.local-reset .local-reset-link:hover{background:#0b66b8}
