:root{--primary-color:#2563eb;--primary-color-dark:#1d4ed8;--secondary-color:#60a5fa;--success-color:#198754;--error-color:#dc3545;--warning-color:#ffc107;--info-color:#0dcaf0;--background-color:#f8f9fa;--surface-color:#fff;--text-color:#212529;--text-color-muted:#6c757d;--text-color-light:#f8f9fa;--border-color:#dee2e6;--font-family-sans-serif:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--border-radius:0.5rem;--border-radius-sm:0.25rem;--border-radius-lg:0.75rem;--border-radius-pill:50px;--box-shadow:0 0.125rem 0.25rem rgba(0,0,0,.075);--box-shadow-sm:0 0.125rem 0.25rem #0000000d;--box-shadow-lg:0 0.5rem 1rem #00000026;--box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:1rem;--spacing-4:1.5rem;--spacing-5:2rem;--spacing-6:2.5rem;--spacing-7:3rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;background-color:var(--background-color);color:#212529;color:var(--text-color);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-family:var(--font-family-sans-serif);font-size:16px;line-height:1.6}a{color:#2563eb;color:var(--primary-color);text-decoration:none;transition:color .2s ease-in-out}a:hover{color:#1d4ed8;color:var(--primary-color-dark);text-decoration:underline}img{height:auto;max-width:100%;vertical-align:middle}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:1rem;margin-bottom:var(--spacing-3)}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}ol,p,ul{margin-bottom:1rem;margin-bottom:var(--spacing-3)}ol,ul{padding-left:1.5rem;padding-left:var(--spacing-4)}.form-group{margin-bottom:1.5rem}.form-group label{color:#212529;color:var(--text-color)}input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],input[type=url],select,textarea{background-clip:padding-box;background-color:#fff;background-color:var(--surface-color);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:.5rem;border-radius:var(--border-radius);color:#212529;color:var(--text-color);display:block;font-family:inherit;font-size:1rem;padding:.75rem 1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#2563eb;border-color:var(--primary-color);box-shadow:0 0 0 .2rem #2563eb40;outline:0}textarea{min-height:100px;resize:vertical}select{-webkit-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{accent-color:#2563eb;accent-color:var(--primary-color);margin-right:.5rem;margin-right:var(--spacing-2);width:auto}.form-check-label{cursor:pointer;font-weight:400}.btn{background-color:#2563eb;background-color:var(--primary-color);border:1px solid #2563eb;border:1px solid var(--primary-color);border-radius:.5rem;border-radius:var(--border-radius);cursor:pointer;display:inline-block;font-size:1rem;font-weight:500;line-height:1.5;padding:.6rem 1.2rem;text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-user-select:none;user-select:none;vertical-align:middle}.btn,.btn:hover{color:#f8f9fa;color:var(--text-color-light)}.btn:hover{background-color:#1d4ed8;background-color:var(--primary-color-dark);border-color:#1d4ed8;border-color:var(--primary-color-dark);text-decoration:none}.btn.focus,.btn:focus{box-shadow:0 0 0 .2rem #2563eb80;outline:0}.btn.disabled,.btn:disabled{background-color:#adb5bd;border-color:#adb5bd;cursor:not-allowed;opacity:.65}.btn-lg{border-radius:.75rem;border-radius:var(--border-radius-lg);font-size:1.15rem;padding:.8rem 1.8rem}.btn-sm{border-radius:.25rem;border-radius:var(--border-radius-sm);font-size:.875rem;padding:.4rem .8rem}.btn-secondary{background-color:#6c757d;background-color:var(--text-color-muted);border-color:#6c757d;border-color:var(--text-color-muted)}.btn-secondary:hover{background-color:#5a6268;border-color:#5a6268}.btn-success{background-color:#198754;background-color:var(--success-color);border-color:#198754;border-color:var(--success-color)}.btn-success:hover{background-color:#13653f;border-color:#13653f}.btn-danger{background-color:#dc3545;background-color:var(--error-color);border-color:#dc3545;border-color:var(--error-color)}.btn-danger:hover{background-color:#c82333;border-color:#c82333}.btn-outline-primary{background-color:initial;color:#2563eb;color:var(--primary-color)}.btn-outline-primary,.btn-outline-primary:hover{border-color:#2563eb;border-color:var(--primary-color)}.btn-outline-primary:hover{background-color:#2563eb;background-color:var(--primary-color);color:#f8f9fa;color:var(--text-color-light)}.btn-link{background-color:initial;border:none;color:#2563eb;color:var(--primary-color);font-weight:400;padding:0;text-decoration:none}.btn-link:hover{color:#1d4ed8;color:var(--primary-color-dark);text-decoration:underline}.container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;width:100%}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.card{word-wrap:break-word;background-clip:initial;background-color:#fff;background-color:var(--surface-color);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:.5rem;border-radius:var(--border-radius);box-shadow:0 .125rem .25rem rgba(0,0,0,.075);box-shadow:var(--box-shadow);display:flex;flex-direction:column;margin-bottom:1.5rem;margin-bottom:var(--spacing-4);min-width:0;padding:2rem;padding:var(--spacing-5);position:relative}.card-header{background-color:#00000008;border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-color);margin-bottom:0;padding:1rem 2rem;padding:var(--spacing-3) var(--spacing-5)}.card-header:first-child{border-radius:calc(.5rem - 1px) calc(.5rem - 1px) 0 0;border-radius:calc(var(--border-radius) - 1px) calc(var(--border-radius) - 1px) 0 0}.card-title{font-size:1.5rem;margin-bottom:1rem;margin-bottom:var(--spacing-3)}.card-body{flex:1 1 auto;padding:2rem;padding:var(--spacing-5)}.card-footer{background-color:#00000008;border-top:1px solid #dee2e6;border-top:1px solid var(--border-color);padding:1rem 2rem;padding:var(--spacing-3) var(--spacing-5)}.card-footer:last-child{border-radius:0 0 calc(.5rem - 1px) calc(.5rem - 1px);border-radius:0 0 calc(var(--border-radius) - 1px) calc(var(--border-radius) - 1px)}.loading-message,.status-message{color:#6c757d;font-style:italic;margin:1.5rem auto;margin:var(--spacing-4) auto;padding:1.5rem;padding:var(--spacing-4)}.error-message{color:#dc3545;color:var(--error-color)}.error-message,.success-message{border:1px solid #0000;border-radius:.25rem;border-radius:var(--border-radius-sm);margin-bottom:1.5rem;margin-bottom:var(--spacing-4);padding:1rem;padding:var(--spacing-3);text-align:center}.success-message{background-color:#d1e7dd;color:#198754;color:var(--success-color)}.empty-state-message{border:2px dashed #dee2e6;border:2px dashed var(--border-color);border-radius:.5rem;border-radius:var(--border-radius);color:#6c757d;color:var(--text-color-muted);margin:1.5rem 0;margin:var(--spacing-4) 0;padding:2rem;padding:var(--spacing-5);text-align:center}.empty-state-message h4{color:#212529;color:var(--text-color);margin-bottom:.5rem;margin-bottom:var(--spacing-2)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.d-flex{display:flex}.flex-column{flex-direction:column}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.align-items-center{align-items:center}footer{background-color:#212529;background-color:var(--text-color);color:#f8f9fa;color:var(--text-color-light);margin-top:3rem;margin-top:var(--spacing-7);padding:2rem 0;padding:var(--spacing-5) 0;text-align:center}footer a{color:#2563eb;color:var(--primary-color)}.app-header{background:linear-gradient(to right,#ebf8ff,var(--surface-color));border-bottom:1px solid var(--border-color);box-shadow:0 2px 4px #0000000d;padding:var(--spacing-3) var(--spacing-4);position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.brand-title a{color:var(--primary-color);font-size:1.75rem;font-weight:700;text-decoration:none}.navbar-tabs{display:flex;gap:var(--spacing-2);list-style:none;margin:0;padding:0}.navbar-tabs .tab.btn{border-radius:var(--border-radius-pill);font-size:.95rem;font-weight:500;padding:.6rem 1.2rem}.navbar-tabs .tab.btn.active{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--text-color-light)}.profile-menu{position:relative}.profile-icon-button{background:none;border:none;border-radius:50%;color:var(--text-color-muted);cursor:pointer;font-size:1.5rem;padding:var(--spacing-2);transition:background-color .2s ease,color .2s ease}.profile-icon-button:focus,.profile-icon-button:hover{background-color:#e9ecef;color:var(--primary-color);outline:none}.profile-dropdown{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow-lg);display:flex;flex-direction:column;min-width:200px;padding:var(--spacing-2) 0;position:absolute;right:0;top:calc(100% + var(--spacing-2));z-index:1010}.profile-dropdown-item{background:none;border:none;color:var(--text-color);cursor:pointer;display:block;font-size:.95rem;padding:.6rem 1.2rem;text-align:left;text-decoration:none;transition:background-color .2s ease,color .2s ease;width:100%}.profile-dropdown-item:hover{background-color:#f1f3f5;color:var(--primary-color)}@media (max-width:768px){.header-content{align-items:stretch;flex-direction:column;gap:var(--spacing-3)}.brand-title{text-align:center}.navbar-tabs{justify-content:space-around;margin-bottom:var(--spacing-2);order:1;width:100%}.profile-menu{align-self:center;position:static}.profile-dropdown{left:50%;max-width:250px;right:auto;transform:translateX(-50%);width:90%}}@media (max-width:480px){.navbar-tabs .tab.btn{font-size:.85rem;padding:.5rem .8rem}}.landing-container{align-items:center;background:linear-gradient(to bottom right,#ebf8ff,var(--surface-color));display:flex;flex-direction:column;min-height:100vh;padding:2rem}.landing-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:3rem;max-width:1200px;padding:1rem 0;width:100%}.landing-header .brand-title{color:var(--primary-color);font-size:2rem;font-weight:700}.landing-main{margin-top:2rem;max-width:800px;text-align:center}.main-title{color:var(--text-color);font-size:3.5rem;font-weight:700;line-height:1.1;margin-bottom:1.5rem}.main-description{color:var(--text-color-muted);font-size:1.25rem;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:600px}.main-btn{border-radius:50px;font-size:1.2rem;padding:1rem 2.5rem}.features-section{grid-gap:var(--spacing-5);display:grid;gap:var(--spacing-5);grid-template-columns:1fr;margin-top:var(--spacing-7);max-width:1100px;width:100%}@media (min-width:768px){.features-section{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}.feature-card{background:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{box-shadow:var(--box-shadow-lg);transform:translateY(-5px)}.feature-icon{color:var(--primary-color);font-size:3rem;margin-bottom:var(--spacing-3)}.feature-title{color:var(--primary-color);font-size:1.35rem;font-weight:600;margin-bottom:var(--spacing-2)}.feature-description{color:var(--text-color-muted);font-size:1rem;line-height:1.7}@media (max-width:768px){.landing-main-title{font-size:2.5rem}.landing-main-description{font-size:1.1rem}}.user-profile-page{margin:var(--spacing-5) auto;max-width:960px;padding:0}.profile-card{background-color:var(--surface-color);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);overflow:hidden}.profile-actions-bar{align-items:center;background-color:#f8f9fa;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:center;padding:var(--spacing-4)}.profile-content-area{padding:var(--spacing-5)}.profile-view-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--spacing-4);margin-bottom:var(--spacing-5);padding-bottom:var(--spacing-5);text-align:center}.profile-view-photo{border:4px solid var(--surface-color);border-radius:50%;box-shadow:var(--box-shadow);height:150px;object-fit:cover;width:150px}.profile-view-info h1{color:var(--text-color);font-size:2rem;margin-bottom:var(--spacing-2);margin-top:0}.profile-view-info .profile-bio{color:var(--text-color-muted);font-size:1.05rem;line-height:1.7;margin-bottom:0;max-width:600px}.profile-view-section{margin-bottom:var(--spacing-6)}.profile-view-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.profile-view-section-title{border-bottom:1px dashed var(--border-color);color:var(--primary-color);font-size:1.4rem;font-weight:600;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-2)}.profile-view-section p,.profile-view-section ul li{color:var(--text-color);font-size:1rem;line-height:1.6}.profile-view-section ul{list-style:none;padding-left:0}.profile-view-section .about-text{white-space:pre-wrap}.spoken-languages-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.language-display-item{align-items:center;background-color:#f8f9fa;border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;flex-direction:column;font-size:.95rem;gap:var(--spacing-2);min-width:120px;padding:var(--spacing-3);text-align:center}.language-flag-icon{border:1px solid #ccc;border-radius:var(--border-radius-sm);height:40px;object-fit:cover;width:60px}.language-name-display{color:var(--text-color);font-weight:500}.countries-visited-map-container{padding:var(--spacing-3) 0;text-align:center}.countries-visited-map-container svg{background-color:#f0f4f8;border:1px solid var(--border-color);border-radius:var(--border-radius);height:auto;max-width:100%}.gallery-photo-preview-container{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow-lg);height:auto;left:50%;max-height:80vh;max-width:500px;overflow:hidden;pointer-events:none;position:fixed;top:50%;transform:translate(-50%,-50%);width:80vw;z-index:1050}.gallery-photo-preview-container img{height:100%;object-fit:contain;width:100%}.social-links-display{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-4);list-style:none;padding-left:0}.social-links-display li a{align-items:center;color:var(--text-color-muted);display:inline-flex;font-size:1rem;gap:var(--spacing-2);padding:var(--spacing-1);text-decoration:none;transition:color .2s ease}.social-links-display li a:hover{color:var(--primary-color)}.social-link-icon{height:28px;object-fit:contain;width:28px}.profile-trips-list-container{-webkit-overflow-scrolling:touch;display:flex;gap:var(--spacing-4);list-style:none;overflow-x:auto;padding:var(--spacing-2) 0 var(--spacing-4) 0;scroll-snap-type:x mandatory}.profile-trips-list-container::-webkit-scrollbar{height:8px}.profile-trips-list-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:var(--border-radius-pill)}.profile-trips-list-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:var(--border-radius-pill)}.profile-trips-list-container::-webkit-scrollbar-thumb:hover{background:#bbb}.profile-trip-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow-sm);cursor:pointer;flex:0 0 auto;max-width:300px;min-width:240px;padding:var(--spacing-3);scroll-snap-align:start;text-align:left;transition:all .2s ease}.profile-trip-card:hover{box-shadow:var(--box-shadow);transform:translateY(-3px)}.profile-trip-card .trip-card-title{color:var(--primary-color);font-size:1.15rem;font-weight:600;margin:0 0 var(--spacing-2)}.profile-trip-card .trip-card-dates{color:var(--text-color-muted);font-size:.9rem;margin:var(--spacing-1) 0}.edit-profile-form-container{display:flex;flex-direction:column;gap:var(--spacing-5)}.edit-profile-form-section{background-color:#fdfdfd;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-4)}.edit-profile-form-section-title{color:var(--text-color);font-size:1.3rem;font-weight:600;margin-bottom:var(--spacing-4)}.edit-profile-form-container .btn-save-profile{align-self:flex-start;margin-top:var(--spacing-4)}.photo-upload-area>label{color:var(--text-color);display:block;font-weight:600;margin-bottom:var(--spacing-2)}.file-input-styled-button{background-color:initial;border:1px solid var(--primary-color);border-radius:var(--border-radius);color:var(--primary-color);cursor:pointer;display:inline-block;font-size:1rem;padding:.6rem 1.2rem;position:relative;transition:all .2s ease}.file-input-styled-button:hover{background-color:var(--primary-color);color:var(--text-color-light)}.file-input-styled-button input[type=file]{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.photos-management-gallery{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.photo-management-item{aspect-ratio:1/1;border-radius:var(--border-radius-sm);box-shadow:var(--box-shadow-sm);overflow:hidden;position:relative}.photo-management-item img{display:block;height:100%;object-fit:cover;width:100%}.btn-delete-gallery-photo{background-color:#dc3545b3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:.9rem;height:28px;line-height:28px;padding:0;position:absolute;right:var(--spacing-1);text-align:center;top:var(--spacing-1);transition:background-color .2s ease;width:28px;z-index:1}.btn-delete-gallery-photo:hover{background-color:var(--error-color)}.multi-select-controls{align-items:center;display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.multi-select-input-container .custom-select-input{border-radius:var(--border-radius);flex-grow:1}.selected-items-pill-list{display:flex;flex-wrap:wrap;gap:var(--spacing-2);list-style:none;padding:0}.selected-item-pill{align-items:center;background-color:#e9ecef;border-radius:var(--border-radius-pill);color:var(--text-color);display:flex;font-size:.9rem;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-3)}.btn-remove-from-list{background:none;border:none;color:var(--text-color-muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 var(--spacing-1)}.btn-remove-from-list:hover{color:var(--error-color)}.social-links-editor-group .form-group{margin-bottom:var(--spacing-3)}.social-links-editor-group .form-group:last-child{margin-bottom:0}.change-password-form-modal-or-section{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);margin:var(--spacing-5) auto;max-width:500px;padding:var(--spacing-5)}.change-password-form-modal-or-section .form-title{color:var(--text-color);font-size:1.6rem;margin-bottom:var(--spacing-5);text-align:center}.change-password-form-modal-or-section .btn-update-password{margin-top:var(--spacing-3)}.delete-account-confirmation{background-color:#fff3cd;border:1px solid #ffeeba;border-radius:var(--border-radius);margin-top:var(--spacing-4);padding:var(--spacing-4);text-align:center}.delete-account-confirmation p{color:#856404;margin-bottom:var(--spacing-3)}.delete-account-confirmation .btn-group{display:flex;gap:var(--spacing-3);justify-content:center}@media (max-width:768px){.profile-view-header{gap:var(--spacing-3)}.profile-view-photo{height:120px;width:120px}.profile-view-info h1{font-size:1.75rem}.spoken-languages-grid{justify-content:center}.profile-photos-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media (max-width:576px){.profile-card{border-radius:0}.profile-content-area{padding:var(--spacing-4)}.profile-view-photo{height:100px;width:100px}.profile-view-info h1{font-size:1.5rem}.profile-view-section-title{font-size:1.25rem}.social-links-display{justify-content:center}.photos-management-gallery{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}.profile-photos-gallery{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.gallery-photo-item{aspect-ratio:1/1;border-radius:var(--border-radius);box-shadow:var(--box-shadow-sm);cursor:zoom-in;overflow:hidden;position:relative}.gallery-photo-item img{display:block;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.gallery-photo-item:hover img{transform:scale(1.05)}.photo-modal-overlay{background-color:#000000d9;box-sizing:border-box;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1050}.photo-modal-content,.photo-modal-overlay{align-items:center;display:flex;justify-content:center;padding:var(--spacing-3)}.photo-modal-content{background-color:#fff;background-color:var(--surface-color,#fff);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-xl);max-height:90vh;max-width:90vw;overflow:hidden;position:relative}.photo-modal-image{border-radius:var(--border-radius);display:block;max-height:calc(90vh - var(--spacing-6));max-width:100%;object-fit:contain}.photo-modal-close{background-color:#323232b3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:.9rem;height:28px;line-height:28px;position:absolute;right:var(--spacing-1);text-align:center;top:var(--spacing-1);transition:background-color .2s ease;width:28px;z-index:10}.photo-modal-close:hover{background-color:#000000e6}.photo-modal-next,.photo-modal-prev{background-color:#1e1e1e99;border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;font-size:1.8rem;line-height:1;padding:var(--spacing-3) var(--spacing-2);position:absolute;top:50%;transform:translateY(-50%);transition:background-color .2s ease;z-index:10}.photo-modal-next:hover,.photo-modal-prev:hover{background-color:#000c}.photo-modal-prev{left:var(--spacing-3)}.photo-modal-next{right:var(--spacing-3)}@media (max-width:768px){.profile-photos-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.photo-modal-next,.photo-modal-prev{font-size:1.5rem;padding:var(--spacing-2) var(--spacing-1)}.photo-modal-close{font-size:1.5rem;height:30px;line-height:30px;width:30px}}.dashboard-section{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);margin-top:2rem;padding:1.5rem}.dashboard-section h2{color:var(--text-color);font-size:1.5rem;margin-bottom:1.5rem;text-align:left}.bookings-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));list-style:none;padding:0}.booking-item-card{background-color:#fdfdfd;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.25rem}.booking-item-card:hover{box-shadow:var(--box-shadow)}.booking-item-card p{color:var(--text-color-muted);font-size:.95rem;margin-bottom:.5rem}.booking-item-card p strong{color:var(--text-color)}.booking-item-card .clickable:hover{color:var(--primary-color);cursor:pointer;text-decoration:underline}.booking-buttons{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.bookings-button.accept{background-color:var(--success-color);border-color:var(--success-color)}.bookings-button.accept:hover{background-color:#13653f;border-color:#13653f}.bookings-button.decline{background-color:var(--error-color);border-color:var(--error-color)}.bookings-button.decline:hover{background-color:#c82333;border-color:#c82333}.host-trips-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));list-style:none;padding:0}.host-trip-item-card{background-color:#fdfdfd;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;padding:1.25rem;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.host-trip-item-card:hover{box-shadow:var(--box-shadow);transform:translateY(-3px)}.host-trip-item-card h4{color:var(--primary-color);font-size:1.2rem;margin:0 0 .75rem}.host-trip-item-card p{color:var(--text-color-muted);font-size:.9rem;margin:.25rem 0}.trip-form-container{background:var(--surface-color-light);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow);margin:2rem auto;max-width:800px;padding:var(--spacing-5)}.trip-form-container h2{color:var(--primary-color);font-size:2rem;margin-bottom:var(--spacing-5);text-align:center}.trip-form-container>.error-message{background-color:#f8d7da;background-color:var(--danger-bg-subtle,#f8d7da);border:1px solid #f5c6cb;border:1px solid var(--danger-border-subtle,#f5c6cb);border-radius:var(--border-radius-md);color:#721c24;color:var(--danger-text,#721c24);margin-bottom:var(--spacing-4);padding:var(--spacing-3);text-align:center}.form-step{margin-bottom:var(--spacing-5)}.form-step>h3{border-bottom:2px solid #aed6f1;border-bottom:2px solid var(--primary-color-light,#aed6f1);color:var(--primary-color);font-size:1.5rem;padding-bottom:var(--spacing-2)}.form-group,.form-step>h3{margin-bottom:var(--spacing-4)}.form-group label{color:#6c757d;color:var(--text-color-muted,#6c757d);font-weight:600;margin-bottom:var(--spacing-2)}.form-step input[type=date],.form-step input[type=email],.form-step input[type=number],.form-step input[type=password],.form-step input[type=text],.form-step select,.form-step textarea{background-clip:padding-box;background-color:#fff;background-color:var(--input-bg,#fff);border:1px solid #ced4da;border:1px solid var(--border-color,#ced4da);border-radius:var(--border-radius-md);box-sizing:border-box;color:#495057;color:var(--text-color,#495057);font-size:1rem;line-height:1.5;padding:.75rem 1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-step input:focus,.form-step select:focus,.form-step textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem #007bff40;box-shadow:0 0 0 .2rem var(--primary-color-light,#007bff40);outline:0}.form-step textarea{min-height:100px;resize:vertical}.list-item-group{margin-bottom:var(--spacing-4)}.list-item-group h4{color:var(--text-color);font-size:1.15rem;margin-bottom:var(--spacing-3);margin-top:var(--spacing-4)}.list-item{gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.list-item input{margin-bottom:0}.btn-remove-item{cursor:pointer;flex-shrink:0;font-size:.9rem;line-height:1.2;padding:.5rem .9rem}.btn-add-item,.btn-remove-item{border:none;border-radius:var(--border-radius-md);color:#fff}.btn-add-item{background-color:#6c757d;background-color:var(--secondary-color,#6c757d);color:var(--text-color-light,#fff);font-size:.95rem;margin-top:var(--spacing-2);padding:.6rem 1.2rem}.btn-add-item:hover{background-color:#5a6268;background-color:var(--secondary-color-dark,#5a6268)}.itinerary-item{background:#f8f9fa;background:var(--surface-color-light,#f8f9fa);border:1px solid #e9ecef;border:1px solid var(--border-color-subtle,#e9ecef);border-radius:var(--border-radius-md);display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-4);padding:var(--spacing-4)}.itinerary-item .form-group{margin-bottom:0}.itinerary-item .location-geo-group{display:flex;gap:var(--spacing-3)}.itinerary-item .location-geo-group .form-group{flex:1 1}.itinerary-item .btn-remove-item{align-self:flex-end;margin-top:var(--spacing-2)}.form-navigation{border-top:1px solid #ced4da;border-top:1px solid var(--border-color,#ced4da);display:flex;justify-content:space-between;margin-top:var(--spacing-6);padding-top:var(--spacing-4)}.form-navigation .btn{font-size:1rem;padding:.75rem 1.5rem}.form-navigation .btn:only-child{margin-left:auto}.progress-container{background:#e9ecef;background:var(--surface-color-lighter,#e9ecef);height:12px;margin-top:var(--spacing-4);overflow:hidden;width:100%}.progress-bar,.progress-container{border-radius:var(--border-radius-pill)}.progress-bar{background:var(--primary-color);height:100%;transition:width .4s ease-in-out}.ai-suggestion-link-container{border-top:1px dashed #ced4da;border-top:1px dashed var(--border-color,#ced4da);margin-top:var(--spacing-5);padding-top:var(--spacing-4);text-align:center}.ai-suggestion-link-container p{color:#6c757d;color:var(--text-color-muted,#6c757d);font-size:.95rem;margin-bottom:var(--spacing-2)}.ai-suggestion-button{font-size:1rem;padding:.6rem 1.2rem}.trips-by-user-container{margin:2rem auto;max-width:900px;padding:1rem}.trips-section{margin-bottom:2rem}.trips-section h2{border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:1.5rem;margin-bottom:1rem;padding-bottom:.5rem}.empty-message{color:var(--text-color-muted);font-style:italic;margin-left:.25rem}.trip-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);margin-bottom:1rem;padding:1.5rem;transition:box-shadow .2s ease}.trip-card-title{color:var(--text-color);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.trip-card-dates{color:var(--text-color-muted);margin-bottom:.75rem}.trip-card-organizer-note{color:var(--primary-color);font-weight:500;margin-bottom:1rem}.trip-card-btn{font-size:.95rem;padding:.5rem 1.25rem}.trip-details-container{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow-lg);margin:2rem auto;max-width:900px;overflow:hidden}.trip-details-header{background-color:var(--primary-color);color:var(--surface-color);padding:2rem;text-align:center}.trip-details-header h1{font-size:2.25rem;margin:0}.trip-details-content{padding:2rem}.trip-host-section p,.trip-info-section p{color:var(--text-color-muted);line-height:1.7;margin-bottom:.75rem}.trip-host-section strong,.trip-info-section strong{color:var(--text-color)}.trip-host-section .host-link{color:var(--primary-color);cursor:pointer;text-decoration:underline}.trip-itinerary-layout{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem;padding:1rem 0}.itinerary-map-container{border:1px solid var(--border-color);border-radius:var(--border-radius);height:100%;overflow:hidden;width:100%}.itinerary-map-container .composable-map{height:100%;width:100%}.itinerary-timeline-container{width:100%}.itinerary-timeline{border-left:2px solid var(--border-color);padding-left:1.5rem;position:relative}.itinerary-timeline-item{margin-bottom:1.5rem;position:relative}.itinerary-timeline-item:last-child{margin-bottom:0}.timeline-marker{background-color:var(--primary-color);border:2px solid var(--surface-color);border-radius:50%;height:16px;left:-21px;position:absolute;top:4px;width:16px}.timeline-item-content h4{color:var(--text-color);font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.timeline-item-content .dates,.timeline-item-content .notes{color:var(--text-color-muted);font-size:.9rem;margin-bottom:.25rem}.timeline-item-content .notes{margin-top:.25rem}@media (min-width:768px){.trip-itinerary-layout{flex-direction:row}.itinerary-map-container{width:66.666667%}.itinerary-timeline-container{width:33.333333%}}.trip-participants-section{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1.5rem}.trip-participants-section strong{display:block;font-size:1.1rem;margin-bottom:1rem}.participants-list{display:flex;flex-wrap:wrap;gap:1.5rem}.participant-item{align-items:center;border-radius:var(--border-radius);cursor:pointer;display:flex;gap:.75rem;padding:.5rem;transition:background-color .2s ease}.participant-item:hover{background-color:#f1f3f5}.participant-item img{border:1px solid var(--border-color);border-radius:50%;height:40px;object-fit:cover;width:40px}.participant-item span{color:var(--primary-color);font-size:.95rem;text-decoration:underline}.trip-actions-section{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.reviews-section,.trip-actions-section{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:1.5rem}.reviews-section h2{margin-bottom:1.5rem;text-align:center}.trip-card-wrapper{display:flex;height:100%}.trip-card{background-color:#fff;background-color:var(--card-bg,#fff);border-radius:.75rem;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;padding:1rem;transition:transform .2s ease,box-shadow .2s ease;width:100%}.trip-card:hover{box-shadow:var(--box-shadow-lg);transform:translateY(-4px)}.trip-card h3{color:var(--primary-color);font-size:1.3rem;margin-bottom:.75rem;margin-top:0}.trip-card p{color:var(--text-color-muted);font-size:.9rem;line-height:1.5;margin-bottom:.5rem}.trip-card p:last-of-type{margin-bottom:1rem}.trip-card strong{color:var(--text-color)}@media (max-width:768px){.trip-card{padding:.875rem}.trip-card h3{font-size:1.1rem}.trip-card p{font-size:.85rem}}@media (max-width:480px){.trip-card{padding:.75rem}.trip-card h3{font-size:1rem}.trip-card p{font-size:.8rem}}.pagination{gap:.5rem;margin-top:2rem}.pagination-button{background-color:#fff;border:1px solid #007bff;border-radius:.25rem;color:#007bff;cursor:pointer;padding:.5rem .75rem;transition:background-color .2s,color .2s}.pagination-button:hover:not(:disabled){background-color:#007bff;color:#fff}.pagination-button:disabled{border-color:#ced4da;color:#6c757d;cursor:not-allowed}.pagination-button.active{background-color:#007bff;border-color:#007bff;color:#fff}.pagination-ellipsis{color:#6c757d;padding:.5rem .25rem}.pagination-info{color:#495057;font-size:.9rem;margin-left:1rem}.trip-list-section{margin-top:1rem}.trip-list-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));list-style:none;padding:0}.trip-list-section .error,.trip-list-section .loading{color:var(--text-color-muted);font-size:1.1rem;margin-top:2rem;text-align:center}.trip-list-section .error{color:var(--error-color)}.pagination{align-items:center;display:flex;gap:.75rem;justify-content:center;margin-top:2.5rem}.pagination button{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--primary-color);cursor:pointer;padding:.5rem 1rem;transition:background-color .2s ease,color .2s ease}.pagination button:disabled{background-color:#e9ecef;border-color:var(--border-color);color:var(--text-color-muted);cursor:not-allowed;opacity:.5}.pagination button:hover:not(:disabled){background-color:var(--primary-color);border-color:var(--primary-color);color:var(--surface-color)}.pagination span{color:var(--text-color-muted);font-size:.95rem}@media (max-width:600px){.trip-list-grid{grid-template-columns:1fr}}.trips-page{font-family:Arial,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.trips-page-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.trips-page-header h1{color:#333;font-size:2.5rem}.trips-page-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2.5rem}.trip-filters-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000014;margin-bottom:2.5rem;padding:1.5rem}.trip-filters-container h2{color:#333;font-size:1.6rem;margin-bottom:1.5rem;margin-top:0;text-align:center}.trip-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem}.filter-input,.filter-select{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:.95rem;padding:.75rem;width:100%}.filter-search{grid-column:1/-1}.filter-group{align-items:center;display:flex;flex-direction:row;gap:.5rem;text-align:center;width:100%}.filter-group label{color:#555;font-size:.9rem;font-weight:500;margin-bottom:.25rem}.filter-group>div{align-items:center;display:flex;gap:.5rem}.filter-group>div>input{flex-grow:1}.clear-filters-button{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1rem;transition:background-color .2s;white-space:nowrap}.clear-filters-button:hover{background-color:#5a6268}@media (min-width:768px){.filter-search{grid-column:span 2}.clear-filters-button{grid-column:-2/-1}}@media (min-width:992px){.trip-filters{grid-template-columns:2fr 1fr 1fr 1fr 1fr auto}.filter-search{grid-column:auto}}.loading{color:#007bff}.error,.loading{font-size:1.2rem;padding:2rem;text-align:center}.error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#dc3545}.booking-form-container{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow-lg);margin:2rem auto;max-width:600px;padding:2rem}.booking-form-container h2{color:var(--text-color);font-size:1.75rem;margin-bottom:1rem;text-align:center}.booking-form-details{font-size:1rem;margin-bottom:1.5rem}.booking-form-details p{color:var(--text-color-muted);line-height:1.6;margin-bottom:.75rem}.booking-form-details strong{color:var(--text-color)}.booking-form-container form{display:flex;justify-content:center;margin-top:1rem}.booking-form-container .btn{background-color:var(--primary-color);border:none;border-radius:var(--border-radius);color:var(--surface-color);cursor:pointer;font-size:1rem;padding:.75rem 2rem;transition:background-color .2s ease}.booking-form-container .btn:hover:not(:disabled){background-color:var(--primary-color-dark)}.booking-form-container .btn:disabled{cursor:not-allowed;opacity:.6}.error-message,.info-message,.success-message{border-radius:var(--border-radius);font-size:.95rem;margin-top:1rem;padding:.75rem 1rem;text-align:center}.success-message{background-color:#e6ffed;border:1px solid #b4e2c1;color:#277d3b}.error-message{background-color:#ffe6e6;border:1px solid #f5b5b5;color:#b10000}.info-message{background-color:#f0f4ff;border:1px solid #b8ccff;color:#2c3e94}.loading-message,.status-message{color:var(--text-color-muted);font-size:1rem;padding:2rem;text-align:center}@media (max-width:600px){.booking-form-container{padding:1.5rem}.booking-form-container h2{font-size:1.5rem}.booking-form-container .btn{width:100%}}.all-chats-page{margin:var(--spacing-5) auto;max-width:800px;padding:var(--spacing-3)}.all-chats-page h2{color:var(--text-color);margin-bottom:var(--spacing-5);text-align:center}.chat-list{list-style:none;padding:0}.chat-list-item{margin-bottom:var(--spacing-3)}.chat-list-item a{color:inherit;display:block;text-decoration:none}.chat-list-card:hover{box-shadow:var(--box-shadow-lg);transform:translateY(-3px)}.chat-list-card .chat-title{color:var(--primary-color);display:block;font-size:1.2rem;font-weight:600;margin-bottom:var(--spacing-2);text-align:center}.chat-list-card .last-message{color:var(--text-color-muted);font-size:.95rem;margin:var(--spacing-1) 0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.chat-list-card .message-time{color:#999;display:block;font-size:.85rem;margin-top:var(--spacing-2);text-align:center}.chat-page-container{background-color:var(--surface-color);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);display:flex;flex-direction:column;height:calc(100vh - 160px);margin:var(--spacing-5) auto;max-width:700px;min-height:500px;overflow:hidden}.chat-page-header{background-color:var(--primary-color);color:var(--text-color-light);font-size:1.25rem;font-weight:600;margin:0;padding:var(--spacing-3) var(--spacing-4)}.chat-room{background-color:#fdfdff;flex-grow:1;overflow-y:auto;padding:var(--spacing-4)}.message{display:flex;flex-direction:column;margin-bottom:var(--spacing-3);max-width:80%}.message-sender{color:var(--text-color-muted);font-size:.85rem;font-weight:600;margin-bottom:var(--spacing-1)}.message-content{word-wrap:break-word;border-radius:var(--border-radius);box-shadow:var(--box-shadow-sm);line-height:1.5;padding:.75rem 1rem}.message.current-user-message{align-items:flex-end;align-self:flex-end}.message.current-user-message .message-content{background-color:var(--primary-color);border-bottom-right-radius:var(--border-radius-sm);color:var(--text-color-light)}.message.other-user-message .message-content{background-color:#e9ecef;border-bottom-left-radius:var(--border-radius-sm);color:var(--text-color)}.message-input-container{align-items:center;background-color:var(--surface-color);border-top:1px solid var(--border-color);display:flex;padding:var(--spacing-3)}.message-input-container input[type=text]{border-radius:var(--border-radius-pill);flex-grow:1;margin-right:var(--spacing-3)}@media (max-width:768px){.chat-page-container{border-radius:var(--border-radius);height:calc(100vh - 120px);margin:var(--spacing-3) var(--spacing-2)}.message-input-container input[type=text]{padding:.6rem .8rem}.message-input-container .btn{padding:.6rem 1rem}.message{max-width:90%}}.chat-list-card{align-items:center;display:flex;position:relative;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.chat-list-card .chat-trip-cover{border-radius:var(--border-radius-md);height:50px;margin-right:var(--spacing-3);object-fit:cover;width:50px}.chat-list-card .chat-info{flex-grow:1;overflow:hidden}.last-message.unread strong{color:var(--text-color);font-weight:700}.last-message.unread{color:var(--text-color);font-weight:500}.unread-badge{align-items:center;background-color:var(--primary-color);border-radius:50%;color:#fff;display:inline-flex;font-size:.75rem;font-weight:700;height:20px;justify-content:center;margin-left:auto;min-width:20px;padding:.2em .5em}.chat-room{display:flex;flex-direction:column}.loading-more{color:var(--text-color-muted);font-style:italic;padding:var(--spacing-3);text-align:center}.message-sender-link{color:inherit;text-decoration:none}.message-sender-link:hover{text-decoration:underline}.sender-avatar-small{border-radius:50%;height:20px;margin-right:var(--spacing-2);vertical-align:middle;width:20px}.read-receipts{color:var(--text-color-muted);font-size:.75rem;margin-top:var(--spacing-1);text-align:right}.message-content img{border-radius:var(--border-radius-sm);display:block;max-height:250px;max-width:100%}.message-content a{color:var(--primary-color);text-decoration:underline}.expenses-page-container{margin:var(--spacing-4) auto;max-width:900px;padding:var(--spacing-3)}.expenses-page-container .page-header{margin-bottom:var(--spacing-4)}.expenses-page-container h2{color:var(--text-color);font-size:1.8rem;margin-bottom:var(--spacing-5);text-align:center}.overall-balance-summary.card{margin-bottom:var(--spacing-5);padding:var(--spacing-4);text-align:center}.overall-balance-summary h3{color:var(--primary-color);margin-top:0}.overall-balance-summary .positive-balance{color:green;color:var(--success-color,green);font-weight:700}.overall-balance-summary .negative-balance{color:red;color:var(--danger-color,red);font-weight:700}.balances-list{list-style:none;padding:0}.balances-list-item.card{margin-bottom:var(--spacing-3);text-align:center;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.balances-list-item.card:hover{box-shadow:var(--box-shadow-lg);transform:translateY(-3px)}.balances-list-item a{color:var(--text-color);display:block;padding:var(--spacing-3) var(--spacing-4);text-decoration:none}.balance-item-header{align-items:center;display:flex;justify-content:center;margin-bottom:var(--spacing-2)}.trip-cover-thumbnail{border-radius:var(--border-radius-sm);height:40px;margin-right:var(--spacing-3);object-fit:cover;width:40px}.trip-title-balance{color:var(--primary-color);font-size:1.1rem;font-weight:600;text-align:center}.balance-details .balance-amount{font-size:1rem;font-weight:500}.balance-details .settled{color:var(--text-color-muted)}.balance-details .positive-balance{color:green;color:var(--success-color,green)}.balance-details .negative-balance{color:red;color:var(--danger-color,red)}.trip-expenses-content-grid{grid-gap:var(--spacing-5);display:grid;gap:var(--spacing-5);grid-template-columns:1fr}@media (min-width:992px){.trip-expenses-content-grid{grid-template-columns:3fr 2fr}}.add-expense-form-section.card,.expenses-list-section.card{padding:var(--spacing-4)}.add-expense-form-section h3,.expenses-list-section h3{border-bottom:1px solid var(--border-color-subtle);color:var(--text-color);font-size:1.5rem;margin-bottom:var(--spacing-4);margin-top:0;padding-bottom:var(--spacing-2)}.expenses-list{list-style:none;padding:0}.expense-item{border-bottom:1px solid #eee;border-bottom:1px solid var(--border-color-subtle,#eee);display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-3) 0}.expense-item:last-child{border-bottom:none}.expense-main-info{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.expense-date{color:var(--text-color-muted);font-size:.9em;min-width:80px}.expense-description{flex-grow:1;font-weight:600}.expense-category-badge{background-color:#e7f3ff;background-color:var(--primary-bg-subtle,#e7f3ff);border-radius:var(--border-radius-pill);color:var(--primary-color);font-size:.8em;padding:var(--spacing-1) var(--spacing-2);white-space:nowrap}.expense-financials{align-items:center;color:var(--text-color-muted);display:flex;font-size:.9em;justify-content:space-between}.payer-link{color:var(--text-color);font-weight:500;text-decoration:none}.payer-link:hover{text-decoration:underline}.total-amount{color:var(--text-color);font-size:1.1em;font-weight:700}.expense-split-info{background-color:#f8f9fa;background-color:var(--surface-color-light,#f8f9fa);border-radius:var(--border-radius-sm);color:var(--text-color-muted);font-size:.85em;padding:var(--spacing-2)}.split-participant-list{list-style:none;margin-top:var(--spacing-1);padding-left:var(--spacing-3)}.split-participant-list li{margin-bottom:var(--spacing-1)}.split-participant-list li a{color:var(--text-color-muted);font-weight:500}.my-share{color:var(--primary-color);display:block;font-weight:700;margin-top:var(--spacing-1)}.add-expense-form .form-row{align-items:flex-end;display:flex;gap:var(--spacing-3)}.add-expense-form .form-group{margin-bottom:var(--spacing-4)}.add-expense-form label{display:block;font-weight:500;margin-bottom:var(--spacing-1)}.split-between-options{background-color:#f8f9fa;background-color:var(--surface-color-lighter,#f8f9fa);border:1px solid var(--border-color-subtle);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-4);margin-top:var(--spacing-3);padding:var(--spacing-3)}.split-between-options .split-label{display:block;font-weight:600;margin-bottom:var(--spacing-3)}.participant-split-item{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.participant-split-item .form-check-label{flex-grow:1;min-width:120px}.split-value-input{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-1) var(--spacing-2);width:100px}.add-expense-form .btn{font-size:1.05rem;margin-top:var(--spacing-3);padding:.8rem;width:100%}.trip-balance-overview.card{background-color:#f8f9fa;background-color:var(--surface-color-lighter,#f8f9fa);margin-bottom:var(--spacing-5);padding:var(--spacing-4);text-align:center}.trip-balance-overview h3{color:var(--primary-color);margin-bottom:var(--spacing-3);margin-top:0}.trip-balance-overview p{font-size:1.1rem;margin-bottom:var(--spacing-2)}.balance-settled{color:var(--text-color-muted)}.balance-positive{color:green;color:var(--success-color,green);font-weight:700}.balance-negative{color:red;color:var(--danger-color,red);font-weight:700}.balance-breakdown-details summary{color:var(--primary-color);cursor:pointer;display:inline-block;font-weight:500;margin-top:var(--spacing-3)}.balance-breakdown-details ul{list-style:none;margin-left:auto;margin-right:auto;margin-top:var(--spacing-2);max-width:400px;padding-left:0;text-align:left}.balance-breakdown-details li{border-bottom:1px dashed var(--border-color-subtle);padding:var(--spacing-1) 0}.balance-breakdown-details li:last-child{border-bottom:none}.avatar-small-inline{border-radius:50%;height:24px;margin-right:var(--spacing-2);object-fit:cover;vertical-align:middle;width:24px}.expense-actions{display:flex;gap:var(--spacing-2);justify-content:flex-end;margin-top:var(--spacing-2)}.expense-actions .btn-sm{font-size:.8rem;padding:.25rem .6rem}.split-total-validation{background-color:#f0f0f0;border-radius:var(--border-radius-sm);color:var(--text-color-muted);font-size:.85em;margin-top:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);text-align:center}.add-expense-form-section h3.editing-mode{color:var(--text-color)}.settlement-expense-item{background-color:#e6fffa;background-color:var(--success-bg-subtle,#e6fffa);border-left:4px solid green;border-left:4px solid var(--success-color,green)}.settlement-badge{background-color:green!important;background-color:var(--success-color,green)!important;color:#fff!important}.auth-container{align-items:center;background:linear-gradient(to bottom right,#ebf8ff,#fff);background:linear-gradient(to bottom right,#ebf8ff,var(--surface-color,#fff));box-sizing:border-box;display:flex;flex-direction:column;min-height:100vh;padding:var(--spacing-5)}.auth-brand-header{color:var(--primary-color);font-size:2.5rem;font-weight:700;margin-bottom:var(--spacing-5);text-align:center}.auth-form-card{background-color:#fff;background-color:var(--surface-color,#fff);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);color:var(--text-color);padding:var(--spacing-6);width:100%}.auth-form-card h1,.auth-form-card h2{color:var(--primary-color);font-size:2rem;margin-bottom:var(--spacing-5);text-align:center}.auth-options{display:flex;gap:var(--spacing-3);justify-content:center;margin-bottom:var(--spacing-6)}.auth-options .btn{border-radius:var(--border-radius-pill);font-weight:500;padding:.75rem 2rem}.auth-options .btn.active{background-color:var(--primary-color);color:var(--text-color-light)}.auth-form-wrapper{max-width:450px;width:100%}.log{border:1px solid #0000;font-size:.95rem;margin-bottom:var(--spacing-4);padding:var(--spacing-3);text-align:center}.info-message{background-color:#d1ecf1;background-color:var(--info-bg-subtle,#d1ecf1);border-color:#bee5eb;border-color:var(--info-border-subtle,#bee5eb);color:#0c5460;color:var(--info-text,#0c5460)}.success-message{background-color:var(--success-bg-subtle,#d4edda);border-color:#c3e6cb;border-color:var(--success-border-subtle,#c3e6cb)}.auth-form-card .form-group{margin-bottom:var(--spacing-4);text-align:center}.auth-form-card .form-group label{display:block;font-weight:500;margin-bottom:var(--spacing-2)}.auth-form-card input[type=email],.auth-form-card input[type=password],.auth-form-card input[type=text]{border:1px solid #ced4da;border:1px solid var(--border-color,#ced4da);border-radius:var(--border-radius-md);box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.auth-container button[type=submit].btn,.auth-form-card button.btn{border-radius:var(--border-radius-pill);font-size:1.1rem;margin-top:var(--spacing-2);padding:.8rem 1.5rem;width:100%}.auth-form-card button.btn:first-of-type{margin-top:var(--spacing-4)}.reset-password-section{margin-top:var(--spacing-5);text-align:center}.reset-password-section .reset-link{color:var(--primary-color);cursor:pointer;display:inline-block;margin-bottom:var(--spacing-3);text-decoration:underline}.reset-password-section .reset-link:hover{color:var(--primary-color);color:var(--primary-color-dark,var(--primary-color))}.reset-password-section .btn{margin-top:var(--spacing-2);width:100%}@media (max-width:480px){.auth-container{padding:var(--spacing-3)}.auth-form-card{padding:var(--spacing-4)}.auth-brand-header{font-size:2rem}}.trip-ai-suggestion-page-container{background-color:var(--surface-color-light);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow);margin:2rem auto;max-width:800px;padding:var(--spacing-5)}.trip-ai-suggestion-page-container h2{color:#007bff;color:var(--primary-color,#007bff);font-size:1.8rem;text-align:center}.trip-ai-form,.trip-ai-suggestion-page-container h2{margin-bottom:2rem;margin-bottom:var(--spacing-5,2rem)}.trip-ai-form{grid-gap:1.5rem;grid-gap:var(--spacing-4,1.5rem);display:grid;gap:1.5rem;gap:var(--spacing-4,1.5rem);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.trip-ai-form .form-group{display:flex;flex-direction:column}.trip-ai-form label{color:#6c757d;color:var(--text-color-muted,#6c757d);font-weight:500;margin-bottom:.5rem;margin-bottom:var(--spacing-2,.5rem)}.trip-ai-form input[type=date],.trip-ai-form input[type=number],.trip-ai-form input[type=text]{border:1px solid #ced4da;border:1px solid var(--border-color,#ced4da);border-radius:4px;border-radius:var(--border-radius-md,4px);box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.trip-ai-form input:focus{border-color:#007bff;border-color:var(--primary-color,#007bff);box-shadow:0 0 0 .2rem #007bff40;box-shadow:0 0 0 .2rem var(--primary-color-light,#007bff40);outline:none}.trip-ai-form .radio-group{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;gap:var(--spacing-3,1rem);margin-top:.25rem;margin-top:var(--spacing-1,.25rem)}.trip-ai-form .radio-group label{align-items:center;color:#212529;color:var(--text-color,#212529);cursor:pointer;display:flex;font-weight:400;margin-bottom:0}.trip-ai-form .radio-group input[type=radio]{accent-color:#007bff;accent-color:var(--primary-color,#007bff);margin-right:.25rem;margin-right:var(--spacing-1,.25rem);width:auto}.trip-ai-suggestion-page-container .btn-generate{font-size:1.1rem;margin-bottom:1.5rem;margin-bottom:var(--spacing-4,1.5rem);padding:.8rem;width:100%}.trip-ai-suggestion-page-container .error-message,.trip-ai-suggestion-page-container .info-message,.trip-ai-suggestion-page-container .success-message{border:1px solid #0000;border-radius:4px;border-radius:var(--border-radius-md,4px);margin-bottom:1.5rem;margin-bottom:var(--spacing-4,1.5rem);padding:1rem;padding:var(--spacing-3,1rem);text-align:center}.trip-ai-suggestion-page-container .error,.trip-ai-suggestion-page-container .error-message{background-color:#f8d7da;background-color:var(--danger-bg-subtle,#f8d7da);border-color:#f5c6cb;border-color:var(--danger-border-subtle,#f5c6cb);color:#721c24;color:var(--danger-text,#721c24)}.trip-ai-suggestion-page-container .success,.trip-ai-suggestion-page-container .success-message{background-color:#d4edda;background-color:var(--success-bg-subtle,#d4edda);border-color:#c3e6cb;border-color:var(--success-border-subtle,#c3e6cb);color:#155724;color:var(--success-text,#155724)}.ai-suggestion-output{background-color:#fff;background-color:var(--surface-color,#fff);border-radius:8px;border-radius:var(--border-radius-lg,8px);box-shadow:0 2px 4px rgba(0,0,0,.075);box-shadow:var(--box-shadow-sm,0 2px 4px rgba(0,0,0,.075));margin-top:2rem;margin-top:var(--spacing-5,2rem);padding:2rem;padding:var(--spacing-5,2rem)}.ai-suggestion-output h3{color:#007bff;color:var(--primary-color,#007bff);font-size:1.5rem;margin-bottom:1rem;margin-bottom:var(--spacing-3,1rem);text-align:center}.ai-suggestion-output h4{border-bottom:1px solid #eee;border-bottom:1px solid var(--border-color-subtle,#eee);color:#212529;color:var(--text-color,#212529);font-size:1.2rem;margin-bottom:.5rem;margin-bottom:var(--spacing-2,.5rem);margin-top:1.5rem;margin-top:var(--spacing-4,1.5rem);padding-bottom:.25rem;padding-bottom:var(--spacing-1,.25rem)}.ai-suggestion-output li,.ai-suggestion-output p{color:#6c757d;color:var(--text-color-muted,#6c757d);line-height:1.6;margin-bottom:.5rem;margin-bottom:var(--spacing-2,.5rem)}.ai-suggestion-output li strong,.ai-suggestion-output p strong{color:#212529;color:var(--text-color,#212529);font-weight:600}.ai-suggestion-output ul{list-style:disc;padding-left:2rem;padding-left:var(--spacing-5,2rem)}.ai-suggestion-output .btn-save{font-size:1.1rem;margin-top:1.5rem;margin-top:var(--spacing-4,1.5rem);padding:.8rem;width:100%}.back-link-container{margin-top:1.5rem;margin-top:var(--spacing-4,1.5rem);text-align:center}.back-link-container a{color:#007bff;color:var(--primary-color,#007bff);font-weight:500;text-decoration:none}.back-link-container a:hover{text-decoration:underline}.trip-edit-form-container{background-color:#fff;background-color:var(--surface-color,#fff);border-radius:8px;border-radius:var(--border-radius,8px);box-shadow:0 0 15px #0000001a;box-shadow:var(--box-shadow-lg,0 0 15px #0000001a);margin:2rem auto;max-width:900px;overflow:hidden}.trip-edit-form-header{background-color:#007bff;background-color:var(--primary-color,#007bff);color:#fff;color:var(--surface-color,#fff);padding:2rem;text-align:center}.trip-edit-form-header h2{font-size:2.25rem;margin:0}.trip-edit-form-content{padding:2rem}.error-container,.loading-container{color:#333;color:var(--text-color,#333);font-size:1.2em;padding:4rem 2rem;text-align:center}.error-container p{margin-bottom:1rem}.error-container button{background-color:#007bff;background-color:var(--primary-color,#007bff);border:none;border-radius:8px;border-radius:var(--border-radius,8px);color:#fff;color:var(--surface-color,#fff);cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s ease}.error-container button:hover{background-color:#0056b3;background-color:var(--primary-color-dark,#0056b3)}.trip-edit-form-container>.error-message.main-error,.trip-edit-form-container>.success-message{border-radius:.25rem;border-radius:var(--border-radius-sm,.25rem);margin:0 2rem 1rem;padding:.75rem 1.25rem}.error-message{background-color:#f8d7da;background-color:var(--danger-bg-light,#f8d7da);border:1px solid #f5c6cb;border:1px solid var(--danger-border,#f5c6cb);color:#721c24;color:var(--danger-text,#721c24)}.success-message{background-color:#d4edda;background-color:var(--success-bg-light,#d4edda);border:1px solid #c3e6cb;border:1px solid var(--success-border,#c3e6cb);color:#155724;color:var(--success-text,#155724)}fieldset{border:none;margin:0;padding:0}.trip-edit-form-content form>fieldset+fieldset{border-top:1px solid #ddd;border-top:1px solid var(--border-color,#ddd);margin-top:1.5rem;padding-top:1.5rem}legend{color:#333;color:var(--text-color,#333);font-size:1.25rem;font-weight:600;margin-bottom:1.25rem;padding:0;width:100%}.form-group{margin-bottom:1rem}.form-group label{color:#555;color:var(--text-color-muted,#555);display:block;font-weight:500;margin-bottom:.5rem}.form-group label strong{color:#333;color:var(--text-color,#333)}.form-group input[type=date],.form-group input[type=number],.form-group input[type=text],.form-group input[type=url],.form-group select,.form-group textarea{background-color:#fff;background-color:var(--input-bg,var(--surface-color,#fff));border:1px solid #ccc;border:1px solid var(--border-color,#ccc);border-radius:4px;border-radius:var(--border-radius-sm,4px);box-sizing:border-box;color:#333;color:var(--text-color,#333);font-size:.95rem;padding:.75rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input[type=date]:focus,.form-group input[type=number]:focus,.form-group input[type=text]:focus,.form-group input[type=url]:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;border-color:var(--primary-color,#007bff);box-shadow:0 0 0 3px #007bff40;box-shadow:0 0 0 3px var(--primary-color-translucent,#007bff40);outline:none}.form-group textarea{min-height:120px;resize:vertical}.form-group-inline{align-items:flex-end;display:flex;gap:1rem}.form-group-inline .form-group{flex:1 1;margin-bottom:0}.radio-group{align-items:center;display:flex;gap:1.5rem;margin-top:.5rem}.radio-group label{align-items:center;color:#444;color:var(--text-color,#444);cursor:pointer;display:flex;font-weight:400;margin-bottom:0}.radio-group input[type=radio]{margin-right:.5rem;width:auto}.list-item-group{margin-top:1rem}.list-item-group h4{color:#555;color:var(--text-color,#555);font-size:1rem;font-weight:600;margin-bottom:.75rem;margin-top:1rem}.list-item{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.list-item input{flex-grow:1}.btn-add-item,.btn-move,.btn-remove-item{border:none;border-radius:4px;border-radius:var(--border-radius-sm,4px);color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem .8rem;transition:background-color .2s ease}.btn-add-item{background-color:#28a745;background-color:var(--primary-color,#28a745)}.btn-add-item:hover{background-color:#1e7e34;background-color:var(--primary-color-dark,#1e7e34)}.btn-remove-item{background-color:#dc3545;background-color:var(--danger-color,#dc3545)}.btn-remove-item:hover{background-color:#c82333;background-color:var(--danger-color-dark,#c82333)}.btn-move{background-color:#6c757d;background-color:var(--secondary-color,#6c757d);margin-left:.5rem}.btn-move:hover{background-color:#5a6268;background-color:var(--secondary-color-dark,#5a6268)}.itinerary-item-edit{background-color:#f8f9fa;background-color:var(--surface-offset,#f8f9fa);border:1px solid #e0e0e0;border:1px solid var(--border-color-light,#e0e0e0);border-radius:8px;border-radius:var(--border-radius,8px);box-shadow:0 2px 4px #0000000d;box-shadow:var(--box-shadow-sm,0 2px 4px #0000000d);margin-bottom:1.5rem;padding:1.5rem}.itinerary-item-header{align-items:center;border-bottom:1px solid #eee;border-bottom:1px solid var(--border-color-light,#eee);cursor:grab;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.itinerary-item-header h4{color:#007bff;color:var(--primary-color,#007bff);font-size:1.1rem;margin:0}.drag-handle-icon{color:#777;color:var(--text-color-muted,#777);font-size:1.2em;padding:0 .25rem}.itinerary-item-header:active{cursor:grabbing}.itinerary-item-edit.is-dragging{background-color:#e6f7ff;background-color:var(--primary-bg-light,#e6f7ff);box-shadow:0 5px 15px #00000026;box-shadow:var(--box-shadow-md,0 5px 15px #00000026)}.trip-edit-actions-section{border-top:1px solid #ddd;border-top:1px solid var(--border-color,#ddd);display:flex;flex-direction:column;gap:1rem;margin-top:2.5rem;padding-top:1.5rem}@media (min-width:768px){.trip-edit-actions-section{flex-direction:row;justify-content:flex-end}.trip-edit-actions-section .btn{width:auto}}.reorder-list-container{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;margin-top:1rem;padding:.5rem}.reorder-item{align-items:center;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 3px #0000000d;cursor:grab;display:flex;font-size:.9em;margin-bottom:.5rem;padding:.6rem 1rem}.reorder-item:last-child{margin-bottom:0}.reorder-item.is-dragging-reorder{background-color:#e6f7ff;box-shadow:0 4px 10px #0000001a}.reorder-item-index{color:#337ab7;font-weight:700;margin-right:.5em}.reorder-item-location{color:#333;flex-grow:1}.reorder-item-info{color:#666;font-size:.9em;margin-left:.75em}.reorder-drag-icon{color:#888;font-size:1.1em;margin-left:.75em}
/*# sourceMappingURL=main.d124cd15.css.map*/