:root{--ink:#17202a;--muted:#67727e;--line:#d7dde2;--paper:#fff;--canvas:#f4f6f7;--coral:#5b9bd5;--coral-dark:#2f6fa8;--navy:#17334d;--success:#237a57;--danger:#b33a3a;--radius:14px;--shadow:0 12px 35px rgba(21,35,49,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0;border-radius:9px;padding:10px 16px;background:var(--navy);color:#fff;font-weight:700;cursor:pointer}button:hover{filter:brightness(1.08)}button.secondary{background:#fff;color:var(--navy);border:1px solid #b9c4cd}.topbar{height:64px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1500px)/2));box-shadow:0 3px 10px rgba(0,0,0,.15)}.brand{font-weight:850;letter-spacing:-.02em;font-size:17px}.topbar nav{display:flex;align-items:center;gap:22px}.topbar nav span{opacity:.65;font-size:12px}.container{max-width:1500px;margin:0 auto;padding:34px 24px 70px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 26px}.page-heading h1{font-size:32px;letter-spacing:-.03em;margin:3px 0 5px}.page-heading p{color:var(--muted);margin:0}.eyebrow{color:var(--coral-dark)!important;font-size:11px;font-weight:850;letter-spacing:.14em}.back{display:inline-block;color:var(--muted);margin-bottom:20px}.flash{padding:12px 16px;border-radius:9px;margin:0 0 18px}.flash.success{background:#def4e9;color:#175c41}.flash.error{background:#f9dddd;color:#8c2929}.trip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}.trip-card{background:var(--paper);padding:22px;border:1px solid #e3e7ea;border-radius:var(--radius);box-shadow:0 2px 10px rgba(20,40,60,.03);transition:.18s}.trip-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#bdc8d0}.trip-card-top{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.trip-card h2{font-size:19px;margin:16px 0 4px}.trip-card .code{color:var(--muted);margin:0}.trip-meta{display:flex;gap:16px;padding:20px 0 16px;border-bottom:1px solid #eef0f1}.trip-card small{display:block;color:#88929b;padding-top:13px}.badge{display:inline-flex;border-radius:99px;padding:4px 9px;background:#e8edf1;font-size:11px;font-weight:800;text-transform:uppercase}.badge.confirmed{background:#d9efe5;color:#176443}.badge.draft{background:#f5ecd2;color:#795d13}.badge.cancelled{background:#f5dada;color:#7e2424}.empty{grid-column:1/-1;padding:60px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #cdd4d9;border-radius:var(--radius)}dialog{border:0;border-radius:16px;padding:0;box-shadow:0 30px 100px rgba(0,0,0,.3);width:min(680px,calc(100% - 30px))}dialog::backdrop{background:rgba(17,30,42,.56);backdrop-filter:blur(3px)}dialog form{padding:30px}.dialog-close{float:right;background:none;color:var(--muted);font-size:24px;padding:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.form-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}label{display:flex;flex-direction:column;gap:6px;color:#4b5660;font-size:12px;font-weight:750}input,select,textarea{width:100%;border:1px solid #cbd2d8;border-radius:8px;background:#fff;color:var(--ink);padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(223,131,127,.16)}input:disabled,select:disabled,textarea:disabled{color:var(--ink);opacity:1;background:#f8f9fa}.panel,.sheet-section{background:#fff;border:1px solid #dfe4e7;border-radius:var(--radius);box-shadow:0 2px 9px rgba(20,30,40,.03);padding:24px;margin-bottom:22px}.sheet-section{scroll-margin-top:20px}.sheet-title{background:var(--coral);color:#161616;text-align:center;font-weight:900;font-size:19px;padding:10px;margin:-24px -24px 24px;border-radius:13px 13px 0 0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-heading h2,.panel h2{margin:2px 0 0}.count{display:inline-flex;min-width:26px;height:26px;align-items:center;justify-content:center;border-radius:99px;background:#edf0f2;color:#59646e;font-size:12px}.tabs{position:sticky;top:0;z-index:4;display:flex;gap:5px;background:rgba(244,246,247,.92);backdrop-filter:blur(8px);padding:10px 0;margin-bottom:10px}.tabs a{background:#fff;border:1px solid #dce1e4;padding:8px 13px;border-radius:8px;font-weight:750;color:#4b5660}.table-scroll{overflow:auto;width:100%}.excel-table,table{border-collapse:collapse;width:100%}.excel-table{min-width:1200px}.excel-table th,.excel-table td,table th,table td{border:1px solid #68727a;padding:0;text-align:left}.excel-table th,table th{background:#f0f2f3;text-transform:uppercase;font-size:10px;letter-spacing:.03em;padding:7px 6px;text-align:center}.excel-table td input{border:0;border-radius:0;padding:8px 6px;min-width:100px;box-shadow:none}.excel-table tr:nth-child(even) input{background:#fbfbfb}.excel-table .row-num{width:35px;text-align:center;color:#6d7780}.excel-table .row-num:before{counter-increment:row;content:counter(row)}.excel-table tbody{counter-reset:row}.excel-table td:nth-child(7) input{min-width:220px}.excel-table tfoot td{padding:8px;font-weight:900;text-align:right}.itinerary-table td:nth-child(5) input,.itinerary-table td:nth-child(7) input{min-width:240px}.icon-button{padding:4px 9px;border-radius:4px}.danger{background:#fff;color:var(--danger)}.money{text-align:right!important}.sheet-section form>button[type=submit]{margin-top:16px}.timeline{display:grid;gap:8px}.timeline>div{display:flex;justify-content:space-between;gap:30px;padding:12px 15px;border-left:3px solid var(--coral);background:#f8f9fa}.timeline span,.muted{color:var(--muted)}.two-col{display:grid;grid-template-columns:2fr 1fr;gap:22px}.two-col table td{padding:9px}.panel form{display:grid;gap:13px}.login-page{min-height:100vh;background:linear-gradient(135deg,#f7eae7 0,#eef2f4 45%,#dce5ec 100%)}.login-page .container{min-height:100vh;display:grid;place-items:center}.login-card{width:min(430px,100%);background:#fff;padding:42px;border-radius:20px;box-shadow:0 30px 70px rgba(27,46,64,.14)}.login-card .logo-mark{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:var(--coral);font-size:22px}.login-card h1{font-size:28px;margin:20px 0 6px}.login-card p{color:var(--muted);margin:0 0 24px}.login-card form{display:grid;gap:17px}.login-card button{margin-top:5px;padding:12px}
.button-link{border:0;border-radius:9px;padding:10px 16px;background:var(--navy);color:#fff;font-weight:700;cursor:pointer;display:inline-block}.button-link:hover{filter:brightness(1.08)}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.passenger-privacy{padding:0;overflow:hidden}.passenger-privacy>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;background:#eef5fb}.passenger-privacy>summary::-webkit-details-marker{display:none}.passenger-privacy>summary strong{display:block;font-size:19px;margin-top:4px}.privacy-action{color:var(--coral-dark);font-weight:800}.passenger-privacy[open] .privacy-action{font-size:0}.passenger-privacy[open] .privacy-action:after{content:"Ocultar lista de pasajeros";font-size:14px}.passenger-content{padding:20px 24px 24px;border-top:1px solid #d5e4f0}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(91,155,213,.16)}.sheet-title{color:#fff}.login-page{background:linear-gradient(135deg,#e5f0f9 0,#eef2f4 45%,#dce5ec 100%)}
@media(max-width:800px){.container{padding:22px 12px 50px}.topbar{padding:0 14px}.topbar nav span{display:none}.page-heading{align-items:flex-start;flex-direction:column}.form-grid,.form-grid.compact,.two-col{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.sheet-section{padding:15px}.sheet-title{margin:-15px -15px 18px}.timeline>div{flex-direction:column;gap:4px}}
@media print{body{background:#fff;font-size:9px}.no-print,.topbar,button,.flash{display:none!important}.container{max-width:none;padding:0}.sheet-section{box-shadow:none;border:0;border-radius:0;padding:0;margin:0 0 16px;break-inside:auto}.sheet-title{margin:0;border-radius:0;font-size:14px}.form-grid.compact{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.form-grid label{font-size:8px}.form-grid input,.form-grid textarea,.form-grid select{border:1px solid #777;padding:4px;font-size:9px}.excel-table{min-width:0;table-layout:fixed}.excel-table th{font-size:6px;padding:3px}.excel-table td input{font-size:7px;padding:3px;min-width:0!important;white-space:normal}.excel-table th:last-child,.excel-table td:last-child{display:none}.section-heading{margin:6px 0}.section-heading h2{font-size:12px}.trip-page #history{display:none}.trip-page #general{break-inside:avoid}.trip-page #passengers{break-before:page}@page{size:landscape;margin:8mm}}
