:root{--bg:#f3f0e9;--card:#fff;--ink:#16372d;--muted:#6c7772;--line:#dfe5df;--gold:#d7a35e;--green:#1d604a;--deep:#10392d;--shadow:0 20px 65px rgba(17,55,43,.11)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#e9f0eb 0,#f7f3eb 430px,var(--bg));color:var(--ink);font:16px/1.5 Inter,system-ui,-apple-system,Segoe UI,sans-serif}.topbar{max-width:1380px;margin:auto;padding:22px 30px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand img{width:56px;height:56px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.04}.brand b{font-size:22px}.brand small{letter-spacing:.13em;text-transform:uppercase}.topbar nav{display:flex;gap:25px}.topbar nav a{color:var(--ink);font-weight:700;text-decoration:none}main{max-width:1380px;margin:auto;padding:8px 30px 72px}.card{background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.88);border-radius:26px;box-shadow:var(--shadow)}.eyebrow{margin:0 0 8px;color:var(--green);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.eyebrow.light{color:#f1cf9c}h1,h2,h3{margin:0;line-height:1.08}h1{font-size:clamp(35px,4.7vw,58px)}h2{font-size:clamp(28px,3vw,42px)}h3{font-size:25px}.button,button{border:0;border-radius:14px;padding:13px 18px;background:var(--green);color:#fff;font:inherit;font-weight:850;cursor:pointer;text-align:center;text-decoration:none}.secondary{background:#e7eee9;color:var(--ink)}.gold{background:var(--gold);color:#173429}.glass{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(10px)}button:disabled{opacity:.55;cursor:wait}.login-shell{min-height:690px;display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:stretch}.login-visual{position:relative;overflow:hidden;border-radius:34px;padding:48px;background:linear-gradient(180deg,rgba(8,31,24,.2),rgba(8,31,24,.88)),url('/assets/hero.jpg') center/cover;color:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}.login-visual h1{font-size:clamp(42px,6vw,75px);max-width:800px}.login-visual p{max-width:650px;font-size:18px;color:rgba(255,255,255,.86)}.season-badge{align-self:flex-start;padding:9px 13px;border:1px solid rgba(255,255,255,.35);border-radius:99px;font-size:11px;font-weight:900;letter-spacing:.13em;background:rgba(255,255,255,.11);backdrop-filter:blur(10px)}.login-benefits{display:flex;flex-wrap:wrap;gap:9px}.login-benefits span{padding:9px 12px;border-radius:99px;background:rgba(255,255,255,.13);font-size:13px}.login-card{padding:44px;display:flex;flex-direction:column;justify-content:center}.login-card>p{color:var(--muted)}form{display:grid;gap:14px;margin-top:24px}label{display:grid;gap:7px;font-size:13px;font-weight:750}input,textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:13px 14px;background:#fff;color:var(--ink);font:inherit}textarea{resize:vertical}.login-divider{display:flex;align-items:center;gap:12px;color:#758078;font-size:11px;text-transform:uppercase;letter-spacing:.14em}.login-divider:before,.login-divider:after{content:'';height:1px;background:var(--line);flex:1}.privacy-note{margin-top:18px;color:var(--muted)}.message{min-height:22px;color:var(--green)}.message.error{color:#a43c32}.magic-box{display:grid;gap:6px;padding:16px;border-radius:16px;background:#edf8f1;border:1px solid #cee5d5}.magic-box a{font-weight:900;color:var(--green)}.account-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:28px 0}.account-head h1{font-size:44px}.account-head p{margin:7px 0 0;color:var(--muted)}.head-actions{display:flex;gap:10px}.trip-hero{--trip-image:url('/assets/hero.jpg');min-height:410px;position:relative;overflow:hidden;border-radius:31px;background:var(--trip-image) center/cover;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 320px;align-items:end;padding:36px;color:#fff}.trip-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,31,23,.92) 0%,rgba(7,31,23,.58) 50%,rgba(7,31,23,.22) 100%)}.trip-copy,.countdown-card{position:relative;z-index:1}.trip-copy h2{font-size:52px}.trip-status{display:inline-flex;padding:8px 12px;border-radius:99px;margin-bottom:22px;background:#e9b866;color:#173429;font-size:12px;font-weight:900}.trip-status.cancelled{background:#e6a19b}.trip-status.completed,.trip-status.done{background:#d6dfda}.trip-dates{display:flex;align-items:center;gap:18px;margin:24px 0}.trip-dates span{display:grid}.trip-dates small{color:rgba(255,255,255,.7)}.trip-dates b{font-size:20px}.trip-actions{display:flex;gap:10px;flex-wrap:wrap}.countdown-card{align-self:end;padding:24px;border-radius:22px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(14px)}.countdown-card small,.countdown-card span{display:block;color:rgba(255,255,255,.75)}.countdown-card strong{display:block;font-size:27px;margin:8px 0 16px}.mini-progress,.progress{height:9px;background:rgba(255,255,255,.23);border-radius:99px;overflow:hidden}.mini-progress i,.progress i{display:block;height:100%;background:var(--gold);border-radius:99px}.empty-trip{padding:40px;border-radius:30px;background:linear-gradient(135deg,#123e31,#1d604a);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 24px}.summary-card{padding:20px;border-radius:20px;background:#fff;box-shadow:0 10px 35px rgba(20,57,45,.07)}.summary-card:first-child{background:var(--deep);color:#fff}.summary-card:nth-child(3){background:#e9c48d}.summary-card small,.summary-card span{display:block;color:inherit;opacity:.68}.summary-card b{display:block;font-size:25px;margin:5px 0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.section-title{display:flex;justify-content:space-between;align-items:end;margin:10px 3px 15px}.section-title span{color:var(--muted)}#bookingsList{display:grid;gap:18px}.booking-card{display:grid;grid-template-columns:280px 1fr;background:#fff;border:1px solid var(--line);border-radius:25px;overflow:hidden;box-shadow:0 12px 40px rgba(26,59,47,.07)}.booking-image{position:relative;min-height:100%}.booking-image img{width:100%;height:100%;object-fit:cover}.booking-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.45))}.booking-image .status,.booking-code{position:absolute;z-index:2;left:14px}.booking-image .status{top:14px;padding:7px 10px;border-radius:99px;background:#f0c77f;color:#173429;font-size:11px;font-weight:900}.booking-image .status.cancelled{background:#e9aaa4}.booking-image .status.completed,.booking-image .status.done{background:#dce5df}.booking-code{bottom:14px;color:#fff;font-weight:800}.booking-body{padding:24px}.booking-top{display:flex;justify-content:space-between;gap:18px;align-items:start}.booking-top h3{font-size:27px}.balance-pill{padding:8px 11px;border-radius:99px;background:#edf4ef;color:var(--green);font-size:12px;font-weight:900;white-space:nowrap}.timeline-labels{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:18px;font-size:10px;color:#a0aaa4}.timeline-labels span:nth-child(2){text-align:center}.timeline-labels span:last-child{text-align:right}.timeline-labels .on{color:var(--green);font-weight:800}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:5px 0 18px}.timeline div{height:6px;background:#e0e6e2;border-radius:8px}.timeline .on{background:var(--green)}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.fact{padding:12px;border-radius:13px;background:#f5f7f4}.fact small{display:block;color:var(--muted)}.payment-panel{margin-top:14px;padding:16px;border-radius:16px;background:#f5f1e9}.payment-head{display:flex;justify-content:space-between;gap:15px}.payment-head small{display:block;color:var(--muted)}.payment-head strong{font-size:20px}.payment-head em{font-size:13px;color:var(--muted);font-style:normal}.payment-panel .progress{background:#dfdfd8;margin:12px 0}.payment-panel .progress i{background:var(--green)}.payment-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.pay-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.paid-badge{margin-top:13px;padding:12px;border-radius:13px;background:#e5f4ea;color:#176343;font-weight:850}.booking-tabs{margin-top:14px;border-top:1px solid var(--line)}.booking-tabs details{border-bottom:1px solid var(--line)}.booking-tabs summary{padding:13px 2px;cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between}.booking-tabs summary:after{content:'+'}.booking-tabs details[open] summary:after{content:'−'}.booking-tabs mark{margin-left:7px;padding:2px 7px;border-radius:99px;background:#e9efe9;color:var(--green)}.details-body{padding:0 2px 12px}.line-row{display:flex;justify-content:space-between;gap:15px;padding:5px 0}.service-grid{display:grid;gap:9px;padding:0 0 12px}.service-grid form{display:grid;grid-template-columns:1fr auto 78px auto;gap:9px;align-items:center;margin:0;padding:11px;background:#f5f7f4;border-radius:13px}.service-grid small{display:block;color:var(--muted)}.service-grid button{padding:10px}.document-actions,.card-actions{display:flex;flex-wrap:wrap;gap:8px}.document-actions{padding:0 0 13px}.document-actions a,.card-actions a{padding:9px 11px;border-radius:11px;background:#edf1ed;color:var(--ink);font-size:12px;font-weight:800;text-decoration:none}.card-actions{margin-top:14px}.dashboard-side{display:grid;gap:16px;position:sticky;top:15px}.quick-panel{padding:22px}.quick-actions{display:grid;gap:8px;margin-top:16px}.quick-actions a{display:flex;align-items:center;gap:11px;padding:12px;border-radius:14px;background:#f4f6f3;color:var(--ink);text-decoration:none}.quick-actions i{width:38px;height:38px;border-radius:12px;background:var(--deep);color:#fff;display:grid;place-items:center;font-style:normal;font-size:18px}.quick-actions span{display:grid}.quick-actions small{color:var(--muted)}.profile{padding:0;overflow:hidden}.profile details>summary{display:flex;justify-content:space-between;align-items:center;padding:20px;cursor:pointer;list-style:none}.profile summary span{display:grid}.profile summary small{color:var(--muted)}.profile summary i{font-style:normal;font-size:26px}.profile form{padding:0 20px 20px;margin:0}.check{display:flex;align-items:flex-start;gap:9px;font-weight:500}.check input{width:auto;margin-top:4px}.empty{padding:45px;text-align:center;background:#fff;border-radius:22px;color:var(--muted)}footer{text-align:center;padding:28px;color:var(--muted);font-size:12px;letter-spacing:.08em}@media(max-width:1080px){.login-shell{grid-template-columns:1fr}.login-visual{min-height:500px}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{position:static;grid-template-columns:1fr 1fr}.trip-hero{grid-template-columns:1fr 280px}.booking-card{grid-template-columns:230px 1fr}}@media(max-width:780px){.topbar nav{display:none}.trip-hero{grid-template-columns:1fr;padding:24px}.countdown-card{margin-top:22px}.summary{grid-template-columns:1fr 1fr}.booking-card{grid-template-columns:1fr}.booking-image{height:230px}.facts{grid-template-columns:1fr 1fr}.dashboard-side{grid-template-columns:1fr}.account-head{align-items:flex-start;flex-direction:column}.head-actions{width:100%}.head-actions>*{flex:1}.trip-copy h2{font-size:39px}.service-grid form{grid-template-columns:1fr}.login-card{padding:28px}}@media(max-width:520px){main,.topbar{padding-left:15px;padding-right:15px}.brand small{display:none}.login-visual{padding:28px;min-height:500px}.login-benefits{display:grid}.trip-dates{align-items:flex-start}.trip-dates i{display:none}.trip-dates{display:grid;grid-template-columns:1fr 1fr}.trip-actions>*{width:100%}.summary{grid-template-columns:1fr 1fr}.summary-card{padding:15px}.summary-card b{font-size:20px}.booking-body{padding:17px}.booking-top{display:grid}.facts{grid-template-columns:1fr 1fr}.payment-head,.payment-foot{display:grid}.account-head h1{font-size:36px}.empty-trip{align-items:flex-start;flex-direction:column}}

/* 24.3.8.0 — вход по одноразовому коду */
.code-step{display:grid;gap:14px}.code-step[hidden]{display:none!important}.code-hint{margin:0;padding:13px 15px;border-radius:14px;background:#edf4ef;color:#234b3d;line-height:1.5}.code-step input[name="code"]{font-size:28px;letter-spacing:.35em;text-align:center;font-weight:800}.code-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.text-button{border:0!important;background:transparent!important;color:#26614c!important;padding:4px!important;box-shadow:none!important;text-decoration:underline;font-weight:700;cursor:pointer}.text-button:disabled{opacity:.5;cursor:not-allowed}.login-card form.busy{opacity:.75;pointer-events:none}.otp-debug{font-family:monospace;font-size:18px;font-weight:800;letter-spacing:.25em}
