:root{--color-primary: #0077b6;--color-primary-hover: #005a8d;--color-secondary: #6c757d;--color-secondary-hover: #5a6268;--color-background: #f0f4f8;--color-surface: #ffffff;--color-surface-secondary: #f8f9fa;--color-surface-tertiary: #e9ecef;--color-text-primary: #212529;--color-text-secondary: #6c757d;--color-text-on-primary: #ffffff;--color-border: #dee2e6;--color-shadow: rgba(0, 0, 0, .08);--color-positive: #28a745;--color-negative: #dc3545;--font-family: "Poppins", sans-serif;--sidebar-width: 260px;--beta-banner-height: 0px}html[data-theme=dark]{--color-primary: #0096c7;--color-primary-hover: #00b4d8;--color-secondary: #adb5bd;--color-secondary-hover: #ced4da;--color-background: #121212;--color-surface: #1e1e1e;--color-surface-secondary: #2c2c2c;--color-surface-tertiary: #3a3a3a;--color-text-primary: #e0e0e0;--color-text-secondary: #a0a0a0;--color-text-on-primary: #ffffff;--color-border: #3a3a3a;--color-shadow: rgba(0, 0, 0, .25);--color-positive: #48c774;--color-negative: #f14668}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-family);background-color:var(--color-background);color:var(--color-text-primary);line-height:1.6;overflow-x:hidden;transition:background-color .2s,color .2s}body.has-beta-banner{padding-top:var(--beta-banner-height)}.login-container{display:flex;justify-content:center;align-items:center;height:100%;background-image:url(https://images.unsplash.com/photo-1476514525535-07fb3b4ae5f1?q=80&w=2070&auto=format&fit=crop);background-size:cover;background-position:center;padding:1rem}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#0006}.login-box{background:var(--color-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2.5rem;border-radius:16px;box-shadow:0 8px 32px var(--color-shadow);text-align:center;max-width:450px;width:100%;z-index:1;border:1px solid var(--color-border)}html[data-theme=dark] .login-box{background:#1e1e1ed9;border:1px solid rgba(255,255,255,.1)}.login-box h1{margin-bottom:.5rem;font-size:2.5rem;color:var(--color-primary);font-weight:700}.login-logo{max-width:200px;margin:0 auto 1rem;display:block}.login-box p{margin-bottom:1.5rem;color:var(--color-text-secondary);font-size:1.1rem}.signup-note{text-align:left;background:#0077b614;border:1px solid rgba(0,119,182,.2);border-radius:10px;padding:.75rem 1rem;margin-bottom:1.5rem;color:var(--color-text-primary);font-size:.95rem;line-height:1.5}html[data-theme=dark] .signup-note{background:#00b4d826;border:1px solid rgba(0,180,216,.35)}.login-box form{display:flex;flex-direction:column;gap:1.25rem;width:100%}.login-box .form-group{text-align:left;margin-bottom:0}.login-box .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text-primary)}.login-box .form-group input{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:8px;font-size:1rem;font-family:var(--font-family);background-color:var(--color-background);color:var(--color-text-primary)}.error-message{color:var(--color-negative);background-color:#dc35451a;border:1px solid rgba(220,53,69,.2);border-radius:8px;padding:.75rem;font-size:.9rem;text-align:center;margin-top:-.5rem}.login-box .btn{width:100%}.link-button{background:none;border:none;color:var(--color-primary);cursor:pointer;text-decoration:underline;padding:.5rem 0;font-size:.9rem}.link-button:hover{text-decoration:none}@media (max-width: 768px){.login-box{padding:2rem}.login-box h1{font-size:2rem}}.account-settings{padding:1rem}.change-password-form{max-width:400px}.change-password-form .form-group{display:flex;flex-direction:column;margin-bottom:1rem}.change-password-form .success-message{color:var(--color-positive);background-color:#28a7451a;border:1px solid rgba(40,167,69,.2);border-radius:8px;padding:.75rem;font-size:.9rem;text-align:center;margin-top:-.5rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;width:auto}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px var(--color-shadow)}.btn-primary{background-color:var(--color-primary);color:var(--color-text-on-primary)}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-text-on-primary)}.btn-secondary:hover{background-color:var(--color-secondary-hover)}.btn-logout{background-color:#e63946;color:#fff;padding:.5rem 1rem}.btn-logout:hover{background-color:#d62828}.btn-danger{background-color:var(--color-negative);color:#fff}.btn-danger:hover{background-color:#b02a37}.btn-small{padding:.25rem .5rem;font-size:.875rem}.dashboard-layout{display:flex;height:100%}.dashboard-layout.with-sidebar{padding-left:var(--sidebar-width)}.sidebar{width:var(--sidebar-width);background-color:var(--color-surface-secondary);color:var(--color-text-secondary);flex-shrink:0;padding:1.5rem 1rem;position:fixed;top:0;left:0;height:100%;overflow-y:auto;transition:transform .3s ease-in-out;display:flex;flex-direction:column}body.has-beta-banner .sidebar{top:var(--beta-banner-height)}.sidebar nav{flex-grow:1}.sidebar-overlay{display:none}.sidebar nav ul{list-style:none}.sidebar nav li{margin-bottom:.25rem}.sidebar-logo{text-align:center;margin-bottom:1rem}.sidebar-logo img{max-width:100%;height:auto}.sidebar nav a{display:block;padding:.75rem 1rem;border-radius:8px;text-decoration:none;color:var(--color-text-secondary);font-weight:500;transition:background-color .2s,color .2s;word-break:break-word}.sidebar nav a:hover{background-color:var(--color-surface-tertiary);color:var(--color-text-primary)}.sidebar-footer a{display:block;padding:.75rem 1rem;border-radius:8px;text-decoration:none;color:var(--color-text-secondary);font-weight:500;transition:background-color .2s,color .2s}.sidebar-footer a:hover{background-color:var(--color-surface-tertiary);color:var(--color-text-primary)}.sidebar-footer a.active{background-color:var(--color-primary);color:var(--color-text-on-primary)}.sidebar .main-nav-list>.nav-item>a.active{background-color:var(--color-primary);color:var(--color-text-on-primary)}.sidebar .trip-item>a{font-weight:400}.sidebar .trip-item.active>a{color:var(--color-text-primary);font-weight:600}.trip-list{margin-top:.25rem;padding-left:.75rem}.trip-submenu{margin-top:.25rem;padding-left:1rem;border-left:2px solid var(--color-border);margin-left:.75rem}.trip-submenu a{font-size:.9rem;padding:.5rem .75rem;color:var(--color-text-secondary)}.trip-submenu a:hover{color:var(--color-text-primary);background-color:transparent}.trip-submenu a.active{color:var(--color-text-primary);font-weight:600;background-color:var(--color-surface-tertiary)}.trip-submenu .unread-badge{background:#ef4444;color:#fff;border-radius:9999px;padding:0 .4rem;margin-left:.25rem;font-size:.75rem}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.sidebar-footer .theme-switcher{align-self:center}.sidebar-footer .btn-logout{width:100%}.site-settings .logo-preview{max-width:200px;display:block;margin-bottom:.5rem}.dashboard-container{flex-grow:1;display:flex;flex-direction:column;height:100%;background-color:var(--color-background)}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--color-surface);box-shadow:0 2px 4px var(--color-shadow);flex-shrink:0;border-bottom:1px solid var(--color-border);z-index:10}.header-left{display:flex;align-items:center;gap:1rem}.hamburger-menu{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--color-text-primary)}.hamburger-menu:hover{color:var(--color-primary)}.hamburger-menu svg{width:28px;height:28px}.logo{font-size:1.75rem;color:var(--color-primary);font-weight:700}.user-info{display:flex;align-items:center;gap:1.5rem}.dashboard-content{padding:2rem;overflow-y:auto;flex-grow:1}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-header h2{font-size:2rem;color:var(--color-text-primary)}.trip-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.no-trips{color:var(--color-text-secondary);font-size:1.1rem;text-align:center;grid-column:1 / -1;margin-top:2rem}.trip-card{background:var(--color-surface);border-radius:12px;box-shadow:0 4px 12px var(--color-shadow);transition:transform .2s ease,box-shadow .2s ease;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--color-border)}.trip-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px var(--color-shadow)}.trip-card h3{background-color:var(--color-primary);color:var(--color-text-on-primary);padding:1rem 1.5rem;margin:0;font-size:1.25rem}.trip-details{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.detail-item{display:flex;align-items:center;gap:.75rem;color:var(--color-text-primary)}.detail-item svg{width:20px;height:20px;color:var(--color-primary);flex-shrink:0}.trip-card-actions{padding:0 1.5rem 1.5rem}.trip-card-actions .btn{width:100%}.financials-page h2,.documents-page h2,.personal-data-page h2{font-size:2rem;margin-bottom:1rem}.personal-data-page>p{margin-bottom:2rem;color:var(--color-text-secondary)}.financials-page h3,.documents-page h3{margin:2rem 0 1rem;font-size:1.5rem}.documents-table{width:100%;border-collapse:collapse;margin-bottom:2rem;background:var(--color-surface);border-radius:8px;overflow:hidden;box-shadow:0 4px 12px var(--color-shadow)}.documents-table th,.documents-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}.documents-table th{background-color:var(--color-surface-secondary);font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.documents-table th:hover{background-color:var(--color-surface-tertiary)}.documents-table tr:last-child td{border-bottom:none}.document-category-group{margin-bottom:2rem}.document-category-group h3{padding-bottom:.5rem;border-bottom:2px solid var(--color-primary);margin-bottom:1rem;font-size:1.3rem;color:var(--color-primary)}.document-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.document-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--color-surface);border-radius:8px;box-shadow:0 2px 4px var(--color-shadow);border:1px solid var(--color-border)}.document-item .btn{padding:.5rem 1rem;font-size:.9rem}.documents-table td.actions{display:flex;gap:.5rem}.category-select{display:flex;gap:.5rem;align-items:center}.category-select select{flex:1}.personal-data-form{max-width:700px;background-color:var(--color-surface);padding:2rem;border-radius:12px;border:1px solid var(--color-border);box-shadow:0 4px 12px var(--color-shadow)}.file-info{font-size:.9rem;color:var(--color-text-secondary);margin-top:.5rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.file-info a{color:var(--color-link)}.remove-file-btn{padding:.25rem .75rem;border-radius:999px;background-color:transparent;border:1px solid var(--color-negative);color:var(--color-negative);font-size:.85rem;transition:background-color .2s ease,color .2s ease}.remove-file-btn:hover:not(:disabled){background-color:var(--color-negative);color:#fff}.remove-file-btn:disabled{opacity:.6;cursor:not-allowed}.personal-data-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.personal-data-actions{margin-top:1.5rem;display:flex;justify-content:flex-end;align-items:center;gap:1rem;flex-wrap:wrap}.personal-data-save-status{font-size:.95rem}.personal-data-save-status.success{color:var(--color-positive)}.personal-data-save-status.error{color:var(--color-negative)}.passport-box{margin-top:2rem;padding:1.5rem;border:1px solid var(--color-border);border-radius:12px;background-color:var(--color-surface)}.passport-box h3,.passport-box h4{margin-top:0}.scan-passport-btn{margin-bottom:1rem}.field-manager{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px var(--color-shadow);margin-bottom:2rem;transition:padding .2s ease}.field-manager.collapsed{padding:1rem 1.5rem}.field-manager-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.field-manager h3{margin:0;font-size:1.25rem}.field-manager-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border-radius:999px;border:none;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:var(--color-text-on-primary);font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.field-manager-toggle:hover{transform:translateY(-1px);box-shadow:0 6px 16px var(--color-shadow)}.field-manager-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.field-manager-toggle-icon{transition:transform .2s ease}.field-manager.expanded .field-manager-toggle-icon{transform:rotate(180deg)}.field-manager-hint{margin:.75rem 0 0;color:var(--color-text-secondary);font-size:.95rem}.field-manager-body{margin-top:1.5rem}.config-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.config-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:8px;cursor:move}.drag-handle{cursor:grab;color:var(--color-text-secondary)}.config-label{flex:1}.config-actions{display:flex;gap:.5rem}.config-item input,.config-item select{padding:.25rem .5rem;border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text-primary);border-radius:4px}.available-fields{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.add-field{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.add-field input,.add-field select{padding:.5rem;border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text-primary);border-radius:8px}.participant-data-card{background:var(--color-surface);border-radius:12px;border:1px solid var(--color-border);padding:1.5rem;box-shadow:0 4px 12px var(--color-shadow)}.participant-data-card h3{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border);font-size:1.25rem}.data-field-group{margin-bottom:1rem}.data-field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.data-field-header label{font-weight:500;color:var(--color-text-secondary);font-size:.9rem}.field-header-actions{display:flex;gap:.25rem;align-items:center}.lock-btn,.edit-btn,.save-btn{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:.25rem;border-radius:4px}.lock-btn:hover,.edit-btn:hover,.save-btn:hover{background-color:var(--color-surface-tertiary);color:var(--color-text-primary)}.field-display,.field-edit{display:flex;align-items:center;gap:.5rem}.remark-section{margin-top:1rem}.remark-section textarea{width:100%;min-height:4rem;padding:.5rem;border:1px solid var(--color-border);border-radius:4px}.data-value{font-weight:500;word-break:break-word}.data-value.empty{color:var(--color-text-secondary);font-style:italic}.file-link{color:var(--color-primary);text-decoration:none;font-weight:500}.file-link:hover{text-decoration:underline}.traveler-select{margin-bottom:1rem;max-width:400px}.participant-data-card .personal-data-actions{margin-top:1rem;gap:.5rem}input[readonly]{background-color:var(--color-surface-tertiary)!important;cursor:not-allowed;opacity:.7}.itinerary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.itinerary-header h2{font-size:2rem;flex-grow:1}.itinerary-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.itinerary-view-switcher{display:flex;background-color:var(--color-surface-secondary);border-radius:8px;padding:4px;border:1px solid var(--color-border)}.itinerary-view-switcher button{padding:.5rem 1rem;border:none;background:none;cursor:pointer;font-weight:500;color:var(--color-text-secondary);border-radius:6px;transition:all .2s ease}.itinerary-view-switcher button.active{background-color:var(--color-surface);color:var(--color-primary);box-shadow:0 2px 4px var(--color-shadow)}.itinerary-legend{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.legend-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .6rem;border-radius:999px;font-size:.85rem;font-weight:600;border:1px solid transparent}.itinerary-calendar-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.itinerary-day-column{background-color:var(--color-surface);border-radius:12px;padding:1rem;border:1px solid var(--color-border);min-height:200px}.itinerary-day-column h3{font-size:1.1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.itinerary-day-column h3 .day-of-week{font-weight:400;color:var(--color-text-secondary);margin-left:.5rem}.itinerary-item-card{background-color:var(--color-surface-secondary);border-radius:8px;padding:.75rem 1rem;margin-bottom:.75rem;box-shadow:0 2px 4px var(--color-shadow);cursor:pointer;transition:transform .2s,box-shadow .2s;border-left:4px solid var(--color-primary);position:relative}.itinerary-item-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px var(--color-shadow)}.itinerary-item-card h4{font-size:1rem;font-weight:600;margin-bottom:.25rem}.itinerary-item-card p{font-size:.9rem;color:var(--color-text-secondary);display:flex;align-items:center;gap:.5rem}.itinerary-item-card .item-time svg{width:14px;height:14px}.item-time-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:8px;font-weight:600}.item-time-badge.inline{flex-direction:column;align-items:flex-start;width:fit-content}.program-label{font-size:.8rem}.program-type-required{background-color:#ef444480;color:#7f1d1d;border:1px solid rgba(127,29,29,.6)}.program-type-free{background-color:#22c55e80;color:#065f46;border:1px solid rgba(6,95,70,.6)}.program-type-optional{background-color:#eab30880;color:#854d0e;border:1px solid rgba(133,77,14,.6)}html[data-theme=dark] .program-type-required,html[data-theme=auto] .program-type-required{color:#fff;border-color:#f87171e6;background-color:#f8717159}html[data-theme=dark] .program-type-free,html[data-theme=auto] .program-type-free{color:#f0fff4;border-color:#4ade80e6;background-color:#4ade8059}html[data-theme=dark] .program-type-optional,html[data-theme=auto] .program-type-optional{color:#fffbeb;border-color:#facc15e6;background-color:#facc1559}.delete-item-btn{position:absolute;top:5px;right:5px;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.delete-item-btn:hover{background-color:var(--color-surface-tertiary);color:var(--color-negative)}.edit-item-btn{position:absolute;top:5px;right:36px;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.edit-item-btn:hover{background-color:var(--color-surface-tertiary);color:var(--color-primary)}.itinerary-list-day-group{margin-bottom:2.5rem}.itinerary-list-day-group h3{font-size:1.5rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-primary)}.itinerary-list-item{display:flex;gap:1.5rem;padding:1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;margin-bottom:.5rem}.itinerary-list-item:last-child{border-bottom:none}.itinerary-list-item .item-time-col{flex-shrink:0;width:150px;font-weight:600;color:var(--color-primary);font-size:1.1rem}.itinerary-list-item .item-details-col{flex-grow:1}.itinerary-list-item h4{font-size:1.1rem;margin-bottom:.25rem}.itinerary-list-item p{color:var(--color-text-secondary);font-size:.9rem}.itinerary-list-item .item-actions{display:flex;gap:1rem;align-items:center}.itinerary-list-item .delete-item-btn,.itinerary-list-item .edit-item-btn{position:static}.itinerary-modal-content .modal-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.itinerary-modal-content .modal-header h2{margin-bottom:.5rem}.itinerary-modal-content .modal-header p{color:var(--color-text-secondary);font-size:1rem;display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.itinerary-modal-content .modal-body p{line-height:1.7;white-space:pre-wrap}.itinerary-modal-content .time-inputs{display:flex;gap:1rem}.itinerary-modal-content .time-inputs .form-group{flex:1}.no-itinerary-items{text-align:center;padding:2rem;color:var(--color-text-secondary);font-size:1.1rem;background-color:var(--color-surface-secondary);border-radius:12px;border:1px dashed var(--color-border)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--color-surface);padding:2rem;border-radius:12px;width:90%;max-width:500px;box-shadow:0 5px 15px #0000004d;max-height:90vh;overflow-y:auto}.modal-content h2{margin-bottom:1.5rem}.modal-note{margin-bottom:1.25rem;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-surface-secondary);color:var(--color-text-secondary);font-size:.9rem;line-height:1.4}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text-primary);border-radius:8px;font-size:1rem;font-family:var(--font-family)}.form-group textarea{min-height:100px;resize:vertical}.form-group input[type=file]{padding:.5rem}.form-group small{display:block;margin-top:.5rem;color:var(--color-text-secondary);font-size:.8rem}.multi-select{min-height:120px}.modal-actions{margin-top:2rem;display:flex;justify-content:flex-end;gap:1rem}.modal-actions .btn{width:auto}.passport-modal textarea{width:100%;min-height:80px}.trip-settings .settings-actions{margin-top:1rem;display:flex;gap:1rem}.theme-switcher{display:flex;background-color:var(--color-surface-secondary);border-radius:20px;padding:4px;border:1px solid var(--color-border)}.theme-switcher button{background:none;border:none;cursor:pointer;padding:6px;color:var(--color-text-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .2s,background-color .2s}.theme-switcher button:hover{color:var(--color-text-primary)}.theme-switcher button.active{background-color:var(--color-surface);color:var(--color-primary);box-shadow:0 2px 4px var(--color-shadow)}@media (max-width: 992px){.dashboard-layout.with-sidebar{padding-left:0}.sidebar{transform:translate(-100%);z-index:1001}.dashboard-layout.sidebar-is-open .sidebar{transform:translate(0);box-shadow:0 0 25px var(--color-shadow)}.dashboard-layout.sidebar-is-open .sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1000}.hamburger-menu{display:block}}@media (max-width: 768px){.app-header{padding:1rem;flex-wrap:wrap}.header-left{flex-grow:1}.user-info{gap:1rem;flex-grow:1;justify-content:flex-end}.user-info span{font-size:.9rem}.user-info .btn-logout{padding:.4rem .8rem;font-size:.9rem}.dashboard-content{padding:1.5rem}.dashboard-header{flex-direction:column;gap:1rem;align-items:flex-start}.dashboard-header .btn{width:100%}.financials-header{flex-direction:column;align-items:stretch}.add-record-form .form-row{grid-template-columns:1fr}.document-item{flex-direction:column;align-items:flex-start;gap:.75rem}}.print-row{display:none}@media print{.app-header,.sidebar,.field-manager,.traveler-select,.personal-data-actions{display:none!important}.participant-data-card{box-shadow:none;border:none}.data-field-header,.data-field-group input,.data-field-group .file-link,.data-field-group .remove-file,.remark-section textarea{display:none!important}.data-field-group.empty{display:none}.print-row{display:block;margin-bottom:.5rem}}.upload-loader{display:inline-block;width:16px;height:16px;margin-left:8px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:upload-spin 1s linear infinite}@keyframes upload-spin{to{transform:rotate(360deg)}}@media (max-width: 480px){.user-info span{display:none}.itinerary-list-item{flex-direction:column;gap:.5rem;align-items:flex-start}.itinerary-list-item .item-actions{width:100%;justify-content:flex-start}.itinerary-header{flex-direction:column;align-items:flex-start}.itinerary-header .btn{width:100%}}.trip-messages{display:flex;flex-direction:column;gap:1rem}.message-editor-container{display:flex;flex-direction:column;gap:.5rem}.recipient-selector{display:flex;flex-wrap:wrap;gap:.5rem}.recipient-option{display:flex;align-items:center;gap:.25rem;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:.375rem;padding:.25rem .5rem;cursor:pointer}.recipient-option input[type=checkbox]{accent-color:var(--color-primary)}.message-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.message-toolbar .format-btn{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:4px;padding:.25rem .6rem;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;font-family:inherit;height:2rem}.message-toolbar .format-btn:hover,.message-toolbar .format-btn:focus{background:var(--color-surface-tertiary);outline:none}.message-toolbar .format-btn.bold{font-weight:700}.message-toolbar .format-btn.italic{font-style:italic}.message-toolbar .format-btn.underline{text-decoration:underline}.message-toolbar .format-btn.clear{font-weight:600}.message-toolbar .font-select{height:2rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text-primary);padding:.25rem .5rem;font-family:inherit}.message-toolbar .color-input{width:2rem;height:2rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);cursor:pointer;padding:0}.message-toolbar .color-input::-webkit-color-swatch,.message-toolbar .color-input::-moz-color-swatch{border:none;border-radius:4px}.message-editor{border:1px solid var(--color-border);border-radius:.375rem;min-height:120px;padding:.75rem;background:var(--color-surface);color:var(--color-text-primary);transition:background-color .2s,color .2s,border-color .2s;box-shadow:inset 0 1px 2px #0000000a}.message-editor:focus{outline:2px solid var(--color-primary);outline-offset:2px}.message-actions{display:flex;gap:.5rem}.messages-list{display:flex;flex-direction:column;gap:1rem}.message-item{background:var(--color-surface-secondary);padding:.75rem;border-radius:.5rem;color:var(--color-text-primary)}.message-item.unread{border-left:4px solid var(--color-primary);background:var(--color-surface-tertiary)}.message-item .meta{font-size:.8rem;color:var(--color-text-secondary);margin-bottom:.25rem}.message-item .actions{margin-top:.5rem;display:flex;gap:.5rem}.message-item .action-btn{background:none;border:none;color:var(--color-text-secondary);padding:.25rem;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.message-item .action-btn:hover{background:var(--color-surface-tertiary);color:var(--color-primary)}.message-item .action-btn.delete:hover{color:var(--color-negative)}.trip-summary{text-align:center}.trip-summary .emergency-contacts{margin-top:2rem;font-size:1.1rem}.trip-summary .emergency-contacts h3{font-size:1.5rem;margin-bottom:1rem}.trip-summary .contact-card{margin-bottom:.75rem}.trip-summary .contact-name{font-weight:600}.trip-summary .contact-title{font-size:.95rem;color:var(--color-text-secondary);margin-bottom:.25rem}.trip-summary .contact-phone,.trip-summary .contact-email{font-size:1rem}.trip-summary .contact-empty{font-size:1rem;color:var(--color-text-secondary)}.contact-info-form{max-width:400px}.contact-info-form .form-group{margin-bottom:1rem}.contact-info-form .contact-toggle{display:flex;flex-direction:column;gap:.35rem}.contact-info-form .contact-toggle label{display:flex;align-items:center;gap:.5rem;font-weight:500;cursor:pointer}.contact-info-form .contact-toggle input[type=checkbox]{width:18px;height:18px}.contact-info-status{margin-top:.75rem;font-size:.95rem}.contact-info-status.saving{color:var(--color-text-secondary)}.contact-info-status.success{color:var(--color-positive)}.contact-info-status.error{color:var(--color-negative)}.contact-info-form .form-hint{margin:0;font-size:.85rem;color:var(--color-text-secondary)}.trip-summary .trip-title{margin-bottom:.5rem}.trip-countdown{font-size:1.2rem;margin-bottom:1.5rem}.summary-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.summary-tile{position:relative;height:120px;border:none;border-radius:8px;overflow:hidden;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem;text-shadow:0 1px 2px rgba(0,0,0,.4);background-size:cover;background-position:center}.summary-tile:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#0000004d}.summary-tile span{position:relative;z-index:1}.summary-tile.tile-itinerary{background-image:linear-gradient(135deg,#4facfe,#00f2fe)}.summary-tile.tile-documents{background-image:linear-gradient(135deg,#43e97b,#38f9d7)}.summary-tile.tile-messages{background-image:linear-gradient(135deg,#30cfd0,#330867)}.summary-tile.tile-financials{background-image:linear-gradient(135deg,#fa709a,#fee140)}.summary-tile.tile-personal{background-image:linear-gradient(135deg,#5ee7df,#b490ca)}.summary-tile.tile-users{background-image:linear-gradient(135deg,#f6d365,#fda085)}.summary-tile.tile-settings{background-image:linear-gradient(135deg,#c3cfe2,#c3cfe2)}.trip-user-management .assign-row{display:flex;gap:.5rem;margin-top:.5rem;align-items:center}.trip-user-management select{padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:4px}.trip-users-section ul{list-style:none;padding-left:0}.trip-users-section li{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-surface);margin-bottom:.5rem}.user-management .user-table,.trip-user-management .user-table{width:100%;border-collapse:collapse;margin-top:1rem}.user-management .user-table th,.user-management .user-table td,.trip-user-management .user-table th,.trip-user-management .user-table td{padding:.5rem;border-bottom:1px solid var(--color-border);text-align:left}.invite-actions{display:flex;gap:.5rem}.user-management .user-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-top:1rem}.user-management .user-tile{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem;cursor:pointer;text-align:center;box-shadow:0 2px 4px var(--color-shadow);transition:border-color .2s,background-color .2s}.user-management .user-tile.selected{border-color:var(--color-primary);background-color:var(--color-surface-secondary)}.user-management .user-name{font-weight:600;margin-bottom:.25rem}.user-management .user-role{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;color:var(--color-text-on-primary);background-color:var(--color-secondary)}.user-management .user-tile.admin .user-role{background-color:#6f42c1}.user-management .user-tile.organizer .user-role{background-color:var(--color-primary)}.user-management .user-tile.traveler .user-role{background-color:var(--color-secondary)}.financial-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.financial-summary.traveler-summary{grid-template-columns:minmax(250px,400px)}.summary-card{background:var(--color-surface);padding:1.5rem;border-radius:12px;box-shadow:0 4px 12px var(--color-shadow);border:1px solid var(--color-border)}.summary-card h4{margin-bottom:.5rem;color:var(--color-text-secondary);font-weight:500}.summary-card .balance{font-size:2rem;font-weight:700}.summary-card .balance.positive{color:var(--color-positive)}.summary-card .balance.negative{color:var(--color-negative)}.table-container{overflow-x:auto}.financial-table{width:100%;border-collapse:collapse;margin-bottom:2rem;background:var(--color-surface);border-radius:8px;overflow:hidden;box-shadow:0 4px 12px var(--color-shadow)}.financial-table th,.financial-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}.financial-table th{background-color:var(--color-surface-secondary);font-weight:600}.financial-table td.positive{color:var(--color-positive)}.financial-table td.negative{color:var(--color-negative)}.financial-table tr:last-child td{border-bottom:none}.add-record-form{background:var(--color-surface-secondary);padding:2rem;border-radius:12px;border:1px solid var(--color-border);margin-bottom:2rem}.add-record-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.add-record-form .btn{width:auto}.radio-group{display:flex;gap:1rem;margin-top:.25rem}.radio-group label{display:flex;align-items:center;gap:.5rem}.financial-table input,.financial-table select{width:100%;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font:inherit}.amount-edit-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.amount-edit-controls input[type=number]{max-width:140px}.radio-group.compact{gap:.75rem}.radio-group.compact label{font-size:.9rem;gap:.35rem}.financial-actions{display:flex;flex-wrap:wrap;gap:.5rem}.financial-actions .icon-button{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .9rem;border-radius:9999px;border:1px solid var(--color-border);background:var(--color-surface-secondary);color:var(--color-text-primary);font-size:.9rem;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.financial-actions .icon-button:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.financial-actions .icon-button.danger{color:var(--color-negative)}.financial-actions .icon-button.danger:hover{background:var(--color-negative);border-color:var(--color-negative);color:#fff}.financial-actions .icon-button.confirm{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.financial-actions .icon-button.confirm:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.financial-actions .icon-button.cancel{color:var(--color-text-secondary)}.financial-actions .icon-button.cancel:hover{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}.report-problem-button{position:fixed;bottom:20px;right:20px;width:56px;height:56px;border-radius:50%;background-color:var(--color-primary);color:var(--color-text-on-primary);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px var(--color-shadow);border:none;cursor:pointer;z-index:1000}.report-problem-button:hover{background-color:var(--color-primary-hover)}.report-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.report-modal{background:var(--color-surface);color:var(--color-text-primary);padding:20px;border-radius:8px;width:90%;max-width:400px;box-shadow:0 2px 10px var(--color-shadow)}.report-modal h2{margin-bottom:1rem}.report-modal .form-group{margin-bottom:1rem;display:flex;flex-direction:column}.report-modal input,.report-modal textarea{padding:.5rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface-secondary);color:var(--color-text-primary)}.report-modal textarea{min-height:100px;resize:vertical}.report-modal .modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.beta-banner{background:#ffeb3b;color:#000;padding:8px 16px;display:flex;align-items:center;gap:8px;font-weight:500;position:fixed;top:0;left:0;width:100%;z-index:1000}.beta-banner-icon{font-weight:700}.beta-banner-text{flex:1;text-align:center}.beta-banner-close{margin-left:auto;background:none;border:none;font-size:1.2rem;cursor:pointer}
