*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{background:none;border:none;cursor:pointer}table{border-collapse:collapse;border-spacing:0}:root{--breakpoint-sm: 480px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--color-primary: #2163f6;--color-primary-dark: #1a50c7;--color-primary-light: #e6f0fa;--color-secondary: #ff6b35;--color-secondary-dark: #e55a2b;--color-secondary-light: #fff0eb;--color-white: #ffffff;--color-surface: #ffffff;--color-page-bg: #ffffff;--color-panel-bg: #f9fafa;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #566378;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-hotel-50: #edf7f2;--color-hotel-100: #d1ebdf;--color-hotel-200: #a3d7bf;--color-hotel-300: #6bbf9a;--color-hotel-600: #2e9568;--color-hotel-700: #257a56;--color-hotel-800: #1c5f43;--color-train-50: #fef6ee;--color-train-100: #fde8d0;--color-train-200: #f9c88e;--color-train-300: #f5a54d;--color-train-600: #e67e22;--color-train-700: #c96b1a;--color-train-800: #a85614;--color-ferry-50: #f0f9ff;--color-ferry-100: #e0f2fe;--color-ferry-200: #bae6fd;--color-ferry-300: #7dd3fc;--color-ferry-600: #0369a1;--color-ferry-700: #0284c7;--color-ferry-800: #01579b;--color-bus-50: #f5eef8;--color-bus-100: #e8d5f0;--color-bus-200: #d0aae0;--color-bus-300: #b87fd1;--color-bus-600: #8e44ad;--color-bus-700: #763891;--color-bus-800: #5e2d74;--color-rental-50: #ecfeff;--color-rental-100: #cffafe;--color-rental-200: #a5f3fc;--color-rental-300: #67e8f9;--color-rental-400: #22d3ee;--color-rental-500: #06b6d4;--color-rental-600: #0891b2;--color-rental-700: #0e7490;--color-rental-800: #155e75;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--color-success-text: #047857;--color-warning-text: #b45309;--color-error-text: #b91c1c;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-family-mono: "SF Mono", "Fira Code", "Fira Mono", Consolas, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--container-max-width: 1200px;--container-padding: var(--spacing-4);--sidebar-width: 240px;--sidebar-collapsed-width: 60px;--sidebar-transition: .25s cubic-bezier(.4, 0, .2, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}@media(min-width:768px){:root{--container-padding: var(--spacing-6)}}html{scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-gray-800);background:var(--color-page-bg)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-gray-900)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}@media(min-width:768px){h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}}a{color:var(--color-primary);transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}p{margin-bottom:var(--spacing-4)}p:last-child{margin-bottom:0}strong,b{font-weight:var(--font-weight-semibold)}em,i{font-style:italic}small{font-size:var(--font-size-sm)}code{font-family:var(--font-family-mono);font-size:.875em;background-color:var(--color-gray-100);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm)}pre{font-family:var(--font-family-mono);font-size:var(--font-size-sm);background-color:var(--color-gray-100);padding:var(--spacing-4);border-radius:var(--radius-md);overflow-x:auto}pre code{background:none;padding:0}ul,ol{padding-left:var(--spacing-6);margin-bottom:var(--spacing-4)}ul{list-style-type:disc}ol{list-style-type:decimal}li{margin-bottom:var(--spacing-2)}li:last-child{margin-bottom:0}hr{border:none;border-top:1px solid var(--color-gray-200);margin:var(--spacing-8) 0}::selection{background-color:var(--color-primary);color:var(--color-white)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}img{height:auto}table{width:100%}th,td{padding:var(--spacing-3) var(--spacing-4);text-align:left;border-bottom:1px solid var(--color-gray-200)}th{font-weight:var(--font-weight-semibold);background-color:var(--color-gray-50)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;min-height:44px;min-width:44px}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-primary-dark);color:var(--color-white)}.btn-secondary{background-color:var(--color-gray-100);color:var(--color-gray-700)}.btn-secondary:hover{background-color:var(--color-gray-200)}.btn-outline{background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover{color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-danger{background-color:var(--color-error);color:var(--color-white)}.btn-danger:hover{background-color:#dc2626;color:var(--color-white)}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-sm{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs);min-height:36px}.btn-lg{padding:var(--spacing-4) var(--spacing-6);font-size:var(--font-size-base);min-height:52px}.card{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.card-body{padding:var(--spacing-5)}@media(min-width:768px){.card-body{padding:var(--spacing-6)}}.card-header{padding:var(--spacing-4) var(--spacing-5);border-bottom:1px solid var(--color-gray-100)}.card-footer{padding:var(--spacing-4) var(--spacing-5);border-top:1px solid var(--color-gray-100);background-color:var(--color-gray-50)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full)}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary)}.badge-success{background-color:#d1fae5;color:var(--color-success-text)}.badge-warning{background-color:#fef3c7;color:var(--color-warning-text)}.badge-error{background-color:#fee2e2;color:var(--color-error-text)}.flight-card{display:block;width:100%;background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:var(--spacing-4)}.flight-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);background-color:var(--color-primary);color:var(--color-white)}.flight-card.past .flight-card-header{background-color:var(--color-gray-400)}.flight-date{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg)}.flight-number-link{display:inline-flex;align-items:center;gap:var(--spacing-2);color:var(--color-white);font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-3);background-color:#ffffff26;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.flight-number-link:hover{background-color:#ffffff40;color:var(--color-white)}.flight-card-body{padding:var(--spacing-6)}.flight-title-section{margin-bottom:var(--spacing-2)}.flight-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900);margin:0;line-height:var(--line-height-tight)}.flight-departure-location{margin-bottom:var(--spacing-6)}.flight-location-link{display:flex;align-items:center;gap:var(--spacing-2);color:var(--color-gray-600);transition:color var(--transition-fast);font-size:var(--font-size-sm)}.flight-location-link:hover{color:var(--color-primary)}.flight-location-link svg{flex-shrink:0;color:var(--color-gray-500);transition:color var(--transition-fast)}.flight-location-link:hover svg{color:var(--color-primary)}.flight-route{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-2)}.flight-endpoint{flex:0 0 auto;text-align:center;min-width:60px}.flight-endpoint:first-child{text-align:left}.flight-endpoint:last-child{text-align:right}.flight-airport-code-lg{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--color-gray-900);letter-spacing:.05em;line-height:1}.flight-time-sm{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm);color:var(--color-gray-500);margin-top:var(--spacing-2)}.flight-endpoint:first-child .flight-time-sm{justify-content:flex-start}.flight-endpoint:last-child .flight-time-sm{justify-content:flex-end}.flight-time-icon-sm{font-size:16px;color:var(--color-gray-500)}.flight-next-day{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.flight-terminal{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:var(--spacing-1)}.flight-arc{flex:0 0 160px;display:flex;flex-direction:column;align-items:center}.flight-arc-line{position:relative;width:160px}.flight-arc-img{width:160px;height:auto;display:block}.flight-arc-plane{position:absolute;right:-4px;bottom:-9px;width:26px;height:26px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #00000026;z-index:1}.flight-arc-plane svg{transform:rotate(120deg)}.flight-duration{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:2px}.flight-time{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900)}.flight-time-icon{font-size:20px;color:var(--color-gray-900)}.flight-airport{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-top:var(--spacing-1)}.flight-airport-code{font-weight:var(--font-weight-semibold);color:var(--color-gray-700)}.flight-arrow{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1);color:var(--color-gray-500);flex-shrink:0}.flight-arrow-line{display:flex;align-items:center;justify-content:center}.flight-arrow-svg{width:80px;height:12px}.flight-info{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:var(--spacing-1);white-space:nowrap}.flight-track-btn{display:inline-flex;align-items:center;gap:var(--spacing-2);color:var(--color-white);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);padding:var(--spacing-2) var(--spacing-3);background-color:#ffffff26;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.flight-track-btn:hover{background-color:#ffffff40;color:var(--color-white)}.flight-airline{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-gray-600)}.flight-details{background-color:var(--color-white);max-height:0;overflow:hidden;opacity:0;padding:0 var(--spacing-4);transition:max-height .3s ease,opacity .25s ease,padding .3s ease}.flight-details.active{max-height:2000px;opacity:1;padding:var(--spacing-4)}.flight-details-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-3)}@media(max-width:480px){.flight-details-grid{grid-template-columns:1fr}}@media(min-width:480px){.flight-details-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.flight-details-grid{grid-template-columns:repeat(3,1fr)}}.flight-detail-item{display:flex;flex-direction:column;gap:var(--spacing-1)}.flight-detail-label{font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}.flight-detail-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-800)}.flight-detail-value-wrapper{display:flex;align-items:center;gap:var(--spacing-2)}.btn-copy-value{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-1);color:var(--color-gray-500);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-copy-value:hover{color:var(--color-primary);background-color:var(--color-gray-100)}.btn-copy-value.copied{color:var(--color-primary)}.flight-section-header{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-3)}.flight-section-header .flight-detail-label{font-weight:var(--font-weight-semibold)}.flight-section-icon{font-size:20px;color:var(--color-gray-500)}.flight-passengers-section{margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--color-gray-100)}.flight-passengers-section>.flight-section-header{margin-bottom:var(--spacing-3)}.flight-passengers-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.flight-passenger-item{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-3);background-color:var(--color-gray-100);border-radius:var(--radius-md);border:1px solid var(--color-gray-200)}.flight-passenger-info{display:flex;align-items:center;gap:var(--spacing-2);min-width:0;flex:1 1 auto}.flight-passenger-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-800);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flight-passenger-type{font-size:var(--font-size-xs);color:var(--color-gray-500);padding:var(--spacing-1) var(--spacing-2);background-color:var(--color-gray-200);border-radius:var(--radius-sm);flex-shrink:0}.flight-passenger-type:empty{display:none}.flight-passenger-ticket-row{display:flex;align-items:center;gap:var(--spacing-2)}.flight-passenger-ticket-label{font-size:var(--font-size-xs);color:var(--color-gray-500)}.flight-passenger-ticket{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-gray-700)}.btn-download-pdf-inline{align-self:flex-start;width:auto;margin-top:var(--spacing-1);padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs)}.flight-passenger-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2)}.flight-passenger-actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.btn-download-pdf-small{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease;background-color:var(--color-primary);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.btn-download-pdf-small:hover{background-color:var(--color-primary-dark)}.btn-download-pdf-small svg{flex-shrink:0}.btn-upload-pdf-small{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);border:1.5px dashed var(--color-gray-400);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;background-color:transparent;color:var(--color-gray-500);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.btn-upload-pdf-small:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-gray-50, #f9fafb)}.btn-upload-pdf-small svg{flex-shrink:0}.btn-icon-glass{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background-color:#ffffff26;border:1.5px solid rgba(255,255,255,.35);border-radius:9999px;color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 12px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;padding:0}.btn-icon-glass:hover{background-color:#fff;border-color:#fff;color:var(--color-primary)}.btn-icon-glass:active{transform:scale(.95)}.btn-icon-glass:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-icon-glass svg{width:20px;height:20px;stroke-width:2}.btn-delete-passenger{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:var(--spacing-1);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease,opacity .15s ease;background-color:var(--color-error);color:#fff}.btn-delete-passenger:hover{opacity:.85}.btn-pax-icon{position:relative;width:32px;height:32px;min-width:32px;padding:0;justify-content:center;gap:0;flex-shrink:0}.btn-pax-icon:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.btn-pax-icon.is-busy{opacity:.5;pointer-events:none}.passenger-menu-wrapper{display:none;position:relative}.btn-passenger-menu{display:flex;align-items:center;justify-content:center;min-width:32px;width:32px;height:32px;padding:var(--spacing-1);border:none;border-radius:var(--radius-sm);cursor:pointer;background:none;color:var(--color-gray-500);transition:background-color .15s ease}.btn-passenger-menu:hover{background-color:var(--color-gray-200)}.passenger-menu-dropdown{position:absolute;top:100%;right:0;min-width:180px;background-color:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--color-gray-200);z-index:50;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--transition-fast)}.passenger-menu-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}.passenger-menu-item{display:flex;align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-3) var(--spacing-4);border:none;background:none;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-gray-700);transition:background-color .15s ease}.passenger-menu-item:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.passenger-menu-item:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.passenger-menu-item:only-child{border-radius:var(--radius-md)}.passenger-menu-item:hover{background-color:var(--color-gray-50)}.passenger-menu-item svg{flex-shrink:0;color:var(--color-gray-500)}.passenger-menu-divider{height:1px;background-color:var(--color-gray-200);margin:var(--spacing-1) 0}.passenger-menu-item--danger{color:var(--color-error-text)}.passenger-menu-item--danger svg{color:var(--color-error-text)}.passenger-menu-item--danger:hover{background-color:#ef44441a}@media(max-width:768px){.flight-passenger-actions{display:none!important}.passenger-menu-wrapper{display:block!important}}@media(max-width:480px){.flight-card-body{padding:var(--spacing-4)}.flight-title{font-size:var(--font-size-xl)}.flight-airport-code-lg{font-size:1.5rem}.flight-arc{min-width:60px}.flight-arc-plane{width:26px;height:26px}.flight-arc-plane svg{width:16px;height:16px}}.flight-passenger-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-2);margin-top:var(--spacing-2);padding-top:var(--spacing-2);border-top:1px solid var(--color-gray-200)}@media(max-width:768px){.flight-passenger-details{grid-template-columns:1fr}}.flight-passenger-detail{display:flex;flex-direction:column;gap:2px}.flight-passenger-detail-label{font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}.flight-passenger-detail-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-800)}.flight-passenger-detail-value-wrapper{display:flex;align-items:center;gap:var(--spacing-1)}.btn-copy-small{padding:2px}.btn-copy-small svg{width:12px;height:12px}.flight-toggle-details{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background-color:transparent;border:none;cursor:pointer;transition:background-color var(--transition-fast)}.flight-toggle-details:hover span{text-decoration:underline}.flight-toggle-details:hover{background-color:transparent}.flight-toggle-details svg{transition:transform var(--transition-fast)}.flight-toggle-details.active svg{transform:rotate(180deg)}.btn-download-pdf{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;margin-top:var(--spacing-4);padding:var(--spacing-3);color:var(--color-white);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background-color:var(--color-primary, #2163f6);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn-download-pdf:hover{background-color:var(--color-primary-dark);color:var(--color-white)}.btn-download-pdf:disabled{opacity:.6;cursor:not-allowed}.btn-download-pdf svg{flex-shrink:0}.btn-delete-item{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;margin-top:var(--spacing-3);padding:var(--spacing-3);color:var(--color-danger, #dc2626);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background-color:transparent;border:1px solid var(--color-danger, #dc2626);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn-delete-item:hover{background-color:var(--color-danger, #dc2626);color:var(--color-white)}.btn-delete-item svg{flex-shrink:0}.btn-edit-item{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;margin-top:var(--spacing-3);padding:var(--spacing-3);color:var(--color-primary, #2163f6);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background-color:transparent;border:1px solid var(--color-primary, #2163f6);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.btn-edit-item:hover{background-color:var(--color-primary, #2163f6);color:var(--color-white)}.btn-edit-item svg{flex-shrink:0}.flight-detail-actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-3)}.flight-detail-actions--3{display:grid;grid-template-columns:repeat(3,1fr)}.flight-detail-actions .btn-edit-item,.flight-detail-actions .btn-delete-item{flex:1;margin-top:0;width:auto}.flight-detail-actions .flight-detail-pdf-btn{margin-top:0;width:auto}@media(max-width:768px){.flight-detail-actions,.flight-detail-actions--3{grid-template-columns:1fr;flex-direction:column}}.trip-page{background:var(--color-page-bg);min-height:100vh}.header.header--trip{position:relative;background-color:var(--color-page-bg);border-bottom:none}@media(max-width:767px){.header.header--trip{position:sticky;top:0;z-index:60;padding-top:var(--safe-top);background-color:var(--color-page-bg)}}.header-inner.header-inner--trip{display:flex;align-items:center;justify-content:space-between;height:64px}.header-inner.header-inner--trip .header-logo-img{height:30px}.header-inner.header-inner--trip>:last-child{margin-left:auto}.trip-header-left{display:flex;align-items:center;gap:0}.trip-header-hamburger{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:var(--color-gray-600);cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast);padding:0;-webkit-tap-highlight-color:transparent}.trip-header-hamburger:hover{background:var(--color-gray-200)}@media(min-width:768px){body.has-sidebar .trip-header-hamburger{display:none}}.trip-back-link{display:flex;align-items:center;gap:var(--spacing-2);color:var(--color-gray-600);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-lg);transition:background var(--transition-fast),color var(--transition-fast)}.trip-back-link:hover{background-color:var(--color-gray-200);color:var(--color-gray-900)}.trip-back-link svg{flex-shrink:0}.trip-header-spacer{display:flex;align-items:center;justify-content:flex-end}.trip-header-spacer .section-menu-btn{width:40px;height:40px;background:none;color:var(--color-gray-600)}.trip-header-spacer .section-menu-btn:hover{background-color:var(--color-gray-200);color:var(--color-gray-900)}.trip-header-spacer .section-dropdown{right:0;left:auto}.trip-page-content{flex:1;position:relative}.trip-page-main{display:flex;flex-direction:column;min-height:0}.trip-page-content:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#0000;pointer-events:none;transition:background .3s cubic-bezier(.4,0,.2,1);z-index:110}.trip-page-content.at-activity:after,.modal-page-slider.at-activity:after{background:#0009;pointer-events:auto}.panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:111;background:transparent;cursor:pointer}.modal-page--activity{position:fixed;top:1.5rem;right:1.5rem;bottom:1.5rem;width:420px;max-width:calc(100% - 3rem);display:flex;flex-direction:column;overflow:hidden;transform:translate(calc(100% + 1.5rem));transition:transform .3s cubic-bezier(.4,0,.2,1);background:var(--color-white);box-shadow:0 8px 32px #0000001f;border-radius:1rem;z-index:120}.trip-page-content.at-activity .modal-page--activity,.modal-page-slider.at-activity .modal-page--activity{transform:translate(0)}@media(max-width:768px){.modal-page--activity{width:100%;max-width:100%;top:0;right:0;bottom:0;border-radius:0}}.activity-panel-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:none;border-radius:50%;cursor:pointer;color:var(--color-gray-500);transition:color var(--transition-fast),background var(--transition-fast)}.activity-panel-close:hover{color:var(--color-gray-900);background:var(--color-gray-100)}.trip-page-main>main>.container,.modal-page--main>main>.container{max-width:none;width:100%;padding-left:max(var(--container-padding),calc((100% - var(--container-max-width)) / 2 + var(--container-padding)));padding-right:max(var(--container-padding),calc((100% - var(--container-max-width)) / 2 + var(--container-padding)))}.trip-hero{position:relative;background-color:var(--color-primary-dark);background-size:cover;background-position:center;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;margin:0 auto;margin-bottom:var(--spacing-10);border-radius:var(--radius-xl);max-width:var(--container-max-width);width:calc(100% - var(--container-padding) * 2);transition:background-color .4s ease}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-filter,.skeleton-day-badge,.skeleton-day-label,.skeleton-card-icon,.skeleton-line,.skeleton-card-toggle-bar,.trip-card-skeleton-header:before,.trip-card-skeleton-header:after,.trip-card-skeleton-image,.trip-card-skeleton-line{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:400px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.trip-hero.is-loading{background-color:transparent}.trip-hero.is-loading .trip-hero-title:after{content:"";display:inline-block;width:min(220px,60%);height:37px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:400px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;vertical-align:middle}@media(max-width:640px){.trip-hero.is-loading .trip-hero-title:after{height:28px}}.trip-hero.is-loading .trip-hero-meta{color:transparent}.trip-hero.is-loading .trip-hero-meta:after{content:"";display:inline-block;width:160px;height:20px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:400px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.trip-hero.is-loading .trip-hero-tabs{visibility:hidden;min-height:40px}.skeleton-days{--skel-rail: 40px;--skel-line: 20px;--skel-icon: 40px;display:flex;flex-direction:column}.skeleton-filter{align-self:flex-end;width:76px;height:36px;margin-bottom:var(--spacing-2);border-radius:var(--radius-sm)}.skeleton-day{position:relative;margin-bottom:var(--spacing-6)}.skeleton-day:last-child{margin-bottom:0}.skeleton-day-heading{display:flex;align-items:center;gap:var(--spacing-3);min-height:var(--skel-rail);margin-bottom:var(--spacing-4)}.skeleton-day-badge{flex-shrink:0;width:var(--skel-rail);height:var(--skel-rail);border-radius:50%}.skeleton-day-label{width:150px;height:12px;border-radius:var(--radius-sm)}.skeleton-day-cards{position:relative;padding-left:var(--skel-rail)}.skeleton-day-cards:before{content:"";position:absolute;left:calc(var(--skel-line) - 1px);top:calc(-1 * var(--spacing-3));bottom:0;width:2px;background:var(--color-gray-200)}.skeleton-card{position:relative;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-4);margin-bottom:var(--spacing-3)}.skeleton-card:last-child{margin-bottom:0}.skeleton-card:before{content:"";position:absolute;left:calc(var(--skel-line) - var(--skel-rail) - 5.5px - 1px);top:calc(var(--spacing-4) + var(--skel-icon) / 2 - 5.5px);width:11px;height:11px;border-radius:50%;background:var(--color-gray-200);box-shadow:0 0 0 3px var(--color-white)}.skeleton-card-top{display:flex;align-items:flex-start;gap:var(--spacing-3)}.skeleton-card-icon{flex-shrink:0;width:var(--skel-icon);height:var(--skel-icon);border-radius:var(--radius-md)}.skeleton-card-lines{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-2);padding-top:3px}.skeleton-line{height:12px;border-radius:var(--radius-sm)}.skeleton-line--title{width:min(280px,70%);height:14px}.skeleton-line--meta{width:min(200px,52%)}.skeleton-line--short{width:min(150px,42%)}.skeleton-card-toggle{margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:1px solid var(--color-gray-100)}.skeleton-card-toggle-bar{width:108px;height:12px;border-radius:var(--radius-sm)}.skeleton-days--plain .skeleton-filter,.skeleton-days--plain .skeleton-day-cards:before,.skeleton-days--plain .skeleton-card:before{display:none}.skeleton-days--plain .skeleton-day-cards{padding-left:0}.trips-skeleton{margin-top:var(--spacing-4)}.trip-card-skeleton-header{width:180px;margin-bottom:var(--spacing-6)}.trip-card-skeleton-header:before{content:"";display:block;width:180px;height:30px;border-radius:var(--radius-md)}.trip-card-skeleton-header:after{content:"";display:block;width:120px;height:16px;margin-top:6px;border-radius:var(--radius-sm)}.trip-card-skeleton{border-radius:var(--radius-lg);overflow:hidden;background:var(--color-white);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm)}.trip-card-skeleton-image{width:100%;height:192px}.trip-card-skeleton-content{display:flex;align-items:center;min-height:63px;padding:var(--spacing-4);box-sizing:border-box}.trip-card-skeleton-line{width:60%;height:14px;border-radius:var(--radius-sm)}@media(max-width:767px){.skeleton-day-cards{padding-left:0}.skeleton-day-cards:before,.skeleton-card:before{display:none}.skeleton-day-label{width:120px}}.trip-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;pointer-events:none;border-radius:inherit}.trip-hero-content{position:relative;z-index:1;padding:var(--spacing-6);flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.trip-hero-title{color:var(--color-white);font-size:3rem;line-height:1;font-weight:700;margin-bottom:var(--spacing-3);filter:drop-shadow(0 25px 25px rgb(0 0 0 / .15));display:flex;align-items:center;justify-content:center;gap:var(--spacing-3)}.trip-title-edit-btn{background:none;border:none;color:var(--color-white);opacity:.6;cursor:pointer;padding:var(--spacing-1);display:inline-flex;align-items:center;transition:opacity var(--transition-fast);flex-shrink:0}.trip-title-edit-btn:hover{opacity:1}.trip-hero-meta{display:flex;align-items:center;gap:var(--spacing-2);color:#fffffff2;font-size:1.125rem;line-height:1.75rem;font-weight:500;filter:drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1))}.trip-hero-tabs{position:absolute;bottom:0;left:50%;transform:translate(-50%,50%);z-index:2;max-width:100%}.trip-hero-tabs .segmented-control{display:flex;background-color:var(--color-white);box-shadow:var(--shadow-lg);border-radius:var(--radius-xl);padding:var(--spacing-2);align-items:center;max-width:100%;overflow-x:auto;scrollbar-width:none}.trip-hero-tabs .segmented-control::-webkit-scrollbar{display:none}.trip-hero-tabs .segmented-control-btn{flex:0 0 auto;padding:var(--spacing-3) var(--spacing-6);min-height:48px}.trip-hero-tabs .segmented-control-btn.active{color:var(--color-primary)}.trip-hero-tabs .segmented-control-btn[data-tab=hotels].active{color:var(--color-hotel-600)}.trip-hero-tabs .segmented-control-btn[data-tab=trains].active{color:var(--color-train-600)}.trip-hero-tabs .segmented-control-btn[data-tab=buses].active{color:var(--color-bus-600)}.trip-hero-tabs .segmented-control-btn[data-tab=ferries].active{color:var(--color-ferry-600)}.trip-hero-tabs .segmented-control-btn[data-tab=rentals].active{color:var(--color-rental-600)}.trip-hero-tabs .segmented-control-btn[data-tab=expenses].active{color:var(--color-train-700)}.trip-hero-tabs .segmented-indicator{background-color:var(--color-gray-100);left:var(--spacing-2);top:var(--spacing-2);height:calc(100% - var(--spacing-2) * 2)}.trip-hero-tabs .section-menu{display:flex;align-items:center}.trip-hero-tabs .section-menu-btn{width:40px;height:40px;background-color:transparent;border-radius:var(--radius-lg)}.trip-hero-tabs .section-menu-btn:hover{background-color:var(--color-gray-100)}.trip-hero-tabs .section-dropdown{z-index:100}@media(max-width:480px){.header-inner.header-inner--trip .header-logo-img{height:30px}.trip-hero{min-height:200px}.trip-hero-content{padding:var(--spacing-12) var(--spacing-4) var(--spacing-10)}.trip-hero-title{font-size:2.25rem}.trip-hero-tabs .segmented-control-btn{flex:0 0 auto;padding:var(--spacing-3) var(--spacing-4);min-height:44px;font-size:var(--font-size-xs)}.trip-hero-tabs .segmented-control--compact .segmented-control-btn svg,.trip-hero-tabs .segmented-control--compact .segmented-control-btn .material-symbols-outlined{display:none}.trip-hero-tabs .segmented-control--compact .segmented-control-btn .beta-badge-tab{display:none}}.lang-selector{position:relative}.lang-selector-btn{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-gray-700);background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);min-height:44px}.lang-selector-btn:hover{border-color:var(--color-gray-300);background-color:var(--color-gray-50)}.lang-dropdown{position:absolute;top:100%;right:0;margin-top:var(--spacing-1);min-width:120px;background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--transition-fast);z-index:100}.lang-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}.lang-dropdown-up{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--spacing-1);transform:translateY(8px)}.lang-dropdown-up.active{transform:translateY(0)}.lang-option{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-gray-700);background:none;border:none;cursor:pointer;transition:background-color var(--transition-fast)}.lang-option:hover{background-color:var(--color-gray-50)}.lang-option.active{background-color:var(--color-primary-light);color:var(--color-primary)}.form-group{margin-bottom:var(--spacing-4)}.form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-700);margin-bottom:var(--spacing-2)}.form-input{width:100%;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background-color:var(--color-white);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input::placeholder{color:var(--color-gray-500)}.char-counter{display:flex;justify-content:flex-end;font-size:var(--font-size-sm);color:var(--color-gray-500);margin-top:var(--spacing-1)}.char-counter.over-limit{color:var(--color-danger, #e53e3e)}.char-limit-msg{display:none;margin-right:auto}.char-counter.over-limit .char-limit-msg{display:inline}.form-input.input-error{border-color:var(--color-danger, #e53e3e)}.form-input.input-error:focus{box-shadow:0 0 0 3px #e53e3e26}input[type=date].form-input,input[type=time].form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0}.empty-state{text-align:center;padding:var(--spacing-12) var(--spacing-4)}.empty-state-icon{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-4);color:var(--color-gray-500);display:flex;justify-content:center}.empty-state-icon svg{width:64px;height:64px}.empty-state-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2)}.empty-state-text{color:var(--color-gray-500);margin-bottom:var(--spacing-6)}.empty-state-cta{margin-top:var(--spacing-4)}.share-error-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:center;margin-top:var(--spacing-2)}.spinner{display:inline-block;width:24px;height:24px;border:2px solid var(--color-gray-200);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.skeleton-filter,.skeleton-day-badge,.skeleton-day-label,.skeleton-card-icon,.skeleton-line,.skeleton-card-toggle-bar,.trip-card-skeleton-header:before,.trip-card-skeleton-header:after,.trip-card-skeleton-image,.trip-card-skeleton-line,.trip-hero.is-loading .trip-hero-title:after,.trip-hero.is-loading .trip-hero-meta:after{animation:none;background:var(--color-gray-200)}.spinner{animation-duration:3.5s}}.home-main{background:var(--color-page-bg)}.home-container{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding:32px 16px}@media(min-width:768px){.home-container{padding:48px 24px}}@media(max-width:767px){.home-main{padding-top:0}.home-container{padding-top:var(--spacing-6)}}.home-section{margin-bottom:64px}.home-section .grid{gap:24px}.home-section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.home-section-header-row .home-section-header{margin-bottom:0}.home-section-new-trip-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:inherit;cursor:pointer;transition:background .15s,transform .15s;white-space:nowrap;flex-shrink:0}.home-section-new-trip-btn:hover{background:var(--color-primary-dark, #1a4fd4);transform:translateY(-1px)}.home-section-new-trip-btn svg{width:18px;height:18px}@media(max-width:480px){.home-section-new-trip-btn span{display:none}.home-section-new-trip-btn{padding:8px;border-radius:9999px}}.home-section-header{margin-bottom:24px}.home-section-title{font-size:30px;font-weight:700;color:var(--color-gray-900);line-height:1.2;margin:0}.home-section-subtitle{font-size:14px;color:var(--color-gray-600);margin:0}.current-trip-block{display:block}.current-trip-hero{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2) var(--spacing-3);margin-bottom:var(--spacing-4)}.current-trip-title{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1.25;color:var(--color-gray-900)}.current-trip-dates{margin:calc(-1 * var(--spacing-3)) 0 var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-gray-600)}.current-trip-chip{display:inline-flex;align-items:center;flex-shrink:0;padding:2px var(--spacing-2);border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-white);font-size:11px;font-weight:var(--font-weight-semibold);letter-spacing:.02em;line-height:1.5;white-space:nowrap;box-shadow:0 0 0 3px #2163f629,0 1px 8px #2163f661;animation:current-trip-chip-glow 2.8s ease-in-out infinite}@keyframes current-trip-chip-glow{0%,to{box-shadow:0 0 0 2px #2163f624,0 1px 6px #2163f652}50%{box-shadow:0 0 0 4px #2163f633,0 1px 12px #2163f67a}}@media(prefers-reduced-motion:reduce){.current-trip-chip{animation:none}}.current-trip-day{margin-bottom:var(--spacing-5)}.current-trip-day .itinerary-feed{max-width:none;margin:0}.current-trip-day .itin-day{margin-bottom:0}.current-trip-empty{flex:1 1 100%;display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-5);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-sm)}.current-trip-empty-text{margin:0;font-size:var(--font-size-sm);color:var(--color-gray-600)}.itin-day-action{display:inline-flex;align-items:center;gap:var(--spacing-1);flex-shrink:0;margin-left:auto;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;white-space:nowrap;transition:color var(--transition-fast)}.itin-day-action:hover,.itin-day-action:focus-visible{color:var(--color-primary-dark);text-decoration:underline}.itin-card--compatta .itin-card-cta{min-height:0;padding:0;border:none;background:none;color:var(--color-primary);font-weight:var(--font-weight-medium)}.itin-card--compatta .itin-card-cta:hover,.itin-card--compatta .itin-card-cta:focus-visible{background:none;color:var(--color-primary-dark);text-decoration:underline}.itin-card--compatta .itin-card-cta-label{display:inline}.current-trip-day .itin-day--griglia>.itin-day-action{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);margin-top:var(--spacing-4);padding:var(--spacing-4);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-white);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);transition:background-color var(--transition-fast)}.current-trip-day .itin-day--griglia>.itin-day-action:hover,.current-trip-day .itin-day--griglia>.itin-day-action:focus-visible{background:var(--color-primary-dark);color:var(--color-white);text-decoration:none}@media(min-width:768px){.current-trip-day .itin-day--griglia>.itin-day-action{position:absolute;top:0;right:0;margin-top:0;padding:0;border-radius:0;background:none;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);height:var(--itin-rail)}.current-trip-day .itin-day--griglia>.itin-day-action:hover,.current-trip-day .itin-day--griglia>.itin-day-action:focus-visible{background:none;color:var(--color-primary-dark);text-decoration:underline}}@media(max-width:480px){.current-trip-title{font-size:var(--font-size-xl)}.current-trip-empty{padding:var(--spacing-4)}}.trip-card{display:block;background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-200);overflow:hidden;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)}.trip-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-gray-300)}@media(prefers-reduced-motion:reduce){.trip-card,.trip-card:hover,.trip-card-arrow,.trip-card:hover .trip-card-arrow{transform:none;transition:none}}.trip-card-image{position:relative;height:192px;background-color:var(--color-gray-300);background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:12px;overflow:hidden}.trip-card-image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.6) 0%,rgba(0,0,0,.2) 40%,transparent 70%);pointer-events:none}.trip-card-overlay{position:relative;z-index:1;display:flex;flex-direction:column;gap:2px}.trip-card-destination{color:var(--color-white);font-size:24px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3);line-height:1.2;margin:0}.trip-card-cities{display:flex;align-items:center;gap:4px;color:#ffffffe6;font-size:12px;font-weight:400;text-shadow:0 1px 3px rgba(0,0,0,.4);line-height:1.3;margin-top:2px}.trip-card-cities svg{flex-shrink:0;stroke:#ffffffe6}.trip-card-content{display:flex;align-items:center;justify-content:space-between;padding:20px}@media(max-width:480px){.trip-card-content{justify-content:space-between}}.trip-card-info{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-gray-900)}.trip-card-calendar-icon{color:var(--color-gray-900);flex-shrink:0}.trip-card-dates{font-size:14px;color:var(--color-gray-900)}.trip-card-dot{color:var(--color-gray-300)}.trip-card-duration{font-weight:500;color:var(--color-gray-700)}.trip-card-arrow{color:var(--color-gray-400);flex-shrink:0;transition:color var(--transition-fast),transform var(--transition-fast)}.trip-card:hover .trip-card-arrow{color:var(--color-primary);transform:translate(4px)}.trip-card-wrapper{position:relative}.trip-card-menu{position:absolute;top:16px;right:16px;z-index:10}.trip-card-menu-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:#ffffffe6;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.trip-card-menu-btn:hover{background-color:var(--color-white);box-shadow:var(--shadow-md)}.trip-card-menu-btn svg{color:var(--color-gray-600)}.trip-card-dropdown{position:absolute;top:100%;right:0;margin-top:var(--spacing-1);min-width:160px;background-color:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--transition-fast)}.trip-card-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}.trip-card-dropdown-item{display:flex;align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-3) var(--spacing-4);background:none;border:none;font-size:var(--font-size-sm);color:var(--color-gray-700);cursor:pointer;transition:background-color var(--transition-fast);text-align:left}.trip-card-dropdown-item:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.trip-card-dropdown-item:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.trip-card-dropdown-item:hover{background-color:var(--color-gray-50)}.trip-card-dropdown-item svg{flex-shrink:0;color:var(--color-gray-500)}.trip-card-dropdown-item--danger{color:var(--color-error-text)}.trip-card-dropdown-item--danger svg{color:var(--color-error-text)}.trip-card-dropdown-item--danger:hover{background-color:#ef44441a}.past-trips-section{margin-top:0;padding-top:0;border-top:none}.trip-card--past{opacity:.85}.trip-card--past:hover{opacity:1}.trip-card--past .trip-card-image{filter:grayscale(100%)}.trip-card--past:hover .trip-card-image{filter:grayscale(50%)}.past-trips-load-more{text-align:center;margin-top:24px}.trip-section-header{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-4)}.section-menu{position:relative}.section-menu-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background-color:var(--color-gray-100);border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.section-menu-btn:hover{background-color:var(--color-gray-200)}.section-menu-btn svg{color:var(--color-gray-600)}.section-dropdown{position:absolute;top:100%;right:0;margin-top:var(--spacing-1);min-width:180px;background-color:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--transition-fast);z-index:100}.section-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}.section-dropdown-item{display:flex;align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-3) var(--spacing-4);background:none;border:none;font-size:var(--font-size-sm);color:var(--color-gray-700);cursor:pointer;transition:background-color var(--transition-fast);text-align:left}.section-dropdown-item:hover{background-color:var(--color-gray-50)}.section-dropdown-item svg{flex-shrink:0}.section-dropdown-item--danger{color:var(--color-error-text)}.section-dropdown-item--danger svg{color:var(--color-error-text)}.section-dropdown-item--danger:hover{background-color:#ef44441a}.section-dropdown-divider{height:1px;background-color:var(--color-gray-200);margin:var(--spacing-1) 0}.section-dropdown-info{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-gray-500);cursor:default}.section-dropdown-info svg{flex-shrink:0;margin-top:2px}.section-dropdown-info-text{display:flex;flex-direction:column;gap:2px;min-width:0}.section-dropdown-info .trip-role-line{font-weight:var(--font-weight-semibold);color:var(--color-gray-700)}.section-dropdown-info .trip-owner-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segmented-control{display:inline-flex;position:relative;background-color:var(--color-gray-100);border-radius:var(--radius-lg);padding:var(--spacing-1);gap:var(--spacing-1)}.segmented-indicator{position:absolute;top:var(--spacing-1);left:var(--spacing-1);height:calc(100% - var(--spacing-1) * 2);width:0;opacity:0;background-color:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:0}.segmented-control-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-600);background-color:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast);min-height:44px;position:relative;z-index:1}.segmented-control-btn:hover:not(.active){color:var(--color-gray-800);background-color:#0000000f}.segmented-control-btn.active{color:var(--color-primary)}.segmented-control-btn[data-tab=activities].active{color:var(--color-gray-800)}.segmented-control-btn[data-tab=hotels].active{color:var(--color-hotel-600)}.segmented-control-btn[data-tab=trains].active{color:var(--color-train-600)}.segmented-control-btn[data-tab=buses].active{color:var(--color-bus-600)}.segmented-control-btn[data-tab=ferries].active{color:var(--color-ferry-600)}.segmented-control-btn[data-tab=rentals].active{color:var(--color-rental-600)}.segmented-control-btn[data-tab=expenses].active{color:var(--color-train-700)}.delete-mode-control .segmented-control-btn.active{background-color:var(--color-white);box-shadow:var(--shadow-sm)}.segmented-control-btn svg{width:18px;height:18px;flex-shrink:0;pointer-events:none}.segmented-control-btn svg *{pointer-events:none}.flight-toggle-details svg *,.hotel-toggle-details svg *,.train-toggle-details svg *,.bus-toggle-details svg *,.ferry-toggle-details svg *,.rental-toggle-details svg *{pointer-events:none}.flight-toggle-details,.hotel-toggle-details,.train-toggle-details,.bus-toggle-details,.ferry-toggle-details,.rental-toggle-details{min-height:44px}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-latin-CMLeEau1.woff2) format("woff2")}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/material-symbols-outlined-aqDUPpok.woff2) format("woff2")}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}
