.hotel-card{display:block;width:100%;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-500)}.hotel-detail-value .btn-copy-value:hover{color:var(--color-hotel-600)}.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:768px){.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{display:block;width:100%;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-500);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-500)}.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:768px){.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{display:block;width:100%;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-500)}.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:768px){.bus-card-body,.bus-details.active{padding:var(--spacing-4)}.bus-arc{min-width:60px}.bus-details-grid,.bus-actions{grid-template-columns:1fr}}.ferry-card{display:block;width:100%;background-color:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:var(--spacing-4)}.ferry-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);background-color:var(--color-ferry-600);color:var(--color-white)}.ferry-card.past .ferry-card-header{background-color:var(--color-ferry-600)}.ferry-cta-outline{border-color:var(--color-ferry-600)!important;color:var(--color-ferry-600)!important}.ferry-cta-outline:hover{background-color:var(--color-ferry-50)!important}.ferry-header-date{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg)}.ferry-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)}.ferry-return-badge{font-size:11px;font-weight:600;color:var(--color-white);background:#fff3;border:1px solid rgba(255,255,255,.4);border-radius:4px;padding:2px 6px}.ferry-card-body{padding:var(--spacing-6)}.ferry-title-section{margin-bottom:var(--spacing-2)}.ferry-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)}.ferry-operator{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-top:var(--spacing-1);display:block}.ferry-name{font-size:var(--font-size-sm);color:var(--color-gray-500);margin-top:2px;display:block}.ferry-route{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-2)}.ferry-endpoint{flex:1 1 0;min-width:0}.ferry-endpoint:first-child{text-align:left}.ferry-endpoint:last-child{text-align:right}.ferry-time-lg{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);line-height:1.2}.ferry-port-name{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:var(--spacing-1);line-height:1.3}.ferry-arc{flex:0 0 160px;display:flex;flex-direction:column;align-items:center}.ferry-arc-line{position:relative;width:160px}.ferry-arc-img{width:160px;height:auto;display:block}.ferry-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}.ferry-duration{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:2px}.ferry-toggle-details{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3);color:var(--color-ferry-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)}.ferry-toggle-details:hover span{text-decoration:underline}.ferry-toggle-details:hover{background-color:transparent}.ferry-toggle-details svg{transition:transform var(--transition-fast)}.ferry-toggle-details.active svg{transform:rotate(180deg)}.ferry-details{overflow:hidden;max-height:0;opacity:0;transition:max-height .3s ease,opacity .25s ease,padding .3s ease;padding:0 var(--spacing-6)}.ferry-details.active{max-height:1200px;opacity:1;padding:var(--spacing-6);padding-top:var(--spacing-2)}.ferry-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)}.ferry-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-6);margin-bottom:var(--spacing-6)}.ferry-details-grid:last-child{margin-bottom:0}.ferry-detail-item{display:flex;flex-direction:column;gap:var(--spacing-2)}.ferry-detail-label{font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}.ferry-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)}.ferry-detail-value .btn-copy-value{color:var(--color-gray-500)}.ferry-detail-value .btn-copy-value:hover{color:var(--color-ferry-600)}.ferry-price-box{display:flex;align-items:center;justify-content:space-between;background-color:var(--color-ferry-50);border-radius:var(--radius-xl);padding:var(--spacing-5);border:1px solid var(--color-ferry-200);margin-bottom:var(--spacing-6)}.ferry-price-label{font-size:var(--font-size-sm);color:var(--color-ferry-700);font-weight:var(--font-weight-medium)}.ferry-price-amount{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-ferry-800)}.ferry-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3);align-items:stretch}.ferry-actions .ferry-btn{margin-top:0;width:auto}.ferry-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}.ferry-btn svg{width:16px;height:16px}.ferry-btn--primary{background-color:var(--color-ferry-600);color:var(--color-white)}.ferry-btn--primary:hover{background-color:var(--color-ferry-700)}.ferry-btn--outline{background-color:transparent;border-color:var(--color-ferry-300);color:var(--color-ferry-600)}.ferry-btn--outline:hover{background-color:var(--color-ferry-50)}.ferry-btn--danger{background-color:transparent;border-color:var(--color-danger, #dc2626);color:var(--color-danger, #dc2626)}.ferry-btn--danger:hover{background-color:var(--color-danger, #dc2626);color:var(--color-white)}@media(max-width:768px){.ferry-card-body,.ferry-details.active{padding:var(--spacing-4)}.ferry-arc{min-width:60px}.ferry-details-grid,.ferry-actions{grid-template-columns:1fr}}.rental-card{display:block;width:100%;background-color:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:var(--spacing-4)}.rental-card-header{display:flex;justify-content:flex-start;align-items:center;padding:var(--spacing-5) var(--spacing-4);background-color:var(--color-rental-600);color:var(--color-white)}.rental-card.past .rental-card-header{background-color:var(--color-rental-600);opacity:.85}.rental-header-date{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg)}.rental-cta-outline{border-color:var(--color-rental-600)!important;color:var(--color-rental-600)!important}.rental-cta-outline:hover{background-color:var(--color-rental-50)!important}.rental-card-body{padding:var(--spacing-6)}.rental-name-section{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.rental-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)}.rental-days-badge{flex-shrink:0;background-color:var(--color-rental-100);color:var(--color-rental-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}.rental-route{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.rental-endpoint{flex:1 1 0;min-width:0}.rental-endpoint:first-child{text-align:left}.rental-endpoint:last-child{text-align:right}.rental-arc{flex:0 0 120px;display:flex;align-items:center;justify-content:center}.rental-arc-line{position:relative;width:120px}.rental-arc-img{width:120px;height:auto;display:block}.rental-arc-building{position:absolute;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}.rental-arc-building--left{left:-4px}.rental-arc-building--right{right:-4px}.rental-endpoint-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-500);margin-bottom:var(--spacing-1)}.rental-endpoint-date{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900);line-height:var(--line-height-tight);white-space:nowrap}.rental-endpoint-time{font-size:var(--font-size-sm);color:var(--color-rental-600);margin-top:var(--spacing-1);font-weight:var(--font-weight-medium)}.rental-vehicle-badge{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-rental-700);background-color:var(--color-rental-50);border:1px solid var(--color-rental-200);border-radius:var(--radius-full);padding:var(--spacing-1) var(--spacing-3)}.rental-toggle-details{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3);color:var(--color-rental-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)}.rental-toggle-details:hover span{text-decoration:underline}.rental-toggle-details:hover{background-color:transparent}.rental-toggle-details svg{transition:transform var(--transition-fast)}.rental-toggle-details.active svg{transform:rotate(180deg)}.rental-details{overflow:hidden;max-height:0;opacity:0;transition:max-height .3s ease,opacity .25s ease,padding .3s ease;padding:0 var(--spacing-6)}.rental-details.active{max-height:1200px;opacity:1;padding:var(--spacing-6);padding-top:var(--spacing-2)}.rental-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)}.rental-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-6);margin-bottom:var(--spacing-6)}.rental-details-grid:last-child{margin-bottom:0}.rental-detail-item{display:flex;flex-direction:column;gap:var(--spacing-2)}.rental-detail-item--full{grid-column:1 / -1}.rental-detail-label{font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}.rental-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)}.rental-detail-value .btn-copy-value{color:var(--color-gray-500)}.rental-detail-value .btn-copy-value:hover{color:var(--color-rental-600)}.rental-address-link{display:flex;align-items:center;gap:var(--spacing-2);color:var(--color-gray-700);transition:color var(--transition-fast)}.rental-address-link:hover{color:var(--color-rental-700)}.rental-address-link svg{flex-shrink:0;color:var(--color-gray-500);transition:color var(--transition-fast)}.rental-address-link:hover svg{color:var(--color-rental-700)}.rental-address-text{font-size:var(--font-size-sm)}.rental-address-link--strip{align-items:flex-start;gap:var(--spacing-1);min-height:2.6em;margin-bottom:var(--spacing-1)}.rental-endpoint--right .rental-address-link--strip{justify-content:flex-end}.rental-address-link--strip svg{width:13px;height:13px;margin-top:2px}.rental-address-link--strip .rental-address-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--font-size-xs);line-height:1.3;overflow-wrap:anywhere}.rental-price-box{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);background-color:var(--color-rental-50);border-radius:var(--radius-xl);padding:var(--spacing-5);border:1px solid var(--color-rental-200);margin-bottom:var(--spacing-6)}.rental-price-label{font-size:var(--font-size-sm);color:var(--color-rental-700);font-weight:var(--font-weight-medium)}.rental-price-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-rental-800)}.rental-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3);align-items:stretch}.rental-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}.rental-btn svg{width:16px;height:16px;flex-shrink:0}.rental-btn--primary{background-color:var(--color-rental-600);color:var(--color-white)}.rental-btn--primary:hover{background-color:var(--color-rental-700)}.rental-btn--outline{background-color:transparent;border-color:var(--color-rental-300);color:var(--color-rental-600)}.rental-btn--outline:hover{background-color:var(--color-rental-50)}.rental-btn--danger{background-color:transparent;border-color:var(--color-danger, #dc2626);color:var(--color-danger, #dc2626)}.rental-btn--danger:hover{background-color:var(--color-danger, #dc2626);color:var(--color-white)}@media(max-width:768px){.rental-card-body,.rental-details.active{padding:var(--spacing-4)}.rental-details-grid{grid-template-columns:1fr}.rental-endpoint-date,.rental-header-date{font-size:var(--font-size-base)}.rental-arc{flex-basis:76px}.rental-arc-line,.rental-arc-img{width:76px}.rental-name-section{margin-bottom:var(--spacing-4)}.rental-actions{grid-template-columns:1fr}.rental-actions>div:empty{display:none}}@media(max-width:480px){.rental-arc{flex-basis:60px}.rental-arc-line,.rental-arc-img{width:60px}.rental-arc-building{width:20px;height:20px}.rental-arc-building svg{width:12px;height:12px}.rental-arc-building--left{left:-2px}.rental-arc-building--right{right:-2px}.rental-endpoint-date{font-size:var(--font-size-sm)}}@media(max-width:359px){.rental-endpoint-date{white-space:normal;min-height:2.6em}}.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}body:has(.trip-fab):not(.role-ospite) .tab-content{padding-bottom:calc(var(--safe-bottom) + 56px + var(--spacing-6) + var(--spacing-4))}.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:768px){.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:768px){.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:768px){.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-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-700))}.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, var(--color-primary));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:768px){.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}}@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}@keyframes timelineItemHighlight{0%{background-color:#3b82f624;box-shadow:0 0 0 3px #3b82f673}to{box-shadow:0 0 0 3px #3b82f600}}.timeline-item-highlight{animation:timelineItemHighlight 1.5s ease-out}@media(prefers-reduced-motion:reduce){.timeline-item-highlight{animation:none;box-shadow:0 0 0 3px #3b82f659}}.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)}@media(max-width:480px){.modal-overlay{padding:0;align-items:flex-end}.modal{width:100%;max-width:100%;max-height:100vh;max-height:100dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;transform:translateY(100%);padding-bottom:var(--safe-bottom)}.modal-overlay.active .modal{transform:translateY(0)}}@media(min-width:481px){#expense-modal .modal,#fund-modal .modal{transform:translateY(28px);transition:transform .32s cubic-bezier(.16,1,.3,1)}#expense-modal.active .modal,#fund-modal.active .modal{transform:translateY(0)}#expense-modal.modal-overlay--closing .modal,#fund-modal.modal-overlay--closing .modal{transition:transform .28s cubic-bezier(.4,0,1,1)}}#expense-modal,#fund-modal{transition:opacity .32s ease-out,visibility .32s ease-out}#expense-modal.modal-overlay--closing,#fund-modal.modal-overlay--closing{transition:opacity .28s ease-in,visibility .28s ease-in;pointer-events:none}.modal--morphing{overflow:hidden}@media(prefers-reduced-motion:reduce){#expense-modal .modal,#fund-modal .modal,#expense-modal.active .modal,#fund-modal.active .modal,#expense-modal.modal-overlay--closing .modal,#fund-modal.modal-overlay--closing .modal{transform:none;transition:none}#expense-modal,#fund-modal,#expense-modal.modal-overlay--closing,#fund-modal.modal-overlay--closing{transition:opacity .12s linear}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-5)}.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:44px;height:44px;min-width:44px;min-height:44px;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);background-color:var(--color-white)}.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-body p.confirm-detail{margin-top:var(--spacing-2);color:var(--color-gray-900)}.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);white-space:nowrap;overflow:hidden;gap:var(--spacing-2)}.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);overflow:hidden;text-overflow:ellipsis;min-width:0}.city-autocomplete-country{font-size:var(--text-xs);color:var(--color-gray-500);flex-shrink:0}.city-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;color:var(--color-gray-500);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-500);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-500);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-500);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-500)}.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-500)}.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-500);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.file-item-remove:hover{background-color:var(--color-gray-200);color:var(--color-error-text)}.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-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:center;align-items:center}.result-state-icon.success{background-color:#d1fae5;color:var(--color-success-text)}.result-state-icon.error{background-color:#fee2e2;color:var(--color-error-text)}.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)}.result-state-detail{font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:var(--spacing-1)}.result-state-detail summary{cursor:pointer;-webkit-user-select:none;user-select:none}.result-state-detail code{display:inline-block;margin-top:var(--spacing-1);font-family:var(--font-mono, monospace);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-text)}.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-500);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-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-500);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)}.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:calc(var(--safe-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-notification.toast-warning{background-color:#b45309}.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)}.toast-action{flex-shrink:0;margin-left:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);min-height:44px;background:transparent;border:none;color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:underline;cursor:pointer}.toast-action:hover{opacity:.85}.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-500);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[type=number]::-webkit-outer-spin-button,.edit-booking-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.edit-booking-field input[type=number]{-moz-appearance:textfield}.mbf-price-row{display:flex;gap:var(--spacing-2);align-items:flex-end}.mbf-price-row .mbf-price-input-wrap{flex:1}.mbf-price-row .mbf-currency-wrap{width:90px;flex-shrink: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-field textarea{width:100%;padding:10px var(--spacing-3);font-size:var(--font-size-sm);font-family:var(--font-family);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;resize:none}.edit-booking-field textarea:hover{border-color:var(--color-gray-300)}.edit-booking-field textarea: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-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)}.edit-booking-passenger-row,.edit-booking-vehicle-row{display:flex;align-items:flex-end;gap:var(--spacing-2);margin-bottom:var(--spacing-2);padding:8px 8px 8px 0}.edit-booking-passenger-row[data-room-index]{flex-direction:column;align-items:stretch;padding:10px 12px;background:var(--color-gray-50, #f9fafb);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);gap:var(--spacing-2)}.edit-booking-passenger-row[data-room-index]+.edit-booking-passenger-row[data-room-index]{margin-top:var(--spacing-2)}.edit-booking-passenger-row[data-guest-index]{align-items:flex-end;gap:var(--spacing-2)}.edit-booking-passenger-row[data-guest-index] .edit-booking-grid{flex:1;margin-bottom:0}.edit-booking-passenger-row .edit-booking-field,.edit-booking-vehicle-row .edit-booking-field{margin-bottom:0}.edit-booking-passenger-row select,.edit-booking-vehicle-row select{width:100%;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-color:var(--color-white);color:var(--color-gray-900);height:38px}.edit-booking-remove-row{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-bottom:4px;background:none;border:none;border-radius:var(--radius-md);color:var(--color-gray-500);cursor:pointer;transition:color var(--transition-fast)}.edit-booking-remove-row:hover{color:var(--color-error, #ef4444)}.edit-booking-add-row{display:inline-flex;align-items:center;gap:var(--spacing-1);margin-top:var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);background:none;border:none;cursor:pointer;padding:var(--spacing-1) 0;transition:opacity var(--transition-fast)}.edit-booking-add-row:hover{opacity:.75}.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-500);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}.add-field-section{padding:var(--spacing-3) var(--spacing-4);position:relative}.add-field-btn{display:inline-flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);background:none;border:none;cursor:pointer;padding:var(--spacing-1) 0;transition:opacity var(--transition-fast)}.add-field-btn:hover{opacity:.75}.add-field-dropdown{display:none!important}.add-field-option{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-gray-800);cursor:pointer;transition:background-color var(--transition-fast)}.add-field-option:hover{background-color:var(--color-gray-50)}.add-field-inline-picker,.parse-add-field-inline-picker{display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap;margin-top:var(--spacing-2)}.add-field-select,.parse-add-field-select{font-size:var(--font-size-sm);padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);background:var(--color-white);color:var(--color-gray-900);flex:1;min-width:0}.add-field-confirm-btn,.parse-add-field-confirm-btn{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-white);cursor:pointer;white-space:nowrap}.add-field-confirm-btn:hover,.parse-add-field-confirm-btn:hover{opacity:.85}.add-field-cancel-btn,.parse-add-field-cancel-btn{font-size:var(--font-size-xs);padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);background:none;color:var(--color-gray-600);cursor:pointer}.cs-wrapper{position:relative;display:inline-block;width:100%;box-sizing:border-box;font-family:inherit;font-size:var(--font-size-sm)}.cs-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-1);width:100%;padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);background:var(--color-white);color:var(--color-gray-900);cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;transition:border-color .15s ease;min-height:34px}.cs-trigger:hover{border-color:var(--color-gray-400)}.cs-wrapper.cs-open .cs-trigger,.cs-trigger:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 59, 130, 246),.15)}.cs-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-gray-900)}.cs-arrow{flex-shrink:0;color:var(--color-gray-500);display:flex;align-items:center;transition:transform .15s ease}.cs-wrapper.cs-open .cs-arrow{transform:rotate(180deg)}.cs-list{position:absolute;top:calc(100% + 3px);left:0;right:0;z-index:1000;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;list-style:none;padding:var(--spacing-1) 0;margin:0;max-height:200px;overflow-y:auto;display:none}.cs-wrapper.cs-open .cs-list{display:block}.cs-option{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-gray-900);cursor:pointer;transition:background-color .1s ease}.cs-option:hover{background-color:var(--color-gray-50)}.cs-option--selected{color:var(--color-primary);font-weight:var(--font-weight-medium)}.cs-option-head{display:flex;align-items:center;gap:var(--spacing-2)}.cs-option-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-option-badge{flex-shrink:0;padding:1px 6px;border-radius:99px;background:#e6f0ff;color:var(--color-primary);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.cs-option-hint{display:block;margin-top:2px;font-size:var(--font-size-xs);font-weight:400;color:var(--color-gray-500)}.edit-booking-field .cs-wrapper .cs-trigger{padding:10px var(--spacing-3);min-height:auto;border-radius:var(--radius-md);border-color:var(--color-gray-200)}.edit-booking-field .cs-wrapper .cs-trigger:hover{border-color:var(--color-gray-300)}.add-field-inline-picker .cs-wrapper,.parse-add-field-inline-picker .cs-wrapper{flex:1;min-width:0}.add-field-inline-picker .cs-wrapper .cs-trigger,.parse-add-field-inline-picker .cs-wrapper .cs-trigger{padding:var(--spacing-1) var(--spacing-2);min-height:0}.parse-add-field-section{margin-top:var(--spacing-3);padding-top:var(--spacing-2);border-top:none;position:relative}.parse-add-field-btn{display:inline-flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);background:none;border:none;cursor:pointer;padding:var(--spacing-1) 0}.parse-add-field-btn:hover{opacity:.75}.parse-add-field-dropdown{position:absolute;left:0;top:100%;z-index:200;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001f;min-width:180px;overflow:hidden}.parse-add-field-option{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-gray-800);cursor:pointer;transition:background-color var(--transition-fast)}.parse-add-field-option:hover{background-color:var(--color-gray-50)}.parse-added-fields-grid .parse-field-row{display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-2) 0}.parse-added-fields-grid .parse-field-input{width:100%;font-size:var(--font-size-sm);padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);background:var(--color-white);color:var(--color-gray-900)}.slide-panel-header{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--spacing-5) + var(--safe-top)) 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) + var(--safe-bottom));border-top:1px solid var(--color-gray-100);background-color:var(--color-gray-50);flex-shrink:0}.slide-panel-footer>:last-child:not(:first-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) + var(--safe-bottom));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-500);font-style:italic}.activity-view-time{display:flex;gap:var(--spacing-6)}.place-card{position:relative;margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:1px solid var(--color-gray-200)}.place-card-remove{position:absolute;top:var(--spacing-3);right:0;background:none;border:none;color:var(--color-gray-500);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:var(--color-gray-900);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:currentColor;border-radius:50%;animation:spin .6s linear infinite}@media(prefers-reduced-motion:reduce){.place-card-loading .spinner-sm{animation-duration:3.5s}}@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-500);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-500);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.url-remove-btn:hover{color:var(--color-error-text);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-500)}.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-500);font-size:var(--font-size-xs);flex-shrink:0}.file-preview-remove{background:none;border:none;color:var(--color-gray-500);cursor:pointer;display:flex;align-items:center;padding:2px;flex-shrink:0}.file-preview-remove:hover{color:var(--color-error-text)}.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-text)}.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:var(--safe-bottom)}}.share-section{padding-top:var(--spacing-4);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)}.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;min-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-text)}.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-loading{display:flex;align-items:center;justify-content:center;min-height:180px}.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-input-wrapper{flex-basis: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,.trip-role-badge--ospite{background:var(--color-white);color:var(--color-gray-900)}.trip-role-badge--ospite{color:var(--color-gray-600)}.notifications-main .container{padding-top:var(--spacing-6)}@media(min-width:768px){.notifications-main .container{padding-top:var(--spacing-8)}}.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}.notif-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.notif-card{position:relative;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:10px var(--spacing-3);transition:border-color var(--transition-fast),background var(--transition-fast)}.notif-card--unread{background:#f4f8ff;border-color:#d7e5ff}.notif-card--change{background:#fffbf2;border-color:#fbe3bd}.notif-card--expandable>.notif-card-head{cursor:pointer}.notif-card-head{display:flex;align-items:center;gap:var(--spacing-3)}.notif-card-cta{flex-shrink:0;display:flex;align-items:center}.notif-card-icon{flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-md);background:var(--color-white);border:1.5px solid var(--color-gray-200);color:var(--color-gray-900);display:flex;align-items:center;justify-content:center}.notif-card--unread .notif-card-icon{border-color:#bfd4ff;color:var(--color-primary)}.notif-card-icon svg{width:16px;height:16px;stroke-width:1.5}.notif-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-card-line{display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap;min-height:20px}.notif-chip{display:inline-flex;align-items:center;padding:1px 8px;border-radius:99px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--color-gray-100);color:var(--color-gray-700)}.notif-chip--change{background:#fef3c7;color:#92400e}.notif-state{display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border-radius:99px;border:none;font-family:inherit;font-size:11px;font-weight:600;line-height:1.6}button.notif-state{cursor:pointer}.notif-state-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.notif-state--unread{color:var(--color-primary);background:#e6f0ff}button.notif-state--unread:hover{background:#d5e5ff}.notif-state--read{color:var(--color-gray-500);background:var(--color-gray-100)}.notif-state--todo{color:#92400e;background:#fef3c7}.notif-state--done{color:var(--color-success-text);background:#dcfce7}.notif-state--off{color:var(--color-gray-600);background:var(--color-gray-100)}.notif-card-title{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:1.35;color:var(--color-gray-900);overflow-wrap:break-word}.notif-card-sub{margin:0;font-size:var(--font-size-xs);line-height:1.5;color:var(--color-gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-drawer{margin:var(--spacing-2) 0 2px 44px;padding-top:var(--spacing-2);border-top:1px dashed var(--color-gray-200)}.notif-drawer[hidden]{display:none}.notif-drawer-foot{margin-top:var(--spacing-2)}.notif-details{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:3px var(--spacing-3);font-size:var(--font-size-xs)}.notif-detail{display:contents}.notif-detail-k{color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.03em;font-weight:600;white-space:nowrap}.notif-detail-v{color:var(--color-gray-700);overflow-wrap:anywhere}.notif-card-actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0;flex-wrap:wrap}.notif-card-link{display:inline-block;font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary);text-decoration:none;white-space:nowrap}.notif-card-link:hover{text-decoration:underline}.notif-card-side{flex-shrink:0;display:flex;align-items:center;gap:2px}.notif-card-time{min-width:68px;text-align:right;font-size:var(--font-size-xs);color:var(--color-gray-500);white-space:nowrap}.notif-toggle{width:28px;height:28px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-gray-500);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.notif-toggle:hover{background:var(--color-gray-100);color:var(--color-gray-800)}.notif-toggle svg{transition:transform var(--transition-fast)}.notif-card--open .notif-toggle svg{transform:rotate(180deg)}.notif-pager{display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);margin-top:var(--spacing-4);flex-wrap:wrap}.notif-pager-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-gray-700);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.notif-pager-btn:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-300)}.notif-pager-btn:disabled{opacity:.45;cursor:default}.notif-pager-status{min-width:96px;text-align:center;font-size:var(--font-size-xs);color:var(--color-gray-500)}@media(max-width:599px){.notif-card-head{flex-wrap:wrap;row-gap:var(--spacing-2)}.notif-card-side{order:3}.notif-card-cta{order:4;flex:1 1 100%;min-width:0;margin-left:44px}}@media(max-width:480px){.notif-card{padding:10px}.notif-card-head{gap:var(--spacing-2)}.notif-card-time{font-size:11px;min-width:58px}.notif-drawer,.notif-card-cta{margin-left:40px}.notif-card-actions .notification-action-btn{padding:5px 12px;font-size:12px}.notif-pager{gap:var(--spacing-2)}.notif-pager-btn{padding:6px 10px;font-size:12px}.notif-pager-status{min-width:76px}}.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--primary{background:var(--color-primary);color:var(--color-white)}.notification-action-btn--primary:hover{opacity:.9}.notification-action-btn--accept:hover:not(:disabled){opacity:.9}.notification-action-btn--decline{background:transparent;color:var(--color-error-text);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-text)}.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-500);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-activity-card{background:var(--color-gray-50);border-radius:var(--radius-lg);padding:var(--spacing-4);border:1px solid var(--color-gray-200)}.parse-activity-type{display:inline-flex;align-items:center;gap:6px;margin-bottom:var(--spacing-2);color:var(--color-gray-600);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.parse-activity-type-icon{display:inline-flex;align-items:center;justify-content:center}.parse-activity-type-icon svg{width:16px;height:16px}.parse-activity-type-icon .material-symbols-outlined{font-size:16px;line-height:1}.parse-rental-card{background:var(--color-gray-50);border-radius:var(--radius-lg);padding:var(--spacing-4);border:1px solid var(--color-gray-200)}.parse-rental-provider{font-weight:600;font-size:var(--font-size-base);color:var(--color-rental-700);margin-bottom:var(--spacing-3)}.parse-rental-provider+.parse-transport-route{margin-bottom: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-detail-grid--2col{display:grid;width:100%;grid-template-columns:1fr 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-500);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-500);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-500)}.update-diff-arrow{color:var(--color-gray-500);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(var(--safe-bottom) + 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(.modal-overlay.active) .trip-fab,body:has(#add-booking-modal) .trip-fab,body:has(#delete-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}body:has(.itin-card[data-menu-open=true]) .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(var(--safe-bottom) + 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-icon--expense{color:var(--color-train-700);background:var(--color-train-50, #fef6ee)}.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(var(--safe-bottom) + 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}}.modal-page--activity{top:0;right:0;bottom:0;max-width:100%;border-radius:0;transform:translate(100%);background:var(--color-panel-bg)}body:has(#modal-page-slider.at-activity){overflow:hidden}.modal-page--activity,.modal-page--activity .slide-panel-body{overscroll-behavior:contain}.slide-panel-header{background:var(--color-panel-bg);border-bottom:none;box-shadow:none;position:relative;z-index:1;transition:box-shadow var(--transition-fast)}.slide-panel-footer{background:var(--color-panel-bg);border-top:none;box-shadow:none;position:relative;z-index:1;transition:box-shadow var(--transition-fast)}.modal-page--activity.has-scrolled-content .slide-panel-header{box-shadow:0 2px 6px #1018280f}.modal-page--activity.has-more-content .slide-panel-footer{box-shadow:0 -2px 6px #1018280f}@media(prefers-reduced-motion:reduce){.slide-panel-header,.slide-panel-footer{transition:none}}.slide-panel-body--sections{background:var(--color-panel-bg)}.panel-section,.slide-panel-body--sections>.item-detail-summary,.slide-panel-body--sections>.item-detail-details>*{background:var(--color-white);border:none;border-radius:var(--radius-lg);padding:var(--spacing-4);margin-bottom:var(--spacing-3)}.panel-section:last-child,.slide-panel-body--sections>.item-detail-details>*:last-child{margin-bottom:0}.item-origin-note{margin:var(--spacing-3) 0 0;padding:0 var(--spacing-1);font-size:var(--font-size-xs);line-height:1.5;color:var(--color-gray-500)}.slide-panel-body--sections>.edit-booking-form>.edit-booking-section{background:var(--color-white);border:none;border-radius:var(--radius-lg);padding:var(--spacing-4);margin-bottom:var(--spacing-3)}.slide-panel-body--sections>.edit-booking-form>.edit-booking-section:last-child{margin-bottom:0;padding-bottom:var(--spacing-4)}.slide-panel-body--sections>.edit-booking-form>.edit-booking-section:first-child{padding-top:var(--spacing-4)}.panel-section-title{margin:0 0 var(--spacing-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-gray-600)}.slide-panel-body--sections .item-detail-summary{padding-bottom:var(--spacing-4);margin-bottom:var(--spacing-3);border-bottom:none}.slide-panel-body--sections .flight-passenger-item{background-color:transparent;border:none;border-radius:0;padding:0}.slide-panel-body--sections .flight-passenger-item+.flight-passenger-item{border-top:1px solid var(--color-gray-200);padding-top:var(--spacing-3)}.slide-panel-body--sections .flight-passenger-details{border-top:none;padding-top:0;margin-top:var(--spacing-1)}.slide-panel-body--sections .flight-passengers-list{gap:var(--spacing-3)}.address-link,.slide-panel-body .hotel-address-link,.slide-panel-body .rental-address-link,.slide-panel-body .flight-location-link{display:inline-flex;align-items:center;gap:var(--spacing-2);color:var(--color-gray-700);text-decoration:none;transition:color var(--transition-fast)}.address-link svg,.slide-panel-body .hotel-address-link svg,.slide-panel-body .rental-address-link svg,.slide-panel-body .flight-location-link svg{flex-shrink:0;color:var(--color-gray-900);transition:color var(--transition-fast)}.address-link:hover,.address-link:focus-visible,.address-link:hover svg,.address-link:focus-visible svg,.slide-panel-body .hotel-address-link:hover,.slide-panel-body .hotel-address-link:focus-visible,.slide-panel-body .hotel-address-link:hover svg,.slide-panel-body .rental-address-link:hover,.slide-panel-body .rental-address-link:focus-visible,.slide-panel-body .rental-address-link:hover svg,.slide-panel-body .flight-location-link:hover,.slide-panel-body .flight-location-link:focus-visible,.slide-panel-body .flight-location-link:hover svg{color:var(--color-primary)}.address-link-text{font-size:var(--font-size-sm)}.activity-view-value .address-link{color:var(--color-gray-700);word-break:normal}.activity-view-value .address-link:hover,.activity-view-value .address-link:focus-visible{color:var(--color-primary);text-decoration:none}@media(prefers-reduced-motion:reduce){.itin-card-cta,.address-link,.address-link svg,.itin-detail-address-link,.itin-detail-address-link svg,.itin-copy-btn,.slide-panel-body .hotel-address-link,.slide-panel-body .rental-address-link,.slide-panel-body .flight-location-link{transition:none}}.slide-panel-body--sections .panel-section>.form-group:last-child,.slide-panel-body--sections .panel-section>.activity-view-field:last-child{margin-bottom:0}.slide-panel-header:has(.slide-panel-titles){align-items:flex-start}.slide-panel-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.slide-panel-subtitle{font-size:var(--font-size-sm);color:var(--color-gray-500)}.item-detail-summary{display:flex;flex-direction:column;gap:var(--spacing-3);padding-bottom:var(--spacing-4);margin-bottom:var(--spacing-4);border-bottom:1px solid var(--color-gray-100)}.item-detail-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-4)}.item-detail-row-label{font-size:var(--font-size-xs);color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.item-detail-row-value{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-900);text-align:right;overflow-wrap:anywhere}.item-detail-row-sub{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-gray-500)}.item-detail-body .item-detail-details{max-height:none;opacity:1;overflow:visible;padding:0;background:transparent;transition:none}.item-detail-body .flight-passenger-type{display:none}.slide-panel-footer .item-detail-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--spacing-2);width:auto;margin:0;--panel-cta: var(--color-primary);--panel-cta-hover: var(--color-primary-dark)}.slide-panel-footer .item-detail-actions>*{flex:0 0 auto;min-height:40px;margin-top:0;width:auto;padding:var(--spacing-2) var(--spacing-3);white-space:nowrap}.slide-panel-footer .item-detail-actions svg{display:none}.slide-panel-footer .item-detail-actions .btn-edit-item{background-color:var(--panel-cta);border:1px solid var(--panel-cta);color:var(--color-white)}.slide-panel-footer .item-detail-actions .btn-edit-item:hover{background-color:var(--panel-cta-hover);border-color:var(--panel-cta-hover);color:var(--color-white)}.slide-panel-footer .item-detail-actions .btn-download-pdf{background-color:transparent;border:1px solid var(--panel-cta);color:var(--panel-cta)}.slide-panel-footer .item-detail-actions .btn-download-pdf:hover{background-color:var(--panel-cta);color:var(--color-white)}.modal-delete-link{display:inline-flex;align-items:center;justify-content:flex-start;align-self:flex-start;flex:0 0 auto;width:auto;gap:var(--spacing-2);margin:var(--spacing-3) 0 0;padding:var(--spacing-2) 0;background:none;border:0;color:var(--color-error-text);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.2;text-align:left;white-space:nowrap;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color var(--transition-fast),opacity var(--transition-fast)}.modal-delete-link:hover{background:none;color:var(--color-error-text);text-decoration-color:currentColor}.modal-delete-link:focus-visible{outline:2px solid var(--color-error);outline-offset:2px;border-radius:var(--radius-sm)}.modal-delete-link:disabled{opacity:.5;cursor:default;text-decoration-color:transparent}.modal-delete-link svg{display:block;flex:0 0 auto;width:16px;height:16px}.modal-delete-row{display:flex;justify-content:flex-start}.item-detail-row-value .rental-address-link{display:inline;text-align:right}.item-detail-row-value .rental-address-link svg{display:inline;width:13px;height:13px;vertical-align:-2px;margin-right:3px}.item-detail-body .hotel-details-grid,.item-detail-body .train-details-grid,.item-detail-body .bus-details-grid,.item-detail-body .ferry-details-grid,.item-detail-body .rental-details-grid,.item-detail-body .flight-details-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.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}.trip-error-code{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:var(--font-size-xs, 12px);letter-spacing:.06em;color:var(--color-gray-500);margin-bottom:var(--spacing-6, 24px)}.trip-error-actions{display:flex;gap:var(--spacing-3);justify-content:center;flex-wrap:wrap}@media(max-width:767px){.trip-error-actions{flex-direction:column;align-items:stretch}}.modal--pending-booking{max-width:640px;max-height:90vh;display:flex;flex-direction:column}.modal--pending-booking .modal-header-content{display:flex;flex-direction:column;gap:2px}.modal--pending-booking .modal-subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:400;text-transform:uppercase;letter-spacing:.04em}.modal--pending-booking .modal-header h2{font-size:var(--font-size-lg);font-weight:600;margin:0}.modal--pending-booking .modal-body{flex:1;overflow-y:auto;padding:var(--spacing-4) var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-4)}.pb-change-banner{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);border-left:3px solid #f59e0b;background:#fffbeb}.pb-change-banner--duplicate{border-left-color:var(--color-gray-400);background:var(--color-gray-50)}.pb-change-title{font-size:14px;font-weight:600;color:var(--color-gray-900)}.pb-change-trip{font-weight:500;color:var(--color-gray-600)}.pb-change-trip:before{content:"· "}.pb-change-list{list-style:none;margin:var(--spacing-2) 0 0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:13px}.pb-change-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.pb-change-field{color:var(--color-gray-600)}.pb-change-old{color:var(--color-gray-500);text-decoration:line-through}.pb-change-arrow{color:var(--color-gray-400)}.pb-change-new{font-weight:600;color:var(--color-gray-900)}.pb-change-note{margin-top:var(--spacing-2);font-size:12px;color:var(--color-gray-600)}.pb-no-trip{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);border-left:3px solid var(--color-gray-400);background:var(--color-gray-50)}.pb-no-trip-title{font-size:14px;font-weight:600;color:var(--color-gray-900)}.pb-no-trip-note{margin-top:var(--spacing-2);font-size:12px;line-height:1.5;color:var(--color-gray-600)}.pb-trip-selector{padding:var(--spacing-3) var(--spacing-4);background:var(--color-primary-light, rgba(var(--color-primary-rgb), .06));border:1px solid var(--color-primary-border, rgba(var(--color-primary-rgb), .15));border-radius:var(--radius-md)}.pb-trip-label{display:block;margin-bottom:6px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-500)}.pb-trip-cs .cs-trigger{min-height:44px;padding:10px var(--spacing-3);border-radius:var(--radius-md)}.pb-trip-cs .cs-list{max-height:264px}.pb-trip-why{margin-top:6px;font-size:var(--font-size-xs);color:var(--color-gray-600)}.pb-preview-container .parse-preview{padding:0}.pb-modal-footer{justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-3)}.pb-inline-error{font-size:var(--font-size-sm);color:var(--color-error-text);margin-top:var(--spacing-1)}.btn--danger{color:var(--color-error-text)}.btn--danger:hover{background-color:rgba(var(--color-error-rgb, 220, 38, 38),.06)}.share-logged-in-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-5);background:var(--color-white);font-size:var(--font-size-sm);color:var(--color-gray-600);text-decoration:none;transition:background-color var(--transition-fast)}.share-logged-in-banner:hover{background-color:var(--color-gray-100)}@media(prefers-reduced-motion:reduce){.share-logged-in-banner{transition:none}}.share-logged-in-cta{font-weight:var(--font-weight-semibold);color:var(--color-primary);white-space:nowrap}@media(max-width:480px){.share-logged-in-banner{flex-direction:column;align-items:flex-start}}.invite-quota{margin-top:var(--spacing-4)}.invite-quota-bar-wrap{height:6px;background:var(--color-gray-200);border-radius:99px;overflow:hidden;margin-bottom:var(--spacing-2)}.invite-quota-bar{height:100%;background:var(--color-primary);border-radius:99px;transition:width .4s ease;min-width:0}.invite-quota-label{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-gray-500)}.invite-quota-reset{font-size:var(--font-size-xs, 11px);color:var(--color-gray-500)}.invite-limit-notice{margin-top:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);background:var(--color-gray-100);border-radius:var(--border-radius);color:var(--color-gray-600);font-size:var(--font-size-sm)}.invite-form{margin-top:var(--spacing-4)}.invite-form-row{display:flex;gap:var(--spacing-2)}.invite-form-row .form-input{flex:1;min-width:0}.invite-form-row .btn{flex-shrink:0;display:flex;align-items:center;gap:var(--spacing-1);white-space:nowrap}.invite-hint{margin-top:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-gray-500)}.invite-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-2)}.invite-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);padding:var(--spacing-3) 0;border-bottom:1px solid var(--color-gray-100)}.invite-item:last-child{border-bottom:none}.invite-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.invite-item-email{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-item-date{font-size:var(--font-size-xs, 11px);color:var(--color-gray-500)}.invite-item-meta{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.invite-status{font-size:var(--font-size-xs, 11px);font-weight:600;padding:2px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:.04em}.invite-status--pending{background:#fef3c7;color:#92400e}.invite-status--accepted{background:var(--color-hotel-50);color:var(--color-hotel-700)}.invite-status--revoked{background:var(--color-gray-100);color:var(--color-gray-500)}.invite-actions{display:flex;align-items:center;gap:var(--spacing-1)}.btn-icon-sm{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--border-radius-sm);border:1px solid var(--color-gray-200);background:transparent;color:var(--color-gray-500);cursor:pointer;transition:background .15s,color .15s;padding:0}.btn-icon-sm:hover{background:var(--color-gray-100);color:var(--color-gray-800)}.invite-empty{color:var(--color-gray-500);font-size:var(--font-size-sm);text-align:center;padding:var(--spacing-4) 0}.invite-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(16px);background:var(--color-gray-800);color:var(--color-white);padding:var(--spacing-3) var(--spacing-5);border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:500;opacity:0;transition:opacity .2s ease,transform .2s ease;z-index:9999;pointer-events:none;white-space:nowrap}.invite-toast--visible{opacity:1;transform:translate(-50%) translateY(0)}@media(max-width:480px){.invite-form-row{flex-direction:column}.invite-form-row .btn{width:100%;justify-content:center}.invite-toast{white-space:normal;text-align:center;left:16px;right:16px;transform:translateY(16px);width:auto}.invite-toast--visible{transform:translateY(0)}}.modal--wide{max-width:720px}.booking-type-section{margin-top:var(--spacing-4)}.booking-type-section-label{font-size:var(--font-size-sm);color:var(--color-gray-500);text-align:center;margin-bottom:var(--spacing-3)}.booking-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3)}.booking-type-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-2);border:1.5px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-white);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);text-align:center}.booking-type-card:hover{border-color:var(--booking-card-color, var(--color-primary));background:var(--booking-card-hover-bg, var(--color-primary-light));transform:translateY(-1px);box-shadow:var(--shadow-sm)}.booking-type-card--selected{border-color:var(--booking-card-color, var(--color-primary));background:var(--booking-card-hover-bg, var(--color-primary-light));box-shadow:var(--shadow-sm)}@media(prefers-reduced-motion:reduce){.booking-type-card{transition:none}.booking-type-card:hover{transform:none}}.booking-type-card__icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--color-white);border:1.5px solid var(--color-gray-900);color:var(--color-gray-900);flex-shrink:0}.booking-type-card__icon svg{color:inherit;width:18px;height:18px;stroke-width:1.5;flex-shrink:0}.booking-type-card__icon .material-symbols-outlined{color:inherit;font-size:18px;line-height:1;font-variation-settings:"wght" 200,"FILL" 0,"GRAD" 0,"opsz" 20;overflow:visible}.booking-type-card__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-700);line-height:1.2}.ferry-doc-action-btn.btn-download-pdf{width:auto;min-width:0;margin-top:0}.ferry-doc-action-btn:hover{background:var(--color-gray-100, #f3f4f6)!important}.flight-type-selector{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.flight-type-pill{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:1.5px solid var(--color-border);border-radius:20px;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.flight-type-pill svg{flex-shrink:0}.flight-type-pill--active{border-color:var(--booking-card-color, var(--color-primary));background:var(--booking-card-hover-bg, rgba(59,130,246,.08));color:var(--booking-card-color, var(--color-primary))}.flight-leg-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;margin-bottom:8px;font-weight:600;font-size:var(--font-size-sm)}.flight-leg-header--outbound{background:#3b82f614;color:var(--color-primary, #3b82f6)}.flight-leg-header--return{background:#10b98114;color:#10b981}.flight-leg-header--multi{background:var(--color-surface-alt, #f4f4f5);color:var(--color-text-secondary)}.flight-leg-remove{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:2px 6px;border-radius:4px;font-size:16px;line-height:1}.flight-leg-remove:hover{color:var(--color-danger, #e53e3e);background:#e53e3e14}.add-leg-btn{width:100%;padding:var(--spacing-3);border:1.5px solid var(--color-primary);border-radius:var(--radius-md);background:transparent;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;margin-top:var(--spacing-4);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-2)}.add-leg-btn:hover{background:var(--color-primary);color:var(--color-white)}.add-leg-btn:disabled{opacity:.4;cursor:not-allowed}.sidebar-draft-badge{display:none;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--color-primary, #3b82f6);color:#fff;font-size:11px;font-weight:600;margin-left:auto}.draft-list{display:flex;flex-direction:column;gap:8px}.draft-list-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);transition:background .15s}.draft-list-item:hover{background:var(--color-surface-alt, #f9f9f9)}.draft-list-item__link{flex:1;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit;cursor:pointer;min-width:0}.draft-list-item__title{font-weight:600;font-size:var(--font-size-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.draft-list-item__meta{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.draft-list-item__badge{padding:2px 8px;border-radius:12px;background:var(--color-gray-100, #f3f4f6);color:var(--color-text-secondary);font-size:11px;font-weight:500;border:1px solid var(--color-border);white-space:nowrap;flex-shrink:0}.draft-list-item__delete{background:none;border:none;cursor:pointer;color:var(--color-error, #ef4444);padding:4px;border-radius:4px;display:flex;align-items:center;flex-shrink:0;transition:color .15s,background .15s}.draft-list-item__delete:hover{color:#dc2626;background:#ef444414}.draft-count-inline{font-weight:inherit;color:inherit}.draft-list-item__delete:disabled{opacity:.4;cursor:not-allowed}.draft-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center}.draft-confirm-modal{background:var(--color-surface);border-radius:12px;padding:24px;max-width:360px;width:calc(100% - 32px);box-shadow:0 8px 32px #0000002e}.draft-confirm-modal__title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.draft-confirm-modal__body{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:20px}.draft-confirm-modal__actions{display:flex;gap:8px;justify-content:flex-end}.draft-confirm-modal__confirm{padding:8px 16px;border-radius:8px;background:var(--color-error, #ef4444);color:#fff;font-weight:500;font-size:var(--font-size-sm);border:none;cursor:pointer}.draft-confirm-modal__cancel{padding:8px 16px;border-radius:8px;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);border:1px solid var(--color-border);cursor:pointer}.draft-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#fef9c3,#fef3c7);border:1px solid #fbbf24;border-radius:10px;margin-bottom:16px;flex-wrap:wrap}.draft-banner__text{flex:1;font-size:var(--font-size-sm);color:#92400e;min-width:200px}.split-cta{position:relative;display:flex;align-items:stretch}.split-cta__primary{flex:1;border-radius:8px 0 0 8px}.split-cta__arrow{width:32px;display:flex;align-items:center;justify-content:center;border-left:1px solid rgba(255,255,255,.3);background:var(--color-primary);color:#fff;cursor:pointer;border-radius:0 8px 8px 0;border:none;transition:background .15s}.split-cta__arrow:hover{background:var(--color-primary-dark)}.split-cta__dropdown{position:absolute;bottom:calc(100% + 4px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 16px #0000001f;overflow:hidden;min-width:160px;z-index:100}.split-cta__option{display:block;width:100%;padding:10px 16px;text-align:left;font-size:var(--font-size-sm);color:var(--color-text-primary);background:none;border:none;cursor:pointer}.split-cta__option:hover{background:var(--color-surface-hover, #f5f5f5)}.split-cta__option--active{font-weight:600;color:var(--color-primary)}.field-error{display:block;font-size:11px;color:var(--color-error, #ef4444);margin-top:4px}.form-input.input--error{border-color:var(--color-error, #ef4444)}.trip-dates-row{display:flex;align-items:center;gap:8px}.trip-edit-dates-btn{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);opacity:.6;padding:2px;display:flex;align-items:center}.trip-edit-dates-btn:hover{opacity:1;color:var(--color-primary)}.trip-move-to-draft-btn{background:none;border:none;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:underline;padding:0;margin-top:16px;display:block}.modal--settings{max-width:480px}.modal--settings .modal-body{display:flex;flex-direction:column;gap:16px;padding:20px 24px}.modal--settings .modal-body .form-group{margin-bottom:0}.modal--settings .form-row{display:flex;gap:12px}.modal--settings .form-row .form-group{flex:1}.form-group-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.form-group-header .form-label{margin-bottom:0}.char-counter-inline{font-size:12px;color:var(--color-gray-500, var(--text-secondary))}.settings-city-chips-field{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:42px;padding:4px 10px;border:1px solid var(--color-gray-300, #d1d5db);border-radius:var(--radius-md, var(--radius));background:var(--color-white, var(--bg-input, var(--bg-secondary)));cursor:text;position:relative}.settings-city-chips-field:focus-within{border-color:var(--color-primary, var(--primary));outline:none}.city-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--primary-light, rgba(59,130,246,.12));color:var(--primary);border-radius:100px;font-size:13px;font-weight:500;white-space:nowrap}.city-chip__remove{background:none;border:none;cursor:pointer;padding:0;line-height:1;font-size:15px;color:var(--primary);opacity:.7}.city-chip__remove:hover{opacity:1}.city-chip-input{border:none;outline:none;background:transparent;flex:1 1 80px;min-width:80px;font-size:14px;padding:2px 0;color:var(--text-primary);line-height:1.4}.settings-city-chips-field .city-autocomplete-dropdown{position:absolute;top:calc(100% + 4px);left:0;width:100%;z-index:200}.settings-photo-row{display:flex;align-items:center;gap:12px;margin-top:4px}.settings-photo-actions{display:flex;flex-direction:row;gap:8px;align-items:center;flex-wrap:wrap}.settings-photo-thumb{width:64px;height:44px;border-radius:6px;background:var(--bg-tertiary);overflow:hidden;flex-shrink:0}.settings-photo-thumb img{width:100%;height:100%;object-fit:cover}.settings-status-row{display:flex;gap:24px;margin-top:6px}.settings-status-option{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px}.settings-save-error{color:var(--error);font-size:13px;margin-top:8px;text-align:right}.expenses-card{background:var(--color-gray-50);border:none;border-radius:var(--radius-lg);padding:var(--spacing-4);overflow:visible}.expenses-card-head{display:flex;align-items:center;gap:var(--spacing-3);padding:0 var(--spacing-1) var(--spacing-3);border-bottom:none}.expenses-card-icon{display:inline-flex;flex-shrink:0;color:var(--color-gray-900)}.expenses-card-icon svg{stroke-width:1.5}.expenses-card-title{margin:0;min-width:0;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-gray-900)}.expenses-card-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:var(--spacing-3) var(--spacing-1) 0;border-top:none}.expenses-card-link{padding:0 var(--spacing-3);background:none;border:none;border-left:1px solid var(--color-gray-200);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);cursor:pointer;transition:color var(--transition-fast)}.expenses-card-link:first-child,.role-ospite .expenses-card-link.ospite-hidden+.expenses-card-link{padding-left:0;border-left:none}.expenses-card-link:hover,.expenses-card-link:focus-visible{color:var(--color-primary-dark);text-decoration:underline}@media(prefers-reduced-motion:reduce){.expenses-card-link{transition:none}}.expenses-table-wrap{overflow-x:auto;background:var(--color-white);border-radius:var(--radius-lg)}.expenses-total{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-4);margin:0;padding:var(--spacing-3) var(--spacing-2) 0;font-size:var(--font-size-sm)}.expenses-total-label{color:var(--color-gray-600)}.expenses-total-value{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-gray-900)}.expenses-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--font-size-xs)}.expenses-table th{text-align:left;font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);color:var(--color-gray-900);background:var(--color-white);padding:var(--spacing-2) var(--spacing-4);border-bottom:1px solid var(--color-gray-200)}.expenses-table td{padding:var(--spacing-2) var(--spacing-4);border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-800);vertical-align:middle}.expenses-table .expense-cell-merchant,.expenses-table .expense-cell-description{overflow-wrap:anywhere}.expenses-table tbody tr:last-child td{border-bottom:none}.expenses-table{--expenses-amount-col: 22%;--expenses-tail-col: 92px;--expenses-tail-share: calc(var(--expenses-tail-col) / 3)}.expenses-col-date{width:15%}.expenses-col-merchant{width:calc(21% - var(--expenses-tail-share))}.expenses-col-traveller{width:calc(18% - var(--expenses-tail-share))}.expenses-col-description{width:calc(24% - var(--expenses-tail-share))}.expenses-col-amount{width:var(--expenses-amount-col)}@media(min-width:1280px){.expenses-col-date{width:12%}}.expenses-col-actions{width:var(--expenses-tail-col)}.expenses-fund-table .expenses-col-date{width:24%}.expenses-fund-table .expenses-col-traveller{width:calc(52% - var(--expenses-tail-col))}.expenses-fund-table .expenses-col-amount{width:24%}.expense-payer{display:block;min-width:0}.expense-deposit-note{display:block;margin-top:2px;font-size:var(--font-size-xs);color:var(--color-gray-500);overflow-wrap:anywhere}@media(max-width:900px){.expenses-table .expense-amount-original{display:block;margin-left:0}}.expenses-table .expense-cell-actions{padding-left:var(--spacing-2);padding-right:var(--spacing-3)}.expenses-table .expense-cell-amount,.expenses-table .expenses-col-amount,.expenses-table th.expenses-col--numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.expenses-table th.expenses-col--sortable{padding:0}.expenses-sort{display:flex;align-items:center;gap:var(--spacing-1);width:100%;padding:var(--spacing-3) var(--spacing-4);border:none;background:none;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;text-align:inherit;cursor:pointer}.expenses-table th.expenses-col--numeric .expenses-sort{justify-content:flex-end}.expenses-sort:hover{color:var(--color-gray-700)}.expenses-sort:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.expenses-sort--active{color:var(--color-gray-800)}.expenses-sort-arrow{flex:0 0 auto;width:10px;font-size:9px;line-height:1;color:var(--color-primary)}.expense-amount-original{margin-left:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-gray-500);white-space:nowrap}.expense-date-value{display:block;font-weight:var(--font-weight-medium);white-space:nowrap}.expense-merchant-value{font-weight:var(--font-weight-medium)}.expenses-table .expense-cell-traveller{color:var(--color-gray-600)}.expense-person-name,.expense-deposit-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-muted{color:var(--color-gray-400)}.expense-fund-empty{margin:0;padding:var(--spacing-4);background:var(--color-white);border:1px dashed var(--color-gray-200);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-gray-500)}.expenses-chip{display:inline-block;max-width:100%;padding:1px var(--spacing-2);border-radius:var(--radius-full);background:var(--color-gray-100);color:var(--color-gray-700);font-size:11px;font-weight:var(--font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.expense-form-hint{margin:var(--spacing-2) 0 0;font-size:var(--font-size-xs);color:var(--color-gray-500)}.expenses-table th.expenses-col--numeric{white-space:normal}.expense-settlement-balance--positive,.expense-settlement-balance--positive strong{color:var(--color-success-text)}.expense-settlement-balance--negative,.expense-settlement-balance--negative strong{color:var(--color-error-text)}.expense-settlement-balance--zero,.expense-settlement-balance--zero strong{color:var(--color-gray-500)}.expense-actions{display:flex;justify-content:flex-end;gap:var(--spacing-1)}.expense-action-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-gray-600);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.expense-action-btn:hover{background:var(--color-gray-50);color:var(--color-primary);border-color:var(--color-gray-300)}.expense-action-btn--danger:hover{color:var(--color-error-text);border-color:var(--color-error)}.expense-action-btn svg{pointer-events:none;width:14px;height:14px}.expense-action-label{display:none}.expense-action-btn:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.expense-total-row td{background:var(--color-white);border-bottom:none;font-weight:var(--font-weight-bold)}.expenses-table tfoot tr:first-child td{border-top:1px solid var(--color-gray-200)}.expense-total-label{font-size:var(--font-size-sm);color:var(--color-gray-900)}.expense-total-value{text-align:right;font-size:var(--font-size-base);color:var(--color-gray-900);font-variant-numeric:tabular-nums;white-space:nowrap}.expense-total-row--minor td{background:var(--color-white);padding-top:var(--spacing-2);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-gray-100);font-weight:var(--font-weight-normal)}.expense-total-row--minor .expense-total-label{text-transform:none;letter-spacing:0;font-size:var(--font-size-sm);color:var(--color-gray-500)}.expense-total-row--minor .expense-total-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-600)}.expense-total-row--balance td{border-top:1px solid var(--color-gray-200)}.expense-total-row--balance .expense-total-label{color:var(--color-gray-700)}.expense-total-row--balance .expense-total-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary-dark)}.expenses-participants-hint{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--spacing-2);margin:0;padding:var(--spacing-3) var(--spacing-4) 0;font-size:var(--font-size-sm);color:var(--color-gray-500)}.expenses-participants-hint-btn{padding:0;border:none;background:none;font:inherit;color:var(--color-primary);text-decoration:underline;cursor:pointer}.expenses-participants-hint-btn:hover{color:var(--color-primary-dark)}.expenses-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-4);margin-top:var(--spacing-5)}.expenses-overview-card{display:flex;flex-direction:column;background:var(--color-gray-50);border:none;border-radius:var(--radius-lg);padding:var(--spacing-4)}.expenses-overview-title{margin:0 0 var(--spacing-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-gray-900)}.expenses-overview-text{margin:0 0 var(--spacing-3);font-size:var(--font-size-xs);line-height:1.5;color:var(--color-gray-500)}.expenses-overview-quota{display:block;margin-top:var(--spacing-1);color:var(--color-gray-600)}.expenses-overview-quota strong{font-variant-numeric:tabular-nums}.expenses-overview-figure{margin:0 0 var(--spacing-3);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap}.expenses-overview-list{margin:var(--spacing-1) 0 0;margin-top:auto}.expenses-overview-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-3);padding:var(--spacing-1) 0;border-top:1px solid var(--color-gray-100);font-size:var(--font-size-xs)}.expenses-overview-row-label{min-width:0;overflow-wrap:anywhere;font-size:var(--font-size-xs);color:var(--color-gray-600)}.expenses-overview-row-value{flex:0 0 auto;margin:0;text-align:right;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--color-gray-800)}.expenses-overview-row-value.expense-settlement-balance--positive{color:var(--color-success-text)}.expenses-overview-row-value.expense-settlement-balance--negative{color:var(--color-error-text)}.expenses-overview-row-value.expense-settlement-balance--zero{color:var(--color-gray-500)}.expenses-overview-row--total{border-top:1px solid var(--color-gray-300)}.expenses-overview-row--total .expenses-overview-row-label{color:var(--color-gray-700)}.expenses-overview-row--total .expenses-overview-row-value{font-weight:var(--font-weight-semibold);color:var(--color-gray-900)}.expenses-overview-suffix{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.expenses-overview--single{grid-template-columns:minmax(0,1fr)}.expenses-overview-list--split{display:grid;grid-template-columns:minmax(0,1fr) auto auto}.expenses-overview-list--split .expenses-overview-row{display:contents}.expenses-overview-list--split .expenses-overview-row>*{padding:var(--spacing-1) 0;border-top:1px solid var(--color-gray-100);font-size:var(--font-size-xs)}.expenses-overview-list--split .expenses-overview-row-value{padding-left:var(--spacing-5)}.expenses-overview-list--split .expenses-overview-row--head>*{border-top:none;padding-top:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-gray-900)}.expenses-overview-list--split .expenses-overview-row--total>*{border-top:1px solid var(--color-gray-300)}.expenses-overview-row-settlement{min-width:6.5em}.expenses-overview-empty{margin:auto 0 0;padding-top:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-gray-400)}@media(max-width:600px){.expenses-card{padding:var(--spacing-3)}.expenses-card-head,.expenses-card-links,.expenses-participants-hint{padding-left:0;padding-right:0}.expenses-table-wrap{overflow:visible;background:none;border-radius:0}.expenses-table,.expenses-table tbody,.expenses-table tfoot,.expenses-table tr,.expenses-table td{display:block;width:100%}.expenses-table{font-size:var(--font-size-sm)}.expense-action-btn{width:auto;height:auto;min-height:36px;gap:var(--spacing-2);padding:0 var(--spacing-2);border:none;background:none;border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary)}.expense-action-btn svg{width:16px;height:16px}.expense-action-label{display:inline}.expense-action-btn--danger,.expense-action-btn--danger svg{color:var(--color-error-text)}.expenses-overview-row,.expenses-overview-list--split .expenses-overview-row>*,.expenses-overview-list--split .expenses-overview-row--head>*{font-size:var(--font-size-sm)}.expenses-table thead{display:none}.expenses-table tbody tr{position:relative;background:var(--color-white);border:none;border-radius:var(--radius-lg);padding:var(--spacing-3) var(--spacing-4);margin-bottom:var(--spacing-3)}.expenses-table tbody td,.expenses-table tbody tr:last-child td{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-4);padding:var(--spacing-1) 0;border-bottom:none;text-align:left}.expenses-table tbody td:before{content:attr(data-label);flex:0 0 auto;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-500)}.expenses-table tbody td.expense-cell-amount,.expenses-table tbody tr:last-child td.expense-cell-amount{gap:var(--spacing-1)}.expenses-table .expense-cell-amount:before{margin-right:auto}.expenses-table .expense-cell-date{flex-wrap:wrap}.expenses-table .expense-cell-traveller:empty{display:none}.expense-date-value{display:inline}.expenses-table .expense-cell-actions,.expenses-table tbody tr:last-child td.expense-cell-actions{justify-content:flex-end;gap:var(--spacing-2);padding-top:var(--spacing-2);margin-top:var(--spacing-2);border-top:1px solid var(--color-gray-100)}.expenses-table .expense-cell-actions .expense-actions{justify-content:flex-end;gap:var(--spacing-2)}.expenses-table .expense-cell-actions,.expenses-table tbody tr:last-child td.expense-cell-actions{padding-right:0}.expenses-table .expense-actions>:last-child{padding-right:0}.expenses-card-links{justify-content:space-evenly}.expenses-card-link{padding:0;border-left:none}.expenses-table .expense-cell-actions:before{content:""}.expenses-table .expense-total-row{display:block;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--spacing-3) var(--spacing-4)}.expenses-card .expenses-table tbody tr:last-child{margin-bottom:0}.expenses-table .expense-total-row td{padding:0;width:100%}.expenses-table .expense-total-row td:empty{display:none}.expenses-table .expense-total-row .expense-total-label{display:none}.expenses-table .expense-total-row .expense-total-value{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-4);text-align:right}.expenses-table .expense-total-row .expense-total-value:before{content:attr(data-label);flex:0 0 auto;font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-500)}.expense-total-row+.expense-total-row{margin-top:var(--spacing-2)}.expense-total-row--balance{border-color:var(--color-gray-300)}.expenses-overview{grid-template-columns:minmax(0,1fr)}}.modal-participants{max-width:480px}.participants-intro{margin:0 0 var(--spacing-4);font-size:var(--font-size-sm);line-height:1.5;color:var(--color-gray-600)}.participants-list{margin:0;padding:0;list-style:none}.participants-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);padding:var(--spacing-2) 0;border-top:1px solid var(--color-gray-100)}.participants-item:last-child{border-bottom:1px solid var(--color-gray-100)}.participants-check{display:flex;align-items:center;gap:var(--spacing-3);min-width:0;flex:1 1 auto;padding:var(--spacing-1) 0;cursor:pointer}.participants-check input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.participants-check input[type=checkbox]:disabled{cursor:default}.participants-name{min-width:0;overflow-wrap:anywhere;font-size:var(--font-size-sm);color:var(--color-gray-800)}.participants-badge{flex:0 0 auto;padding:2px var(--spacing-2);border-radius:var(--radius-full);background:var(--color-gray-100);font-size:var(--font-size-xs);color:var(--color-gray-600);white-space:nowrap}.participants-add{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-4)}.participants-add .form-input{flex:1 1 auto;min-width:0}.participants-add .btn{flex:0 0 auto}.participants-empty{margin:0;padding:var(--spacing-3) 0;font-size:var(--font-size-sm);color:var(--color-gray-400)}.modal-expense{max-width:560px}.expense-form .expense-form-field{margin-bottom:var(--spacing-4)}.expense-form .form-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);min-height:20px}.expense-form-row--two{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4);align-items:start}.expense-form-field .cs-payer{width:100%}.expense-form .cs-payer .cs-trigger{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base);line-height:1.5;border-radius:var(--radius-md)}.expense-form .cs-payer .cs-label{font-size:inherit;line-height:inherit}.expense-form .expense-currency-slot .cs-wrapper .cs-trigger{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base);line-height:1.5}.expense-form .expense-currency-slot .cs-label{font-size:inherit;line-height:inherit}.expense-payer-new--collapsed{display:none}.expense-currency-slot .cs-wrapper{width:100%}.expense-conversion{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--spacing-4);margin-bottom:var(--spacing-4)}.expense-conversion--collapsed{display:none}.expense-conversion .expense-form-field{margin-bottom:0}.expense-conversion .form-input:disabled{background:var(--color-gray-100);color:var(--color-gray-500);cursor:not-allowed}.expense-rate-note{min-height:18px;margin:var(--spacing-2) 0 0;font-size:var(--font-size-xs);color:var(--color-gray-500)}#expense-error:empty,#deposit-error:empty{display:none}.modal-fund{display:flex;flex-direction:column;overflow:hidden}.modal-fund .modal-body{overflow-y:auto;min-height:0}.fund-view{animation:fund-view-in .2s ease-out both}@keyframes fund-view-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.fund-view{animation:none}}.modal-fund .expense-fund-empty{padding:var(--spacing-6) var(--spacing-4);text-align:center}@media(max-width:480px){.expense-form-row--two{grid-template-columns:1fr}}.bookings-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.bookings-card{display:flex;align-items:center;gap:var(--spacing-3);width:100%;text-align:left;padding:var(--spacing-3) var(--spacing-4);border:none;border-radius:var(--radius-lg);background-color:var(--color-white);cursor:pointer;transition:box-shadow var(--transition-fast)}.bookings-card:hover{box-shadow:0 1px 3px #0000000f}@media(prefers-reduced-motion:reduce){.bookings-card{transition:none}}.bookings-card-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.bookings-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-2)}.bookings-card-ref{font-size:var(--font-size-base);color:var(--color-gray-900);letter-spacing:.02em}.bookings-card-legcount,.bookings-card-meta{font-size:var(--font-size-xs);color:var(--color-gray-500)}.bookings-card-legs{font-size:var(--font-size-xs);color:var(--color-gray-600)}.bookings-card-people{font-size:var(--font-size-sm);color:var(--color-gray-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookings-card-go{display:flex;align-items:center;color:var(--color-gray-400);flex-shrink:0}.bookings-legs{display:flex;flex-direction:column;gap:var(--spacing-1)}.bookings-leg{border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--spacing-2) var(--spacing-3);background-color:var(--color-white)}.bookings-leg-label{display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer;margin:0}.bookings-leg-name{font-size:var(--font-size-sm);color:var(--color-gray-800);flex:1;min-width:0}.bookings-leg-date,.bookings-leg-note{font-size:var(--font-size-xs);color:var(--color-gray-500)}.bookings-leg-note{margin-top:2px;padding-left:26px}.bookings-hint{font-size:var(--font-size-xs);color:var(--color-gray-500);margin:var(--spacing-2) 0 0;line-height:1.5}.bookings-people{display:flex;flex-direction:column;gap:var(--spacing-2)}.bookings-person{border:1px solid var(--color-gray-100);border-radius:var(--radius-md);padding:var(--spacing-3);background-color:var(--color-white)}.bookings-person-head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2)}.bookings-person-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-900)}.bookings-person-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-3);font-size:var(--font-size-xs);color:var(--color-gray-500);margin-top:2px}.bookings-person-doc,.bookings-shared-doc{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-2);margin-top:var(--spacing-2);padding-top:var(--spacing-2);border-top:1px dashed var(--color-gray-100)}.bookings-shared-doc{border-top:none;padding-top:0;margin-top:0}.bookings-doc-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--color-gray-600);min-width:0}.bookings-doc-actions{display:inline-flex;flex-wrap:wrap;gap:var(--spacing-3)}.bookings-link{background:none;border:none;padding:0;font-size:var(--font-size-xs);color:var(--color-primary);cursor:pointer;text-decoration:none}.bookings-link:hover{text-decoration:underline}.bookings-link--danger{color:var(--color-danger, #e53e3e)}.bookings-inline-confirm{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-2);margin-top:var(--spacing-2)}.bookings-inline-confirm[hidden]{display:none}.bookings-confirm-text{font-size:var(--font-size-xs);color:var(--color-gray-700);flex:1;min-width:140px}.bookings-confirm-actions{display:inline-flex;gap:var(--spacing-2)}.bookings-new-person{margin-top:var(--spacing-3);padding:var(--spacing-3);border:1px dashed var(--color-gray-200);border-radius:var(--radius-md)}.bookings-new-person[hidden]{display:none}.bookings-new-person-actions{display:flex;justify-content:flex-end;gap:var(--spacing-2);margin-top:var(--spacing-2)}.bookings-danger{display:flex;flex-direction:column;gap:var(--spacing-2)}.edit-booking-note{background-color:var(--color-gray-50);border-radius:var(--radius-md);padding:var(--spacing-3)}.edit-booking-note .bookings-hint{margin:0}@media(max-width:480px){.bookings-person-doc,.bookings-shared-doc{flex-direction:column;align-items:flex-start}.bookings-card-people{white-space:normal}}.itinerary-feed{--itin-rail: 40px;--itin-line: 20px;--itin-dot: 11px;--itin-dot-ring: 4px;--itin-dot-outer: calc(var(--itin-dot) / 2 + var(--itin-dot-ring));--itin-icon: 40px;--itin-card-pad: var(--spacing-4);--itin-card-gap: var(--spacing-3);--itin-card-border: 1px;--itin-dot-y: calc(var(--itin-card-pad) + var(--itin-icon) / 2);--itin-ink: var(--color-gray-900);--itin-icon-bg: var(--color-white);--itin-icon-fg: var(--itin-ink);--itin-icon-ring: var(--itin-ink);--itin-dot-color: var(--itin-ink);--itin-thread: var(--color-gray-300);--itin-thread-w: 2px;--itin-done: var(--color-primary);--itin-glow: rgba(33, 99, 246, .35);--itin-glow-ring: rgba(33, 99, 246, .55);--itin-glow-halo: rgba(33, 99, 246, .22);--itin-glow-bloom: rgba(33, 99, 246, .4);--itin-glow-tint: rgba(33, 99, 246, .12);max-width:1040px;margin:0 auto}.itinerary-feed[data-itin-palette=color] .itin-card{--itin-icon-bg: var(--itin-gradient, var(--color-gray-400));--itin-icon-fg: var(--color-white);--itin-icon-ring: transparent;--itin-dot-color: var(--itin-color, var(--color-gray-400))}.itin-day{position:relative;margin-bottom:var(--spacing-6)}.itin-day:last-child{margin-bottom:0}.itin-day-heading{position:relative;display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.itin-day-heading:after{content:"";position:absolute;left:calc(var(--itin-line) - var(--itin-thread-w) / 2);top:100%;height:var(--spacing-4);width:var(--itin-thread-w);background:var(--itin-thread)}.itin-day[data-itin-day-done=true] .itin-day-heading:after{background:var(--itin-done)}.itin-day-toggle{width:100%;padding:0;border:none;background:none;font-family:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.itin-day-toggle:hover{background:var(--color-gray-100)}.itin-day-chevron{flex-shrink:0;margin-left:auto;display:inline-flex;color:var(--color-gray-900)}.itin-day-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--transition-normal)}.itin-day[data-itin-day-open=false] .itin-day-body{grid-template-rows:0fr}.itin-day-body-inner{min-height:0}.itin-day[data-itin-day-open=false] .itin-day-body-inner,.itin-day[data-itin-day-animating=true] .itin-day-body-inner{overflow:hidden}.itin-day[data-itin-day-open=false] .itin-day-heading:after{height:calc(var(--spacing-4) + var(--spacing-6))}.itin-day[data-itin-day-open=false]:last-child .itin-day-heading:after{content:none}.itin-day[data-itin-day-open=false] .itin-day-chevron{transform:rotate(-90deg)}.itin-day-chevron{transition:transform var(--transition-fast)}@media(prefers-reduced-motion:reduce){.itin-day-body,.itin-day-chevron,.itin-card-detail,.itin-chevron,.itin-card-dot{transition:none}}.itin-day-badge{flex-shrink:0;width:var(--itin-rail);height:var(--itin-rail);border:2px solid var(--itin-ink);border-radius:50%;background:transparent;color:var(--itin-ink);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-base)}.itin-day-badge[data-today=true]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white)}.itin-day[data-itin-day-state=past] .itin-day-badge,.itin-day[data-itin-day-state=next] .itin-day-badge{border-color:var(--itin-done);background:var(--itin-done);color:var(--color-white)}.itin-day-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-gray-700);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.itin-rail{position:relative;padding-left:var(--itin-rail)}.itin-rail:before{content:"";position:absolute;left:calc(var(--itin-line) - var(--itin-thread-w) / 2);top:0;height:calc(var(--itin-card-border) + var(--itin-dot-y) - var(--itin-dot-outer));width:var(--itin-thread-w);background:var(--itin-thread)}.itin-day[data-itin-day-done=true] .itin-rail:before{background:var(--itin-done)}.itin-rail--griglia{padding-left:0;display:flex;gap:var(--spacing-4)}.itin-rail--griglia:before,.itin-rail--griglia .itin-card-dot,.itin-rail--griglia .itin-card:after,.itin-day--griglia .itin-day-heading:after{display:none}.itin-day--griglia .itin-day-heading{margin-left:0}.itin-rail--griglia .itin-card{min-width:0;margin-bottom:0}.itin-rail--griglia .itin-card-main,.itin-rail--griglia .itin-card-info{min-width:0}@media(max-width:767px){.itin-rail--griglia{overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:var(--spacing-1);scrollbar-width:thin;scrollbar-color:var(--color-gray-300) transparent}.itin-rail--griglia::-webkit-scrollbar{height:6px}.itin-rail--griglia::-webkit-scrollbar-track{background:transparent}.itin-rail--griglia::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:var(--color-gray-300)}.itin-rail--griglia .itin-card{flex:0 0 86%;scroll-snap-align:start}}@media(min-width:768px){.itin-rail--griglia{flex-wrap:wrap}.itin-rail--griglia .itin-card{flex:0 0 calc((100% - var(--spacing-4)) / 2)}}@media(min-width:992px){.itin-rail--griglia .itin-card{flex:0 0 calc((100% - 2 * var(--spacing-4)) / 3)}}.itin-rail--griglia .itin-card[data-itin-state=past] .itin-card-icon,.itin-rail--griglia .itin-card[data-itin-state=next] .itin-card-icon{border-color:var(--itin-done);color:var(--itin-done)}.itin-rail--griglia .itin-card[data-itin-state=next] .itin-card-icon{--itin-icon-bg: var(--itin-glow-tint);box-shadow:0 0 0 3px var(--itin-glow-ring),0 0 0 7px var(--itin-glow-halo),0 0 12px 2px var(--itin-glow-bloom);animation:itin-icon-alone 2.4s ease-in-out infinite}@keyframes itin-icon-alone{0%,to{box-shadow:0 0 0 3px var(--itin-glow-ring),0 0 0 7px var(--itin-glow-halo),0 0 12px 2px var(--itin-glow-bloom)}50%{box-shadow:0 0 0 4px var(--itin-glow-ring),0 0 0 11px var(--itin-glow-halo),0 0 18px 3px var(--itin-glow-bloom)}}@media(prefers-reduced-motion:reduce){.itin-rail--griglia .itin-card[data-itin-state=next] .itin-card-icon{animation:none}}.itin-card--compatta{cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.itin-card--compatta:hover{border-color:var(--color-gray-300);box-shadow:var(--shadow-md)}.itin-card--compatta:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.itin-card--compatta .itin-card-top{flex-direction:row;align-items:flex-start;gap:var(--spacing-3)}.itin-card--compatta .itin-card-info{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-1)}.itin-card--compatta .itin-card-cta{display:inline-flex;margin:var(--spacing-2) 0 0}.itin-card--compatta .itin-card-title{white-space:normal;overflow-wrap:normal;word-break:normal}.itin-card{position:relative;background:var(--color-white);border:var(--itin-card-border) solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--itin-card-pad);margin-bottom:var(--itin-card-gap)}.itin-card:last-child{margin-bottom:0}.itin-card-dot{position:absolute;left:calc(var(--itin-line) - var(--itin-rail) - var(--itin-dot) / 2 - 1px);top:calc(var(--itin-dot-y) - var(--itin-dot) / 2);width:var(--itin-dot);height:var(--itin-dot);border-radius:50%;background:var(--itin-dot-color);box-shadow:0 0 0 calc(var(--itin-dot-ring) - 1px) var(--color-white),0 0 0 var(--itin-dot-ring) var(--itin-thread);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.itin-card[data-itin-state=past] .itin-card-dot{background:var(--itin-done);box-shadow:0 0 0 calc(var(--itin-dot-ring) - 1px) var(--color-white),0 0 0 var(--itin-dot-ring) var(--itin-done)}.itin-card[data-itin-state=next] .itin-card-dot{background:var(--itin-done);box-shadow:0 0 0 calc(var(--itin-dot-ring) - 1px) var(--color-white),0 0 0 var(--itin-dot-ring) var(--itin-done),0 0 0 9px var(--itin-glow);animation:itin-dot-pulse 2.4s ease-in-out infinite}@keyframes itin-dot-pulse{0%,to{box-shadow:0 0 0 calc(var(--itin-dot-ring) - 1px) var(--color-white),0 0 0 var(--itin-dot-ring) var(--itin-done),0 0 0 8px var(--itin-glow)}50%{box-shadow:0 0 0 calc(var(--itin-dot-ring) - 1px) var(--color-white),0 0 0 var(--itin-dot-ring) var(--itin-done),0 0 0 13px var(--itin-glow)}}@media(prefers-reduced-motion:reduce){.itin-card[data-itin-state=next] .itin-card-dot{animation:none}}.itin-card:after{content:"";position:absolute;left:calc(var(--itin-line) - var(--itin-rail) - var(--itin-thread-w) / 2 - 1px);top:calc(var(--itin-dot-y) + var(--itin-dot-outer));bottom:calc(-1 * (2 * var(--itin-card-border) + var(--itin-card-gap) + var(--itin-dot-y) - var(--itin-dot-outer)));width:var(--itin-thread-w);background:var(--itin-thread)}.itin-card[data-itin-state=past]:after{background:var(--itin-done)}.itin-card:last-child:after{content:none}@media(max-width:767px){.itinerary-feed{--itin-thread-w: 1.5px;--itin-day-shift: calc( var(--itin-card-border) + var(--itin-card-pad) + var(--itin-icon) / 2 - var(--itin-rail) / 2 )}.itin-day-heading{margin-left:var(--itin-day-shift)}.itin-day-toggle{width:calc(100% - var(--itin-day-shift))}.itin-rail{padding-left:0}.itin-rail:before{content:none}.itin-card-dot{display:none}.itin-card:after{left:calc(var(--itin-card-pad) + var(--itin-icon) / 2 - var(--itin-thread-w) / 2);top:100%;bottom:auto;height:calc(var(--itin-card-gap) + 2 * var(--itin-card-border))}.itin-card[data-itin-state=past] .itin-card-icon,.itin-card[data-itin-state=next] .itin-card-icon{border-color:var(--itin-done);color:var(--itin-done)}.itin-card[data-itin-state=next] .itin-card-icon{box-shadow:0 0 0 4px var(--itin-glow);animation:itin-icon-pulse 2.4s ease-in-out infinite}}@keyframes itin-icon-pulse{0%,to{box-shadow:0 0 0 3px var(--itin-glow)}50%{box-shadow:0 0 0 7px var(--itin-glow)}}@media(max-width:767px)and (prefers-reduced-motion:reduce){.itin-card[data-itin-state=next] .itin-card-icon{animation:none}}.itin-card-top{display:flex;align-items:flex-start;gap:var(--spacing-3)}.itin-card-icon{flex-shrink:0;width:var(--itin-icon);height:var(--itin-icon);border-radius:var(--radius-md);background:var(--itin-icon-bg);border:1.5px solid var(--itin-icon-ring);color:var(--itin-icon-fg);display:flex;align-items:center;justify-content:center}.itin-card-icon svg{width:18px;height:18px;stroke-width:1.5}.itin-card-icon .material-symbols-outlined{font-size:18px;font-variation-settings:"wght" 200,"FILL" 0,"GRAD" 0,"opsz" 20}.itin-card-main{flex:1;min-width:0;display:flex;align-items:flex-start;gap:var(--spacing-2)}.itin-card-info{flex:1;min-width:0}.itin-card-title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);line-height:1.3;color:var(--color-gray-900);overflow-wrap:break-word}.itin-card-meta{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;overflow:hidden;font-size:var(--font-size-sm);line-height:1.4;color:var(--color-gray-900);overflow-wrap:break-word}.itin-card-status{display:inline-flex;align-items:center;gap:var(--spacing-1);margin-top:var(--spacing-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.itin-card-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.itin-card-status--off{color:var(--color-error-text)}.itin-card-menu{position:relative;flex-shrink:0;width:32px;height:32px;margin:-4px -4px 0 0;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-full);color:var(--color-gray-900);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.itin-card-menu:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.itin-card-cta{position:relative;flex-shrink:0;min-height:32px;margin:-4px 0 0;display:inline-flex;align-items:center;gap:var(--spacing-1);padding:0 var(--spacing-2);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-gray-700);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;text-decoration:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.itin-card-cta svg{flex-shrink:0;width:13px;height:13px;color:var(--color-gray-700);stroke-width:1.5}.itin-card-cta:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.itin-card-cta:hover,.itin-card-cta:focus-visible{border-color:var(--color-primary);background:var(--color-gray-50);color:var(--color-primary)}.itin-card-cta:hover svg,.itin-card-cta:focus-visible svg{color:var(--color-primary)}@media(max-width:640px){.itin-card-cta{width:32px;padding:0;justify-content:center}.itin-card-cta-label{display:none}}.itin-card-menu:hover,.itin-card[data-menu-open=true] .itin-card-menu{background:var(--color-gray-100);color:var(--color-gray-900)}.itin-card-menu-pop{position:absolute;z-index:20;top:calc(100% + var(--spacing-1));right:0;min-width:210px;padding:var(--spacing-1);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-white);box-shadow:var(--shadow-lg)}.itin-card-menu-pop[hidden]{display:none}.itin-card-main{position:relative}.itin-menu-item{width:100%;min-height:40px;display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);border:none;border-radius:var(--radius-sm);background:none;font-family:inherit;font-size:var(--font-size-sm);color:var(--color-gray-800);text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast)}.itin-menu-item:hover,.itin-menu-item:focus-visible{background:var(--color-gray-100)}.itin-menu-item svg{flex-shrink:0;color:var(--color-gray-500)}.itin-menu-item>span{flex:1;min-width:0}.itin-menu-item svg:last-child{color:var(--color-gray-700)}.itin-menu-item--danger{color:var(--color-error-text)}.itin-menu-item--danger svg{color:var(--color-error-text)}.itin-menu-item--danger:hover,.itin-menu-item--danger:focus-visible{background:var(--color-error-bg, var(--color-gray-100))}.itin-sheet,.itin-sheet-actions{display:contents}.itin-sheet-veil,.itin-sheet-grip,.itin-sheet-title,.itin-menu-item--cta{display:none}@media(max-width:767px){.itin-card-cta{display:none}.itin-menu-item--cta{display:flex}.itin-card-menu-pop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;min-width:0;padding:0;border:none;border-radius:0;background:none;box-shadow:none}.itin-sheet-veil{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;animation:itin-sheet-veil-in var(--transition-fast) both}.itin-sheet{display:block;position:fixed;left:0;right:0;bottom:0;padding:var(--spacing-2) var(--spacing-3) calc(var(--spacing-3) + var(--safe-bottom));background:var(--color-white);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -8px 32px #0000002e;animation:itin-sheet-in var(--transition-normal) both}.itin-sheet-grip{display:block;width:36px;height:4px;margin:var(--spacing-1) auto var(--spacing-3);border-radius:var(--radius-full);background:var(--color-gray-300)}.itin-sheet-title{display:block;margin:0 var(--spacing-2) var(--spacing-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.itin-sheet-actions{display:block}.itin-menu-item{min-height:52px;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-2);font-size:var(--font-size-base)}}@keyframes itin-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes itin-sheet-veil-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.itin-sheet,.itin-sheet-veil{animation:none}}.itin-card-toggle{width:100%;min-height:44px;display:flex;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-3);padding:var(--spacing-3) 0 var(--spacing-1);background:none;border:none;border-top:1px solid var(--color-gray-100);font-family:inherit;font-size:var(--font-size-sm);color:var(--color-gray-600);text-align:left;cursor:pointer;transition:color var(--transition-fast)}.itin-card-toggle:hover{color:var(--color-primary)}.itin-card-toggle>svg{flex-shrink:0;color:var(--color-gray-900);stroke-width:1.5}.itin-card-toggle>span:not(.itin-chevron){flex:1;min-width:0}.itin-chevron{flex-shrink:0;display:flex;color:var(--color-gray-900);transition:transform var(--transition-normal)}.itin-chevron svg{stroke-width:1.5}.itin-card[data-open=true] .itin-chevron{transform:rotate(180deg)}.itin-card-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--transition-normal)}.itin-card[data-open=true] .itin-card-detail{grid-template-rows:1fr}.itin-card-detail-inner{overflow:hidden;min-height:0}.itin-card-detail-content{padding-top:var(--spacing-3)}.itin-detail-address{display:flex;align-items:flex-start;gap:var(--spacing-2);margin:0 0 var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-gray-700);overflow-wrap:break-word}.itin-detail-address svg{flex-shrink:0;margin-top:2px;color:var(--color-gray-900);stroke-width:1.5}.itin-detail-address-link{display:flex;align-items:flex-start;gap:var(--spacing-2);color:inherit;text-decoration:none;min-width:0;transition:color var(--transition-fast)}.itin-detail-address-link:hover,.itin-detail-address-link:focus-visible,.itin-detail-address-link:hover svg,.itin-detail-address-link:focus-visible svg{color:var(--color-primary)}.itin-detail-address-link svg:last-child{margin-top:3px;color:var(--color-gray-900);stroke-width:1.5;transition:color var(--transition-fast)}.itin-copy{display:inline-flex;align-items:center;gap:var(--spacing-1);max-width:100%}.itin-copy+.itin-copy{margin-left:var(--spacing-3)}.itin-copy-text{min-width:0;overflow-wrap:break-word}.itin-copy-btn{position:relative;flex-shrink:0;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--radius-sm);background:none;color:var(--color-gray-700);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.itin-copy-btn:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px}.itin-copy-btn:hover{background:var(--color-gray-100);color:var(--color-gray-900)}.itin-copy-btn .itin-copy-icon,.itin-copy-btn .itin-copy-done{display:inline-flex}.itin-copy-btn .itin-copy-done{display:none}.itin-copy-btn.copied{color:var(--itin-done)}.itin-copy-btn.copied .itin-copy-icon{display:none}.itin-copy-btn.copied .itin-copy-done{display:inline-flex}.itin-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-3) var(--spacing-5);margin-bottom:var(--spacing-3)}.itin-detail-item{min-width:0}.itin-detail-label{display:block;margin-bottom:2px;font-size:.6875rem;font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-gray-400)}.itin-detail-value{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-800);overflow-wrap:break-word}.itin-detail-people{display:flex;flex-wrap:wrap;gap:var(--spacing-1);margin-bottom:var(--spacing-3)}.itin-chip{display:inline-block;padding:2px var(--spacing-2);border:1px solid var(--color-gray-300);border-radius:var(--radius-full);background:var(--color-gray-50);font-size:var(--font-size-xs);color:var(--color-gray-700)}.itin-detail-notes{margin:0 0 var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);background:var(--color-gray-50);font-size:var(--font-size-sm);color:var(--color-gray-600);white-space:pre-wrap;overflow-wrap:break-word}.itin-card-full{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-2) 0;background:none;border:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-primary);cursor:pointer}.itin-card-full:hover{text-decoration:underline}.itin-card-full svg{flex-shrink:0}.itin-filter{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-3);max-width:1040px;position:relative;margin:0 auto var(--spacing-2)}.itin-filter-anchor{position:relative;flex-shrink:0}.itin-filter-cta{display:inline-flex;align-items:center;gap:var(--spacing-2);min-height:36px;padding:0 var(--spacing-3);border:none;border-radius:var(--radius-full);background:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-900);cursor:pointer;transition:background-color var(--transition-fast)}.itin-filter-cta:hover,.itin-filter-cta[aria-expanded=true]{background:var(--color-gray-100)}.itin-search-anchor{flex-shrink:0}.itin-search-cta[data-itin-search-active=true]{background:var(--color-gray-100);font-weight:var(--font-weight-bold)}.itin-search-pop{position:absolute;z-index:30;top:calc(100% + var(--spacing-2));right:0;display:flex;align-items:center;gap:var(--spacing-2);width:min(360px,100%);padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-lg)}.itin-search-pop[hidden]{display:none}.itin-search-icon{display:inline-flex;flex-shrink:0;color:var(--color-gray-400)}.itin-search-input{flex:1 1 auto;min-width:0;min-height:32px;padding:0;border:none;background:none;font-family:inherit;font-size:var(--font-size-sm);color:var(--color-gray-900)}.itin-search-input:focus{outline:none}.itin-search-input::placeholder{color:var(--color-gray-400)}.itin-search-clear{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-full);background:none;color:var(--color-gray-500);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.itin-search-clear:hover{background:var(--color-gray-100);color:var(--color-gray-900)}.itin-search-clear[hidden]{display:inline-flex;visibility:hidden;pointer-events:none}.itin-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius-full);background:var(--color-gray-900);color:var(--color-white);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:1}.itin-filter-pop{position:absolute;z-index:30;top:calc(100% + var(--spacing-2));right:0;width:min(320px,calc(100vw - 2 * var(--spacing-4)));padding:var(--spacing-4);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-lg)}.itin-filter-pop[hidden]{display:none}.itin-filter-pop-title{margin:0 0 var(--spacing-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-gray-600)}.itin-filter-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.itin-filter-pop-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);margin-top:var(--spacing-4);padding-top:var(--spacing-3);border-top:1px solid var(--color-gray-100)}.itin-filter-reset{padding:0;border:none;background:none;font-family:inherit;font-size:var(--font-size-sm);color:var(--color-error-text);text-decoration:none;cursor:pointer}.itin-filter-reset:disabled{color:var(--color-gray-400);cursor:default}.itin-filter-apply{flex-shrink:0}.itin-filter-chip{flex:0 0 auto;min-height:32px;padding:0 var(--spacing-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-full);background:var(--color-white);font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-gray-700);white-space:nowrap;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.itin-filter-chip:hover{border-color:var(--color-gray-400);background:var(--color-gray-50);color:var(--color-gray-900)}.itin-filter-chip[aria-pressed=true]{border-color:var(--color-gray-900);background:var(--color-gray-900);color:var(--color-white)}.itin-filter-count{flex:1 1 auto;min-width:0;min-height:1em;font-size:var(--font-size-xs);color:var(--color-gray-500);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.itin-filter-empty{max-width:1040px;margin:0 auto;padding:var(--spacing-8) var(--spacing-4);border:1px dashed var(--color-gray-300);border-radius:var(--radius-lg);text-align:center;color:var(--color-gray-600);font-size:var(--font-size-sm)}.itin-filter-empty p{margin:0}@media(max-width:400px){.itin-filter-pop{width:calc(100vw - 2 * var(--spacing-4))}}@media(max-width:480px){.itinerary-feed{--itin-rail: 32px;--itin-line: 16px;--itin-card-pad: var(--spacing-3)}.itin-day-badge{font-size:var(--font-size-sm)}.itin-detail-grid{grid-template-columns:minmax(0,1fr)}}.modal-body,.slide-panel-body,.slide-panel-footer{--color-hotel-50: var(--color-gray-50);--color-hotel-100: var(--color-gray-100);--color-hotel-200: var(--color-gray-200);--color-hotel-300: var(--color-gray-300);--color-hotel-600: var(--color-gray-700);--color-hotel-700: var(--color-gray-800);--color-hotel-800: var(--color-gray-900);--color-train-50: var(--color-gray-50);--color-train-100: var(--color-gray-100);--color-train-200: var(--color-gray-200);--color-train-300: var(--color-gray-300);--color-train-600: var(--color-gray-700);--color-train-700: var(--color-gray-800);--color-train-800: var(--color-gray-900);--color-ferry-50: var(--color-gray-50);--color-ferry-100: var(--color-gray-100);--color-ferry-200: var(--color-gray-200);--color-ferry-300: var(--color-gray-300);--color-ferry-600: var(--color-gray-700);--color-ferry-700: var(--color-gray-800);--color-ferry-800: var(--color-gray-900);--color-bus-50: var(--color-gray-50);--color-bus-100: var(--color-gray-100);--color-bus-200: var(--color-gray-200);--color-bus-300: var(--color-gray-300);--color-bus-600: var(--color-gray-700);--color-bus-700: var(--color-gray-800);--color-bus-800: var(--color-gray-900);--color-rental-50: var(--color-gray-50);--color-rental-100: var(--color-gray-100);--color-rental-200: var(--color-gray-200);--color-rental-300: var(--color-gray-300);--color-rental-400: var(--color-gray-300);--color-rental-500: var(--color-gray-400);--color-rental-600: var(--color-gray-700);--color-rental-700: var(--color-gray-800);--color-rental-800: var(--color-gray-900)}.modal-body .hotel-btn--primary,.modal-body .train-btn--primary,.modal-body .bus-btn--primary,.modal-body .ferry-btn--primary,.modal-body .rental-btn--primary,.slide-panel-body .hotel-btn--primary,.slide-panel-body .train-btn--primary,.slide-panel-body .bus-btn--primary,.slide-panel-body .ferry-btn--primary,.slide-panel-body .rental-btn--primary{background-color:var(--color-primary)}.modal-body .hotel-btn--primary:hover,.modal-body .train-btn--primary:hover,.modal-body .bus-btn--primary:hover,.modal-body .ferry-btn--primary:hover,.modal-body .rental-btn--primary:hover,.slide-panel-body .hotel-btn--primary:hover,.slide-panel-body .train-btn--primary:hover,.slide-panel-body .bus-btn--primary:hover,.slide-panel-body .ferry-btn--primary:hover,.slide-panel-body .rental-btn--primary:hover{background-color:var(--color-primary-dark)}.modal-body .booking-type-card{--booking-card-color: var(--color-gray-800);--booking-card-hover-bg: var(--color-gray-50)}.modal-body .update-preview-header{background:var(--color-gray-50);border-color:var(--color-gray-200)}.modal-body .update-preview-header svg{stroke:var(--color-gray-700)}.modal-body .update-card{border-color:var(--color-gray-300)}.modal-body .update-toggle input[type=checkbox]{accent-color:var(--color-primary)}.modal-body .update-diff-new{color:var(--color-gray-900);background:var(--color-gray-100);font-weight:var(--font-weight-bold)}.modal-body .update-pax-upload-row.has-file{border-color:var(--color-gray-400);background:var(--color-gray-50)}.modal-body .has-file .update-pax-upload-label{color:var(--color-gray-800)}.modal-body .parse-feedback-btn.active[data-value=up],.modal-body .parse-feedback-btn.active[data-value=down]{border-color:var(--color-gray-800);color:var(--color-gray-900);background:var(--color-gray-100)}.modal-body .flight-leg-header--return{background:var(--color-gray-100);color:var(--color-gray-800)}.modal-body .photo-option--last-used{border-color:var(--color-gray-800)}.modal-body .photo-option-badge{background:var(--color-gray-800)}.modal-body .share-status-badge{background:var(--color-gray-100);color:var(--color-gray-700)}.modal-body .share-invite-status-icon svg{stroke:var(--color-gray-500)}.modal-header .modal-header-icon{color:inherit}.trip-hero--bare{min-height:0;margin-bottom:0;max-width:none;width:100%;padding:var(--spacing-6) max(var(--container-padding),calc((100% - var(--container-max-width)) / 2 + var(--container-padding))) 0;border-radius:0;background-color:transparent;background-image:none!important;flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--spacing-3) var(--spacing-4)}.trip-hero--bare:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--color-gray-200)}.trip-hero--bare .trip-hero-meta{margin-top:var(--spacing-1);color:var(--color-gray-500);font-size:var(--font-size-sm);line-height:1.4;font-weight:var(--font-weight-normal);filter:none}.trip-hero--bare .trip-hero-content{flex:1 1 auto;min-width:0;padding:0 0 var(--spacing-4);align-items:flex-start;justify-content:flex-end;text-align:left}.trip-hero--bare .trip-hero-title{margin-bottom:0;color:var(--color-gray-900);font-size:2rem;line-height:1.15;justify-content:flex-start;filter:none;overflow-wrap:break-word;min-width:0}.trip-hero--bare .trip-hero-tabs{position:relative;left:auto;bottom:auto;z-index:1;transform:none;flex:0 1 auto;min-width:0}.trip-hero--bare .trip-hero-tabs .segmented-control{box-shadow:none;border:none;border-radius:0;padding:0;background-color:transparent;gap:var(--spacing-5);margin-bottom:-1px}.trip-hero--bare .trip-hero-tabs .segmented-control-btn{padding:var(--spacing-2) var(--spacing-2);min-height:40px;border-radius:0;color:var(--color-gray-600);font-weight:var(--font-weight-medium)}.trip-hero--bare .trip-hero-tabs .segmented-control-btn:hover:not(.active){background-color:transparent;color:var(--color-gray-900)}.trip-hero--bare .trip-hero-tabs .segmented-control-btn.active,.trip-hero--bare .trip-hero-tabs .segmented-control-btn[data-tab].active{color:var(--color-primary);font-weight:var(--font-weight-bold);background-color:transparent}.trip-hero--bare .trip-hero-tabs .segmented-indicator{top:auto;bottom:0;left:0;height:2px;border-radius:0;background-color:var(--color-primary);box-shadow:none}body.trip-header-bare .header-inner--trip .trip-back-link{padding-left:var(--spacing-2);margin-left:calc(-1 * var(--spacing-2) - 6.5px)}body.trip-header-bare .header-inner--trip .trip-header-spacer .section-menu-btn{border:none;color:var(--color-gray-900)}body.trip-header-bare .header-inner--trip .trip-header-spacer .section-menu-btn:hover,body.trip-header-bare .header-inner--trip .trip-back-link:hover{background-color:var(--color-gray-100);color:var(--color-gray-900)}@media(max-width:640px){.trip-hero--bare{padding-top:var(--spacing-4);padding-bottom:0;gap:var(--spacing-2)}.trip-hero--bare .trip-hero-content{flex:1 0 100%;padding-bottom:var(--spacing-2)}.trip-hero--bare .trip-hero-title{font-size:1.5rem}.trip-hero--bare .trip-hero-tabs{flex:1 1 auto}.trip-hero--bare .trip-hero-tabs .segmented-control{gap:var(--spacing-4)}}.shared-view .trip-hero{background-color:transparent;background-image:none;min-height:0}.share-entry{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-3)}.share-entry:last-child{margin-bottom:0}.share-entry-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--color-gray-900);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-gray-900)}.share-entry-icon svg{width:18px;height:18px;stroke-width:1.5}.share-entry-icon .material-symbols-outlined{font-size:18px;font-variation-settings:"wght" 200,"FILL" 0,"GRAD" 0,"opsz" 20}.share-entry-body{flex:1;min-width:0}.share-entry-title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);line-height:1.3;color:var(--color-gray-900);overflow-wrap:break-word}.share-entry-meta{margin:2px 0 0;font-size:var(--font-size-sm);line-height:1.4;color:var(--color-gray-900);overflow-wrap:break-word}.share-entry-address,.share-entry-details{margin:2px 0 0;font-size:var(--font-size-sm);line-height:1.4;color:var(--color-gray-600);overflow-wrap:break-word}.share-entry-status{display:inline-flex;align-items:center;gap:var(--spacing-1);margin-top:var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-error-text)}.share-entry-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.shared-view .activity-filter-pill{color:var(--color-gray-700);border-color:var(--color-gray-300);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.shared-view .activity-filter-pill:hover{background:var(--color-gray-50);border-color:var(--color-gray-900)}.shared-view .activity-filter-pill.active{background:var(--color-gray-900);border-color:var(--color-gray-900);color:var(--color-white)}.shared-view .activity-filter-pill svg{stroke-width:1.5}.shared-view .activity-filter-pill .material-symbols-outlined{font-variation-settings:"wght" 200,"FILL" 0,"GRAD" 0,"opsz" 20}@media(prefers-reduced-motion:reduce){.shared-view .activity-filter-pill{transition:none}}.panel-slot--floating{flex:none;height:0}.city-autocomplete-dropdown--place{max-height:320px}.city-autocomplete-item--place{align-items:flex-start;white-space:normal}.city-autocomplete-place-icon{display:flex;flex-shrink:0;margin-top:2px;color:var(--color-gray-900)}.city-autocomplete-place-text{display:flex;flex-direction:column;gap:2px;min-width:0}.city-autocomplete-item--place .city-autocomplete-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.city-autocomplete-place-address{font-size:var(--font-size-xs);color:var(--color-gray-500);line-height:1.35}
