@charset "UTF-8";body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:#f0f2f5;color:#333;box-sizing:border-box}*{-webkit-tap-highlight-color:transparent;scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}.app-container{max-width:750px;margin:0 auto;background-color:#fff;height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;overscroll-behavior-y:contain}.readonly-section{opacity:.7;pointer-events:none}.readonly-section button,.readonly-section input,.readonly-section .add-button-placeholder{cursor:default!important}._packingListCard_vr2fw_3{background-color:#fff;border:1px solid #c4dbf0;border-radius:12px;margin-bottom:15px;box-shadow:0 2px 8px #0000000d;overflow:hidden}._packingListCardHeader_vr2fw_12{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;cursor:pointer;background-color:#f0f8ff}._packingListCardHeader_vr2fw_12:hover{background-color:#e6f2ff}._packingListCardHeader_vr2fw_12 span{font-weight:500;color:#333}._packingListItemsContainer_vr2fw_29{max-height:0;overflow:hidden;transition:max-height .5s ease-in-out;border-top:1px solid #e0f0ff}._packingListItemsContainer_vr2fw_29._open_vr2fw_35{max-height:1000px}._packingListCardItems_vr2fw_39{list-style:none;padding:0;margin:0}._packingListCardItem_vr2fw_39{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;border-bottom:1px solid #f0f0f0;font-size:.95em;color:#444}._packingListCardItem_vr2fw_39:last-child{border-bottom:none}._checkboxDisplay_vr2fw_58{width:20px;height:20px;border-radius:50%;border:1.5px solid #007aff;display:flex;align-items:center;justify-content:center;box-sizing:border-box}._checkboxDisplay_vr2fw_58._checked_vr2fw_68{background-color:#007aff;border-color:#007aff}._checkmarkIcon_vr2fw_73{color:#fff;font-size:.8em;font-weight:700}.itinerary-page-container{width:100%;background-color:#fff;height:100vh;position:relative;overflow:hidden;display:flex;flex-direction:column;overscroll-behavior-y:contain}.map-placeholder{height:270px;width:100%;position:sticky;top:0;z-index:20;flex-shrink:0}.map-placeholder .back-button{position:absolute;top:15px;left:15px;font-size:1.5rem;background:#ffffffb3;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid #ccc}.itinerary-info-container{background-color:#fff;position:relative;box-shadow:0 2px 10px #0000000d;flex-grow:1;overflow-y:auto}.itinerary-header{display:flex;justify-content:space-between;align-items:center;background-color:#f1fbff;padding:15px 15px 0}.itinerary-title-section h1{font-size:1.5rem;margin:0 0 5px;color:#222}.itinerary-title-section p{font-size:.85rem;color:#777;margin:0}.shared-users{display:flex}.shared-users img{width:30px;height:30px;border-radius:50%;margin-left:-8px;border:2px solid white}.nav-tabs{display:flex;justify-content:space-around;align-items:center;padding:10px 0;margin-bottom:20px;border-bottom:1px solid #eee;position:sticky;top:0;background-color:#f1fbff;z-index:10}.nav-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;width:50px;height:50px;padding:8px;border-radius:50%;box-sizing:border-box;background-color:#fff;cursor:pointer;transition:background-color .3s,color .3s,box-shadow .3s,transform .2s;box-shadow:2px 2px 5px #0000001a}.nav-tab:hover{transform:translateY(-1px);box-shadow:3px 3px 7px #00000026}.nav-tab.active{background-color:#24baec;color:#fff;border-color:#24baec;box-shadow:3px 3px 8px #24baec73;transform:translateY(-2px) scale(1.05)}.nav-tab.active .date-suffix{color:#e6f2ff}.nav-tab.active.icon-tab{background-color:#24baec}.nav-tab.active.icon-tab img{filter:brightness(0) invert(1)}.nav-tab.date-tab .date-number{font-size:1.1rem;font-weight:700;padding:0;margin:0}.nav-tab.date-tab .date-suffix{padding:0;margin:-4px;font-size:.75rem;color:#aba8a8}.nav-tab.icon-tab img{width:24px;height:24px}.nav-tab.icon-tab span{font-size:.7rem;margin-top:2px}.daily-schedule-section,.packing-list-section{padding:0 15px 20px;scroll-margin-top:90px;border-bottom:1px solid #eee}.daily-schedule-section h2{font-size:1.1rem;margin-bottom:15px;color:#333}.app-buttons-container{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;padding:10px;background-color:#ffffffe6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 -2px 10px #0000001a;z-index:1000}.app-buttons-container button{padding:12px 20px;font-size:16px;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.app-buttons-container button:first-child{background-color:#f0f0f0;color:#333}.app-buttons-container button:first-child:hover{background-color:#e0e0e0}.app-buttons-container button:last-child{background-color:#007aff;color:#fff}.app-buttons-container button:last-child:hover{background-color:#06c}@media (min-width: 768px){.itinerary-title-section h1{font-size:1.8rem}}.attraction-card{display:flex;margin-bottom:15px;cursor:pointer}.attraction-card img.attraction-image{width:80px;height:80px;border-radius:10px;object-fit:cover;margin-right:15px}.attraction-info h3{font-size:1rem;margin:0 0 5px}.attraction-info .notes{font-size:.8rem;color:#888;background-color:#f5f5f5;padding:3px 6px;border-radius:4px;display:inline-block}.attraction-travel-info{font-size:.8rem;color:#aaa;margin-top:8px}.image-carousel-container{position:relative;width:100%;overflow:hidden;border-radius:8px;margin:15px 0;cursor:grab;touch-action:pan-y;background-color:#f0f0f0}.image-carousel-container:active{cursor:grabbing}.image-carousel{display:flex;transition:transform .35s ease-in-out}.carousel-item{flex:0 0 100%;width:100%;position:relative}.carousel-image-wrapper{width:100%;position:relative;height:300px}@media (max-width: 768px){.carousel-image-wrapper{height:220px}}@media (min-width: 769px){.carousel-image-wrapper{height:400px}}.image-content-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#e0e0e0;display:flex;align-items:center;justify-content:center;animation:shimmer 1.5s infinite linear}@keyframes shimmer{0%{background-color:#e0e0e0}50%{background-color:#d0d0d0}to{background-color:#e0e0e0}}.spinner{border:4px solid rgba(0,0,0,.1);width:36px;height:36px;border-radius:50%;border-left-color:#09f;animation:spin 1s ease infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.image-error-display{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5;color:#888;font-size:.9em;text-align:center;padding:10px;box-sizing:border-box}.carousel-single-image{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;opacity:0;transition:opacity .4s ease-in-out;position:absolute;top:0;left:0}.carousel-single-image.loaded{opacity:1}.carousel-single-image.has-error{opacity:0}@media (max-width: 768px){.carousel-single-image{height:220px}}@media (min-width: 769px){.carousel-single-image{height:400px}}.carousel-indicators{position:absolute;bottom:15px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:2}.indicator{width:8px;height:8px;border-radius:50%;background-color:#fff9;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.indicator:hover{transform:scale(1.2)}.indicator.active{background-color:#fff;transform:scale(1.1)}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background-color:#0006;color:#fff;border:none;font-size:2rem;font-weight:700;padding:5px 10px;line-height:1;cursor:pointer;z-index:3;opacity:0;transition:opacity .3s ease,background-color .2s ease;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.image-carousel-container:hover .carousel-btn{opacity:1}.carousel-btn:hover{background-color:#000000b3}.carousel-btn.prev{left:10px}.carousel-btn.next{right:10px}@media (hover: none) and (pointer: coarse){.carousel-btn{display:none}}@media (max-width: 768px){.carousel-btn{font-size:1.5rem;width:35px;height:35px}}.attraction-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:transparent;display:flex;justify-content:center;align-items:flex-end;z-index:1000;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s .5s linear;pointer-events:none}.attraction-modal-overlay.open{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s 0s linear;pointer-events:auto}.attraction-modal-content{background-color:#fff;padding:20px 25px 30px;border-top-left-radius:20px;border-top-right-radius:20px;box-shadow:0 -5px 25px #00000026;width:100%;max-width:750px;box-sizing:border-box;max-height:calc(100vh - 290px);overflow-y:auto;transform:translateY(100%);transition:transform .5s cubic-bezier(.215,.61,.355,1)}.open .attraction-modal-content{transform:translateY(0)}.attraction-modal-content .close-modal-btn{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.8rem;font-weight:300;color:#888;cursor:pointer;line-height:1;padding:5px;z-index:5;transition:color .2s ease}.attraction-modal-content .close-modal-btn:hover{color:#777}.attraction-modal-content h2{margin-top:0;margin-bottom:10px;font-size:1.6rem;color:#333;padding-right:30px}.attraction-modal-content .opening-hours{font-size:.9rem;color:#555;margin-bottom:15px}.attraction-modal-content .description{margin-top:20px}.attraction-modal-content .description h3{font-size:1.1rem;margin-bottom:8px;color:#444}.attraction-modal-content .description p{font-size:.95rem;line-height:1.65;color:#555}
