:root{--blue:#203983;--blue2:#315dcc;--ink:#13213e;--muted:#6f7c91;--line:#e0e6ef;--bg:#f2f5f9;--green:#0d8061;--warn:#a76713;--danger:#b33d36}*{box-sizing:border-box}body{margin:0;background:radial-gradient(900px 420px at 90% -10%,rgba(49,93,204,.11),transparent 60%),var(--bg);color:var(--ink);font:14px "DM Sans",sans-serif;min-height:100vh}.topbar{height:72px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand img{width:155px;display:block}.topbar nav{display:flex;align-items:center;gap:8px}.topbar nav a,.topbar nav button{border:0;background:transparent;color:#64718a;text-decoration:none;padding:10px 13px;border-radius:10px;font-size:12px;font-weight:800}.topbar nav a.active{background:#eef2ff;color:var(--blue)}.topbar nav button{cursor:pointer;color:#a23b36}main{max-width:1520px;margin:0 auto;padding:32px clamp(16px,3vw,48px) 60px}.access-card{max-width:940px;margin:70px auto;display:grid;grid-template-columns:1.15fr .85fr;gap:55px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:26px;padding:50px;box-shadow:0 30px 90px rgba(18,33,62,.13)}.access-copy span,.kicker,.list-head span{font-size:10px;letter-spacing:1.1px;color:var(--blue2);font-weight:900}.access-copy h1,.hero h1{font:800 clamp(34px,4.5vw,58px)/1 "Manrope";letter-spacing:-2.4px;margin:10px 0 16px}.access-copy p,.hero p{color:var(--muted);font-size:14px;line-height:1.65}.access-card form label,.filters label{display:block;color:#4b5870;font-size:10px;font-weight:900;margin-bottom:13px}.access-card input,.filters input,.filters select{width:100%;height:45px;border:1px solid #d6deea;border-radius:10px;background:#fff;padding:0 12px;margin-top:7px;outline:0}.access-card input:focus,.filters input:focus,.filters select:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(49,93,204,.1)}.access-card form button,.new-booking,.voucher-button{border:0;border-radius:11px;background:linear-gradient(115deg,var(--blue),var(--blue2));color:#fff;font-weight:900;text-decoration:none;cursor:pointer}.access-card form button{width:100%;height:47px}.form-error{font-size:10px;color:var(--danger);background:#fff0ef;border-radius:8px;padding:9px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:12px 0 27px}.hero h1{font-size:48px;margin-bottom:7px}.hero p{margin:0}.new-booking{padding:13px 19px;font-size:11px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.metrics article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:0 8px 26px rgba(18,33,62,.045)}.metrics span,.metrics small,.metrics strong{display:block}.metrics span{color:#7d899c;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}.metrics strong{font:800 25px "Manrope";margin:7px 0;color:var(--ink)}.metrics small{color:#9aa4b4;font-size:9px}.workspace{display:grid;grid-template-columns:230px minmax(420px,1fr) minmax(330px,.75fr);gap:14px;align-items:start}.filters,.list-panel,.detail-panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 34px rgba(18,33,62,.05)}.filters{padding:19px;position:sticky;top:90px}.filters button{width:100%;height:40px;border:1px solid #cfd8e7;background:#fff;color:var(--blue);border-radius:9px;font-size:10px;font-weight:900;cursor:pointer}.security-note{margin-top:20px;padding:14px;background:#f2f5ff;border-radius:11px}.security-note b{font-size:10px;color:var(--blue)}.security-note p{font-size:9px;color:#6c7890;line-height:1.55;margin:6px 0 0}.list-panel{overflow:hidden}.list-head{padding:21px 22px;border-bottom:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between}.list-head h2{font:800 18px "Manrope";margin:4px 0 0}.list-head small{color:#8792a4}.reservation-list{padding:12px;display:grid;gap:9px;max-height:690px;overflow:auto}.reservation-card{border:1px solid #e3e8f0;background:#fff;border-radius:13px;padding:15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;cursor:pointer;transition:.18s}.reservation-card:hover,.reservation-card.active{border-color:#aebde6;box-shadow:0 8px 24px rgba(32,57,131,.09);transform:translateY(-1px)}.reservation-card h3{font:800 13px "Manrope";margin:7px 0 4px}.reservation-card p{color:#79859a;font-size:9px;margin:0}.reservation-card .amount{text-align:right}.reservation-card .amount strong,.reservation-card .amount small{display:block}.reservation-card .amount strong{font:800 14px "Manrope"}.reservation-card .amount small{color:#8a95a7;font-size:8px;margin-top:4px}.status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf2f8;color:#56647b;font-size:7px;letter-spacing:.5px;font-weight:900}.status.confirmed{background:#def6ed;color:#0a6c50}.status.pending{background:#fff1d9;color:#916014}.status.error{background:#ffe5e2;color:#9f332e}.detail-panel{position:sticky;top:90px;max-height:calc(100vh - 110px);overflow:auto;min-height:470px}.detail-empty{text-align:center;padding:105px 35px;color:#8691a3}.detail-empty span{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:#edf1f7;margin:auto;font-size:24px}.detail-empty h3{font:800 16px "Manrope";color:var(--ink);margin:17px 0 6px}.detail-empty p{font-size:10px;line-height:1.5}.detail-head{display:flex;justify-content:space-between;gap:14px;padding:22px;border-bottom:1px solid var(--line)}.detail-head h2{font:800 21px "Manrope";margin:7px 0 3px}.detail-head p{color:#7f8a9d;font-size:10px;margin:0}.detail-head button{border:0;background:#edf1f7;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:20px}.price-summary{margin:15px;padding:14px;background:#f6f8fb;border-radius:13px}.price-summary>div{display:flex;justify-content:space-between;padding:6px 0;color:#6f7c91;font-size:9px}.price-summary strong{color:var(--ink);font:800 11px "Manrope"}.price-summary .client-price{border-top:1px solid #dce3ed;margin-top:6px;padding-top:11px;color:var(--ink);font-weight:900}.price-summary .client-price strong{font-size:17px;color:var(--blue)}.detail-panel section{padding:4px 17px 14px}.detail-panel section h3{font:800 11px "Manrope"}.detail-items,.timeline{display:grid;gap:8px}.detail-item{border:1px solid #e2e8f0;border-radius:11px;padding:12px}.detail-item small,.detail-item strong,.detail-item span{display:block}.detail-item small{color:var(--blue2);font-size:7px;font-weight:900}.detail-item strong{font-size:11px;margin:5px 0}.detail-item span{color:#788499;font-size:9px;line-height:1.45}.timeline article{position:relative;padding-left:17px;border-left:2px solid #dbe3ef;margin-left:3px;padding-bottom:8px}.timeline article:before{content:"";position:absolute;left:-5px;top:2px;width:8px;height:8px;border-radius:50%;background:var(--blue2)}.timeline strong,.timeline small{display:block}.timeline strong{font-size:9px}.timeline small{font-size:8px;color:#8b96a8;margin-top:4px}.voucher-button{width:calc(100% - 34px);min-height:45px;margin:0 17px 20px}.loading-card{height:86px;border-radius:12px;background:linear-gradient(90deg,#f1f3f7,#e6eaf0,#f1f3f7);background-size:200% 100%;animation:pulse 1.2s infinite}.empty-list{text-align:center;color:#8290a4;padding:70px 20px}.toast{position:fixed;right:24px;bottom:24px;z-index:60;max-width:360px;background:#17264a;color:#fff;padding:13px 17px;border-radius:11px;box-shadow:0 14px 40px rgba(0,0,0,.2);font-size:11px;opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}@keyframes pulse{to{background-position:-200% 0}}@media(max-width:1100px){.workspace{grid-template-columns:210px 1fr}.detail-panel{position:fixed;z-index:30;right:0;top:0;width:min(440px,100%);height:100vh;max-height:none;border-radius:0;transform:translateX(105%);transition:.25s;box-shadow:-25px 0 70px rgba(18,33,62,.2)}.detail-panel.open{transform:none}}@media(max-width:760px){.topbar{height:62px}.brand img{width:125px}.topbar nav a:first-child{display:none}main{padding-top:22px}.access-card{grid-template-columns:1fr;margin:25px auto;padding:28px;gap:25px}.hero{align-items:flex-start}.hero h1{font-size:38px}.metrics{grid-template-columns:1fr 1fr}.workspace{grid-template-columns:1fr}.filters{position:relative;top:auto}.reservation-list{max-height:none}.new-booking{font-size:0;padding:12px}.new-booking:after{content:"+";font-size:20px}}@media(max-width:450px){.metrics{grid-template-columns:1fr}.topbar nav a.active{display:none}}

/* Encabezado principal Viaje X Menos */
.topbar{background:linear-gradient(110deg,#17285f 0%,var(--blue) 62%,#2853b9 100%);border-bottom-color:rgba(255,255,255,.12);box-shadow:0 8px 24px rgba(13,29,73,.2)}
.topbar nav a,.topbar nav button{color:rgba(255,255,255,.82)}
.topbar nav a:hover,.topbar nav button:hover{background:rgba(255,255,255,.12);color:#fff}
.topbar nav a.active{background:#fff;color:var(--blue);box-shadow:0 5px 16px rgba(4,15,48,.2)}
.topbar nav button{color:#ffd8d5}
.access-register{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:17px;padding-top:16px;border-top:1px solid var(--line);color:#78849a;font-size:10px}
.access-register a{color:var(--blue);font-weight:900;text-decoration:none}.access-register a:hover{text-decoration:underline}
@media(max-width:450px){.access-register{align-items:flex-start;flex-direction:column}}

.live-status{display:flex!important;align-items:center;gap:6px;margin-top:6px;color:#a76713!important;font-size:8px!important}.live-status i{width:7px;height:7px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.12)}.live-status.connected{color:#0d8061!important}.live-status.connected i{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.13)}.reservation-card.awaiting-confirmation{border-color:#f1c97b;background:linear-gradient(120deg,#fffdf8,#fff)}.list-confirmation{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 9px;border-radius:9px;background:#fff7e8;color:#855414;font-size:8px;font-weight:800}.list-confirmation>i{width:8px;height:8px;flex:0 0 auto;margin-top:2px;border-radius:50%;background:#e5a11a;animation:confirmationPulse 1.6s ease-in-out infinite}.list-confirmation span,.list-confirmation small{display:block}.list-confirmation small{margin-top:2px;color:#9b6a27;font-weight:500}.detail-item.is-confirming{border-color:#e8c471;background:linear-gradient(145deg,#fffdf8,#fff)}.detail-item.is-rejected{border-color:#fecaca}.confirmation-progress{display:flex;gap:12px;align-items:flex-start;margin-top:12px;padding:13px;border:1px solid #f0d79c;border-radius:12px;background:#fff9eb}.confirmation-spinner{width:28px;height:28px;flex:0 0 auto;border:3px solid #f3e4be;border-top-color:#b57b09;border-radius:50%;animation:confirmationSpin 1s linear infinite}.confirmation-progress b,.confirmation-progress p,.confirmation-progress small{display:block}.confirmation-progress b{font:800 10px "Manrope";color:#5e4109}.confirmation-progress p{font-size:9px!important;line-height:1.5!important;color:#795b20!important;margin:4px 0 8px!important}.confirmation-progress p strong{display:inline;color:#5e4109;font-size:inherit;margin:0}.confirmation-progress small{color:#0d8061!important;font-size:8px!important}.confirmation-progress small i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#10b981;margin-right:4px}.confirmation-rejected{margin-top:11px;padding:11px;border-radius:10px;background:#fff1f0;color:#9f332e}.confirmation-rejected b,.confirmation-rejected span{display:block}.confirmation-rejected b{font-size:9px}.confirmation-rejected span{margin-top:4px;color:#a85651;font-size:8px}@keyframes confirmationSpin{to{transform:rotate(360deg)}}@keyframes confirmationPulse{50%{transform:scale(.68);opacity:.5}}@media(prefers-reduced-motion:reduce){.confirmation-spinner,.list-confirmation>i{animation:none}}
