:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#0b1620;background-color:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}body{margin:0;min-width:320px}#root{max-width:1200px;margin:0 auto;padding:24px;color:#0b1620;min-height:100vh;display:flex}.app-layout{display:flex;flex-direction:column;flex:1}.app-content{flex:1}.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 0 16px;gap:12px}.app-header .brand{display:flex;align-items:center;gap:10px;font-size:larger;background:none}.app-header .brand a{padding:0;border-radius:0;border:none}.app-header nav{display:flex;flex-wrap:wrap;gap:10px}.app-header a{text-decoration:none;padding:8px 12px;border-radius:8px;color:#0b1620;border:1px solid transparent}.app-header a.active{background:#e8f0ff;border-color:#c9dcff}.page{display:grid;gap:16px}.page.narrow{max-width:640px}.panel{border:1px solid #d5dde6;border-radius:10px;padding:16px;background:#fdfefe;box-shadow:0 1px 2px #0000000a}.snapshots-routeHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;transition:background-color .12s ease}.snapshots-routeHeader:hover{background-color:#f5f8ff}.snapshots-routeInfo{display:flex;flex-direction:column;gap:4px}.snapshots-routeInfo h3,.snapshots-routeInfo p{margin:0}.snapshots-routeDates{display:flex;flex-direction:column;gap:2px}.snapshots-dateLine{margin:0;line-height:1.3;display:grid;grid-template-columns:56px 1fr;column-gap:8px}.snapshots-dateLabel{font-weight:600;color:#0b1620}.snapshots-dateValue{color:#0b1620}.snapshots-dateLabel.is-empty{visibility:hidden}.snapshots-dateLine.is-indented{padding-left:16px}.snapshots-dates{display:grid;gap:12px;margin-top:12px}.snapshot-card{border:1px solid #e3e9f0;border-radius:10px;padding:12px;background:#fff}.snapshot-cardHeader{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.snapshot-date{margin:0;font-size:16px}.snapshot-meta{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.snapshot-minPrice{font-weight:700}.snapshot-deleteBtn{padding:8px 10px;font-size:13px}.snapshot-options{margin:8px 0 0;padding-left:18px;display:grid;gap:6px}.snapshot-option{line-height:1.35}.snapshot-option span{display:inline-block;margin-right:10px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.panel h2{margin:0;font-size:18px}.form{display:grid;gap:10px}.form label{display:grid;gap:4px;font-size:14px;text-align:left}.form input{padding:8px;border-radius:8px;border:1px solid #c7d1dc}.form select{padding:8px;border-radius:8px;border:1px solid #c7d1dc;background:#fff;font-size:14px}.airport-select{display:grid;gap:6px;position:relative}.airport-select-input{padding-right:28px}.airport-select-list{width:100%;border:1px solid #c7d1dc;border-radius:8px;background:#fff;box-shadow:0 6px 16px #0f172a14;padding:6px;display:grid;gap:4px;max-height:260px;overflow-y:auto}.airport-select-option{width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;border-radius:6px;font-size:14px;cursor:pointer;color:#0b1620}.airport-select-option:hover{background:#edf3ff}.airport-select-option:disabled{opacity:.6;cursor:not-allowed;background:#f7f8fb}.airport-select-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:#6b7280;font-size:16px;cursor:pointer;padding:0;line-height:1}button{border-radius:8px;border:1px solid #2f6bff;padding:10px 14px;font-size:14px;font-weight:600;background-color:#2f6bff;color:#fff;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}.segmented{display:inline-flex;border:1px solid #c7d1dc;border-radius:8px;overflow:hidden}.segmented button{border:none;background:transparent;color:#0b1620}.segmented button.active{background:#2f6bff;color:#fff}.double{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.user-info{display:flex;align-items:center;gap:8px}.triple{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.actions{display:flex;gap:8px}.date-picker-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:16px;background:#e8f0ff;color:#0b1620;font-size:13px}.chip button{padding:0 6px;background:transparent;border:none;color:inherit;cursor:pointer}.hint{font-size:13px;color:#6b7280;align-self:center}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;font-size:14px}.deal-card{border:1px solid #e3e9f0;border-radius:8px;padding:12px;margin-bottom:10px}.deal-card header{display:flex;justify-content:space-between;font-weight:600;margin-bottom:6px}.deal-card .price{font-size:18px;font-weight:700;margin-bottom:6px}.deal-card .meta,.deal-card .times,.deal-card .legs{font-size:13px;margin-bottom:4px}.profile-card{display:flex;gap:12px;align-items:center;margin-bottom:12px}.profile-card img{width:56px;height:56px;border-radius:50%;object-fit:cover}.app-footer{margin-top:12px;padding:14px 0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:center;color:#4a5562;font-size:14px}.footer-brand .logo{font-weight:800;color:#0b1620}.footer-links{display:flex;gap:12px;flex-wrap:wrap}.footer-links a{color:#2f6bff;text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-copy{text-align:right}@media(max-width:768px){#root{padding:16px}.actions{flex-wrap:wrap}.app-header nav{gap:6px}}@media(max-width:520px){.snapshot-option span{display:block;margin-right:0}}.airport-multiselect{margin-top:6px}.airport-multiselect .chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fffc}.airport-multiselect .chips:focus-within{border-color:#00000047;box-shadow:0 0 0 3px #0000000f}.airport-multiselect .chips input{flex:1 1 180px;min-width:180px;border:0;outline:none;padding:8px 6px;background:transparent;font-size:14px}.airport-multiselect .chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:#00000008;font-size:13px;line-height:1;white-space:nowrap}.airport-multiselect .chip button{border:0;background:transparent;cursor:pointer;padding:0;width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;opacity:.7}.airport-multiselect .chip button:hover{opacity:1;background:#00000014}.airport-multiselect .airport-suggestions{margin-top:10px;max-height:260px;overflow-y:auto;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#ffffffeb;padding:6px}.airport-multiselect .suggestion{width:100%;text-align:left;padding:10px;border:0;border-radius:10px;background:transparent;cursor:pointer;font-size:14px;line-height:1.2;color:#111827}.airport-multiselect .suggestion:hover{background:#0000000f}.airport-multiselect .suggestion:disabled{opacity:.45;cursor:not-allowed}.airport-multiselect .hint{margin-top:8px;font-size:12px;opacity:.7}.airport-multiselect .hint.error{opacity:1;font-weight:600}.app-header .brand img{height:32px;width:auto;object-fit:contain}.app-header .brand-link{padding:0;border-radius:0;border:none;display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.app-header .brand-link.active{background:transparent;border-color:transparent}.user-msg{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:12px;width:min(520px,calc(100vw - 24px));padding:14px 14px 14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#141416b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 50px #00000059,0 1px #ffffff0f inset;color:var(--text, #f3f4f6);animation:userMsgIn .24s ease-out both}.user-msg h4{margin:0;font-size:.95rem;font-weight:600;line-height:1.25;letter-spacing:.2px;flex:1}.user-msg .close-btn{appearance:none;border:0;background:transparent;color:inherit;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;cursor:pointer;opacity:.85;transition:background .16s ease,opacity .16s ease,transform .16s ease}.user-msg .close-btn:hover{background:#ffffff14;opacity:1}.user-msg .close-btn:active{transform:scale(.96)}.user-msg:before{content:"";width:5px;align-self:stretch;border-radius:10px;background:#ffffff38}.user-msg.success{background:#0c1610b8;border-color:#28b46e47}.user-msg.success:before{background:var(--success, #22c55e);box-shadow:0 0 0 3px #22c55e24}.user-msg.error{background:#1a0c0eb8;border-color:#ef444447}.user-msg.error:before{background:var(--danger, #ef4444);box-shadow:0 0 0 3px #ef444424}.user-msg.info:before{background:var(--info, #60a5fa)}.user-msg.warn:before{background:var(--warn, #f59e0b)}@keyframes userMsgIn{0%{opacity:0;transform:translate(-50%) translateY(-10px) scale(.98);filter:blur(2px)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1);filter:blur(0)}}@media(max-width:520px){.user-msg{top:12px;padding:12px 12px 12px 14px;border-radius:12px}.user-msg h4{font-size:.92rem}}.search-preferences.closed{display:flex;align-items:center;justify-content:center;min-height:120px;cursor:pointer}.search-preferences.closed .panel-header{margin:0}.search-preferences.closed:hover{background-color:#f5f8ff}
