*,*: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: 576px;--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-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-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--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)}@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:linear-gradient(to bottom right,#f8fafc,#eff6ff,#eef2ff) fixed}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-danger{background-color:var(--color-error);color:var(--color-white)}.btn-danger:hover{background-color:#dc2626;color:var(--color-white)}.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)}.badge-warning{background-color:#fef3c7;color:var(--color-warning)}.badge-error{background-color:#fee2e2;color:var(--color-error)}.flight-card{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-400);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(min-width:576px){.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-400);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-success, #22c55e)}.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)}.flight-passenger-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-800)}.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)}.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-1)}.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-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}.passenger-menu-wrapper{display:none;position:relative}.btn-passenger-menu{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;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)}.passenger-menu-item--danger svg{color:var(--color-error)}.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)}.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);box-shadow:0 4px 6px -1px #93c5fd66,0 2px 4px -2px #93c5fd66}.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 .btn-edit-item,.flight-detail-actions .btn-delete-item{flex:1;margin-top:0;width:auto}.today-section{margin-bottom:var(--spacing-4)}.today-section:empty,.today-section:has(#today-container:empty){margin-bottom:0}.today-date{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-800);margin-bottom:var(--spacing-3)}.today-no-flight{color:var(--color-gray-500);font-style:italic;padding:var(--spacing-3);background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);width:100%}.today-flight-card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;width:100%;display:flex;flex-direction:column}.today-flight-header{background:var(--color-primary);color:var(--color-white);padding:var(--spacing-3);display:flex;justify-content:space-between;align-items:center;min-height:52px}.today-flight-departure{display:flex;align-items:center;gap:var(--spacing-2)}.today-flight-icon{color:var(--color-white);font-size:20px}.today-flight-time{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-white);line-height:1}.today-flight-main{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);flex:1}.today-flight-location{flex:1;min-width:0}.today-flight-city{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-flight-airport{display:block;font-size:var(--font-size-xs);color:var(--color-gray-500)}.today-flight-terminal{text-align:center;padding:0 var(--spacing-2);border-left:1px solid var(--color-gray-200)}.today-flight-label{display:block;font-size:10px;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}.today-flight-value{display:block;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-gray-800)}.today-flight-number{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);background:#ffffff26;color:var(--color-white);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:background-color var(--transition-fast)}.today-flight-number:hover{background:#ffffff40;color:var(--color-white)}.today-flight-number svg{width:12px;height:12px}.today-flight-secondary{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--color-gray-50);border-top:1px solid var(--color-gray-100);color:var(--color-gray-500);font-size:var(--font-size-xs);min-height:36px}.today-flight-landing-icon{color:var(--color-gray-500);font-size:12px}.today-flight-dest{color:var(--color-gray-600)}.today-flight-arr-time{color:var(--color-gray-500)}.today-flight-details-link{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2) var(--spacing-3);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-decoration:none;text-align:center;border-top:1px solid var(--color-gray-100);min-height:36px}.today-flight-details-link:hover{text-decoration:underline;color:var(--color-primary)}.today-cards{display:grid;gap:var(--spacing-4);grid-template-columns:1fr}@media(min-width:768px){.today-cards{grid-template-columns:repeat(2,1fr)}}@media(min-width:992px){.today-cards{grid-template-columns:repeat(3,1fr)}}.today-hotel-card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;width:100%;display:flex;flex-direction:column}.today-hotel-header{background:var(--color-success);color:var(--color-white);padding:var(--spacing-3);display:flex;justify-content:space-between;align-items:center;min-height:52px}.today-hotel-status{display:flex;align-items:center;gap:var(--spacing-2)}.today-hotel-icon{color:var(--color-white);font-size:20px}.today-hotel-time{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-white);line-height:1}.today-hotel-confirmation{font-size:var(--font-size-xs);opacity:.9}.today-hotel-main{padding:var(--spacing-3);flex:1}.today-hotel-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-gray-800);margin-bottom:var(--spacing-1)}.today-hotel-city{font-size:var(--font-size-sm);color:var(--color-gray-500)}.today-hotel-secondary{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--color-gray-50);border-top:1px solid var(--color-gray-100);min-height:36px}.today-hotel-maps-link{display:flex;align-items:center;gap:var(--spacing-1);color:var(--color-gray-600);font-size:var(--font-size-xs);text-decoration:none;width:100%;overflow:hidden}.today-hotel-address{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.today-hotel-maps-link:hover{color:var(--color-primary)}.today-hotel-maps-link .material-icons-outlined{font-size:14px}.today-hotel-details-link{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2) var(--spacing-3);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-decoration:none;text-align:center;border-top:1px solid var(--color-gray-100);min-height:36px}.today-hotel-details-link:hover{text-decoration:underline;color:var(--color-primary)}.trip-page{background:linear-gradient(to bottom right,#f8fafc,#eff6ff,#eef2ff);min-height:100vh}.header.header--trip{background-color:transparent;border-bottom:none;transition:transform .3s ease,background-color .3s ease,border-color .3s ease}.header.header--trip.header--scrolled{background-color:#f4f8fd;border-bottom:none}.header-inner.header-inner--trip{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;height:64px}.header-inner.header-inner--trip .header-logo-img{height:30px}.header-inner.header-inner--trip>:first-child{justify-self:start}.header-inner.header-inner--trip>:nth-child(2){justify-self:center}.header-inner.header-inner--trip>:last-child{justify-self:end}.trip-back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:9999px;background:none;border:none;color:var(--color-gray-600);cursor:pointer;transition:all var(--transition-fast);padding:0}.trip-back-btn:hover{background-color:var(--color-gray-100);color:var(--color-gray-900)}.trip-back-btn:active{transform:scale(.95)}.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-100);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:60}.trip-page-content.at-activity:after,.modal-page-slider.at-activity:after{background:#0009;pointer-events:auto}.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:70}.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:var(--container-max-width);width:calc(100% - var(--container-padding) * 2);padding-left:0;padding-right:0}.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)}.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}.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}.trip-hero-tabs .segmented-control-btn{flex:1;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-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:575px){.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:1;padding:var(--spacing-3) var(--spacing-4);min-height:44px;font-size:var(--font-size-xs)}.trip-hero-tabs .segmented-control-btn svg{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 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-400)}.char-counter{display:flex;justify-content:flex-end;font-size:var(--font-size-sm);color:var(--color-gray-400);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-400)}.empty-state-icon svg{width:64px;height:64px}.empty-state-cta{margin-top:var(--spacing-4)}.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)}.spinner{display:inline-block;width:24px;height:24px;border:2px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.home-main{background:linear-gradient(to bottom right,#f8fafc,#eff6ff,#eef2ff)}.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}}.home-section{margin-bottom:64px}.home-section .grid{gap:24px}.home-section-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.home-section-bar{height:40px;width:4px;border-radius:9999px;flex-shrink:0}.home-section-bar--current{background:linear-gradient(to bottom,#4ade80,#10b981)}.home-section-bar--upcoming{background:linear-gradient(to bottom,#60a5fa,#6366f1)}.home-section-bar--past{background:linear-gradient(to bottom,#cbd5e1,#94a3b8)}.home-section-title{font-size:30px;font-weight:700;color:#0f172a;line-height:1.2;margin:0}.home-section-subtitle{font-size:14px;color:#64748b;margin:0}.current-trip-card{display:block;background:#fff;border-radius:24px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;overflow:hidden;transition:all .3s ease;cursor:pointer}.current-trip-card:hover{box-shadow:0 25px 50px -12px #00000040}.current-trip-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px;border-bottom:1px solid #e2e8f0}.current-trip-info{flex:1}.current-trip-title{font-size:24px;font-weight:700;color:#0f172a;margin:0 0 4px;line-height:1.3}.current-trip-destination{display:flex;align-items:center;gap:6px;font-size:14px;color:#64748b;margin-bottom:10px}.current-trip-destination svg{color:#94a3b8;flex-shrink:0}.current-trip-meta{display:flex;flex-wrap:wrap;gap:16px}.current-trip-meta-item{display:flex;align-items:center;gap:6px;font-size:14px;color:#64748b}.current-trip-meta-item svg:first-child{flex-shrink:0}.current-trip-meta-item:first-child svg{color:#3b82f6}.current-trip-meta-item:nth-child(2) svg{color:#6366f1}.current-trip-arrow{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;color:#94a3b8;transition:all .2s ease;flex-shrink:0;margin-left:16px}.current-trip-card:hover .current-trip-arrow{background:#eff6ff;color:#2563eb}.current-trip-today{padding:24px}.current-trip-today-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 16px}.current-trip-events{display:flex;flex-direction:column;gap:10px}.current-event-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:14px;border:1px solid;transition:box-shadow .2s ease;cursor:pointer}.current-event-card:hover{box-shadow:0 4px 6px -1px #0000001a}.current-event-card:active{transform:scale(.98)}.current-event-arrow{flex-shrink:0;margin-left:auto;display:flex;align-items:center}.current-event-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;flex-shrink:0;margin-top:1px}.current-event-icon .material-symbols-outlined{font-size:18px}.current-event-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.current-event-header-row{display:flex;align-items:baseline;gap:6px;min-width:0}.current-event-time{font-size:14px;font-weight:700;color:#0f172a;flex-shrink:0}.current-event-dot{color:#94a3b8;font-weight:700;flex-shrink:0}.current-event-title{font-size:14px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.current-event-description{font-size:13px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-event-location{display:flex;align-items:center;gap:4px;font-size:12px;color:#64748b;margin-top:1px}.current-event-location svg{color:#94a3b8;flex-shrink:0}.current-trip-cta{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;margin:0 24px 24px;background:linear-gradient(to right,#2563eb,#4f46e5);color:#fff;font-size:15px;font-weight:600;border-radius:var(--radius-md);box-shadow:0 10px 15px -3px #2563eb4d;transition:all .2s ease}.current-trip-card:hover .current-trip-cta{background:linear-gradient(to right,#1d4ed8,#4338ca)}.trip-card{display:block;background-color:var(--color-white);border-radius:16px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border:1px solid #e2e8f0;overflow:hidden;transition:all .3s ease}.trip-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;border-color:#93c5fd}.trip-card-image{position:relative;height:192px;background-color:var(--color-primary);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}.trip-card-info{display:flex;align-items:center;gap:8px;font-size:14px;color:#475569}.trip-card-calendar-icon{color:#3b82f6;flex-shrink:0}.trip-card-dates{font-size:14px;color:#475569}.trip-card-dot{color:#cbd5e1}.trip-card-duration{font-weight:500;color:#334155}.trip-card-arrow{color:#94a3b8;flex-shrink:0;transition:all .3s ease}.trip-card:hover .trip-card-arrow{color:#2563eb;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)}.trip-card-dropdown-item--danger svg{color:var(--color-error)}.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)}.section-dropdown-item--danger svg{color:var(--color-error)}.section-dropdown-item--danger:hover{background-color:#ef44441a}.section-dropdown-divider{height:1px;background-color:var(--color-gray-200);margin:var(--spacing-1) 0}.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)}.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}.hotel-card{background-color:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:var(--spacing-4)}.hotel-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-5) var(--spacing-4);background-color:var(--color-hotel-600);color:var(--color-white)}.hotel-header-date{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg)}.hotel-header-confirmation{display:inline-flex;align-items:center;gap:var(--spacing-2);color:var(--color-white);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:transparent;border:none;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast);text-decoration:none}.hotel-header-confirmation:hover{background-color:#fff3}.hotel-card-body{padding:var(--spacing-6)}.hotel-name-section{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-4);margin-bottom:var(--spacing-2)}.hotel-name-section h3{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)}.hotel-nights-badge{flex-shrink:0;background-color:var(--color-hotel-100);color:var(--color-hotel-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);white-space:nowrap}.hotel-address{margin-bottom:var(--spacing-6)}.hotel-address-link{display:flex;align-items:center;gap:var(--spacing-2);color:var(--color-gray-600);transition:color var(--transition-fast)}.hotel-address-link:hover{color:var(--color-hotel-700)}.hotel-address-link svg{flex-shrink:0;color:var(--color-gray-500);transition:color var(--transition-fast)}.hotel-address-link:hover svg{color:var(--color-hotel-700)}.hotel-address-text{font-size:var(--font-size-sm)}.hotel-checkin-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-6);margin-bottom:var(--spacing-6)}.hotel-checkin-col{display:flex;align-items:flex-start;gap:var(--spacing-3)}.hotel-checkin-icon{padding:var(--spacing-2);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.hotel-checkin-icon--in{background-color:var(--color-hotel-50);color:var(--color-hotel-600)}.hotel-checkin-icon--out{background-color:var(--color-gray-100);color:var(--color-gray-600)}.hotel-checkin-icon svg{width:20px;height:20px}.hotel-checkin-label{font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-1)}.hotel-checkin-date{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900)}.hotel-checkin-time{font-size:var(--font-size-sm);color:var(--color-gray-600)}.hotel-toggle-details{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3);color:var(--color-hotel-600);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background-color:transparent;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.hotel-toggle-details:hover span{text-decoration:underline}.hotel-toggle-details:hover{background-color:transparent}.hotel-toggle-details svg{transition:transform var(--transition-fast)}.hotel-toggle-details.active svg{transform:rotate(180deg)}.hotel-details{padding:0 var(--spacing-6);max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .25s ease,padding .3s ease}.hotel-details.active{max-height:1200px;opacity:1;padding:var(--spacing-6);padding-top:var(--spacing-2)}.hotel-details-box{background-color:var(--color-gray-50);border-radius:var(--radius-xl);padding:var(--spacing-5);border:1px solid var(--color-gray-200);margin-bottom:var(--spacing-6)}.hotel-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-6);margin-bottom:var(--spacing-6)}.hotel-details-grid:last-child{margin-bottom:0}.hotel-detail-item{display:flex;flex-direction:column;gap:var(--spacing-2)}.hotel-detail-item--full{grid-column:1 / -1}.hotel-detail-label{font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}.hotel-detail-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-900);display:flex;align-items:center;gap:var(--spacing-1)}.hotel-detail-value .btn-copy-value{color:var(--color-gray-400)}.hotel-detail-value .btn-copy-value:hover{color:var(--color-hotel-600)}.hotel-detail-value svg.hotel-detail-icon{width:16px;height:16px;color:var(--color-gray-500);flex-shrink:0}.hotel-amenities{margin-bottom:var(--spacing-6)}.hotel-amenities-label{font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-3)}.hotel-amenities-list{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.hotel-amenity-badge{display:flex;align-items:center;gap:var(--spacing-2);background-color:var(--color-hotel-50);color:var(--color-hotel-700);border-radius:var(--radius-md);padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.hotel-amenity-badge svg{width:16px;height:16px}.hotel-price-box{display:flex;align-items:center;justify-content:space-between;background-color:var(--color-hotel-50);border-radius:var(--radius-xl);padding:var(--spacing-5);border:1px solid var(--color-hotel-200);margin-bottom:var(--spacing-6)}.hotel-price-label{font-size:var(--font-size-sm);color:var(--color-hotel-700);font-weight:var(--font-weight-medium)}.hotel-price-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-hotel-800)}.hotel-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3)}.hotel-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.hotel-btn svg{width:16px;height:16px}.hotel-btn--primary{background-color:var(--color-hotel-600);color:var(--color-white)}.hotel-btn--primary:hover{background-color:var(--color-hotel-700)}.hotel-btn--outline{background-color:transparent;border-color:var(--color-hotel-300);color:var(--color-hotel-600)}.hotel-btn--outline:hover{background-color:var(--color-hotel-50)}.hotel-btn--danger{background-color:transparent;border-color:var(--color-danger, #dc2626);color:var(--color-danger, #dc2626)}.hotel-btn--danger:hover{background-color:var(--color-danger, #dc2626);color:var(--color-white)}@media(max-width:575px){.hotel-card-body,.hotel-details.active{padding:var(--spacing-4)}.hotel-checkin-grid{gap:var(--spacing-3)}.hotel-details-grid,.hotel-actions{grid-template-columns:1fr}}.trip-content-header{display:none}.shared-view .activity-item{cursor:default}.shared-view .activity-item-arrow,.tab-content{display:none}.tab-content.active{display:block}.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.section-header-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-gray-800);margin:0}.section-header-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-500)}.section-header-actions{display:flex;align-items:center;gap:var(--spacing-2)}.section-header-cta{gap:var(--spacing-2)}.section-header-cta svg{width:20px;height:20px}.btn-outline{background-color:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn-outline:hover{color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-hotel{background-color:var(--color-hotel-600);color:var(--color-white)}.btn-hotel:hover{background-color:var(--color-hotel-700);color:var(--color-white)}.btn-hotel-outline{background-color:transparent;color:var(--color-hotel-600);border:1.5px solid var(--color-hotel-600)}.btn-hotel-outline:hover{color:var(--color-hotel-700);border-color:var(--color-hotel-700)}.section-header-cta-label-short{display:none}@media(max-width:767px){.section-header-cta-label-full{display:none}.section-header-cta-label-short{display:inline}}.activity-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);margin-bottom:var(--spacing-4);flex-wrap:wrap}.activity-header-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-gray-800);white-space:nowrap}.activity-header-actions{display:flex;align-items:center;gap:var(--spacing-2)}.activity-btn-container{position:relative;background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-1);box-shadow:var(--shadow-sm)}.activity-header-btn{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:.5rem;transition:all .2s;display:flex;align-items:center;justify-content:center;background:transparent;cursor:pointer;border:none;color:var(--color-gray-600)}.activity-header-btn:hover,.activity-header-btn.active{background:#f1f5f9;color:var(--color-primary)}.activity-header-btn svg{width:1.125rem;height:1.125rem}.activity-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000040;border:1px solid rgb(226 232 240);padding:1rem;width:20rem;z-index:50}.activity-dropdown--filter{width:auto;min-width:max-content}.activity-dropdown-arrow{display:none}.activity-search-wrapper{position:relative;display:flex;align-items:center}.activity-search-input{width:100%;padding:.5rem 2rem .5rem .75rem;border:1px solid rgb(203 213 225);border-radius:.5rem;font-size:1rem;line-height:1.25rem;outline:none;box-sizing:border-box}.activity-search-input:focus{box-shadow:0 0 0 2px #3b82f6;border-color:transparent}.activity-search-clear{position:absolute;right:.375rem;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:none;background:#cbd5e1;color:#fff;border-radius:50%;font-size:.875rem;line-height:1;cursor:pointer;padding:0}.activity-search-clear:hover{background:#94a3b8}.activity-header-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);white-space:nowrap;background:var(--color-primary);color:#fff;padding:var(--spacing-3) var(--spacing-5);border-radius:var(--radius-md);border:1px solid var(--color-primary);cursor:pointer;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);line-height:1;transition:all var(--transition-fast);min-height:44px;margin-left:var(--spacing-2);position:relative}@media(min-width:641px){.activity-header-add-btn{margin-left:var(--spacing-6)}}.activity-header-add-btn:before{display:none}.activity-header-add-btn svg{width:20px;height:20px;flex-shrink:0}.activity-header-add-btn .activity-header-add-label-short{display:none}.activity-header-add-btn:hover{background:var(--color-primary-dark)}@media(max-width:640px){.activity-header{flex-direction:column;align-items:flex-start}.activity-header-actions{width:100%;flex-wrap:wrap}.activity-header-add-btn{flex:none;padding:var(--spacing-2) var(--spacing-4);justify-content:center;margin-left:auto}.activity-header-add-btn:before{display:none}.activity-header-add-btn .activity-header-add-label{display:none}.activity-header-add-btn .activity-header-add-label-short{display:inline}.activity-view-btn[data-view-mode=calendar]{display:none}.activity-dropdown{position:fixed;top:auto;right:var(--spacing-4);left:var(--spacing-4);width:auto}.activity-dropdown--filter{min-width:0}}.activity-filter-header{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.activity-filter-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-700)}.activity-filter-deselect{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;color:#64748b;background:transparent;border:none;border-radius:.375rem;cursor:pointer;transition:color .2s ease,background-color .2s ease,transform .2s ease;outline:none;text-decoration:none;-webkit-user-select:none;user-select:none}.activity-filter-deselect:hover{color:#334155;background-color:#f8fafc;text-decoration:none}.activity-filter-deselect:active{color:#1e293b;background-color:#f1f5f9;transform:scale(.98)}.activity-filter-deselect:focus-visible{outline:2px solid rgb(59 130 246);outline-offset:2px}.activity-filter-pills{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.activity-filter-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;border-radius:.375rem;border:1px solid rgb(203 213 225);background:#fff;color:#94a3b8;cursor:pointer;transition:all .2s;font-weight:500}.activity-filter-pill:hover{background:#f8fafc;border-color:#94a3b8}.activity-filter-pill.active{color:#fff;border-color:transparent}.activity-filter-pill-icon{display:inline-flex;align-items:center;flex-shrink:0}.activity-filter-pill svg{width:1rem;height:1rem;display:block}.activity-filter-pill .material-symbols-outlined{font-size:1rem;line-height:1}.activity-category-picker{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.activity-category-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border:2px solid var(--color-gray-200);border-radius:var(--radius-full);background:var(--color-white);color:var(--color-gray-600);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.activity-category-chip-icon{display:flex;align-items:center;color:var(--chip-color, var(--color-gray-500))}.activity-category-chip-icon svg{width:14px;height:14px}.activity-category-chip-icon .material-symbols-outlined{font-size:14px}.activity-category-chip:hover{border-color:var(--chip-color, var(--color-gray-400))}.activity-category-chip.active{background:var(--chip-gradient);color:var(--color-white);border-color:transparent}.activity-category-chip.active .activity-category-chip-icon{color:var(--color-white)}.activity-day{display:flex;gap:var(--spacing-5);margin-bottom:var(--spacing-5)}.activity-day-sidebar{flex-shrink:0;width:96px;display:flex;flex-direction:column;align-items:stretch;position:relative}.activity-day-sidebar:after{display:none}.activity-day-header{flex-shrink:0;padding-top:var(--spacing-3);text-align:center}.activity-day-number{font-size:2.25rem;font-weight:var(--font-weight-bold);color:var(--color-gray-800);line-height:1}.activity-day-meta{font-size:var(--font-size-xs);color:var(--color-gray-500);font-weight:var(--font-weight-medium);letter-spacing:.03em;margin-top:4px;text-transform:capitalize}.activity-list{flex:1;display:flex;flex-direction:column;min-width:0;padding-top:var(--spacing-3)}.activity-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background-color:var(--color-white);border:1px solid var(--color-gray-100);border-radius:var(--radius-lg);margin-bottom:var(--spacing-2)}.activity-item--clickable{text-decoration:none;color:inherit;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.activity-item--clickable:hover{background-color:var(--cat-hover, var(--color-gray-50));border-color:var(--color-gray-200)}.activity-item-icon{flex-shrink:0;display:flex;align-items:center;color:var(--cat-color, var(--color-gray-500))}.activity-item-icon svg{width:20px;height:20px}.activity-item-icon .material-symbols-outlined{font-size:20px}.activity-item-time{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-700);white-space:nowrap}.activity-item-text{flex:1;font-size:var(--font-size-sm);color:var(--color-gray-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.activity-item-arrow{flex-shrink:0;display:flex;align-items:center;color:var(--color-gray-300);opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.activity-item-arrow svg{width:14px;height:14px}.activity-item--clickable:hover .activity-item-arrow{opacity:1;color:var(--cat-color, var(--color-gray-400))}@media(max-width:640px){.activity-day{flex-direction:column;gap:0}.activity-day-sidebar{width:auto;flex-direction:row;align-items:baseline;gap:var(--spacing-2);padding-bottom:var(--spacing-2)}.activity-day-sidebar:after{display:none}.activity-day-header{text-align:left}.activity-day-number{font-size:1.5rem}.activity-item-arrow{opacity:1}}.activity-new-btn{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);margin-top:var(--spacing-1);background:none;border:none;color:var(--color-gray-400);font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast)}.activity-new-btn:hover{color:var(--color-gray-600);background-color:var(--color-gray-50)}.activity-new-btn--dashed{width:100%;justify-content:center;border:1px dashed var(--color-gray-300);background:none;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-lg);color:var(--color-gray-400);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);margin-top:var(--spacing-2)}.activity-new-btn--dashed:hover{border-color:#60a5fa;color:var(--color-primary);background-color:#eff6ff}.activity-new-btn--dashed svg{width:18px;height:18px}.activity-view-switcher{display:flex;align-items:center;gap:2px;background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-1);box-shadow:var(--shadow-sm)}.activity-view-btn{width:2.25rem;height:2.25rem;background:transparent;border:none;border-radius:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--color-gray-600)}.activity-view-btn:hover:not(.active):not([disabled]){color:var(--color-primary);background:#f1f5f980}.activity-view-btn.active{background:#f1f5f9;box-shadow:0 1px 2px #0000000d;color:#0f172a}.activity-view-btn[disabled]{color:#cbd5e1;cursor:not-allowed}.activity-view-btn svg{width:1rem;height:1rem;display:block}.activity-day--cards{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.activity-day--cards .activity-day-sidebar{width:64px;flex-shrink:0}.activity-day--cards .activity-day-sidebar:after{display:none}.activity-day--cards .activity-day-header{flex-shrink:0;padding-top:0;text-align:center}.activity-day--cards .activity-day-number{font-size:2.25rem;line-height:2.5rem;font-weight:700;color:#0f172a}.activity-day--cards .activity-day-meta{font-size:.75rem;line-height:1rem;color:#64748b;text-transform:uppercase;margin-top:.25rem}.activity-card-row{display:flex;gap:.75rem;flex:1;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgb(203 213 225) transparent}.activity-card-row::-webkit-scrollbar{height:8px}.activity-card-row::-webkit-scrollbar-track{background:transparent}.activity-card-row::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.activity-card-row::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media(max-width:640px){.activity-day--cards{flex-direction:column;gap:0;overflow:hidden}.activity-day--cards .activity-day-sidebar{width:auto;flex-direction:row;align-items:baseline;gap:var(--spacing-2);padding-bottom:var(--spacing-2)}.activity-day--cards .activity-day-number{font-size:1.5rem}.activity-day--cards .activity-card-row{max-width:100%}}.activity-card{display:flex;flex-direction:column;flex-shrink:0;width:16rem;min-width:16rem;height:140px;padding:1rem;border:1px solid var(--color-gray-200);border-radius:.75rem;box-shadow:0 1px 2px #0000000d;text-decoration:none;color:inherit;cursor:pointer;transition:all .2s ease;scroll-snap-align:start;background:var(--color-white)}.activity-card:hover{box-shadow:0 1px 2px #0000000d}.activity-card[data-category=ristorante]{background:linear-gradient(135deg,#fffbeb,#fff7ed);border-color:#fde68a}.activity-card[data-category=ristorante]:hover{background:linear-gradient(135deg,#fef3c7,#ffedd5)}.activity-card[data-category=volo]{background:linear-gradient(135deg,#eff6ff,#eef2ff);border-color:#bfdbfe}.activity-card[data-category=volo]:hover{background:linear-gradient(135deg,#dbeafe,#e0e7ff)}.activity-card[data-category=hotel]{background:linear-gradient(135deg,#ecfdf5,#f0fdfa);border-color:#a7f3d0}.activity-card[data-category=hotel]:hover{background:linear-gradient(135deg,#d1fae5,#ccfbf1)}.activity-card[data-category=museo]{background:linear-gradient(135deg,#faf5ff,#faf5ff);border-color:#e9d5ff}.activity-card[data-category=museo]:hover{background:linear-gradient(135deg,#f3e8ff,#f3e8ff)}.activity-card[data-category=attrazione]{background:linear-gradient(135deg,#fdf2f8,#fdf2f8);border-color:#fbcfe8}.activity-card[data-category=attrazione]:hover{background:linear-gradient(135deg,#fce7f3,#fce7f3)}.activity-card[data-category=treno]{background:linear-gradient(135deg,#fef2f2,#fef2f2);border-color:#fecaca}.activity-card[data-category=treno]:hover{background:linear-gradient(135deg,#fee2e2,#fee2e2)}.activity-card[data-category=luogo]{background:linear-gradient(135deg,#ecfeff,#ecfeff);border-color:#a5f3fc}.activity-card[data-category=luogo]:hover{background:linear-gradient(135deg,#cffafe,#cffafe)}.activity-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.activity-card-icon-container{display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:.5rem;color:#fff;flex-shrink:0}.activity-card-icon-container svg{width:1rem;height:1rem}.activity-card-icon-container .material-symbols-outlined{font-size:1rem}.activity-card-time-badge{display:flex;align-items:center;gap:.375rem;padding:0 .5rem;height:1.75rem;border-radius:.375rem;color:#fff;font-size:.75rem;line-height:1rem;font-weight:600;margin-left:auto;white-space:nowrap}.activity-card-clock{flex-shrink:0}.activity-card-flight-badge{display:flex;align-items:center;height:1.75rem;padding:0 .5rem;background:#fffc;color:var(--color-primary-dark);font-size:.75rem;line-height:1rem;font-weight:500;border-radius:.375rem;white-space:nowrap;margin-left:auto}.activity-card-flight-badge+.activity-card-time-badge{margin-left:0}.activity-card-body{flex:1;display:flex;flex-direction:column;gap:2px;min-height:0;overflow:hidden}.activity-card-title{font-size:.875rem;line-height:1.25rem;font-weight:700;color:#0f172a;margin-bottom:.125rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.activity-card-title--expand{-webkit-line-clamp:2}.activity-card-subtitle{font-size:.75rem;line-height:1rem;color:#475569;margin-bottom:.375rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.activity-card-location{display:flex;align-items:center;gap:.25rem;font-size:.75rem;line-height:1rem;color:#64748b;margin-top:auto}.activity-card-location .activity-card-location-icon.material-symbols-outlined{font-size:12px!important;flex-shrink:0;color:inherit}.activity-card-location span{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.activity-card-route{display:flex;align-items:center;gap:.5rem;font-size:.75rem;line-height:1rem;margin-top:auto;padding-top:.5rem}.activity-card-route-city{color:#0f172a;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-card-route-city small{font-weight:400;color:#94a3b8}.activity-card-route-line{flex:1;display:flex;align-items:center;gap:.25rem;min-width:20px}.activity-card-route-line:before,.activity-card-route-line:after{content:"";flex:1;height:1px;background:#cbd5e1}.activity-card-route-duration{font-size:.75rem;color:#64748b;white-space:nowrap}.activity-card--add{flex-shrink:0;width:40px;min-width:40px;max-width:40px;height:auto;min-height:140px;align-self:stretch;margin-top:0;border:2px dashed rgb(203 213 225);border-radius:.75rem;background:transparent;box-shadow:none;display:flex;align-items:center;justify-content:center;color:#94a3b8;cursor:pointer;transition:all .2s ease;padding:0}.activity-card--add:hover{border-color:#60a5fa;color:var(--color-primary);background-color:#eff6ff;transform:none;box-shadow:none}.activity-card-add-label{display:none}@media(max-width:640px){.activity-card.activity-card--add{min-height:140px}}.calendar-container{background-color:#fff;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid rgb(226 232 240);padding:1.5rem}.calendar-header{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between}.calendar-title{font-size:1.5rem;font-weight:700;color:#0f172a}.calendar-nav-buttons{display:flex;align-items:center;gap:.5rem}.calendar-nav-button{height:2.25rem;width:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:.5rem;border:1px solid rgb(226 232 240);background:#fff;color:#334155;cursor:pointer;transition:all .15s ease}.calendar-nav-button:hover{background:#f8fafc;border-color:#94a3b8}.week-headers{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;margin-bottom:.5rem}.week-day-header{text-align:center;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;padding:.5rem}.calendar-grid{display:flex;flex-direction:column;gap:.5rem}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.calendar-cell-empty{background-color:#f8fafc;border-radius:.5rem;padding:.75rem;min-height:100px}.calendar-cell{border-radius:.5rem;padding:.75rem;min-height:100px;transition:all .2s}.calendar-cell-default{background-color:#fff}.calendar-cell-default:hover{background-color:#f8fafc}.calendar-cell-trip{background:linear-gradient(to bottom right,#eff6ff,#e0e7ff);cursor:pointer}.calendar-cell-trip:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.calendar-cell-content{display:flex;flex-direction:column;height:100%}.calendar-day-number{font-size:.875rem;font-weight:700;margin-bottom:.5rem;color:#334155}.calendar-day-number-trip{color:var(--color-primary-dark)}.calendar-activities{display:flex;flex-direction:column;gap:.375rem}.calendar-activity-item{display:flex;align-items:flex-start;gap:.375rem;font-size:.75rem;border-radius:.25rem;padding:.125rem .25rem;cursor:pointer;transition:background-color .2s;text-decoration:none;color:inherit}.calendar-activity-item:hover{background-color:#fff}.activity-indicator{width:.25rem;border-radius:9999px;flex-shrink:0;min-height:14px;align-self:stretch}.activity-indicator-restaurant{background-color:#f59e0b}.activity-indicator-flight{background-color:var(--color-primary)}.activity-indicator-hotel{background-color:#10b981}.activity-indicator-museum{background-color:#a855f7}.activity-indicator-attraction{background-color:#ec4899}.activity-indicator-train{background-color:#ef4444}.activity-indicator-place{background-color:#06b6d4}.calendar-activity-text{flex:1;min-width:0;color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-cell-top{display:flex;align-items:center;justify-content:space-between}.calendar-cell-top .calendar-day-number{margin-bottom:0;line-height:1.5rem}.calendar-cell-add{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:transparent;color:#cbd5e1;cursor:pointer;transition:background-color .15s ease,color .15s ease;padding:0;flex-shrink:0}.calendar-cell-add:hover,.calendar-cell-add:active{background:var(--color-primary);color:#fff}@media(max-width:768px){.calendar-container{padding:1rem}.calendar-cell,.calendar-cell-empty{min-height:60px;padding:.5rem}.calendar-day-number{font-size:.75rem}.calendar-activity-item{font-size:.625rem}.calendar-title{font-size:1.125rem}}@media(max-width:480px){.week-headers,.calendar-week{gap:.25rem}.calendar-cell,.calendar-cell-empty{min-height:44px;padding:.25rem}.calendar-activities{display:none}.calendar-cell-trip{position:relative}.calendar-cell-trip .calendar-day-number:after{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--color-primary-dark);margin-left:.25rem;vertical-align:middle}}@keyframes highlightPulse{0%{box-shadow:0 0 #3b82f666}to{box-shadow:0 0 #3b82f600}}.highlight-card{animation:highlightPulse 1.5s ease-out;box-shadow:0 0 0 3px #3b82f64d}.add-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-4)}.add-choice-block{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3);padding:var(--spacing-6) var(--spacing-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);background:var(--color-white);cursor:pointer;transition:all .15s ease;font-size:var(--text-sm);font-weight:500;color:var(--color-gray-700)}.add-choice-block:hover{border-color:var(--color-primary);background:var(--color-primary-50, #eff6ff)}.add-choice-icon{font-size:32px;color:var(--color-gray-500)}.add-choice-block:hover .add-choice-icon{color:var(--color-primary)}.add-choice-block--disabled{opacity:.4;cursor:default}.add-choice-block--disabled:hover{border-color:var(--color-gray-200);background:var(--color-white)}.add-choice-block--disabled:hover .add-choice-icon{color:var(--color-gray-500)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);opacity:0;visibility:hidden;transition:all var(--transition-normal)}.modal-overlay.active{opacity:1;visibility:visible}body:has(>.modal-overlay.active) .trip-hero-tabs{z-index:0}.modal{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;transform:scale(.95) translateY(-20px);transition:transform var(--transition-normal)}.modal-overlay.active .modal{transform:scale(1) translateY(0)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-5);border-bottom:1px solid var(--color-gray-100)}.modal-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--color-gray-500);border-radius:var(--radius-md);transition:all var(--transition-fast)}.modal-close:hover{background-color:var(--color-gray-100);color:var(--color-gray-700)}.modal-body{padding:var(--spacing-5)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-5);border-top:1px solid var(--color-gray-100);background-color:var(--color-gray-50)}.modal-confirm{max-width:400px}.modal-confirm .modal-body-only{padding:var(--spacing-6) var(--spacing-5) var(--spacing-4)}.modal-confirm .modal-body p{font-size:var(--font-size-sm);color:var(--color-gray-700);line-height:var(--line-height-relaxed);margin:0}.modal-confirm .modal-footer{border-radius:0 0 var(--radius-lg) var(--radius-lg)}#cities-modal .form-label{display:block;margin-bottom:var(--spacing-2)}#cities-modal .modal-footer{justify-content:space-between}.cities-list{margin-top:var(--spacing-3)}.cities-empty{color:var(--color-gray-500);font-size:var(--text-sm);text-align:center;padding:var(--spacing-4) 0;margin:0}.city-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) 0;border-bottom:1px solid var(--color-gray-200)}.city-item:last-child{border-bottom:none}.city-item-info{display:flex;flex-direction:column;min-width:0}.city-name{font-size:var(--text-base);color:var(--color-gray-800)}.city-country{font-size:var(--text-xs);color:var(--color-gray-500)}.city-input-wrapper{position:relative}.city-autocomplete-dropdown{display:none;position:absolute;top:100%;left:0;right:0;z-index:10;background:#fff;border:1px solid var(--color-gray-200);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto}.city-autocomplete-dropdown.active{display:block}.city-autocomplete-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) var(--spacing-3);cursor:pointer;transition:background-color var(--transition-fast)}.city-autocomplete-item:hover,.city-autocomplete-item.active{background-color:var(--color-gray-50)}.city-autocomplete-name{font-size:var(--text-sm);color:var(--color-gray-800)}.city-autocomplete-country{font-size:var(--text-xs);color:var(--color-gray-500)}.city-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;color:var(--color-gray-400);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.city-remove-btn:hover{color:var(--color-danger);background-color:var(--color-danger-light, rgba(239, 68, 68, .1))}.city-error{color:var(--color-danger);font-size:var(--text-sm);min-height:20px;margin-top:var(--spacing-1)}.city-autofill-btn{display:inline-flex;align-items:center;gap:6px;margin-top:var(--spacing-2);padding:0;border:none;background:none;color:var(--color-primary);font-size:var(--text-sm);cursor:pointer;transition:opacity var(--transition-fast)}.city-autofill-btn:hover{opacity:.7}.city-autofill-warning{margin-top:var(--spacing-2);padding:var(--spacing-3);background-color:#ef444414;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-gray-800)}.city-autofill-warning-actions{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-2);justify-content:flex-start}.quick-upload-card{display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-6);margin-top:var(--spacing-4);border:2px dashed var(--color-gray-300);border-radius:var(--radius-lg);background-color:#fff;cursor:pointer;transition:all var(--transition-fast)}.quick-upload-card:hover{border-color:var(--color-primary);background-color:var(--color-primary-light)}.quick-upload-card.dragover{border-color:var(--color-primary);background-color:var(--color-primary-light);transform:scale(1.01)}.quick-upload-card.uploading{pointer-events:none;cursor:default}.quick-upload-icon{width:24px;height:24px;color:var(--color-gray-400);flex-shrink:0}.quick-upload-card:hover .quick-upload-icon,.quick-upload-card.dragover .quick-upload-icon{color:var(--color-primary)}.quick-upload-card.uploading .quick-upload-icon{display:none}.quick-upload-spinner{display:none;width:20px;height:20px;border:2px solid var(--color-gray-300);border-top-color:var(--color-gray-500);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.quick-upload-card.uploading .quick-upload-spinner{display:block}.quick-upload-text{font-size:var(--font-size-sm);color:var(--color-gray-500)}.quick-upload-card:hover .quick-upload-text,.quick-upload-card.dragover .quick-upload-text{color:var(--color-primary)}.loading-phrase{opacity:0;transition:opacity .3s ease}.loading-phrase.phrase-visible{opacity:1}.processing-state .processing-phrase{min-height:1.5em;text-align:center}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-3);padding:var(--spacing-8);border:2px dashed var(--color-gray-300);border-radius:var(--radius-md);background-color:var(--color-gray-50);cursor:pointer;transition:all var(--transition-fast)}.upload-zone:hover,.upload-zone.dragover{border-color:var(--color-primary);background-color:var(--color-primary-light)}.upload-zone-icon{width:48px;height:48px;color:var(--color-gray-400)}.upload-zone.dragover .upload-zone-icon{color:var(--color-primary)}.upload-zone-text{font-size:var(--font-size-sm);color:var(--color-gray-600);text-align:center}.upload-zone-hint{font-size:var(--font-size-xs);color:var(--color-gray-400)}.file-list{margin-top:var(--spacing-4)}.file-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);background-color:var(--color-gray-50);border-radius:var(--radius-md);margin-bottom:var(--spacing-2)}.file-item-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--color-error);color:var(--color-white);border-radius:var(--radius-sm);flex-shrink:0}.file-item-info{flex:1;min-width:0}.file-item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-item-size{font-size:var(--font-size-xs);color:var(--color-gray-500)}.file-item-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--color-gray-400);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.file-item-remove:hover{background-color:var(--color-gray-200);color:var(--color-error)}.processing-state{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-4);padding:var(--spacing-8);text-align:center}.processing-state .spinner{width:40px;height:40px}.processing-state-text{font-size:var(--font-size-sm);color:var(--color-gray-600)}.result-state{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-4);padding:var(--spacing-8);text-align:center}.result-state-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:50%}.result-state-icon.success{background-color:#d1fae5;color:var(--color-success)}.result-state-icon.error{background-color:#fee2e2;color:var(--color-error)}.result-state-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-900)}.result-state-text{font-size:var(--font-size-sm);color:var(--color-gray-600)}.error-state{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-4);padding:var(--spacing-8);text-align:center}.error-state-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#fee2e2;color:var(--color-error)}.error-state-message{font-size:var(--font-size-sm);color:var(--color-gray-600);margin:0;line-height:var(--line-height-relaxed)}.error-state-code{font-size:11px;color:var(--color-gray-400);margin:4px 0 0;font-family:var(--font-mono, monospace)}.delete-booking-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.delete-booking-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast);-webkit-user-select:none;user-select:none}.delete-booking-item:hover{background-color:var(--color-gray-50)}.delete-booking-item input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--color-error);cursor:pointer}.delete-booking-item-label{font-size:var(--font-size-sm);color:var(--color-gray-700);line-height:var(--line-height-normal);display:flex;flex-direction:column;gap:2px}.delete-booking-item-sub{font-size:var(--font-size-xs);color:var(--color-gray-500)}.delete-mode-control{width:100%;margin-bottom:var(--spacing-4)}.delete-mode-control .segmented-control-btn{flex:1}.manage-booking-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.manage-booking-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--color-gray-100);border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-user-select:none;user-select:none;background-color:var(--color-gray-50)}.manage-booking-item:hover{background-color:var(--color-white);border-color:var(--color-gray-200);box-shadow:0 1px 3px #0000000f}.manage-booking-item.selected{border-color:var(--color-primary);background-color:var(--color-primary-light, rgba(59, 130, 246, .05))}.manage-booking-actions{display:flex;gap:var(--spacing-2);padding:var(--spacing-2) 0 var(--spacing-1)}.manage-booking-actions .btn{flex:1}.manage-booking-flights{display:flex;flex-direction:column;gap:2px;margin-top:var(--spacing-1)}.manage-booking-flight-row{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-gray-500)}.manage-booking-flight-num{font-weight:var(--font-weight-medium);color:var(--color-gray-600);min-width:52px}.manage-booking-flight-date{margin-left:auto;color:var(--color-gray-400);white-space:nowrap}.manage-booking-item-label{font-size:var(--font-size-sm);color:var(--color-gray-700);line-height:var(--line-height-normal);display:flex;flex-direction:column;gap:2px}.manage-booking-item-sub{font-size:var(--font-size-xs);color:var(--color-gray-500)}.manage-back-btn{background:none;border:none;padding:4px;margin-right:var(--spacing-2);cursor:pointer;color:var(--color-gray-600);display:flex;align-items:center;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.manage-back-btn:hover{background-color:var(--color-gray-100);color:var(--color-gray-900)}.manage-confirm-text{font-size:var(--font-size-sm);color:var(--color-gray-700);margin-right:auto}.manage-edit-item{background-color:var(--color-gray-50);border:1px solid var(--color-gray-100);border-radius:var(--radius-lg);padding:var(--spacing-4) var(--spacing-4) var(--spacing-3);margin-bottom:var(--spacing-4)}.manage-edit-item:last-child{margin-bottom:0}.manage-edit-item-header{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);padding:0 0 var(--spacing-3);margin-bottom:var(--spacing-3);border-bottom:1px solid var(--color-gray-200)}.manage-edit-divider{display:none}.edit-booking-field--checkbox{display:flex;align-items:center}.edit-booking-field--checkbox label{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-gray-700);cursor:pointer}.edit-booking-field--checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.share-description{font-size:var(--font-size-sm);color:var(--color-gray-600);margin-bottom:var(--spacing-4);line-height:var(--line-height-relaxed)}.share-link-container{display:flex;gap:var(--spacing-2)}.share-link-input{flex:1;font-size:var(--font-size-sm);background-color:var(--color-gray-50);cursor:text}.share-copy-btn{flex-shrink:0;white-space:nowrap}.share-copied-message{margin-top:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);background-color:var(--color-success);color:var(--color-white);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);text-align:center;opacity:0;transform:translateY(-10px);transition:all var(--transition-fast);visibility:hidden}.share-copied-message.visible{opacity:1;transform:translateY(0);visibility:visible}.shared-view .header-logo-static{cursor:default;pointer-events:none}.shared-view .header-logo-static:hover{opacity:1}.shared-view .trip-title-edit-btn{display:none}.photo-selection-state{text-align:center;padding:var(--spacing-4) 0}.photo-selection-title{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-gray-600);margin-bottom:var(--spacing-4)}.photo-selection-destination{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900)}.photo-selection-loading{display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);color:var(--color-gray-500);padding:var(--spacing-8) 0}.photo-selection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3);margin-bottom:var(--spacing-4)}@media(max-width:480px){.photo-selection-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-2)}}.photo-option{position:relative;aspect-ratio:16 / 10;border:3px solid transparent;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all var(--transition-fast);background:none;padding:0}.photo-option:hover{border-color:var(--color-primary);transform:scale(1.02)}.photo-option:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #06c3}.photo-option img{width:100%;height:100%;object-fit:cover}.photo-option-attribution{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-2);background:linear-gradient(to top,rgba(0,0,0,.7),transparent);color:#fffc;font-size:10px;text-align:left}.photo-selection-skip{margin-top:var(--spacing-2)}.photo-selection-skip .btn-text{background:none;border:none;color:var(--color-gray-500);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-2)}.photo-selection-skip .btn-text:hover{color:var(--color-gray-700);text-decoration:underline}.photo-option--last-used{border-color:var(--color-success)}.photo-option-badge{position:absolute;top:var(--spacing-2);left:var(--spacing-2);background:var(--color-success);color:#fff;font-size:10px;font-weight:var(--font-weight-semibold);padding:2px 6px;border-radius:var(--radius-sm);text-transform:uppercase}.photo-selection-actions{display:flex;justify-content:center;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.photo-selection-actions .btn-sm{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm)}.photo-selection-actions .btn-sm svg{flex-shrink:0}.spinner-sm{width:16px;height:16px;border-width:2px}.photo-selection-empty{grid-column:1 / -1;padding:var(--spacing-6);text-align:center;color:var(--color-gray-500)}.toast-notification{position:fixed;top:var(--spacing-6);left:50%;transform:translate(-50%) translateY(-100px);display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background-color:var(--color-gray-800);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:10000;opacity:0;transition:transform .3s ease,opacity .3s ease;max-width:calc(100vw - var(--spacing-8))}.toast-notification.toast-visible{transform:translate(-50%) translateY(0);opacity:1}.toast-notification.toast-error{background-color:var(--color-error)}.toast-notification.toast-success{background-color:var(--color-success)}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast-message{font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.edit-booking-form{display:flex;flex-direction:column;gap:0}.edit-booking-section{border:none;border-radius:0;padding:var(--spacing-4) 0;border-bottom:1px solid var(--color-gray-200)}.edit-booking-section:first-child{padding-top:0}.edit-booking-section:last-child{border-bottom:none;padding-bottom:0}.edit-booking-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--spacing-3);display:flex;align-items:center;gap:var(--spacing-2)}.edit-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3) var(--spacing-4)}@media(max-width:480px){.edit-booking-grid{grid-template-columns:1fr}}.edit-booking-field{display:flex;flex-direction:column;gap:var(--spacing-1)}.edit-booking-field.full-width{grid-column:1 / -1}.edit-booking-field label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-gray-500)}.edit-booking-field input{width:100%;padding:10px var(--spacing-3);font-size:var(--font-size-sm);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background-color:var(--color-white);transition:border-color var(--transition-fast),background-color var(--transition-fast);box-sizing:border-box}.edit-booking-field input:hover{border-color:var(--color-gray-300)}.edit-booking-field input[type=date],.edit-booking-field input[type=time]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0}.edit-booking-field input:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-white);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 59, 130, 246),.12)}.edit-booking-field input:invalid:not(:placeholder-shown){border-color:var(--color-error)}.edit-booking-passenger{border-top:1px dashed var(--color-gray-200);padding-top:var(--spacing-3);margin-top:var(--spacing-3)}.edit-booking-passenger:first-child{border-top:none;padding-top:0;margin-top:0}.edit-booking-passenger-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-gray-600);margin-bottom:var(--spacing-2)}.airport-autocomplete-dropdown{display:none;position:absolute;left:0;right:0;top:100%;z-index:1000;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001f;max-height:240px;overflow-y:auto;margin-top:2px}.airport-autocomplete-item{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;padding:var(--spacing-2) var(--spacing-3);cursor:pointer;gap:0 var(--spacing-2);transition:background-color var(--transition-fast)}.airport-autocomplete-item:hover,.airport-autocomplete-item.active{background-color:var(--color-gray-50)}.airport-autocomplete-item .ac-code{grid-row:1 / 3;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);display:flex;align-items:center;font-family:monospace;letter-spacing:.5px}.airport-autocomplete-item .ac-detail{font-size:var(--font-size-sm);color:var(--color-gray-900);line-height:1.3}.airport-autocomplete-item .ac-country{font-size:var(--font-size-xs);color:var(--color-gray-400);font-weight:var(--font-weight-normal)}.airport-autocomplete-item .ac-name{font-size:var(--font-size-xs);color:var(--color-gray-500);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slide-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000026;z-index:1000;opacity:0;visibility:hidden;transition:opacity var(--transition-normal),visibility var(--transition-normal);overflow:hidden;pointer-events:none}.slide-panel-overlay.active{opacity:1;visibility:visible;pointer-events:auto}.slide-panel{position:absolute;top:0;right:0;bottom:0;width:420px;max-width:100%;background-color:#fff;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--transition-normal);pointer-events:auto}.slide-panel-overlay.active .slide-panel{transform:translate(0)}.slide-panel-header{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--spacing-5) + env(safe-area-inset-top,0px)) var(--spacing-5) var(--spacing-4);border-bottom:1px solid var(--color-gray-100);flex-shrink:0}.slide-panel-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.slide-panel-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-5);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.slide-panel-footer{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-5) calc(var(--spacing-4) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-gray-100);background-color:var(--color-gray-50);flex-shrink:0}.slide-panel-footer .btn-outline-danger{margin-right:auto}.slide-panel-footer .btn:last-child{margin-left:auto}.activity-view-field{margin-bottom:var(--spacing-4)}.activity-view-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-1)}.activity-view-value{font-size:var(--font-size-base);color:var(--color-gray-800);line-height:var(--line-height-normal)}.activity-view-value a{color:var(--color-primary);text-decoration:none;word-break:break-all}.activity-view-value a:hover{text-decoration:underline}.activity-view-value--muted{color:var(--color-gray-400);font-style:italic}.activity-view-time{display:flex;gap:var(--spacing-6)}.place-card{position:relative;margin-top:var(--spacing-2);padding:var(--spacing-3);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-lg);background-color:var(--color-gray-50)}.place-card-remove{position:absolute;top:var(--spacing-2);right:var(--spacing-2);background:none;border:none;color:var(--color-gray-400);cursor:pointer;padding:var(--spacing-1);line-height:1;border-radius:var(--border-radius)}.place-card-remove:hover{color:var(--color-gray-700);background-color:var(--color-gray-200)}.place-card-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-gray-800);padding-right:var(--spacing-6)}.place-card-category{font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:capitalize;margin-top:2px}.place-card-address{font-size:var(--font-size-xs);color:var(--color-gray-600);margin-top:var(--spacing-1)}.place-card-rating{display:flex;align-items:center;gap:var(--spacing-1);margin-top:var(--spacing-1);font-size:var(--font-size-xs)}.place-card-stars{color:#fbbc04;letter-spacing:-1px}.place-card-rating-value{font-weight:var(--font-weight-semibold);color:var(--color-gray-700)}.place-card-reviews{color:var(--color-gray-500)}.place-card-loading{display:flex;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-gray-500)}.place-card-loading .spinner-sm{width:14px;height:14px;border:2px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.place-card-links{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-2)}.place-card-maps-link{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--color-primary);text-decoration:none}.place-card-maps-link:hover{text-decoration:underline}.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-1)}.form-textarea{resize:vertical;min-height:80px;font-family:var(--font-family)}.time-picker-row{display:flex;align-items:center;gap:var(--spacing-2)}.time-picker{position:relative;flex:1;min-width:0}.time-picker-input{cursor:pointer;caret-color:transparent}.time-picker.disabled .time-picker-input{cursor:not-allowed;opacity:.5}.time-picker-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;padding:2px;cursor:pointer;color:var(--color-gray-400);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.time-picker-clear:hover{color:var(--color-gray-600)}.time-picker-clear[hidden]{display:none}.time-picker-dropdown{display:none;position:absolute;top:100%;left:0;right:0;max-height:240px;overflow-y:auto;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:10;margin-top:4px}.time-picker-dropdown.open{display:block}.time-picker-option{padding:var(--spacing-3) var(--spacing-4);cursor:pointer;font-size:var(--font-size-base);white-space:nowrap}.time-picker-option:hover{background:var(--color-gray-50)}.time-picker-option.selected{background:var(--color-primary-light);font-weight:var(--font-weight-medium)}.time-picker-sep{color:var(--color-gray-500);font-size:var(--font-size-lg);flex-shrink:0}.url-row{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.url-row .form-input{flex:1}.url-remove-btn{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-gray-400);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.url-remove-btn:hover{color:var(--color-error);background-color:#ef44441a}.activity-add-url-btn{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-1) 0}.activity-add-url-btn:hover{text-decoration:underline}.file-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-1);padding:var(--spacing-5) var(--spacing-4);border:2px dashed var(--color-gray-300);border-radius:var(--radius-md);color:var(--color-gray-500);cursor:pointer;transition:all var(--transition-fast)}.file-upload-zone:hover{border-color:var(--color-primary);color:var(--color-primary)}.file-upload-zone.dragover{border-color:var(--color-primary);background-color:var(--color-primary-light);color:var(--color-primary)}.file-upload-zone-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.file-upload-zone-hint{font-size:var(--font-size-xs);color:var(--color-gray-400)}.activity-file-input{display:none}.file-preview-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.file-preview-list:not(:empty){margin-top:var(--spacing-2);margin-bottom:var(--spacing-2)}.file-preview-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--color-gray-50);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.file-preview-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-gray-700)}.file-preview-size{color:var(--color-gray-400);font-size:var(--font-size-xs);flex-shrink:0}.file-preview-remove{background:none;border:none;color:var(--color-gray-400);cursor:pointer;display:flex;align-items:center;padding:2px;flex-shrink:0}.file-preview-remove:hover{color:var(--color-error)}.attachment-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.attachment-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--color-gray-50);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast);border:none;width:100%;text-align:left}.attachment-item:hover{background:var(--color-gray-100)}.attachment-icon{flex-shrink:0;color:var(--color-gray-500);display:flex;align-items:center}.attachment-name{flex:1;color:var(--color-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-icon-custom{font-size:20px}.btn-outline-danger{background:none;border:1px solid var(--color-error);color:var(--color-error)}.btn-outline-danger:hover{background-color:var(--color-error);color:var(--color-white)}@media(max-width:768px){.slide-panel{width:100%}.trip-page{padding-bottom:env(safe-area-inset-bottom,0px)}}@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 Icons Outlined;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/material-icons-outlined-DZhiGvEA.woff2) format("woff2")}.material-icons-outlined{font-family:Material Icons 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}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAAi0AA0AAAAAD7wAAAheAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIJQBmA/U1RBVHAAgVQRCAqQZI01CzQAATYCJAM0BCAFhHoHIBv4DFFUk35IppGycP5+8PC90/w7GplmDHGWSEucBUI7wCWHeImtfvVIZXCB2OV0C+TYBYAH+KWft8teWG0m8d8IngkMdvCplKuzYk1tENoKB+wibIWv8vn95ytxgBSBqiISpsbieGBWMb5kVJXUNUm3Xi3UFJUn9SA+bNwEASgmMR9j4+adFUS7Uvt7iGIyEt4KOXu72lsJTtlobZMAIHmCFsLLl4Mggq1IVjKLMAbF+P8r4FpMiChFBDCPDyVC7HiPxBd4ihhMsp8owpWUKCJbONboWgwmAWvk2yMPIk+IIXyC8lkEmjiaEIOJEqeI4cXcAoMYxVzqCv18kvvdyI9QzGCGt9QzlCi3wIFjogZRQkBr1woTopjhDCY+p2H8ipZsaWRWXIyPuI5PCSkMiDi16IALbUkktpDF+vtnpuVlwJxCvdilyKzMRi1mImwKggYXuQsxNm/bufOQG28pW7dRCERv376jwsA41Nq2X0gkJUxiOEF9LYmBIS4G4zleLHk0w20GHUI1A2cSDMZmrzPqIrkVdaIl8ix6a5MwFmfTTDtd9HKQI1/3f5v44ewfun7o+/H0z4d/fuyXRX9d9tdXf4v9/TPPa7/nbFJHNqCHve/o/ew97d3l3e7d6t3iZbwbxy0b89jIW0ZeM/LyEauGucN2DX2naH/R1Ng/olMEmpg4XyA8j9iURhjq+arlJuNuu9yvNT0+zPstEcLAJworARliIeGWRbSZ0qwR1GE9XCnBaOVRAVOZwaAKDA6OUVh+aMAsCoWmKRUO+6NagXXQLAkOUWFTB2L+hvq6dl9NTaRO1If/+aL9gvNc+vnaQkHYeSdHeqAynxd2QbsDpHN1ti1sGytXOy8In/2i1kITMY+n3ecx08+pnphtCxk1bFvGBNpEFAoT4JPnrw/tj9wP0u+fo2iql0qhGR868AFGOqdKUVWqQolyJ9/p5CZFrs2fo4VKhR1HiIiwnSot1Me9abpg/IBzIu6LQoRJP1/vujrsuo3y9byQ2tDZ7uncRiMilbQL2l8t7Adn9jxXu09PvvNZLcCVuPt+UCJKqxb2PUo5d3HO1FITU0ffuFtEhe3qmOs2VlVVV1Y3VKeq73Wn352eVlFbUVdRKTp1u+poq66OVWpfRNj+hbwWhlVDxBXer8Ii8KSc/BXgOr7aQKW6MZ/PKyeXuzjrabdQKIzTuVwuxyKqs1a+9sWJEst21yLiC4s4YTOC9mkzRgcd0BN82lQH1Xgj5eTFhWaMpiq738lRRYcv1sJcFTZkxC2cN3Kgrrr28EbdhEHCzufzU57I3y1dKNWc9MDAwKIBU6hc+eYIDDV7EiYFzOVyqQ7dXKmrW3VbRLbo5lJd3qqbjEoRpz9bkv3q2MONDzdf9ObphxvfuKTp4ca6B1PnwFd/rk/+pjX5SO+BJ7Z0O85px+necuCJI59kzrvx16Yrsw+fOpV9+MqmG3/NVD2qF3gjMf7P8SXj/xw/LZlMrk0mk9OWd5+bKAEuLrkYvi5JAmZXMnlKXpIRf11TkczG7TcpH+em8uOLemqtvWrl+v2qyhq76PgKbcUVzw5OJhKZRCI5+FnjuGv8HanhY7NfNww9+6/+w/23vtE2cgJ8jTUm3J7oP9x/TWt8odG0c/zQyVPbRsZHnv/1+SPj73zV1xjrYYfJD5B1lDRur0a2IYsFr6CG20tH6emlkO0TEuz5wPr4K6c7Q4wCQSj0oBgMi0E9851jGNw5v9rY5NgEB3+1YQxi7EGPrrVbIopy1HLZ2daQA4Cs//EQVMT5LS/7GRE15MBArSJ7xxzD9PQgPCjIMCgjwzDbwaFYKzCQvRpgYipwbCosKSo5SnVG0lxCyhwix3+5d5tEqOvi1xRZRtaGEd0uXuMmE7b2hmrq9rq2E2adtlYaiipWSrad8Adz6JJIczEtdHM3LUhz7pJw0MxljlNwcKbD3S6M1d0FfEiiehmCfoRWMF59U1QkEETy5TPV1HajwR1dUxSKmSFyPL/168gwafjrcKuYiXjmbGYJqXQ2PVMcIsc5zXcfI8wivp+agqZZCkoxMzNLQSlmEL3qE3ViDpHjXvL61DpUTuPeMjrUvP/hDTbyY2CJcenHwMjwj6EFxoUfQ0OWBeuZ1YzV61kFRWuZNYw16xkQOc7oWeMbHFbp47OMfJZ1HHQLHLW0l7193gp6M3xUgg/Ywl/HeFo3Wt0RzbGBCWVF4WCFIr5MJv/bVOYIcXNzXZs5r/vvw1FOtO60+g0qY/3V0moclmLhPHEsxAnvkUuwx7MbLPgUmvuZ5/tAC1YqEm6ln2yb7paePxcZH7sQnZvukm6rlxxuVSICc9Rz00Ga/3hY1WWu6Vr+/9QTD/II99xz7uQ5Y805U+YcvecemF23o2kHAN4pL40AjF+WfProtP+fHVv576AhswA/PDRKAvzwUIvl/cu7Xb4tXwL8GAAIMC0vAzLr/cv7l3xbZr+UZxEySz8ZDnOYDBmS7NX6ullrRLtZQa+u3rTWUuaSAgLM+RimR4hGJvw0jBj3R7gFbWaIfOeIw/NKwXyxudIgKpZWSir4PmCyXq3Sx0jOq/Czmu2K+JVrWq9XChRLKw2GY3kl4R8XBmqlD8raxmf/LAvpYz+76WUv3aToovpnJr+VNvaT2ONpp3FrsUX5TkdpZgt7SdFEM5vhRu0udpFiv2cv7ccNLOcI3TTQq5fuI8EBuQuuPTTTxGzK+lo5gHiKvVQpyfvot3vpwWI+c1jGPOZxzmTRzBbVZw3h+SpXsIUECbawoq0jLE1w+/I30EsfR47mREZ/dy5hPouw2EIvvbTShb0sdrKTDczBwmIdoXeCStO+vtK+uukgM835XR0Sj3xXAgA=) 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}
