body.route2-page .main-content{padding:0;max-width:none}.route-access-denied{position:fixed;top:var(--top-nav-height, 48px);left:0;right:0;bottom:0;background:#f9fafb;z-index:200;display:flex;align-items:center;justify-content:center;padding:2rem}.route-access-denied.hidden{display:none}.access-denied-content{max-width:500px;text-align:center}.access-denied-content h1{font-size:2rem;font-weight:700;color:#111827;margin-bottom:1rem}.access-denied-content p{font-size:1.125rem;color:#6b7280;margin-bottom:1rem;line-height:1.6}.access-hint{font-size:1rem;color:#9ca3af}.access-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:8px;font-weight:500;text-decoration:none;transition:all .15s ease}.btn-primary{background:#ef4444;color:#fff}.btn-primary:hover{background:#dc2626}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#f3f4f6}.route2-content{display:grid;grid-template-columns:1fr 360px;height:calc(100vh - var(--top-nav-height, 48px));gap:0}@media (max-width: 1024px){.route2-content{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}}.route2-header{padding:1.5rem 2rem;border-bottom:2px solid #e5e7eb;background:#fff;grid-column:1 / -1}.route2-header h1{font-size:1.875rem;font-weight:700;color:#111827;margin:0 0 1.25rem}@media (max-width: 768px){.route2-header{padding:.75rem 1rem}.route2-header h1{font-size:1.25rem;margin-bottom:.75rem}}.route2-filters{display:flex;gap:.75rem;align-items:center}.filter-btn{height:36px;padding:0 .875rem;border:2px solid #e5e7eb;border-radius:8px;background:#fff;font-size:.9rem;color:#111827;cursor:pointer;font-weight:500;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;position:relative}.filter-btn:hover{border-color:#d1d5db}.filter-btn:focus{outline:none;border-color:#11b4da;box-shadow:0 0 0 3px #11b4da26}.filter-label{color:#6b7280;font-size:.875rem}.status-toggle{width:36px;height:36px;border-radius:8px;border:2px solid #e5e7eb;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.status-toggle:hover{border-color:#d1d5db}.status-toggle i{font-size:1.125rem;transition:all .15s ease;color:#9ca3af}.status-toggle:not(.active){background:#fff}.status-toggle:not(.active):hover{background:#f9fafb}.status-toggle.active[data-status=want_to_visit]{background:#f2c94c;border-color:#f2c94c}.status-toggle.active[data-status=been_there]{background:#27ae60;border-color:#27ae60}.status-toggle.active[data-status=not_for_me]{background:#9ca3af;border-color:#9ca3af}.status-toggle.active[data-status=unrated]{background:#22d3ee;border-color:#22d3ee}.status-toggle.active[data-filter=intel]{background:#f59e0b;border-color:#f59e0b}.status-toggle.active i{color:#fff}.intel-toggle{width:auto;height:36px;padding:0 .75rem}.toggle-text{font-size:.75rem;font-weight:600;white-space:nowrap;color:#6b7280}.status-toggle.active .toggle-text{color:#fff}.toggle-info{position:absolute;top:2px;right:2px;font-size:.625rem;opacity:.5;transition:opacity .15s ease}.status-toggle:hover .toggle-info{opacity:.8}.toggle-info:hover{opacity:1!important}.filter-info-popup{position:absolute;background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:1rem;box-shadow:0 4px 12px #00000026;z-index:1000;max-width:250px;font-size:.875rem;line-height:1.5}.filter-info-popup.hidden{display:none}.filter-info-content{color:#374151}@media (max-width: 768px){.route2-filters{gap:.5rem;flex-wrap:wrap}.filter-btn{font-size:.8125rem;padding:.5rem .75rem}.filter-label{font-size:.75rem}}.filter-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem}.filter-modal.hidden{display:none}.filter-modal-backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(4px)}.filter-modal-content{position:relative;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:400px;max-height:80vh;display:flex;flex-direction:column}.filter-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.filter-modal-header h3{font-size:1.125rem;font-weight:600;color:#111827;margin:0}.filter-modal-close{background:none;border:none;cursor:pointer;padding:.5rem;color:#6b7280;transition:color .15s ease;display:flex;align-items:center;justify-content:center}.filter-modal-close:hover{color:#111827}.filter-modal-body{padding:1rem 1.5rem 1.5rem;overflow-y:auto}.filter-option-radio,.filter-option-checkbox{display:flex;align-items:center;gap:.75rem;padding:.75rem;cursor:pointer;border-radius:6px;transition:background .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.filter-option-radio:hover,.filter-option-checkbox:hover{background:#f3f4f6}.filter-option-radio input,.filter-option-checkbox input{width:18px;height:18px;cursor:pointer;accent-color:#11b4da}.filter-option-radio span,.filter-option-checkbox span{font-size:.9375rem;color:#374151;font-weight:500;flex:1}:global(body.modal-open){overflow:hidden}.route2-main{overflow-y:auto;background:#f9fafb}.items-list{padding:1.5rem;display:grid;grid-template-columns:1fr;gap:.5rem}@media (min-width: 769px) and (max-width: 1200px){.items-list{grid-template-columns:repeat(2,1fr);gap:.75rem}}@media (min-width: 1201px){.items-list{grid-template-columns:repeat(3,1fr);gap:.75rem}}@media (max-width: 768px){.items-list{padding:1rem;padding-bottom:100px}}body.route2-page .items-list .items-empty{text-align:center;padding:3rem 1.5rem;color:#9ca3af;font-size:.95rem}body.route2-page .items-list .item-card{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#fff;border:2px solid #6b7280;border-radius:6px;margin-bottom:0;cursor:pointer;transition:all .15s ease;position:relative}body.route2-page .items-list .item-card:hover{border-color:#374151;box-shadow:0 2px 8px #00000026}body.route2-page .items-list .item-card.item-card-selected{border-color:#11b4da;background:#f0f9ff}body.route2-page .items-list .item-card.item-card-selected:hover{border-color:#0ea5e9}body.route2-page .items-list .item-card.item-card-disabled{opacity:.5;cursor:not-allowed}body.route2-page .items-list .item-card.item-card-disabled:hover{border-color:#6b7280;box-shadow:none}body.route2-page .items-list .item-card .item-thumbnail,body.route2-page .items-list .item-card .item-thumbnail-placeholder{width:32px;height:32px;min-width:32px;min-height:32px;max-width:32px;max-height:32px;flex-shrink:0;border-radius:4px;-o-object-fit:cover;object-fit:cover;display:block}body.route2-page .items-list .item-card .item-thumbnail-placeholder{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem}body.route2-page .items-list .item-card .item-card-content{flex:1;min-width:0}body.route2-page .items-list .item-card .item-card-name{font-weight:500;color:#111827;font-size:.9rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}body.route2-page .items-list .item-card .item-card-check{flex-shrink:0;width:24px;height:24px;background:#11b4da;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem}body.route2-page .items-list .item-card .item-card-route-controls{display:flex;gap:.5rem;align-items:center}body.route2-page .items-list .item-card .item-card-start,body.route2-page .items-list .item-card .item-card-end{flex-shrink:0;width:32px;height:32px;background:#9ca3af;color:#fff;border:none;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:.375rem;cursor:pointer;transition:all .15s ease;font-size:.75rem;padding:.5rem;white-space:nowrap}body.route2-page .items-list .item-card .item-card-start .route-label,body.route2-page .items-list .item-card .item-card-end .route-label{font-size:.75rem;font-weight:600}body.route2-page .items-list .item-card .item-card-start.is-active{width:auto;background:#10b981}body.route2-page .items-list .item-card .item-card-end.is-active{width:auto;background:#ef4444}body.route2-page .items-list .item-card .item-card-start:hover,body.route2-page .items-list .item-card .item-card-end:hover{background:#6b7280;transform:scale(1.05)}body.route2-page .items-list .item-card .item-card-start.is-active:hover{background:#059669}body.route2-page .items-list .item-card .item-card-end.is-active:hover{background:#dc2626}body.route2-page .items-list .item-card .item-card-start.is-disabled,body.route2-page .items-list .item-card .item-card-end.is-disabled{opacity:.4;cursor:not-allowed}body.route2-page .items-list .item-card .item-card-start.is-disabled:hover,body.route2-page .items-list .item-card .item-card-end.is-disabled:hover{background:#9ca3af;transform:none}@media (max-width: 768px){body.route2-page .items-list .item-card{padding:.5rem;gap:.625rem}body.route2-page .items-list .item-card .item-card-name{font-size:.875rem}}.route2-panel{background:#f9fafb;border-left:2px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden}@media (max-width: 1024px){.route2-panel{display:none}}.route2-panel-header{padding:1.5rem 1.75rem;border-bottom:2px solid #e5e7eb;background:#fff}.route2-panel-header h2{font-size:1.25rem;font-weight:700;color:#111827;margin:0}.selected-items{flex:1;overflow-y:auto;padding:1.25rem;background:#f9fafb}.route-empty{text-align:center;padding:3rem 1.5rem;color:#9ca3af;font-size:.95rem}.route-empty p{margin:0;line-height:1.5}.selected-item{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.625rem;transition:all .15s ease}.selected-item:hover{border-color:#d1d5db;box-shadow:0 2px 6px #0000000d}.selected-item-number{flex-shrink:0;width:28px;height:28px;background:#ef4444;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.selected-item-content{flex:1;min-width:0}.selected-item-name{font-weight:500;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-item-actions{display:flex;align-items:center;gap:.5rem}.selected-item-start,.selected-item-end{flex-shrink:0;background:#9ca3af;border:none;cursor:pointer;padding:.5rem .75rem;color:#fff;border-radius:4px;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:.375rem;font-size:.875rem;white-space:nowrap}.selected-item-start .route-label,.selected-item-end .route-label{font-size:.75rem;font-weight:600}.selected-item-start:hover,.selected-item-end:hover{background:#6b7280;transform:scale(1.05)}.selected-item-start.is-active{background:#10b981}.selected-item-start.is-active:hover{background:#059669}.selected-item-end.is-active{background:#ef4444}.selected-item-end.is-active:hover{background:#dc2626}.selected-item-start.is-disabled,.selected-item-end.is-disabled{opacity:.4;cursor:not-allowed}.selected-item-start.is-disabled:hover,.selected-item-end.is-disabled:hover{background:#9ca3af;transform:none}.starting-item{border-color:#10b981;background:linear-gradient(to right,#10b9810d,#fff)}.starting-item .selected-item-number{background:#10b981}.ending-item{border-color:#ef4444;background:linear-gradient(to right,#ef44440d,#fff)}.ending-item .selected-item-number{background:#ef4444}.selected-item-remove{flex-shrink:0;background:none;border:none;cursor:pointer;padding:.5rem;color:#9ca3af;transition:color .15s ease;display:flex;align-items:center;justify-content:center}.selected-item-remove:hover{color:#ef4444}.export-btn{margin:1.25rem;padding:1rem 1.25rem;background:#2563eb;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 8px #2563eb33}.export-btn:hover:not(.disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.export-btn:active:not(.disabled){transform:translateY(0)}.export-btn.disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;box-shadow:none}#mobile-export-btn{display:none;position:fixed;bottom:0;left:0;right:0;padding:1.25rem;background:#2563eb;color:#fff;border:none;border-radius:0;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;box-shadow:0 -2px 10px #0000001a;z-index:9999}@media (max-width: 1024px){#mobile-export-btn{display:block}}#mobile-export-btn:active{transform:scale(.98)}#mobile-export-btn:disabled{background:#9ca3af;color:#fff;cursor:not-allowed;box-shadow:none}#mobile-export-btn.hidden{display:none}.item-card-info{flex-shrink:0;width:28px;height:28px;background:#fff;border:1.5px solid #d1d5db;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;color:#6b7280}.item-card-info:hover{background:#f3f4f6;border-color:#11b4da;color:#11b4da;transform:scale(1.1)}.item-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem}.item-modal.hidden{display:none}.item-modal-backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(4px)}.item-modal-content{position:relative;background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0000004d;animation:modalSlideUp .3s ease-out}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.item-modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;background:#0000001a;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#374151;transition:all .15s ease;z-index:1}.item-modal-close:hover{background:#0003;transform:scale(1.1)}.item-modal-body{padding:2rem}.modal-loading,.modal-error{text-align:center;padding:3rem 1.5rem;color:#6b7280}.modal-error{color:#ef4444}.modal-item-header{text-align:center;margin-bottom:1.5rem}.modal-item-image{width:100%;height:auto;max-height:300px;-o-object-fit:cover;object-fit:cover;border-radius:12px;margin-bottom:1rem}.modal-item-image-placeholder{width:100%;height:200px;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:12px;margin-bottom:1rem}.modal-item-header h2{font-size:1.75rem;font-weight:700;color:#111827;margin:0 0 .5rem}.modal-item-venue{font-size:1rem;color:#6b7280;margin:0}.modal-item-body{margin:1.5rem 0}.modal-item-body p{margin:0 0 1rem;color:#374151;line-height:1.6}.modal-item-feature{font-style:italic;font-size:1.05rem;padding:1rem;background:#f9fafb;border-left:3px solid #11b4da;border-radius:4px}.modal-item-address,.modal-item-cost{font-size:.95rem}.modal-item-actions{display:flex;gap:.75rem;margin-top:1.5rem}.modal-btn{flex:1;padding:.875rem 1.25rem;border-radius:8px;font-weight:600;font-size:.95rem;text-align:center;text-decoration:none;cursor:pointer;transition:all .15s ease;border:none}.modal-btn-add{background:#11b4da;color:#fff}.modal-btn-add:hover{background:#0ea5e9}.modal-btn-remove{background:#ef4444;color:#fff}.modal-btn-remove:hover{background:#dc2626}.modal-btn-view{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.modal-btn-view:hover{background:#e5e7eb}@media (max-width: 768px){.item-modal-content{max-height:95vh;border-radius:16px 16px 0 0;align-self:flex-end}.item-modal-body{padding:1.5rem}.modal-item-actions{flex-direction:column}}.toast{position:fixed;top:calc(var(--top-nav-height) + 1rem);left:50%;transform:translate(-50%) translateY(-120%);padding:1rem 1.5rem;background:#111827;color:#fff;border-radius:12px;font-weight:600;font-size:.95rem;box-shadow:0 10px 25px #0000004d;z-index:10001;max-width:90%;text-align:center;opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.toast-show{transform:translate(-50%) translateY(0);opacity:1;pointer-events:auto}.toast-warning{background:#f59e0b;color:#78350f}.toast-error{background:#ef4444;color:#fff}.toast-success{background:#10b981;color:#fff}@media (max-width: 768px){.toast{top:calc(var(--top-nav-height) + .5rem);padding:.875rem 1.25rem;font-size:.875rem}}
