*,*: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-train-50: #fef6ee;--color-train-100: #fde8d0;--color-train-200: #f9c88e;--color-train-300: #f5a54d;--color-train-600: #e67e22;--color-train-700: #c96b1a;--color-train-800: #a85614;--color-bus-50: #f5eef8;--color-bus-100: #e8d5f0;--color-bus-200: #d0aae0;--color-bus-300: #b87fd1;--color-bus-600: #8e44ad;--color-bus-700: #763891;--color-bus-800: #5e2d74;--color-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);--sidebar-width: 240px;--sidebar-collapsed-width: 60px;--sidebar-transition: .25s cubic-bezier(.4, 0, .2, 1)}@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-upload-pdf-small{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);border:1.5px dashed var(--color-gray-400);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;background-color:transparent;color:var(--color-gray-500);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.btn-upload-pdf-small:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-gray-50, #f9fafb)}.btn-upload-pdf-small svg{flex-shrink:0}.btn-icon-glass{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background-color:#ffffff26;border:1.5px solid rgba(255,255,255,.35);border-radius:9999px;color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 12px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;padding:0}.btn-icon-glass:hover{background-color:#fff;border-color:#fff;color:var(--color-primary)}.btn-icon-glass:active{transform:scale(.95)}.btn-icon-glass:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-icon-glass svg{width:20px;height:20px;stroke-width:2}.btn-delete-passenger{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:var(--spacing-1);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease,opacity .15s ease;background-color:var(--color-error);color:#fff}.btn-delete-passenger:hover{opacity:.85}.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)}.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{position:relative;background-color:#f7fafd;border-bottom:none}.header-inner.header-inner--trip{display:flex;align-items:center;justify-content:space-between;height:64px}.header-inner.header-inner--trip .header-logo-img{height:30px}.header-inner.header-inner--trip>:last-child{margin-left:auto}.trip-header-left{display:flex;align-items:center;gap:0}.trip-header-hamburger{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:none;color:var(--color-gray-600);cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast);padding:0;-webkit-tap-highlight-color:transparent}.trip-header-hamburger:hover{background:var(--color-gray-200)}@media(min-width:768px){body.has-sidebar .trip-header-hamburger{display:none}}.trip-back-link{display:flex;align-items:center;gap:var(--spacing-2);color:var(--color-gray-600);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-lg);transition:background var(--transition-fast),color var(--transition-fast)}.trip-back-link:hover{background-color:var(--color-gray-200);color:var(--color-gray-900)}.trip-back-link svg{flex-shrink:0}.trip-header-spacer{display:flex;align-items:center;justify-content:flex-end}.trip-header-spacer .section-menu-btn{width:40px;height:40px;background:none;color:var(--color-gray-600)}.trip-header-spacer .section-menu-btn:hover{background-color:var(--color-gray-200);color:var(--color-gray-900)}.trip-header-spacer .section-dropdown{right:0;left:auto}.trip-page-content{flex:1;position:relative}.trip-page-main{display:flex;flex-direction:column;min-height:0}.trip-page-content:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#0000;pointer-events:none;transition:background .3s cubic-bezier(.4,0,.2,1);z-index: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);transition:background-color .4s ease}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.trip-hero.is-loading{background-color:#e2e5e9}.trip-hero.is-loading .trip-hero-overlay{background:none}.trip-hero.is-loading .trip-hero-title:after{content:"";display:inline-block;width:220px;height:2.4rem;border-radius:var(--radius-md);background:linear-gradient(90deg,#d1d5db 25%,#e8eaed,#d1d5db 75%);background-size:400px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;vertical-align:middle}.trip-hero.is-loading .trip-hero-meta{color:transparent}.trip-hero.is-loading .trip-hero-meta svg{display:none}.trip-hero.is-loading .trip-hero-meta:after{content:"";display:inline-block;width:160px;height:1rem;border-radius:var(--radius-md);background:linear-gradient(90deg,#d1d5db 25%,#e8eaed,#d1d5db 75%);background-size:400px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.trip-hero.is-loading .trip-hero-tabs{visibility:hidden}.skeleton-days{display:flex;flex-direction:column;gap:var(--spacing-5);padding:var(--spacing-2) 0}.skeleton-day{display:flex;gap:var(--spacing-5)}.skeleton-day-sidebar{width:96px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding-top:var(--spacing-3)}.skeleton-day-number{width:40px;height:2.25rem;border-radius:var(--radius-md);background:linear-gradient(90deg,#e2e5e9 25%,#eceef1,#e2e5e9 75%);background-size:400px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-day-meta{width:52px;height:.75rem;margin-top:6px;border-radius:var(--radius-sm);background:linear-gradient(90deg,#e8eaed 25%,#f3f4f6,#e8eaed 75%);background-size:400px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-day-list{flex:1;display:flex;flex-direction:column;min-width:0;padding-top:var(--spacing-3);gap:var(--spacing-2)}.skeleton-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--color-white);border:1px solid var(--color-gray-100);border-radius:var(--radius-lg)}.skeleton-item-icon{width:20px;height:20px;border-radius:var(--radius-sm);flex-shrink:0;background:linear-gradient(90deg,#e2e5e9 25%,#eceef1,#e2e5e9 75%);background-size:400px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-item-time{width:70px;height:12px;border-radius:var(--radius-sm);flex-shrink:0;background:linear-gradient(90deg,#dde0e4 25%,#eceef1,#dde0e4 75%);background-size:400px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-item-text{flex:1;height:12px;max-width:260px;border-radius:var(--radius-sm);background:linear-gradient(90deg,#e8eaed 25%,#f3f4f6,#e8eaed 75%);background-size:400px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-item-text--short{max-width:160px}.skeleton-item-text--med{max-width:210px}@media(max-width:640px){.skeleton-day{flex-direction:column;gap:0}.skeleton-day-sidebar{width:auto;flex-direction:row;align-items:baseline;gap:var(--spacing-2);padding-bottom:var(--spacing-2)}.skeleton-day-number{width:32px;height:1.5rem}.skeleton-day-meta{margin-top:0}}.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-role-badge{position:absolute;top:12px;right:12px;z-index:2}.trip-owner-info{display:flex;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-2);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);filter: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-control-btn[data-tab=trains].active{color:var(--color-train-600)}.trip-hero-tabs .segmented-control-btn[data-tab=buses].active{color:var(--color-bus-600)}.trip-hero-tabs .segmented-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--compact .segmented-control-btn svg,.trip-hero-tabs .segmented-control--compact .segmented-control-btn .material-symbols-outlined{display:none}.trip-hero-tabs .segmented-control--compact .segmented-control-btn .beta-badge-tab{display:none}}.lang-selector{position:relative}.lang-selector-btn{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-gray-700);background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);min-height:44px}.lang-selector-btn:hover{border-color:var(--color-gray-300);background-color:var(--color-gray-50)}.lang-dropdown{position:absolute;top:100%;right:0;margin-top:var(--spacing-1);min-width:120px;background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--transition-fast);z-index:100}.lang-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}.lang-dropdown-up{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--spacing-1);transform:translateY(8px)}.lang-dropdown-up.active{transform:translateY(0)}.lang-option{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-gray-700);background:none;border:none;cursor:pointer;transition:background-color var(--transition-fast)}.lang-option:hover{background-color:var(--color-gray-50)}.lang-option.active{background-color:var(--color-primary-light);color:var(--color-primary)}.form-group 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-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2)}.empty-state-text{color:var(--color-gray-500);margin-bottom:var(--spacing-6)}.empty-state-cta{margin-top:var(--spacing-4)}.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-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.home-section-header-row .home-section-header{margin-bottom:0}.home-section-new-trip-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:inherit;cursor:pointer;transition:background .15s,transform .15s;white-space:nowrap;flex-shrink:0}.home-section-new-trip-btn:hover{background:var(--color-primary-dark, #1a4fd4);transform:translateY(-1px)}.home-section-new-trip-btn svg{width:18px;height:18px}@media(max-width:480px){.home-section-new-trip-btn span{display:none}.home-section-new-trip-btn{padding:8px;border-radius:9999px}}.home-section-header{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}@media(max-width:576px){.trip-card-content{justify-content:center}.trip-card-arrow{display:none}}.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)}.segmented-control-btn[data-tab=trains].active{color:var(--color-train-600)}.segmented-control-btn[data-tab=buses].active{color:var(--color-bus-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;flex-shrink:0}.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);align-items:stretch}.hotel-actions .hotel-btn{margin-top:0;width:auto}.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}}.train-card{background-color:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:var(--spacing-4)}.train-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);background-color:var(--color-train-600);color:var(--color-white)}.train-card.past .train-card-header{background-color:var(--color-train-600)}.train-cta-outline{border-color:var(--color-train-600)!important;color:var(--color-train-600)!important}.train-cta-outline:hover{background-color:var(--color-train-50)!important}.train-header-date{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg)}.train-header-number{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);font-size:var(--font-size-sm)}.train-card-body{padding:var(--spacing-6)}.train-title-section{margin-bottom:var(--spacing-2)}.train-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)}.train-route{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-2)}.train-endpoint{flex:1 1 0;min-width:0}.train-endpoint:first-child{text-align:left}.train-endpoint:last-child{text-align:right}.train-time-lg{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);line-height:1.2}.train-station-name{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:var(--spacing-1);line-height:1.3}.train-arc{flex:0 0 160px;display:flex;flex-direction:column;align-items:center}.train-arc-line{position:relative;width:160px}.train-arc-img{width:160px;height:auto;display:block}.train-arc-vehicle{position:absolute;right:-4px;top:50%;transform:translateY(-50%);width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--color-white);border-radius:50%;box-shadow:0 0 4px #00000026}.train-duration{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:2px}.train-arrow{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1);color:var(--color-gray-400);flex-shrink:0;padding-top:var(--spacing-2)}.train-arrow .material-symbols-outlined{font-size:20px}.train-toggle-details{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3);color:var(--color-train-600);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)}.train-toggle-details:hover span{text-decoration:underline}.train-toggle-details:hover{background-color:transparent}.train-toggle-details svg{transition:transform var(--transition-fast)}.train-toggle-details.active svg{transform:rotate(180deg)}.train-details{overflow:hidden;max-height:0;opacity:0;transition:max-height .3s ease,opacity .25s ease,padding .3s ease;padding:0 var(--spacing-6)}.train-details.active{max-height:1200px;opacity:1;padding:var(--spacing-6);padding-top:var(--spacing-2)}.train-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)}.train-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-6);margin-bottom:var(--spacing-6)}.train-details-grid:last-child{margin-bottom:0}.train-detail-item{display:flex;flex-direction:column;gap:var(--spacing-2)}.train-detail-label{font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}.train-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)}.train-detail-value .btn-copy-value{color:var(--color-gray-400)}.train-detail-value .btn-copy-value:hover{color:var(--color-train-600)}.train-price-box{display:flex;align-items:center;justify-content:space-between;background-color:var(--color-train-50);border-radius:var(--radius-xl);padding:var(--spacing-5);border:1px solid var(--color-train-200);margin-bottom:var(--spacing-6)}.train-price-label{font-size:var(--font-size-sm);color:var(--color-train-700);font-weight:var(--font-weight-medium)}.train-price-amount{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-train-800)}.train-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3);align-items:stretch}.train-actions .train-btn{margin-top:0;width:auto}.train-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}.train-btn svg{width:16px;height:16px}.train-btn--primary{background-color:var(--color-train-600);color:var(--color-white)}.train-btn--primary:hover{background-color:var(--color-train-700)}.train-btn--outline{background-color:transparent;border-color:var(--color-train-300);color:var(--color-train-600)}.train-btn--outline:hover{background-color:var(--color-train-50)}.train-btn--danger{background-color:transparent;border-color:var(--color-danger, #dc2626);color:var(--color-danger, #dc2626)}.train-btn--danger:hover{background-color:var(--color-danger, #dc2626);color:var(--color-white)}@media(max-width:575px){.train-card-body,.train-details.active{padding:var(--spacing-4)}.train-arc{min-width:60px}.train-details-grid,.train-actions{grid-template-columns:1fr}}.bus-card{background-color:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:var(--spacing-4)}.bus-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);background-color:var(--color-bus-600);color:var(--color-white)}.bus-card.past .bus-card-header{background-color:var(--color-bus-600)}.bus-cta-outline{border-color:var(--color-bus-600)!important;color:var(--color-bus-600)!important}.bus-cta-outline:hover{background-color:var(--color-bus-50)!important}.bus-header-date{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg)}.bus-header-route{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);font-size:var(--font-size-sm)}.bus-card-body{padding:var(--spacing-6)}.bus-title-section{margin-bottom:var(--spacing-2)}.bus-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)}.bus-route{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-2)}.bus-endpoint{flex:1 1 0;min-width:0}.bus-endpoint:first-child{text-align:left}.bus-endpoint:last-child{text-align:right}.bus-time-lg{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);line-height:1.2}.bus-station-name{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:var(--spacing-1);line-height:1.3}.bus-arc{flex:0 0 160px;display:flex;flex-direction:column;align-items:center}.bus-arc-line{position:relative;width:160px}.bus-arc-img{width:160px;height:auto;display:block}.bus-arc-vehicle{position:absolute;right:-4px;top:50%;transform:translateY(-50%);width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--color-white);border-radius:50%;box-shadow:0 0 4px #00000026}.bus-duration{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:2px}.bus-toggle-details{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3);color:var(--color-bus-600);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)}.bus-toggle-details:hover span{text-decoration:underline}.bus-toggle-details:hover{background-color:transparent}.bus-toggle-details svg{transition:transform var(--transition-fast)}.bus-toggle-details.active svg{transform:rotate(180deg)}.bus-details{overflow:hidden;max-height:0;opacity:0;transition:max-height .3s ease,opacity .25s ease,padding .3s ease;padding:0 var(--spacing-6)}.bus-details.active{max-height:1200px;opacity:1;padding:var(--spacing-6);padding-top:var(--spacing-2)}.bus-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)}.bus-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-6);margin-bottom:var(--spacing-6)}.bus-details-grid:last-child{margin-bottom:0}.bus-detail-item{display:flex;flex-direction:column;gap:var(--spacing-2)}.bus-detail-label{font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}.bus-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)}.bus-detail-value .btn-copy-value{color:var(--color-gray-400)}.bus-detail-value .btn-copy-value:hover{color:var(--color-bus-600)}.bus-price-box{display:flex;align-items:center;justify-content:space-between;background-color:var(--color-bus-50);border-radius:var(--radius-xl);padding:var(--spacing-5);border:1px solid var(--color-bus-200);margin-bottom:var(--spacing-6)}.bus-price-label{font-size:var(--font-size-sm);color:var(--color-bus-700);font-weight:var(--font-weight-medium)}.bus-price-amount{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-bus-800)}.bus-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3);align-items:stretch}.bus-actions .bus-btn{margin-top:0;width:auto}.bus-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}.bus-btn svg{width:16px;height:16px}.bus-btn--primary{background-color:var(--color-bus-600);color:var(--color-white)}.bus-btn--primary:hover{background-color:var(--color-bus-700)}.bus-btn--outline{background-color:transparent;border-color:var(--color-bus-300);color:var(--color-bus-600)}.bus-btn--outline:hover{background-color:var(--color-bus-50)}.bus-btn--danger{background-color:transparent;border-color:var(--color-danger, #dc2626);color:var(--color-danger, #dc2626)}.bus-btn--danger:hover{background-color:var(--color-danger, #dc2626);color:var(--color-white)}@media(max-width:575px){.bus-card-body,.bus-details.active{padding:var(--spacing-4)}.bus-arc{min-width:60px}.bus-details-grid,.bus-actions{grid-template-columns:1fr}}.beta-badge{display:inline-block;font-size:.65rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;background-color:var(--color-warning);color:var(--color-white);padding:1px 6px;border-radius:var(--radius-full);vertical-align:middle;margin-left:var(--spacing-2)}.beta-badge-tab{display:inline-block;font-size:.55rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;background-color:var(--color-warning);color:var(--color-white);padding:0 4px;border-radius:var(--radius-full);line-height:1.4;vertical-align:middle;margin-left:2px}.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,#fef6ee,#fde8d0);border-color:#f9c88e}.activity-card[data-category=treno]:hover{background:linear-gradient(135deg,#fde8d0,#f9c88e)}.activity-card[data-category=bus]{background:linear-gradient(135deg,#f5eef8,#e8d5f0);border-color:#d0aae0}.activity-card[data-category=bus]:hover{background:linear-gradient(135deg,#e8d5f0,#d0aae0)}.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:#e67e22}.activity-indicator-bus{background-color:#8e44ad}.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}.manual-trip-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.manual-trip-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-1)}.manual-trip-form .form-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700)}.manual-trip-form .form-row{display:flex;gap:var(--spacing-3)}.manual-trip-form .form-group-half{flex:1;min-width:0}.manual-trip-form .form-hint{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:var(--spacing-1)}.manual-trip-form .date-error{font-size:var(--font-size-xs);color:var(--color-danger);margin-top:var(--spacing-1);display:none}.manual-trip-form .date-error.visible{display:block}.manual-trip-divider{display:flex;align-items:center;gap:var(--spacing-3);margin:var(--spacing-4) 0 var(--spacing-2)}.manual-trip-divider-line{flex:1;height:1px;background-color:var(--color-gray-200)}.manual-trip-divider-text{font-size:var(--font-size-xs);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.upload-zone--compact{padding:var(--spacing-5)}.upload-zone--compact .upload-zone-icon{width:32px;height:32px}.date-extend-modal{max-width:420px}.date-extend-modal .modal-body p{margin:0 0 var(--spacing-2);color:var(--color-gray-600)}.date-extend-detail{font-weight:500;color:var(--color-gray-900)!important}.date-extend-footer{display:flex;gap:var(--spacing-3);justify-content:flex-end}.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-xs);color:var(--color-gray-500);margin:0;line-height:var(--line-height-relaxed)}.share-link-row{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.share-link-title{flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-700);margin:0;white-space:nowrap}.share-link-code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;padding:var(--spacing-1) var(--spacing-3);background-color:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-gray-600);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-xs)}.share-copy-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-1);background:none;border:none;color:var(--color-gray-400);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.share-copy-icon-btn:hover:not(:disabled){background-color:var(--color-blue-100);color:var(--color-blue-600)}.share-copy-icon-btn:disabled{opacity:.4;cursor:not-allowed}.share-copy-icon-btn.copied{background-color:var(--color-green-100);color:var(--color-green-600)}.share-copied-message{display:none;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}.share-copied-message.visible{display:block}.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}.safe-close-interrupt{position:absolute;bottom:0;left:0;right:0;z-index:10;background:var(--color-white);border-top:1px solid var(--color-gray-200);box-shadow:0 -4px 12px #00000014;padding:var(--spacing-4) var(--spacing-5) calc(var(--spacing-4) + env(safe-area-inset-bottom,0px));transform:translateY(100%);opacity:0;transition:transform .25s ease,opacity .2s ease}.safe-close-interrupt.active{transform:translateY(0);opacity:1}.safe-close-message{font-size:var(--font-size-sm);color:var(--color-gray-700);margin-bottom:var(--spacing-3);line-height:1.4}.safe-close-actions{display:flex;gap:var(--spacing-3)}.safe-close-actions .btn{flex:1}.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)}}.share-section{padding-top:var(--spacing-4);border-top:1px solid var(--color-gray-200);margin-top:var(--spacing-4)}.share-section:first-child{padding-top:0;border-top:none;margin-top:0}.modal--share .modal-body{display:flex;flex-direction:column;padding-bottom:var(--spacing-4)}.share-section--link{margin-top:var(--spacing-6);padding-top:var(--spacing-4);margin-left:calc(-1 * var(--spacing-5));margin-right:calc(-1 * var(--spacing-5));padding-left:var(--spacing-5);padding-right:var(--spacing-5);border-top:1px solid var(--color-gray-200)}.share-section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-700);margin-bottom:var(--spacing-3)}.share-invite-form{display:flex;gap:var(--spacing-2);align-items:stretch}.share-invite-form>.form-input{flex:1;min-width:0;height:40px;box-sizing:border-box}.share-invite-form select{flex-shrink:0;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-white);cursor:pointer;height:40px;box-sizing:border-box}.share-invite-form .btn{flex-shrink:0;height:40px;box-sizing:border-box}.share-invite-spinner{border-color:#ffffff4d;border-top-color:var(--color-white)}.share-invite-message{font-size:var(--font-size-xs);margin-top:var(--spacing-1);min-height:1em}.share-invite-message--success{color:#1d4ed8}.share-invite-message--error{color:var(--color-error)}.share-invite-link-box{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--spacing-3);margin-top:var(--spacing-2)}.share-invite-link-label{font-size:var(--font-size-sm);color:var(--color-gray-700);margin:0 0 var(--spacing-2) 0}.share-invite-link-row{display:flex;align-items:center;gap:var(--spacing-2)}.share-invite-link-code{flex:1;font-size:var(--font-size-xs);color:var(--color-gray-600);background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--spacing-1) var(--spacing-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-invite-link-copy{flex-shrink:0}.share-invite-input-wrapper{position:relative;flex:1;min-width:0}.share-invite-input-wrapper .form-input{width:100%;height:40px;box-sizing:border-box}.share-invite-suggestions{display:none;position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;z-index:100;overflow:hidden}.share-invite-suggestions.active{display:block}.share-suggest-item{display:flex;align-items:baseline;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);cursor:pointer;font-size:var(--font-size-sm);transition:background .1s}.share-suggest-item:hover,.share-suggest-item.focused{background:var(--color-gray-100)}.share-suggest-name{font-weight:500;color:var(--color-gray-800);white-space:nowrap}.share-suggest-email{color:var(--color-gray-500);font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-collaborator-row{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) 0}.share-collaborator-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-gray-200);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-600)}.share-collaborator-info{flex:1;min-width:0}.share-collaborator-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-collaborator-email{font-size:var(--font-size-xs);color:var(--color-gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-collaborator-badges{display:flex;gap:var(--spacing-1);align-items:center;flex-shrink:0}.share-role-badge{font-size:11px;font-weight:var(--font-weight-medium);padding:2px 8px;border-radius:var(--radius-full);white-space:nowrap}.share-role-badge--proprietario{background:var(--color-gray-100);color:var(--color-gray-600)}.share-role-badge--viaggiatore{background:#dbeafe;color:#1d4ed8}.share-role-badge--ospite{background:var(--color-gray-100);color:var(--color-gray-600)}.share-status-badge{font-size:11px;padding:2px 8px;border-radius:var(--radius-full);background:#fef3c7;color:#92400e;white-space:nowrap}.share-collaborator-actions{display:flex;gap:var(--spacing-1);flex-shrink:0}.share-collaborator-actions button{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;padding:var(--spacing-1) var(--spacing-1);border-radius:var(--radius-sm);cursor:pointer;border:none;transition:all var(--transition-fast)}.share-action-btn--resend{background:var(--color-primary);color:var(--color-white)}.share-action-btn--resend:hover:not(:disabled){background:var(--color-primary-dark, #1d4ed8)}.share-action-btn--revoke{background:var(--color-error);color:var(--color-white)}.share-action-btn--revoke:hover:not(:disabled){background:#b91c1c}.share-collaborator-actions button:disabled{opacity:.5;cursor:not-allowed}.share-collaborators-loading{display:flex;justify-content:center;padding:var(--spacing-4) 0}.share-empty-collaborators{font-size:var(--font-size-sm);color:var(--color-gray-500);text-align:center;padding:var(--spacing-4) 0}@media(max-width:480px){.share-invite-form{flex-wrap:wrap}.share-invite-form .form-input{width:100%}.share-invite-form select{flex:1}}.trip-role-badge{position:absolute;top:10px;right:10px;z-index:2;display:inline-flex;align-items:center;font-size:11px;font-weight:var(--font-weight-semibold);padding:2px 10px;border-radius:var(--radius-full);letter-spacing:.02em;white-space:nowrap}.trip-role-badge--viaggiatore{background:#dbeafe;color:#1d4ed8}.trip-role-badge--ospite{background:var(--color-gray-100);color:var(--color-gray-600)}.notifications-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);flex-wrap:wrap;width:100%}.notifications-header-actions{display:flex;gap:var(--spacing-2);align-items:center;flex-shrink:0}.notifications-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.notifications-header-left h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-gray-800);margin:0}.notifications-header-left p{font-size:var(--font-size-sm);color:var(--color-gray-500);margin:var(--spacing-1) 0 0}.notification-item{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-fast)}.notification-item:hover{background:var(--color-gray-50)}.notification-item--unread{background:#f0f7ff}.notification-item--unread:hover{background:#e0efff}.notification-item--unread .notification-message{font-weight:var(--font-weight-medium);color:var(--color-gray-900)}.notification-icon{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--color-gray-100);display:flex;align-items:center;justify-content:center}.notification-item--unread .notification-icon{background:#dbeafe}.notification-content{flex:1;min-width:0}.notification-message{font-size:var(--font-size-sm);color:var(--color-gray-700);line-height:var(--line-height-relaxed)}.notification-trip{font-size:var(--font-size-xs);color:var(--color-primary);margin-top:2px}.notification-time{font-size:var(--font-size-xs);color:var(--color-gray-400);margin-top:2px}.notification-unread-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:var(--color-primary);border:none;cursor:pointer;align-self:center;padding:0;transition:opacity var(--transition-fast)}.notification-unread-dot:hover{opacity:.7}.notifications-link-pending{display:inline-flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-primary);margin-top:var(--spacing-4);text-decoration:none}.notifications-link-pending:hover{text-decoration:underline}.notification-actions{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-2)}.notification-action-btn{padding:6px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:var(--font-weight-medium);cursor:pointer;border:none;transition:opacity var(--transition-fast)}.notification-action-btn:disabled{opacity:.5;cursor:not-allowed}.notification-action-btn--accept{background:var(--color-success);color:var(--color-white)}.notification-action-btn--accept:hover:not(:disabled){opacity:.9}.notification-action-btn--decline{background:transparent;color:var(--color-error);border:1px solid var(--color-error)}.notification-action-btn--decline:hover:not(:disabled){background:var(--color-error);color:var(--color-white)}.notification-action-btn--secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);text-decoration:none}.notification-action-btn--secondary:hover{background:var(--color-surface-secondary);color:var(--color-text)}.notification-feedback{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:500;margin-top:var(--spacing-2)}.notification-feedback-link{margin-left:6px;color:var(--color-primary);text-decoration:none;font-weight:600}.notification-feedback-link:hover{text-decoration:underline}.notification-invite-status{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 8px;border-radius:99px;margin-top:var(--spacing-2)}.notification-invite-status--accepted{background:#dcfce7;color:var(--color-success)}.notification-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:99px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-right:4px;vertical-align:middle}.notification-badge--booking{background:#eff6ff;color:var(--color-primary)}a.notification-trip{color:var(--color-primary);text-decoration:none;font-size:13px}a.notification-trip:hover{text-decoration:underline}.role-ospite .ospite-hidden{display:none!important}.trip-owner-badge{display:inline-flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-gray-500);padding:var(--spacing-1) var(--spacing-3);background:var(--color-gray-50);border-radius:var(--radius-full);margin-top:var(--spacing-2)}.parse-preview{display:flex;flex-direction:column;gap:var(--spacing-4)}.parse-preview-booking{display:flex;flex-direction:column;gap:var(--spacing-2);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--color-gray-100)}.parse-preview-section{display:flex;flex-direction:column;gap:var(--spacing-3)}.parse-section-header{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700)}.parse-section-header svg{color:var(--color-gray-400);flex-shrink:0}.parse-segmented{display:flex;justify-content:center;gap:0;background:var(--color-gray-100);border-radius:var(--radius-lg);padding:3px;overflow-x:auto;-webkit-overflow-scrolling:touch}.parse-segment-btn{display:inline-flex;align-items:center;justify-content:center;flex:1;padding:6px 12px;border:none;border-radius:var(--radius-md);background:transparent;font-size:var(--font-size-xs);font-weight:500;font-family:inherit;color:var(--color-gray-500);cursor:pointer;white-space:nowrap;transition:all .15s ease;flex-shrink:0}.parse-segment-btn:hover{color:var(--color-gray-700)}.parse-segment-btn.active{background:var(--color-white);color:var(--color-gray-900);box-shadow:0 1px 3px #00000014;font-weight:600}.parse-segment-btn svg{flex-shrink:0}.parse-panels{position:relative}.parse-panel{display:none}.parse-panel.active{display:block}.parse-flight-card{background:var(--color-gray-50);border-radius:var(--radius-lg);padding:var(--spacing-4);border:1px solid var(--color-gray-100)}.parse-flight-route{display:flex;align-items:center;justify-content:center;gap:var(--spacing-4);margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--color-gray-100)}.parse-flight-endpoint{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:60px}.parse-flight-code{font-size:var(--font-size-lg);font-weight:700;color:var(--color-gray-900);letter-spacing:.04em}.parse-flight-city{font-size:var(--font-size-xs);color:var(--color-gray-500)}.parse-flight-time{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700)}.parse-flight-arrow{color:var(--color-gray-300);flex-shrink:0}.parse-transport-route{display:flex;align-items:flex-start;gap:var(--spacing-3);margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--color-gray-100)}.parse-transport-endpoint{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.parse-transport-endpoint:first-child{text-align:left}.parse-transport-endpoint:last-child{text-align:right}.parse-transport-station{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);line-height:1.3}.parse-transport-time{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-gray-700)}.parse-transport-arrow{color:var(--color-gray-300);flex-shrink:0;padding-top:var(--spacing-1)}.parse-hotel-card{background:var(--color-gray-50);border-radius:var(--radius-lg);padding:var(--spacing-4);border:1px solid var(--color-gray-100)}.parse-hotel-name{font-weight:600;font-size:var(--font-size-base);color:var(--color-gray-900)}.parse-hotel-address{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:2px;margin-bottom:var(--spacing-3)}.parse-hotel-name+.parse-detail-grid{margin-top:var(--spacing-3)}.parse-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-2) var(--spacing-3)}.parse-field{min-width:0}.parse-field-label{font-size:11px;font-weight:500;color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.04em;margin-bottom:1px}.parse-field-value{font-size:var(--font-size-sm);color:var(--color-gray-800);word-break:break-word}.parse-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);padding-top:var(--spacing-3);flex-wrap:wrap}.parse-preview-feedback{display:flex;align-items:center;gap:var(--spacing-2)}.parse-feedback-label{font-size:var(--font-size-xs);color:var(--color-gray-500)}.parse-feedback-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:transparent;color:var(--color-gray-400);cursor:pointer;transition:all .15s ease}.parse-feedback-btn:hover{border-color:var(--color-gray-300);color:var(--color-gray-600)}.parse-feedback-btn.active[data-value=up]{border-color:#22c55e;color:#22c55e;background:#f0fdf4}.parse-feedback-btn.active[data-value=down]{border-color:#ef4444;color:#ef4444;background:#fef2f2}.parse-preview-actions{display:flex;justify-content:space-between;align-items:center;width:100%;gap:var(--spacing-3)}.parse-actions-right{display:flex;gap:var(--spacing-2)}.parse-field-input{width:100%;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-sm);font-family:inherit;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);background:var(--color-white);color:var(--color-gray-900);transition:border-color .15s ease}.parse-field-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 59, 130, 246),.15)}.parse-hotel-name-input{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-1)}.parse-hotel-address-input{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-bottom:var(--spacing-2)}.parse-editing .parse-flight-route,.parse-editing .parse-transport-route{pointer-events:none;opacity:.7}@media(max-width:480px){.parse-flight-route{gap:var(--spacing-2)}.parse-flight-code{font-size:var(--font-size-base)}.parse-detail-grid{grid-template-columns:1fr 1fr}.parse-preview-footer{flex-direction:column;align-items:stretch}.parse-preview-actions{flex-wrap:wrap}.parse-actions-right{margin-left:auto}}.update-preview{display:flex;flex-direction:column;gap:var(--spacing-4)}.update-preview-header{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-3);background:var(--color-warning-bg, #fef9e7);border-radius:var(--radius-lg);border:1px solid var(--color-warning-border, #f0d78c)}.update-preview-icon{flex-shrink:0;margin-top:2px}.update-preview-title{font-weight:600;font-size:var(--font-size-base);color:var(--color-text)}.update-preview-subtitle{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-top:2px}.update-card{border:1.5px solid var(--color-warning, #e67e22);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .2s}.update-card.selected{box-shadow:0 1px 4px #0000000f}.update-card-header{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-100)}.update-toggle{display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer;flex-shrink:0}.update-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-warning, #e67e22);cursor:pointer}.update-toggle-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-600)}.update-card-type{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm);color:var(--color-gray-500)}.update-card-icon{font-size:18px}.update-card-title{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text);margin-left:auto}.update-passengers-info{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs);color:var(--color-gray-600);display:flex;flex-direction:column;gap:var(--spacing-1);border-bottom:1px solid var(--color-gray-100)}.update-passengers-label{font-weight:500;font-size:11px;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.3px}.update-passengers-list{display:flex;flex-wrap:wrap;gap:4px}.update-passenger-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:12px;font-size:var(--font-size-xs);background:var(--color-gray-100);color:var(--color-gray-600)}.update-passenger-chip.matched{background:var(--color-primary-light, #e8f4fd);color:var(--color-primary);font-weight:600}.update-passenger-chip.matched svg{flex-shrink:0}.update-diff-table{padding:var(--spacing-3);display:flex;flex-direction:column;gap:var(--spacing-2)}.update-diff-row{display:grid;grid-template-columns:100px 1fr auto 1fr;gap:var(--spacing-2);align-items:center;font-size:var(--font-size-sm)}.update-diff-label{font-weight:500;color:var(--color-gray-500)}.update-diff-old{text-decoration:line-through;color:var(--color-gray-400)}.update-diff-arrow{color:var(--color-gray-400);font-size:var(--font-size-xs);text-align:center}.update-diff-new{font-weight:600;color:var(--color-success, #27ae60);background:var(--color-success-bg, #eafaf1);padding:2px 6px;border-radius:var(--radius-sm)}.update-new-summary{padding:var(--spacing-3);background:var(--color-gray-50);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-gray-600)}.update-new-label{font-weight:500}.update-preview-footer{display:flex;justify-content:flex-end;gap:var(--spacing-3);padding-top:var(--spacing-3);border-top:1px solid var(--color-gray-100)}.update-pax-upload-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.update-pax-upload-row{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-1);padding:var(--spacing-3);border:1.5px dashed var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-white);cursor:pointer;transition:border-color .15s,background .15s}.update-pax-upload-row:hover{border-color:var(--color-primary);background:var(--color-gray-50, #f9fafb)}.update-pax-upload-row.dragover{border-color:var(--color-primary);background:var(--color-primary-light, #e8f4fd)}.update-pax-upload-row.has-file{border-style:solid;border-color:var(--color-success, #27ae60);background:var(--color-success-bg, #eafaf1)}.update-pax-name{display:block;font-weight:600;font-size:var(--font-size-sm);color:var(--color-text)}.update-pax-upload-label{font-size:var(--font-size-xs);color:var(--color-gray-500);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-file .update-pax-upload-label{color:var(--color-success, #27ae60);font-weight:500}@media(max-width:480px){.update-diff-row{grid-template-columns:80px 1fr auto 1fr;gap:var(--spacing-1)}.update-card-header{flex-wrap:wrap}.update-card-title{margin-left:0;width:100%}.update-preview-footer{flex-direction:column}.update-pax-upload-row{flex-wrap:wrap}}.trip-fab{position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + var(--spacing-6));right:var(--spacing-6);width:56px;height:56px;border-radius:50%;background:var(--color-primary);color:#fff;border:none;box-shadow:var(--shadow-lg);cursor:pointer;z-index:50;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background-color .2s ease}.trip-fab:hover{background:var(--color-primary-700, #1a4fd4);transform:scale(1.05)}.trip-fab:active{transform:scale(.95)}.trip-fab-icon{transition:transform .25s ease}.trip-fab.active .trip-fab-icon{transform:rotate(45deg)}.trip-fab.loading{pointer-events:none;opacity:.7}.trip-fab.loading .trip-fab-icon{animation:fab-spin 1s linear infinite}@keyframes fab-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.role-ospite .trip-fab{display:none!important}body:has(.slide-panel-overlay.active) .trip-fab,body:has(.modal-overlay.active) .trip-fab,body:has(#add-booking-modal) .trip-fab,body:has(#delete-modal) .trip-fab,body:has(#delete-booking-modal) .trip-fab,body:has(#rename-modal) .trip-fab,body:has(#cities-modal) .trip-fab,body:has(#delete-item-modal) .trip-fab,body:has(#delete-passenger-modal) .trip-fab,body:has(#modal-page-slider.at-activity) .trip-fab{display:none!important}.fab-bottom-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s ease}.fab-bottom-sheet-overlay.active{opacity:1;pointer-events:auto}.fab-bottom-sheet{position:absolute;bottom:0;left:0;right:0;background:var(--color-white);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--spacing-4) var(--spacing-6) calc(env(safe-area-inset-bottom,0px) + var(--spacing-6));transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.fab-bottom-sheet-overlay.active .fab-bottom-sheet{transform:translateY(0)}.fab-bottom-sheet-handle{width:40px;height:4px;border-radius:2px;background:var(--color-gray-300);margin:0 auto var(--spacing-5)}.fab-bottom-sheet-options{display:flex;flex-direction:column;gap:var(--spacing-2)}.fab-bottom-sheet-option{display:flex;align-items:center;gap:var(--spacing-4);width:100%;padding:var(--spacing-4);border:none;background:none;border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:background-color var(--transition-fast)}.fab-bottom-sheet-option:hover{background:var(--color-gray-50)}.fab-bottom-sheet-option:active{background:var(--color-gray-100)}.fab-bottom-sheet-option-icon{font-size:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);flex-shrink:0}.fab-bottom-sheet-option-icon--upload{color:var(--color-primary);background:var(--color-primary-50, #eff6ff)}.fab-bottom-sheet-option-icon--activity{color:var(--color-hotel-600);background:var(--color-hotel-50, #ecfdf5)}.fab-bottom-sheet-option-text{display:flex;flex-direction:column;gap:2px}.fab-bottom-sheet-option-title{font-weight:var(--font-weight-medium);font-size:var(--font-size-base);color:var(--color-gray-800)}.fab-bottom-sheet-option-desc{font-size:var(--font-size-sm);color:var(--color-gray-500)}@media(min-width:768px){.fab-bottom-sheet-overlay{background:transparent;position:fixed;top:0;right:0;bottom:0;left:0}.fab-bottom-sheet{position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + var(--spacing-6) + 56px + var(--spacing-3));right:var(--spacing-6);left:auto;width:320px;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1));transform:translateY(8px);opacity:0;padding:var(--spacing-5) var(--spacing-5) var(--spacing-5)}.fab-bottom-sheet-overlay.active .fab-bottom-sheet{transform:translateY(0);opacity:1}.fab-bottom-sheet-handle{display:none}}.trip-empty-state{text-align:center;padding:var(--spacing-16, 64px) var(--spacing-6)}.trip-empty-state-icon{color:var(--color-gray-300);margin-bottom:var(--spacing-4);display:block;margin-left:auto;margin-right:auto}.trip-empty-state-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-gray-800);margin-bottom:var(--spacing-2)}.trip-empty-state-text{font-size:var(--font-size-base);color:var(--color-gray-500);margin-bottom:var(--spacing-8, 32px)}.trip-empty-state-actions{display:flex;gap:var(--spacing-3);justify-content:center;flex-wrap:wrap}.role-ospite .trip-empty-state-actions{display:none}@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(/assets/material-symbols-outlined-aqDUPpok.woff2) format("woff2")}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}
