.header{background-color:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:50;box-shadow:var(--shadow-sm)}.header-container{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;padding-bottom:.75rem}.logo-button{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;line-height:2rem;font-weight:700;color:var(--color-text-primary);text-decoration:none;background:none;border:none;cursor:pointer;padding:0}.logo-icon{height:1.75rem;width:1.75rem;color:var(--color-primary)}.account-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--color-primary);color:var(--color-text-light);font-weight:600;border-radius:9999px;border:none;cursor:pointer;transition:background-color .15s ease-in-out}.account-button:hover{background-color:var(--color-primary-dark)}.account-button:focus{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-primary)}.button-icon{height:1.25rem;width:1.25rem}.button-text{display:none}@media(min-width:640px){.button-text{display:inline}}.card{background-color:var(--color-surface);border-radius:.5rem;box-shadow:var(--shadow-lg);overflow:hidden;transition:transform .3s ease-in-out,box-shadow .3s ease-in-out;position:relative}.card:hover{transform:scale(1.02);box-shadow:var(--shadow-xl)}.content{padding:1.5rem}.card.eco-friendly:before{content:"🌿 Eco-Friendly Choice";position:absolute;top:.5rem;right:.5rem;background-color:#16a34a;color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;z-index:1}.header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.airline{font-size:.875rem;color:var(--color-text-secondary)}.flight-number{font-weight:700;font-size:1.125rem;color:var(--color-text-primary)}.price-container{text-align:right}.price{font-size:1.5rem;font-weight:800;color:var(--color-primary)}.price-label{font-size:.75rem;color:var(--color-text-secondary)}.emissions-detail{font-size:.875rem;font-weight:500;padding:.25rem .5rem;border-radius:.25rem;display:flex;align-items:center;gap:.5rem;transition:background-color .2s ease-in-out;margin-top:.5rem}.emissions-detail.eco-friendly{background-color:#16a34a1a;color:#16a34a}.emissions-detail.eco-friendly .detail-icon{color:#16a34a}.emissions-detail.lower-emissions{background-color:#3b82f61a;color:#3b82f6}.emissions-detail.lower-emissions .detail-icon{color:#3b82f6}.emissions-detail.higher-emissions{background-color:#ef44441a;color:#ef4444}.emissions-detail.higher-emissions .detail-icon{color:#ef4444}.book-button{display:block;width:100%;padding:1rem;text-align:center;font-weight:600;background-color:var(--color-primary);color:#fff;text-decoration:none;transition:all .2s ease-in-out;border:none;cursor:pointer}.book-button:hover{filter:brightness(1.1)}.book-button.eco-friendly{background-color:#16a34a}.book-button.lower-emissions{background-color:#3b82f6}.route{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;color:var(--color-text-primary)}.airport,.arrival-airport{text-align:center}.time{font-size:1.5rem;font-weight:600}.airport-code{font-size:.875rem;font-weight:700}.route-line{flex-grow:1;display:flex;align-items:center;justify-content:center;color:#d1d5db}.dashed-line{width:100%;border-bottom:2px dashed currentColor;margin:0 1rem}.plane-icon{height:1.25rem;width:1.25rem;flex-shrink:0}.details{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;background-color:#f1f5f9;padding:.75rem;border-radius:.375rem}.detail-item{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary)}.detail-icon{height:1rem;width:1rem}.emissions-detail{font-weight:600}.emissions-detail.lower-emissions{color:#15803d}.footer{background-color:#f8fafc;padding:1rem}.book-button{display:block;text-align:center;text-decoration:none;width:100%;background-color:var(--color-primary);color:#fff;font-weight:700;padding:.75rem 1rem;border-radius:.375rem;border:none;cursor:pointer;transition:background-color .15s ease-in-out}.book-button:hover{background-color:var(--color-primary-dark)}.book-button:focus{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-primary)}.search-box{background-color:var(--color-surface);border-radius:.75rem;box-shadow:var(--shadow-2xl);padding:2rem}.search-container{max-width:1200px;margin:0 auto}.search-form{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.search-row{display:flex;gap:1.5rem;align-items:center}.search-field{flex:1;padding:1rem;border:1px solid var(--color-border);border-radius:.5rem;background-color:#fff}.search-button-container{display:flex;justify-content:center;margin-top:2rem;padding:0 1rem}.search-button{background-color:#4caf50;color:#fff;font-size:1.25rem;font-weight:600;padding:1rem 3rem;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;min-width:200px;box-shadow:0 4px 6px #4caf5033}.search-button:hover{background-color:#45a049;transform:translateY(-1px);box-shadow:0 6px 8px #4caf5040}.search-button:active{transform:translateY(0);box-shadow:0 2px 4px #4caf5033}.search-tabs{display:flex;border-bottom:1px solid var(--color-border);padding:1.5rem 2rem 0;margin-bottom:1.5rem}.tab-button{background:none;border:none;padding:1rem .5rem;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;position:relative;border-bottom:2px solid transparent;margin-bottom:-1px}.tab-button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.eco-friendly-section{background-color:#16a34a0d;padding:1.5rem;border-radius:.75rem;border:1px solid rgba(22,163,74,.2);margin-bottom:2rem}.eco-friendly-icon{margin-right:.5rem;font-size:1.5rem}.eco-subtitle{display:block;font-size:.875rem;font-weight:400;color:var(--color-text-secondary);margin-top:.25rem}.results-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--color-text-primary)}.eco-friendly-section .results-title{color:#16a34a}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.eco-friendly-section .card{border:1px solid rgba(22,163,74,.2)}.eco-friendly-section .card:hover{border-color:#16a34a}} .tab-content{padding:1.5rem}.trip-type-selector{display:flex;gap:1.5rem;margin-bottom:1rem}.trip-type-selector label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer}.trip-type-selector input[type=radio]{accent-color:var(--color-primary)}.form-grid{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.location-inputs{display:flex;align-items:center;gap:.5rem;width:100%}.location-inputs .input-group{flex:1}.swap-button{background-color:#f1f5f9;border:1px solid var(--color-border);border-radius:9999px;padding:.5rem;cursor:pointer;margin-top:1.25rem;color:var(--color-text-secondary);transition:all .15s ease-in-out;flex-shrink:0}.swap-button:hover{background-color:#e2e8f0;color:var(--color-text-primary)}.swap-button svg{width:1.25rem;height:1.25rem}.date-traveler-inputs{display:grid;grid-template-columns:1fr;gap:1rem;width:100%}.input-group{width:100%}.label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.25rem}.input-wrapper{position:relative}.icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);height:1.25rem;width:1.25rem;color:#94a3b8;pointer-events:none}.input{width:100%;padding:.75rem .75rem .75rem 2.5rem;border:1px solid var(--color-border);border-radius:.375rem;box-shadow:var(--shadow-sm);font-size:1rem;background-color:var(--color-surface);color:var(--color-text-primary)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.date-input{cursor:pointer}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.5rem}.chevron-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);height:1.25rem;width:1.25rem;color:#94a3b8;pointer-events:none}.bottom-row{display:flex;flex-direction:column;gap:1rem}.economy-select{font-weight:600;border:none;background:transparent;padding:.5rem;font-size:1rem;cursor:pointer}.submit-button{width:100%;display:flex;justify-content:center;align-items:center;gap:.5rem;background-color:#3b82f6;color:#fff;font-weight:700;padding:.875rem 1rem;border-radius:9999px;border:none;cursor:pointer;transition:background-color .15s ease-in-out;font-size:1rem}.submit-button:hover{background-color:#2563eb}.submit-button:focus{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-primary)}.submit-button:disabled{background-color:#94a3b8;cursor:not-allowed}.spinner{height:1.25rem;width:1.25rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.results-section{margin-top:3rem}.loading-state{text-align:center;color:var(--color-text-secondary)}.pulse{display:inline-block;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-icon{height:3rem;width:3rem;color:var(--color-primary)}.loading-state p{margin-top:.5rem;font-size:1.125rem;font-weight:600}.error-state{text-align:center;color:var(--color-error);background-color:var(--color-error-bg);padding:1rem;border-radius:.375rem}.results-title{font-size:1.5rem;line-height:2rem;font-weight:700;margin-bottom:1.5rem;text-align:center;color:#334155}.results-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.placeholder{text-align:center;padding:2.5rem 0;color:var(--color-text-secondary)}@media(min-width:768px){.date-traveler-inputs{grid-template-columns:2fr 1fr}.bottom-row{flex-direction:row;justify-content:space-between;align-items:center}.submit-button{width:auto}}@media(min-width:1024px){.form-grid{display:grid;grid-template-columns:5fr 4fr;gap:1rem;align-items:flex-end}}@media(min-width:1280px){.results-grid{grid-template-columns:repeat(2,1fr)}}.footer{background-color:#1e293b;color:#cbd5e1}.footer-container{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:1.5rem;padding-top:2rem;padding-bottom:2rem}.logo{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:var(--color-text-light)}.logo-icon{height:1.5rem;width:1.5rem;color:var(--color-primary)}.copyright{font-size:.875rem}.nav{display:flex;gap:1rem}.nav a{color:inherit;text-decoration:none;transition:color .15s ease-in-out}.nav a:hover{color:var(--color-text-light)}@media(min-width:768px){.footer-container{flex-direction:row}}.about-section{background-color:var(--color-surface);padding:4rem 0}.header{text-align:center}.kicker{font-size:1rem;font-weight:600;line-height:1.75rem;color:var(--color-primary)}.title{margin-top:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:700;letter-spacing:-.025em;color:#0f172a}.description{margin-top:1.5rem;font-size:1.125rem;line-height:1.75rem;color:var(--color-text-secondary);max-width:48rem;margin-left:auto;margin-right:auto}.features-grid{margin-top:4rem;display:grid;grid-template-columns:1fr;gap:3rem 2rem}.feature-item{display:flex;flex-direction:column;align-items:center;text-align:center}.icon-wrapper{display:flex;align-items:center;justify-content:center;height:3rem;width:3rem;border-radius:9999px;background-color:var(--color-primary);color:var(--color-text-light)}.icon{height:1.5rem;width:1.5rem}.feature-title{margin-top:1.25rem;font-size:1.125rem;font-weight:600;line-height:1.5rem;color:#0f172a}.feature-description{margin-top:.5rem;font-size:1rem;line-height:1.75rem;color:var(--color-text-secondary)}@media(min-width:768px){.about-section{padding:6rem 0}.title{font-size:2.25rem;line-height:2.5rem}.features-grid{grid-template-columns:repeat(3,1fr)}}.auth-container{max-width:28rem;margin-left:auto;margin-right:auto;padding:0 1rem}.auth-card{background-color:var(--color-surface);border-radius:.75rem;box-shadow:var(--shadow-xl);padding:2.5rem 2rem}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo-icon{height:3rem;width:3rem;color:var(--color-primary);margin:0 auto 1rem}.auth-title{font-size:1.875rem;font-weight:700;color:var(--color-text-primary)}.auth-subtitle{margin-top:.5rem;color:var(--color-text-secondary)}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form .input-group{width:100%}.auth-form .input-group label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.5rem}.auth-form .input-group input{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:.375rem;box-shadow:var(--shadow-sm);font-size:1rem;background-color:var(--color-surface);color:var(--color-text-primary)}.auth-form .input-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.auth-button{background-color:var(--color-primary);color:#fff;font-weight:600;padding:.75rem;border:none;border-radius:.375rem;cursor:pointer;font-size:1rem;margin-top:.5rem;transition:background-color .15s ease-in-out}.auth-button:hover{background-color:var(--color-primary-dark)}.auth-footer{margin-top:1.5rem;text-align:center;font-size:.875rem;color:var(--color-text-secondary)}.link-button{background:none;border:none;padding:0;font:inherit;color:var(--color-primary);font-weight:600;cursor:pointer;text-decoration:underline}.link-button:hover{color:var(--color-primary-dark)}.account-container{max-width:56rem}.account-header{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:1px solid var(--color-border);padding-bottom:1.5rem;margin-bottom:2rem}.account-title{font-size:2.25rem;font-weight:800;color:var(--color-text-primary)}.account-welcome{color:var(--color-text-secondary);font-size:1.125rem}.logout-button{display:flex;align-items:center;gap:.5rem;background-color:var(--color-surface);color:var(--color-text-secondary);font-weight:600;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:.375rem;cursor:pointer;transition:all .15s ease-in-out}.logout-button:hover{background-color:var(--color-background);color:var(--color-text-primary)}.logout-button svg{width:1.25rem;height:1.25rem}.account-content{display:grid;grid-template-columns:1fr;gap:1.5rem}.account-card{background-color:var(--color-surface);border-radius:.5rem;padding:1.5rem;border:1px solid var(--color-border)}.card-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.card-message{color:var(--color-text-secondary)}@media(min-width:640px){.account-header{flex-direction:row;align-items:center}}.app-container{display:flex;flex-direction:column;min-height:100vh;color:var(--color-text-primary);background-color:var(--color-background)}.main-content{flex-grow:1}.hero{position:relative}.hero-background{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#1e293b80}.hero-content{position:relative;padding-top:5rem;padding-bottom:8rem;color:var(--color-text-light);text-align:center}.hero-title{font-size:2.25rem;line-height:2.5rem;font-weight:800;margin-bottom:1rem;letter-spacing:-.025em}.hero-subtitle{font-size:1.125rem;line-height:1.75rem;color:var(--color-text-on-hero);max-width:48rem;margin-left:auto;margin-right:auto}.search-section{position:relative;margin-top:-4rem;z-index:10;padding:0 1rem}.page-container{padding-top:4rem;padding-bottom:4rem}@media(min-width:768px){.hero-content{padding-top:8rem;padding-bottom:8rem}.hero-title{font-size:3.75rem;line-height:1}.hero-subtitle{font-size:1.25rem}}:root{--color-primary: #16a34a;--color-primary-dark: #15803d;--color-text-primary: #1e293b;--color-text-secondary: #475569;--color-text-light: #f8fafc;--color-text-on-hero: #e2e8f0;--color-background: #f8fafc;--color-surface: #ffffff;--color-border: #cbd5e1;--color-error: #dc2626;--color-error-bg: #fee2e2;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25)}*{box-sizing:border-box;margin:0;padding:0}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{background-color:var(--color-background);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#64748b}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media(min-width:1280px){.container{max-width:1280px}}
