.network-status-banner{position:fixed;top:0;left:0;right:0;padding:12px 20px;text-align:center;font-size:14px;font-weight:500;z-index:10000;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.network-status-banner.offline{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px #f59e0b4d}.network-status-banner.syncing{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d}.status-icon{margin-right:8px;font-size:16px}.syncing-icon{display:inline-block;animation:rotate 1s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.layout{display:flex;flex-direction:column;min-height:100vh;max-width:100vw;overflow-x:hidden}.header{background:#2d3a4a;padding:1rem;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #0003;border-bottom:3px solid #3EC6E0}.header-content{display:flex;align-items:center;gap:.75rem;max-width:1200px;margin:0 auto;min-height:40px}.logo{width:40px;height:40px;display:block;object-fit:contain}.app-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.main-content{flex:1;padding:1rem;padding-bottom:80px;max-width:1200px;width:100%;margin:0 auto}.tab-bar{position:fixed;bottom:0;left:0;right:0;background:var(--surface);display:flex;justify-content:space-around;padding:.5rem 0;border-top:1px solid var(--border);box-shadow:0 -2px 8px #0003;z-index:100}.tab{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;color:var(--text-secondary);text-decoration:none;flex:1;max-width:100px;transition:all .2s ease}.tab:hover{text-decoration:none;background:#ffffff0d}.tab.active{color:var(--primary)}.tab-icon{font-size:1.5rem}.tab-label{font-size:.75rem;font-weight:500}@media (min-width: 768px){.main-content{padding:2rem;padding-bottom:100px}.tab{max-width:120px}.tab-label{font-size:.875rem}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,var(--background) 0%,#1a2530 100%)}.auth-container{max-width:400px;width:100%}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{width:80px;height:80px;margin-bottom:1rem}.auth-header h1{font-size:1.75rem;margin-bottom:.5rem}.auth-header p{color:var(--text-secondary)}.auth-form{background:var(--surface);padding:2rem;border-radius:16px;box-shadow:0 8px 32px #0000004d}.auth-form h2{font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#d0d8e0}.form-group input{width:100%;padding:.75rem;border:2px solid var(--border);border-radius:8px;background:var(--background);color:var(--text-primary);transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:var(--primary)}.error-message{background:#f443361a;border:1px solid #f44336;color:#ff6b6b;padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.btn-primary{width:100%;padding:.625rem;background:var(--accent);color:#fff;border-radius:8px;font-weight:600;font-size:.9375rem;margin-bottom:1rem;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:#e06d3a;transform:translateY(-2px);box-shadow:0 4px 12px #f47c484d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-link{width:100%;padding:.375rem;background:transparent;color:var(--primary);font-size:.875rem;font-weight:500}.btn-link:hover{text-decoration:underline}.trip-calendar{background:var(--surface);border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.calendar-nav{display:flex;align-items:center;gap:1rem}.nav-btn{padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:opacity .2s ease}.nav-btn:hover{opacity:.85}.nav-arrows{display:flex;gap:.25rem}.nav-arrow{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--background);border:2px solid var(--border);border-radius:8px;font-size:1.25rem;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.nav-arrow:hover{border-color:var(--primary);color:var(--primary)}.calendar-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.calendar-views{display:flex;gap:.25rem;background:var(--background);padding:.25rem;border-radius:10px}.view-btn{padding:.5rem 1rem;background:transparent;border:none;border-radius:8px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.view-btn:hover{color:var(--text-primary)}.view-btn.active{background:#fff;color:var(--primary);box-shadow:0 2px 4px #0000001a}.calendar-body{min-height:500px}.calendar-month-view{display:flex;flex-direction:column}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;overflow:hidden}.calendar-weekday{background:var(--background);padding:.75rem;text-align:center;font-weight:600;font-size:.875rem;color:var(--text-secondary)}.calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:0 0 8px 8px;overflow:hidden}.calendar-day{background:var(--background);min-height:100px;padding:.5rem;display:flex;flex-direction:column;transition:background .2s ease}.calendar-day:hover{background:#667eea0d}.calendar-day.other-month{opacity:.4}.calendar-day.today{background:linear-gradient(135deg,#667eea1a,#764ba21a)}.day-number{font-weight:600;font-size:.875rem;color:var(--text-primary);margin-bottom:.25rem}.calendar-day.today .day-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--primary);color:#fff;border-radius:50%}.day-events{display:flex;flex-direction:column;gap:.25rem;flex:1}.day-event{padding:.25rem .5rem;border-radius:4px;color:#fff;font-size:.75rem;font-weight:500;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .2s ease,box-shadow .2s ease}.day-event:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0003}.day-event-more{padding:.25rem .5rem;font-size:.75rem;color:var(--text-secondary);font-weight:500}.calendar-week-view{display:flex;flex-direction:column}.week-header{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;overflow:hidden}.week-day-header{background:var(--background);padding:1rem;text-align:center;display:flex;flex-direction:column;gap:.25rem}.week-day-header.today{background:linear-gradient(135deg,#667eea1a,#764ba21a)}.week-day-name{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.week-day-number{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.week-day-header.today .week-day-number{color:var(--primary)}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:0 0 8px 8px;overflow:hidden;min-height:400px}.week-day-column{background:var(--background);padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.week-day-column.today{background:linear-gradient(135deg,#667eea0d,#764ba20d)}.week-event{padding:.75rem;border-radius:8px;color:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.week-event:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.week-event-name{font-weight:600;font-size:.875rem;margin-bottom:.25rem}.week-event-time{font-size:.75rem;opacity:.9}.calendar-day-view{padding:1rem}.day-events-list{display:flex;flex-direction:column;gap:1rem}.no-events{padding:3rem;text-align:center;color:var(--text-secondary);font-size:1rem}.day-view-event{background:var(--background);border:1px solid var(--border);border-left:4px solid;border-radius:8px;padding:1.25rem;cursor:pointer;transition:all .2s ease}.day-view-event:hover{border-color:var(--primary);box-shadow:0 4px 12px #0000001a;transform:translate(4px)}.day-view-event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.day-view-event-name{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.day-view-event-color{width:24px;height:24px;border-radius:50%}.day-view-event-dates{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.day-view-event-notes{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.trip-modal{max-width:500px}.trip-modal-body{padding:1.5rem 0}.trip-modal-dates{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.modal-date-row{display:flex;gap:1rem}.modal-label{font-weight:600;color:var(--text-secondary);min-width:80px}.modal-value{color:var(--text-primary)}.trip-modal-notes{margin-bottom:1.5rem;padding:1rem;background:var(--background);border-left:3px solid var(--primary);border-radius:6px}.trip-modal-notes p{margin:.5rem 0 0;color:var(--text-secondary);line-height:1.6}.trip-modal-status{display:flex;justify-content:flex-start}.trip-modal-status .status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.trip-modal-status .status-badge.completed{background:#4caf50;color:#fff}.trip-modal-status .status-badge.upcoming{background:var(--primary);color:#fff}.trip-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border)}@media (max-width: 1024px){.calendar-header{flex-direction:column;align-items:stretch}.calendar-nav{flex-wrap:wrap;justify-content:space-between}.calendar-title{width:100%;text-align:center;order:-1;margin-bottom:.5rem}.calendar-views{width:100%}.view-btn{flex:1}}@media (max-width: 768px){.trip-calendar{padding:1rem}.calendar-day{min-height:80px;padding:.25rem}.day-number{font-size:.75rem}.day-event{font-size:.625rem;padding:.125rem .25rem}.calendar-weekday{font-size:.75rem;padding:.5rem .25rem}.week-day-header{padding:.75rem .5rem}.week-day-number{font-size:1.25rem}.week-event{padding:.5rem}.week-event-name{font-size:.75rem}.day-view-event{padding:1rem}.day-view-event-name{font-size:1rem}}.home{max-width:100%}.splash-screen{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);z-index:9999;animation:splashFadeOut .5s ease-out 1.5s forwards}.splash-content{display:flex;flex-direction:column;align-items:center;gap:1rem;animation:splashContentIn .8s ease-out forwards}.splash-logo{width:120px;height:120px;animation:logoFloat 1.5s ease-in-out;filter:drop-shadow(0 8px 24px rgba(0,0,0,.2))}.splash-title{font-size:2.5rem;font-weight:700;color:#fff;letter-spacing:2px;text-transform:uppercase;animation:titleSlideUp .8s ease-out .2s backwards;text-shadow:0 4px 12px rgba(0,0,0,.2)}@keyframes splashContentIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes logoFloat{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-10px) scale(1.05)}50%{transform:translateY(0) scale(1)}75%{transform:translateY(-5px) scale(1.02)}}@keyframes titleSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes splashFadeOut{0%{opacity:1}to{opacity:0;visibility:hidden}}.home-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.home-header h2{font-size:1.5rem;font-weight:600}.btn-primary,.btn-accent{padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.9375rem;transition:all .2s ease}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#35b0c9;transform:translateY(-2px);box-shadow:0 4px 12px #3ec6e04d}.btn-accent{background:var(--accent);color:#fff}.loading{text-align:center;padding:3rem;color:var(--text-secondary);font-size:1.125rem}.empty-state{text-align:center;padding:3rem 1rem;background:var(--surface);border-radius:12px;margin-top:2rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-text{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.empty-subtext{color:var(--text-secondary);margin-bottom:2rem}.trips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.trip-card{background:var(--surface);padding:1.5rem;border-radius:12px;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.trip-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #3ec6e033;border-color:var(--primary)}.trip-destination{font-size:1.25rem;font-weight:700;margin-bottom:.5rem;color:var(--primary)}.trip-dates{color:var(--text-secondary);font-size:.875rem;margin-bottom:.75rem}.trip-notes{font-size:.875rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (min-width: 768px){.trips-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}.trips-page{max-width:100%}.trips-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.trips-header h2{font-size:1.5rem;font-weight:600}.filter-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:var(--surface);padding:.25rem;border-radius:8px}.filter-tab{flex:1;padding:.5rem;background:transparent;color:var(--text-secondary);border-radius:6px;font-weight:500;font-size:.9375rem;transition:all .2s ease}.filter-tab.active{background:var(--primary);color:#fff}.trips-list{display:flex;flex-direction:column;gap:.75rem}.trip-item{display:flex;justify-content:space-between;align-items:center;background:var(--surface);padding:1.25rem;border-radius:12px;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.trip-item:hover{transform:translate(4px);border-color:var(--primary);box-shadow:0 4px 12px #3ec6e033}.trip-info{flex:1}.trip-destination{font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.trip-dates{color:var(--text-secondary);font-size:.875rem}.trip-arrow{font-size:1.5rem;color:var(--primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--surface);padding:2rem;border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-content h3{font-size:1.5rem;margin-bottom:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#d0d8e0;font-size:.875rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:2px solid var(--border);border-radius:8px;background:var(--background);color:var(--text-primary);transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary)}.form-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn-secondary{flex:1;padding:.5rem;background:var(--background);color:var(--text-primary);border-radius:8px;font-weight:600;font-size:.9375rem;border:2px solid var(--border);transition:all .2s ease}.btn-secondary:hover{border-color:var(--primary)}.btn-accent{flex:1;padding:.5rem;background:var(--accent);color:#fff;border-radius:8px;font-weight:600;font-size:.9375rem;transition:all .2s ease}.btn-accent:hover{background:#e06d3a;transform:translateY(-2px);box-shadow:0 4px 12px #f47c484d}.file-drop-zone-container{width:100%}.file-drop-zone{position:relative;width:100%;min-height:160px;border:2px dashed var(--border);border-radius:12px;background:var(--background);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;padding:1.5rem}.file-drop-zone:hover{border-color:var(--primary);background:#3ec6e00d;transform:translateY(-2px);box-shadow:0 4px 12px #3ec6e026}.file-drop-zone.dragging{border-color:var(--primary);background:#3ec6e01a;border-width:3px;box-shadow:0 0 0 4px #3ec6e01a}.file-drop-zone.error{border-color:#ef4444;background:#ef44440d}.file-drop-zone.error:hover{border-color:#dc2626;background:#ef444414}.drop-zone-content{text-align:center;pointer-events:none}.upload-icon{font-size:3rem;margin-bottom:1rem;opacity:.7;transition:all .3s ease}.file-drop-zone:hover .upload-icon,.file-drop-zone.dragging .upload-icon{opacity:1;transform:scale(1.1)}.file-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.8}.file-name{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;word-break:break-word}.drop-zone-text{font-size:1rem;color:var(--text-primary);margin-bottom:.5rem}.drop-zone-text strong{color:var(--primary);font-weight:600}.drop-zone-hint{font-size:.875rem;color:var(--text-secondary)}.file-error-message{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.75rem 1rem;background:#ef44441a;border:1px solid #ef4444;border-radius:8px;color:#dc2626;font-size:.875rem;font-weight:500}@media (max-width: 768px){.file-drop-zone{min-height:140px;padding:1rem}.upload-icon{font-size:2.5rem}.drop-zone-text{font-size:.9375rem}}.multi-document-manager{margin-top:1.5rem;padding:1.5rem;background:var(--background);border-radius:12px;border:1px solid var(--border)}.document-upload-section h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.upload-status-inline{padding:1.5rem;background:var(--surface);border-radius:12px;border:2px solid var(--border);text-align:center}.documents-list-section{margin-top:1.5rem}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.document-card{display:flex;align-items:center;gap:.875rem;padding:1rem;background:var(--surface);border-radius:8px;border:1px solid var(--border);transition:all .2s ease}.document-card:hover{background:#3ec6e00d;border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.document-icon-large{font-size:2rem;flex-shrink:0;opacity:.8}.document-details{flex:1;min-width:0}.document-link{display:block;font-size:.875rem;font-weight:500;color:var(--primary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem;transition:color .2s ease}.document-link:hover{color:#2ec2d6;text-decoration:underline}.document-meta-info{font-size:.75rem;color:var(--text-secondary)}.btn-delete-document{padding:.5rem;background:transparent;font-size:1.25rem;border-radius:6px;transition:all .2s ease;flex-shrink:0;opacity:.6}.btn-delete-document:hover:not(:disabled){background:#f443361a;opacity:1;transform:scale(1.1)}.btn-delete-document:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 768px){.multi-document-manager{padding:1rem}.documents-grid{grid-template-columns:1fr;gap:.75rem}.document-card{padding:.875rem}.document-icon-large{font-size:1.75rem}}.modal-content.large{max-width:700px}.upload-status{padding:1.5rem;background:var(--background);border-radius:12px;border:2px solid var(--border);text-align:center}.uploading-text{font-size:1rem;color:var(--text-secondary);font-weight:500}.file-preview-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem;background:var(--background);border-radius:8px;border:1px solid var(--border);margin-top:.75rem}.view-file-link{color:var(--primary);text-decoration:none;font-size:.9375rem;font-weight:500;display:flex;align-items:center;gap:.5rem;transition:color .2s ease}.view-file-link:hover{color:#2ec2d6;text-decoration:underline}.btn-remove-small{padding:.375rem .875rem;background:#ef4444;color:#fff;border-radius:6px;font-size:.875rem;font-weight:500;transition:all .2s ease}.btn-remove-small:hover{background:#dc2626}.file-upload-area{display:flex;flex-direction:column;gap:.75rem}.btn-upload{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface);color:var(--text-primary);border:2px dashed var(--border);border-radius:8px;font-weight:500;font-size:.9375rem;transition:all .2s ease}.btn-upload:hover:not(:disabled){border-color:var(--primary);background:var(--background)}.btn-upload:disabled{opacity:.6;cursor:not-allowed}.file-preview{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--background);border-radius:8px;border:1px solid var(--border)}.file-preview a{color:var(--primary);text-decoration:none;font-size:.875rem}.file-preview a:hover{text-decoration:underline}.btn-remove{padding:.25rem .5rem;background:transparent;color:#f44336;font-size:1.125rem;font-weight:600;transition:all .2s ease}.btn-remove:hover{background:#f443361a;transform:scale(1.1)}.help-text{font-size:.8125rem;color:var(--text-secondary);margin-top:.25rem}.ocr-progress{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--background);border-radius:8px;border:1px solid var(--border)}.progress-bar{width:100%;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 100%);border-radius:4px;transition:width .3s ease}.progress-text{font-size:.8125rem;color:var(--text-secondary);text-align:center;text-transform:capitalize}input[type=datetime-local],input[type=date],input[type=time]{color-scheme:dark}@media (max-width: 640px){.modal-content.large{max-width:100%;max-height:95vh}.form-row{grid-template-columns:1fr}}.activity-documents{margin-top:1.5rem;padding:1rem;background:var(--background);border-radius:8px;border:1px solid var(--border)}.documents-header{margin-bottom:1rem}.documents-upload-zone{margin-bottom:1.5rem}.documents-header h4{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.btn-upload-doc{padding:.5rem 1rem;background:var(--primary);color:#fff;border-radius:6px;font-size:.875rem;font-weight:500;transition:all .2s ease}.btn-upload-doc:hover:not(:disabled){background:#35b0c8;transform:translateY(-1px)}.btn-upload-doc:disabled{opacity:.6;cursor:not-allowed}.documents-list{display:flex;flex-direction:column;gap:.75rem}.document-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--surface);border-radius:6px;border:1px solid var(--border);transition:background .2s ease}.document-item:hover{background:#3ec6e00d}.document-icon{font-size:1.5rem;flex-shrink:0}.document-info{flex:1;min-width:0}.document-name{display:block;font-size:.875rem;font-weight:500;color:var(--primary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.document-name:hover{text-decoration:underline}.document-meta{font-size:.75rem;color:var(--text-secondary)}.btn-delete-doc{padding:.25rem .5rem;background:transparent;color:#f44336;font-size:1.125rem;font-weight:600;border-radius:4px;transition:all .2s ease;flex-shrink:0}.btn-delete-doc:hover{background:#f443361a;transform:scale(1.1)}.documents-empty{padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-size:.875rem}@media (max-width: 640px){.documents-header{flex-direction:column;align-items:stretch;gap:.75rem}.btn-upload-doc{width:100%}.document-name{font-size:.8125rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.export-modal{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:24px;font-weight:600;color:#e5e9ed}.close-button{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;line-height:1;transition:color .2s}.close-button:hover{color:#e5e9ed}.modal-body{padding:24px}.trip-summary{margin-bottom:20px;padding:20px;background:#f9fafb;border-radius:8px}.export-instructions{margin-bottom:24px}.instruction-box{display:flex;gap:16px;padding:16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px}.instruction-icon{font-size:24px;line-height:1;flex-shrink:0}.instruction-content{flex:1}.instruction-content strong{display:block;margin-bottom:8px;color:#1e40af;font-size:15px}.instruction-content ol{margin:0;padding-left:20px;color:#1e40af}.instruction-content li{margin-bottom:4px;font-size:14px;line-height:1.5}.instruction-content li:last-child{margin-bottom:0}.trip-summary h3{margin:0 0 16px;font-size:20px;font-weight:600;color:#e5e9ed}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:13px;color:#6b7280}.stat-value{font-size:18px;font-weight:600;color:#e5e9ed}.export-options{margin-bottom:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#d0d8e0;font-size:14px}.radio-group{display:flex;flex-direction:column;gap:12px}.radio-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s}.radio-option:hover{border-color:#3b82f6;background:#eff6ff}.radio-option input[type=radio]{margin-top:2px;cursor:pointer}.radio-option input[type=radio]:checked+.radio-label{color:#1e40af}.radio-option:has(input:checked){border-color:#3b82f6;background:#eff6ff}.radio-label{display:flex;flex-direction:column;gap:4px}.radio-label strong{font-size:15px;color:#e5e9ed}.radio-label span{font-size:13px;color:#b0bec5}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#d0d8e0}.checkbox-label input[type=checkbox]{cursor:pointer}.help-text{margin:8px 0 0;font-size:13px;color:#6b7280;line-height:1.5}.receipts-section{margin-top:24px;padding:20px;background:#f9fafb;border-radius:8px}.receipts-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#e5e9ed}.receipts-list{display:flex;flex-direction:column;gap:8px}.receipt-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.receipt-name{font-size:14px;color:#374151}.btn-download-small{padding:6px 12px;font-size:13px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.btn-download-small:hover{background:#2563eb}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #e5e7eb}.btn-secondary,.btn-accent{padding:12px 24px;font-size:15px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.btn-accent{background:#3b82f6;color:#fff}.btn-accent:hover{background:#2563eb}.btn-accent:disabled{background:#9ca3af;cursor:not-allowed}@media (max-width: 640px){.modal-overlay{padding:0}.export-modal{max-width:100%;max-height:100vh;border-radius:0}.modal-header,.modal-body{padding:20px}.summary-stats{grid-template-columns:1fr}.modal-footer{padding:20px;flex-direction:column-reverse}.btn-secondary,.btn-accent{width:100%}}.trip-detail{max-width:100%}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .875rem;background:var(--surface);color:var(--text-primary);border-radius:8px;font-weight:500;font-size:.9375rem;margin-bottom:1.5rem;transition:all .2s ease}.back-button:hover{background:var(--border);transform:translate(-4px)}.trip-header-detail{background:var(--surface);padding:1.5rem;border-radius:12px;margin-bottom:1.5rem}.trip-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.trip-header-info{flex:1}.trip-header-detail h1{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:var(--primary)}.trip-dates-detail{color:var(--text-secondary);font-size:1rem}.trip-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-export{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--accent);color:#fff;border-radius:8px;font-weight:600;font-size:.9375rem;white-space:nowrap;transition:all .2s ease}.btn-export:hover{background:var(--highlight);transform:translateY(-2px);box-shadow:0 4px 12px #ffb7034d}.btn-edit{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--primary);color:#fff;border-radius:8px;font-weight:600;font-size:.9375rem;white-space:nowrap;transition:all .2s ease}.btn-edit:hover{background:#35b0c9;transform:translateY(-2px);box-shadow:0 4px 12px #3ec6e04d}.trip-notes-detail{color:var(--text-primary);line-height:1.6;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.section-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1.5rem;background:var(--background);padding:.5rem;border-radius:12px}.section-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.75rem .5rem;background:transparent;color:var(--text-secondary);border-radius:8px;font-weight:500;font-size:.875rem;transition:all .2s ease;border:2px solid transparent;min-height:70px}.section-tab:hover{background:var(--surface)}.section-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px #3ec6e04d}.section-tab .tab-icon{font-size:1.75rem;line-height:1}.section-tab-label{font-weight:600;font-size:.8125rem;text-align:center;line-height:1.2}.tab-badge{background:var(--surface);color:var(--text-primary);padding:.125rem .5rem;border-radius:12px;font-size:.75rem;font-weight:700;min-width:20px;text-align:center;margin-top:.125rem}.section-tab.active .tab-badge{background:#ffffff40;color:#fff}.section-content{min-height:400px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{font-size:1.25rem;font-weight:600}.items-list{display:flex;flex-direction:column;gap:1rem}.item-card{background:var(--surface);padding:1.25rem;border-radius:12px;border:2px solid transparent;transition:all .2s ease}.item-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #3ec6e01a}.item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.item-title{font-size:1.125rem;font-weight:600;color:var(--primary);margin-bottom:.25rem}.item-subtitle{color:var(--text-secondary);font-size:.875rem}.item-actions{display:flex;gap:.5rem}.btn-icon{padding:.375rem;background:var(--background);color:var(--text-secondary);border-radius:6px;font-size:.9375rem;transition:all .2s ease}.btn-icon:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.btn-icon.danger:hover{background:#f44336}.item-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.detail-group{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;font-weight:600;letter-spacing:.5px}.detail-value{color:var(--text-primary);font-size:.9375rem;font-weight:500}.detail-value a{color:var(--primary)}.detail-value a:hover{text-decoration:underline}.notes-content{white-space:pre-wrap;word-break:break-word;line-height:1.6;color:var(--text-secondary);font-size:.875rem;font-weight:400}.cost-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--highlight);color:var(--background);padding:.375rem .75rem;border-radius:6px;font-weight:600;font-size:.9375rem}.payment-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;background:var(--success);color:var(--background);border-radius:4px;font-size:.8125rem;font-weight:600}.receipt-preview{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.receipt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.btn-share-receipt{padding:.375rem;background:transparent;color:var(--primary);border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-share-receipt:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.btn-share-receipt svg{display:block}.receipt-image{max-width:200px;max-height:150px;border-radius:8px;cursor:pointer;transition:transform .2s ease}.receipt-image:hover{transform:scale(1.05)}.activity-documents-preview{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-top:.75rem}.document-link{display:flex;align-items:center;gap:.5rem;padding:.625rem;background:var(--background);border:1px solid var(--border);border-radius:6px;text-decoration:none;color:var(--text-primary);transition:all .2s ease}.document-link:hover{background:#3ec6e01a;border-color:var(--primary);transform:translateY(-2px)}.doc-icon{font-size:1.25rem;flex-shrink:0}.doc-name{font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-section{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.empty-section-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-section-text{font-size:1rem;margin-bottom:1.5rem}.documents-section{padding:1.5rem}.section-header-inline{margin-bottom:2rem}.section-header-inline h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.section-description{color:var(--text-secondary);font-size:.9375rem;line-height:1.6}@media (min-width: 768px){.section-tabs{gap:1rem}.item-details{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}.advanced-export-modal{background:var(--surface);border-radius:12px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.export-summary{display:flex;flex-wrap:wrap;gap:16px;padding:16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:24px}.summary-stat{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:13px;color:#0369a1;font-weight:500}.stat-value{font-size:20px;font-weight:700;color:#0c4a6e}.filters-section{margin-bottom:24px}.filters-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#e5e9ed}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.expenses-section{margin-bottom:24px}.expenses-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.expenses-header h3{margin:0;font-size:16px;font-weight:600;color:#e5e9ed}.btn-toggle-all{padding:6px 12px;background:#f3f4f6;color:#d0d8e0;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;transition:all .2s;cursor:pointer}.btn-toggle-all:hover{background:#e5e7eb;border-color:#9ca3af}.expenses-list{max-height:400px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px}.expense-item{display:flex;gap:12px;padding:12px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background .15s}.expense-item:hover{background:#f9fafb}.expense-item.selected{background:#eff6ff;border-left:3px solid #3b82f6}.expense-checkbox{margin-top:4px;cursor:pointer;width:18px;height:18px;flex-shrink:0}.expense-info{flex:1;min-width:0}.expense-main{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}.expense-name{font-weight:600;color:#e5e9ed;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.expense-amount{font-weight:700;color:#059669;font-size:15px;flex-shrink:0}.expense-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:13px}.expense-trip{color:#3b82f6;font-weight:500}.expense-date{color:#b0bec5}.expense-type{color:#8b5cf6;font-weight:500}.receipt-badge{padding:2px 8px;background:#dcfce7;color:#166534;border-radius:12px;font-size:12px;font-weight:600}.help-text{margin-top:6px;font-size:13px;color:#b0bec5}@media (max-width: 768px){.advanced-export-modal{max-width:100%;max-height:95vh}.filter-grid{grid-template-columns:1fr}.expense-main{flex-direction:column;align-items:flex-start;gap:4px}.expense-amount{font-size:14px}}.budget-page{max-width:100%}.budget-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.budget-header-left{display:flex;flex-direction:column;gap:1rem;flex:1}.budget-header h2{font-size:1.5rem;font-weight:600}.budget-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--border);padding-bottom:0}.budget-tab{position:relative;padding:.75rem 1.5rem;background:transparent;color:var(--text-secondary);font-weight:500;font-size:1rem;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.budget-tab:hover{color:var(--text-primary);background:#3ec6e00d}.budget-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.budget-tab .tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .5rem;background:var(--primary);color:#fff;border-radius:12px;font-size:.75rem;font-weight:600}.budget-tab:not(.active) .tab-count{background:var(--border);color:var(--text-secondary)}.budget-header .btn-accent{white-space:nowrap;align-self:flex-start}.btn-extract-report{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:var(--primary);color:#fff;border-radius:10px;font-weight:600;font-size:1rem;white-space:nowrap;transition:all .3s ease;box-shadow:0 4px 12px #3ec6e04d}.btn-extract-report:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3ec6e066;background:#2ec2d6}.grand-total{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);padding:1.25rem;border-radius:12px;text-align:center}.grand-total-label{font-size:.875rem;color:#ffffffe6;margin-bottom:.5rem;font-weight:500}.grand-total-amount{font-size:2rem;font-weight:700;color:#fff}.trips-budget-list{display:flex;flex-direction:column;gap:1.5rem}.trip-budget-card{background:var(--surface);padding:1.5rem;border-radius:12px;border:2px solid transparent;transition:all .2s ease}.trip-budget-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #3ec6e01a}.trip-actions{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.trip-budget-card.past-trip{opacity:.85;background:var(--card-bg)}.trip-budget-card.past-trip .trip-budget-header h3{color:var(--text-secondary)}.btn-toggle-complete{padding:.625rem 1.25rem;background:#10b981;color:#fff;border-radius:8px;font-weight:600;font-size:.875rem;transition:all .2s ease}.btn-toggle-complete:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-toggle-complete.btn-restore{background:var(--primary)}.btn-toggle-complete.btn-restore:hover{background:#2ec2d6;box-shadow:0 4px 12px #3ec6e04d}.btn-delete-trip{padding:.625rem 1.25rem;background:#ef4444;color:#fff;border-radius:8px;font-weight:600;font-size:.875rem;transition:all .2s ease}.btn-delete-trip:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-export{padding:.75rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.9375rem}.btn-export:hover{background:var(--highlight);transform:translateY(-1px);box-shadow:0 4px 12px #ffb7034d}.trip-budget-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.trip-budget-header h3{font-size:1.25rem;font-weight:600;color:var(--primary);margin-bottom:.25rem}.trip-budget-dates{color:var(--text-secondary);font-size:.875rem}.trip-budget-summary{text-align:right}.trip-total-amount{font-size:1.5rem;font-weight:700;color:var(--highlight);margin-bottom:.25rem}.trip-expense-count{font-size:.875rem;color:var(--text-secondary)}.expense-breakdown{background:var(--background);padding:1rem;border-radius:10px;margin-bottom:1rem}.breakdown-title{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.breakdown-items{display:flex;flex-direction:column;gap:.5rem}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--surface);border-radius:6px}.breakdown-label{font-size:.9375rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.breakdown-value{font-weight:700;color:var(--highlight);font-size:1rem}.btn-add-expense{width:100%;padding:.5rem;background:var(--primary);color:#fff;border-radius:8px;font-weight:600;font-size:.9375rem;margin-bottom:1rem;transition:all .2s ease}.btn-add-expense:hover{background:#35b0c9;transform:translateY(-2px);box-shadow:0 4px 12px #3ec6e04d}.expense-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.group-selector{display:flex;gap:.5rem;background:var(--background);padding:.25rem;border-radius:8px}.group-btn{padding:.375rem .75rem;background:transparent;color:var(--text-secondary);border-radius:6px;font-size:.875rem;font-weight:500;transition:all .2s ease}.group-btn.active{background:var(--primary);color:#fff}.expenses-grouped{display:flex;flex-direction:column;gap:1rem}.expense-group{background:var(--background);border-radius:10px;overflow:hidden}.expense-group-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;background:#3ec6e01a;border-bottom:1px solid var(--border)}.expense-group-title{font-weight:600;color:var(--primary);font-size:.9375rem}.expense-group-total{font-weight:700;color:var(--highlight);font-size:1rem}.expense-items{display:flex;flex-direction:column}.expense-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border);transition:background .2s ease}.expense-item:last-child{border-bottom:none}.expense-item:hover{background:#3ec6e00d}.expense-item-main{display:flex;justify-content:space-between;align-items:center;flex:1;gap:1rem}.expense-item-info{flex:1}.expense-item-name{font-weight:600;margin-bottom:.25rem;color:var(--text-primary)}.expense-item-meta{font-size:.8125rem;color:var(--text-secondary)}.expense-item-notes{margin-top:.5rem;font-size:.8125rem;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap;word-break:break-word}.expense-item-amounts{text-align:right}.expense-item-cost{font-weight:700;font-size:1rem;color:var(--text-primary);margin-bottom:.125rem}.expense-item-converted{font-size:.8125rem;color:var(--text-secondary)}.expense-item-actions{display:flex;gap:.5rem;margin-left:1rem}.btn-icon-small{padding:.25rem;background:var(--surface);color:var(--text-secondary);border-radius:6px;font-size:.8125rem;transition:all .2s ease}.btn-icon-small:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.btn-icon-small.danger:hover{background:#f44336}@media (min-width: 640px){.budget-header{flex-direction:row;justify-content:space-between;align-items:center}.grand-total{min-width:250px}}@media (max-width: 640px){.trip-budget-header{flex-direction:column;gap:1rem}.trip-budget-summary{text-align:left}.expense-item-main{flex-direction:column;align-items:flex-start;gap:.5rem}.expense-item-amounts{text-align:left}.expense-item-actions{margin-left:0}}.documents-page{max-width:100%}.documents-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.visa-info-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:1.5rem;margin-bottom:2rem;color:#fff;box-shadow:0 4px 12px #667eea4d}.visa-info-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.visa-info-icon{font-size:1.75rem}.visa-info-header h3{font-size:1.25rem;font-weight:600;margin:0;color:#fff}.visa-info-description{margin-bottom:1.25rem;line-height:1.6;opacity:.95}.visa-info-steps{background:#ffffff1a;border-radius:8px;padding:1rem;margin-bottom:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.visa-info-steps h4{font-size:1rem;font-weight:600;margin:0 0 .75rem;color:#fff}.visa-info-steps ol{margin:0;padding-left:1.5rem;line-height:1.8}.visa-info-steps li{margin-bottom:.5rem}.visa-link{color:gold;font-weight:600;text-decoration:underline;transition:opacity .2s ease}.visa-link:hover{opacity:.8}.visa-info-example{background:#ffffff26;border-left:3px solid #ffd700;border-radius:6px;padding:.875rem;line-height:1.6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.visa-info-example strong{color:gold;display:block;margin-bottom:.25rem}.visa-info-note{background:#ffffff26;border-left:3px solid #4fc3f7;border-radius:6px;padding:.875rem;line-height:1.6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-top:1rem;font-size:.9rem}.visa-info-note strong{color:#4fc3f7;display:inline;margin-right:.25rem}.documents-header h2{font-size:1.5rem;font-weight:600}.documents-categories{display:flex;flex-direction:column;gap:2rem}.document-category{background:var(--surface);border-radius:12px;padding:1.5rem;border:2px solid transparent;transition:all .2s ease}.document-category:hover{border-color:var(--primary);box-shadow:0 4px 12px #3ec6e01a}.category-count{background:var(--primary);color:#fff;padding:.25rem .625rem;border-radius:12px;font-size:.875rem;font-weight:600}.documents-list{display:flex;flex-direction:column;gap:1rem}.document-card{background:var(--background);border-radius:10px;padding:1rem;transition:background .2s ease}.document-card:hover{background:#3ec6e00d}.document-main{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.document-info{flex:1}.document-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.document-validity{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.validity-badge{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.validity-date{font-size:.875rem;color:var(--text-secondary)}.document-notes{font-size:.875rem;color:var(--text-secondary);margin-bottom:.75rem;line-height:1.5}.document-links{display:flex;gap:1rem;flex-wrap:wrap}.document-link{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:var(--primary);color:#fff;text-decoration:none;border-radius:6px;font-size:.875rem;font-weight:500;transition:all .2s ease}.document-link:hover{background:#35b0c9;transform:translateY(-2px);box-shadow:0 4px 8px #3ec6e04d}.document-link.website-link{background:var(--accent)}.document-link.website-link:hover{background:#ee8036}.document-actions{display:flex;gap:.5rem}.btn-icon-small.share{color:var(--primary)}.btn-icon-small.share:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.btn-icon-small.share svg{display:block}@media (max-width: 640px){.documents-header{flex-direction:column;align-items:flex-start;gap:1rem}.btn-primary{width:100%}.document-main{flex-direction:column}.document-actions{width:100%;justify-content:flex-end}.document-links{flex-direction:column}.document-link{width:100%;justify-content:center}}.esim-page{max-width:100%}.esim-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.esim-header h2{font-size:1.5rem;font-weight:600}.header-actions{display:flex;gap:.75rem}.installation-guide{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:1.5rem;margin-bottom:2rem;color:#fff;box-shadow:0 8px 24px #667eea4d}.guide-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.guide-header h3{font-size:1.25rem;font-weight:600;margin:0}.guide-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.guide-section{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1.25rem}.guide-section h4{margin:0 0 .75rem;font-size:1rem;font-weight:600}.guide-section ol{margin:0;padding-left:1.25rem;line-height:1.7}.guide-section li{margin-bottom:.5rem}.guide-tips{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1.25rem;grid-column:1 / -1}.guide-tips h4{margin:0 0 .75rem;font-size:1rem;font-weight:600}.guide-tips ul{margin:0;padding-left:1.25rem;line-height:1.7}.guide-tips li{margin-bottom:.5rem}.esim-providers{background:var(--surface);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.esim-providers h3{margin:0 0 1rem;font-size:1.125rem;font-weight:600}.provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.provider-card{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--background);border:2px solid var(--border);border-radius:10px;text-decoration:none;color:var(--text-primary);transition:all .2s ease}.provider-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.provider-logo{font-size:1.5rem}.provider-name{flex:1;font-weight:500}.provider-arrow{color:var(--primary);font-weight:600;font-size:1.25rem}.esim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.esim-card{background:var(--surface);border:2px solid var(--border);border-radius:12px;padding:1.25rem;transition:all .2s ease}.esim-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #0000001a}.esim-card.expiring-soon{border-color:#ff9800;background:linear-gradient(to bottom,rgba(255,152,0,.05),var(--surface))}.esim-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.esim-provider{display:flex;align-items:center;gap:.5rem;font-size:1.125rem}.provider-icon{font-size:1.25rem}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-active{background:#4caf50;color:#fff}.status-expired{background:#f44336;color:#fff}.status-pending{background:#ff9800;color:#fff}.esim-destination{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:1rem;color:var(--text-primary)}.destination-icon{font-size:1.125rem}.destination-name{font-weight:500}.esim-trip{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem;background:var(--background);border-radius:8px;font-size:.875rem}.trip-icon{font-size:1rem}.trip-name{color:var(--text-secondary)}.esim-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:.75rem;background:var(--background);border-radius:8px}.detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.detail-label{color:var(--text-secondary);font-weight:500}.detail-value{color:var(--text-primary);font-weight:500;text-align:right}.expiring-warning{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#ff98001a;border:1px solid #ff9800;border-radius:6px;color:#ff9800;font-size:.875rem;font-weight:600;margin-bottom:1rem}.esim-documents{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.doc-link{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:var(--primary);color:#fff;text-decoration:none;border-radius:6px;font-size:.8125rem;font-weight:500;transition:opacity .2s ease}.doc-link:hover{opacity:.85}.activation-code{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--background);border:1px dashed var(--border);border-radius:6px;font-size:.8125rem}.code-label{color:var(--text-secondary);font-weight:500}.activation-code code{flex:1;padding:.25rem .5rem;background:#0000000d;border-radius:4px;font-family:Courier New,monospace;font-size:.8125rem;color:var(--primary);font-weight:600}.esim-notes{margin-bottom:1rem;padding:.75rem;background:var(--background);border-left:3px solid var(--primary);border-radius:6px;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.esim-notes p{margin:0}.esim-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.esim-actions button{flex:1}.btn-edit{padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .2s ease}.btn-edit:hover{opacity:.85}.btn-delete{padding:.5rem 1rem;background:transparent;color:#f44336;border:2px solid #f44336;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-delete:hover{background:#f44336;color:#fff}.esim-form{max-width:600px;max-height:90vh;overflow-y:auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.existing-file{display:inline-block;margin-top:.5rem;color:var(--primary);text-decoration:none;font-size:.875rem}.existing-file:hover{text-decoration:underline}@media (max-width: 768px){.esim-header{flex-direction:column;align-items:stretch}.header-actions{width:100%}.header-actions button{flex:1}.guide-content,.provider-grid,.esim-grid,.form-row{grid-template-columns:1fr}}.packing-page{max-width:100%}.packing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.packing-header h2{font-size:1.5rem;font-weight:600}.trip-selector{display:flex;align-items:center;gap:.5rem}.trip-selector label{font-weight:500;color:var(--text-secondary)}.trip-selector select{padding:.5rem .75rem;border:2px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:.9375rem;font-weight:500;min-width:200px}.trip-select option.past-trip-option{color:#999;font-style:italic;background-color:#f5f5f5}.trip-select option.upcoming-trip-option{color:var(--text-primary);font-weight:500}.packing-progress{background:var(--surface);padding:1.25rem;border-radius:12px;margin-bottom:1.5rem}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-label{font-weight:600;color:var(--text-primary)}.progress-stats{font-size:.875rem;color:var(--text-secondary)}.progress-bar{height:24px;background:var(--background);border-radius:12px;overflow:hidden;position:relative;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 100%);transition:width .3s ease;border-radius:12px}.progress-percentage{text-align:center;font-weight:700;font-size:1.125rem;color:var(--primary)}.packing-actions{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.add-item-form{background:var(--surface);padding:1rem;border-radius:10px;margin-bottom:1.5rem}.add-item-form .form-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.category-select{padding:.625rem;border:2px solid var(--border);border-radius:8px;background:var(--background);color:var(--text-primary);font-size:.9375rem;font-weight:500;min-width:150px}.item-input{flex:1;min-width:200px;padding:.625rem;border:2px solid var(--border);border-radius:8px;background:var(--background);color:var(--text-primary);font-size:.9375rem}.btn-add{padding:.5rem 1rem;background:var(--primary);color:#fff;border-radius:8px;font-weight:600;font-size:.9375rem;transition:all .2s ease}.btn-add:hover{background:#35b0c9;transform:translateY(-2px)}.btn-cancel{padding:.5rem 1rem;background:var(--background);color:var(--text-secondary);border:2px solid var(--border);border-radius:8px;font-weight:600;font-size:.9375rem;transition:all .2s ease}.btn-cancel:hover{background:var(--surface)}.packing-categories{display:flex;flex-direction:column;gap:1.5rem}.packing-category{background:var(--surface);border-radius:12px;padding:1.5rem;border:2px solid transparent;transition:all .2s ease}.packing-category:hover{border-color:var(--primary);box-shadow:0 4px 12px #3ec6e01a}.category-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--border)}.category-icon{font-size:1.5rem}.category-header h3{font-size:1.125rem;font-weight:600;color:var(--primary);flex:1}.category-progress{background:var(--primary);color:#fff;padding:.25rem .625rem;border-radius:12px;font-size:.875rem;font-weight:600}.packing-items{display:flex;flex-direction:column;gap:.5rem}.packing-item{display:flex;flex-direction:column;padding:.75rem 1rem;background:var(--background);border-radius:8px;transition:all .2s ease;gap:.75rem}.item-main{display:flex;justify-content:space-between;align-items:center;width:100%}.packing-item:hover{background:#3ec6e00d}.packing-item.packed{opacity:.6;background:#4caf501a}.packing-item.packed .item-name{text-decoration:line-through;color:var(--text-secondary)}.item-checkbox{display:flex;align-items:center;gap:.75rem;cursor:pointer;flex:1}.item-checkbox input[type=checkbox]{position:absolute;opacity:0;cursor:pointer}.checkmark{position:relative;height:22px;width:22px;background-color:var(--surface);border:2px solid var(--border);border-radius:6px;transition:all .2s ease}.item-checkbox:hover .checkmark{border-color:var(--primary)}.item-checkbox input:checked~.checkmark{background-color:var(--primary);border-color:var(--primary)}.checkmark:after{content:"";position:absolute;display:none;left:7px;top:3px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.item-checkbox input:checked~.checkmark:after{display:block}.item-name{font-size:.9375rem;color:var(--text-primary);font-weight:500}.item-actions{display:flex;gap:.5rem;align-items:center}.btn-photo{padding:.25rem .5rem;background:transparent;color:var(--text-secondary);border-radius:6px;font-size:1.125rem;cursor:pointer;transition:all .2s ease;opacity:0;display:flex;align-items:center}.packing-item:hover .btn-photo{opacity:1}.btn-photo:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.btn-delete-item{padding:.25rem .5rem;background:transparent;color:var(--text-secondary);border-radius:6px;font-size:.8125rem;transition:all .2s ease;opacity:0}.packing-item:hover .btn-delete-item{opacity:1}.btn-delete-item:hover{background:#f44336;color:#fff}.item-image{position:relative;width:100%;border-radius:8px;overflow:hidden;background:var(--surface)}.item-image img{width:100%;height:auto;max-height:200px;object-fit:cover;display:block}.btn-remove-image{position:absolute;top:.5rem;right:.5rem;width:28px;height:28px;background:#f44336e6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;transition:all .2s ease;opacity:0}.item-image:hover .btn-remove-image{opacity:1}.btn-remove-image:hover{background:#f44336;transform:scale(1.1)}.modal-description{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9375rem}.defaults-categories{display:flex;flex-direction:column;gap:1.5rem;max-height:60vh;overflow-y:auto;margin-bottom:1.5rem}.defaults-category{background:var(--background);border-radius:10px;padding:1rem}.defaults-category-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--border)}.defaults-category-header h4{font-size:1rem;font-weight:600;color:var(--primary)}.defaults-items{display:flex;flex-direction:column;gap:.5rem}.default-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--surface);border-radius:6px;cursor:pointer;transition:all .2s ease;position:relative}.default-item:not(.existing):hover{background:#3ec6e01a}.default-item.existing{opacity:.5;cursor:not-allowed}.default-item input[type=checkbox]{position:absolute;opacity:0;cursor:pointer}.default-item .checkmark{position:relative;height:20px;width:20px;background-color:var(--background);border:2px solid var(--border);border-radius:5px;transition:all .2s ease;flex-shrink:0}.default-item:not(.existing):hover .checkmark{border-color:var(--primary)}.default-item input:checked~.checkmark{background-color:var(--primary);border-color:var(--primary)}.default-item .checkmark:after{content:"";position:absolute;display:none;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.default-item input:checked~.checkmark:after{display:block}.item-text{flex:1;font-size:.9375rem;color:var(--text-primary)}.existing-badge{padding:.25rem .5rem;background:var(--text-secondary);color:#fff;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.packing-header{flex-direction:column;align-items:flex-start}.trip-selector{width:100%}.trip-selector select{flex:1}.packing-actions{flex-direction:column;width:100%}.packing-actions button{width:100%}.add-item-form .form-row{flex-direction:column;align-items:stretch}.category-select,.item-input,.btn-add,.btn-cancel{width:100%}.btn-delete-item,.btn-photo{opacity:1}}.exchange-rate-manager{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.manager-header h3{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.header-actions{display:flex;gap:12px}.add-rate-form{background:var(--background-light);padding:20px;border-radius:8px;margin-bottom:24px}.add-rate-form .form-row{display:grid;grid-template-columns:1fr 1fr 120px auto;gap:12px;align-items:end}.add-rate-form .help-text{margin-top:12px;font-size:14px;color:var(--text-secondary)}.loading,.empty-state{text-align:center;padding:48px 24px;color:var(--text-secondary)}.empty-state p{margin:8px 0}.rates-list{display:flex;flex-direction:column;gap:32px}.currency-group{display:flex;flex-direction:column;gap:16px}.currency-group-header{margin:0;font-size:16px;font-weight:600;color:var(--text-primary);padding-bottom:8px;border-bottom:2px solid var(--border-color)}.rates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.rate-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--background-light);border-radius:8px;transition:background .2s}.rate-card:hover{background:#f0f0f0}.rate-info{flex:1}.rate-currencies{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.rate-description{font-size:13px;color:var(--text-secondary)}@media (max-width: 768px){.add-rate-form .form-row{grid-template-columns:1fr}.manager-header{flex-direction:column;gap:16px;align-items:stretch}.header-actions{justify-content:stretch}.header-actions button{flex:1}.rates-grid{grid-template-columns:1fr}}.settings-page{max-width:600px;margin:0 auto}.settings-page h2{font-size:1.5rem;font-weight:600;margin-bottom:2rem}.settings-section{background:var(--surface);padding:1.5rem;border-radius:12px;margin-bottom:1.5rem}.settings-section h3{font-size:1.125rem;font-weight:600;margin-bottom:1rem;color:var(--primary)}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border)}.setting-item:last-child{border-bottom:none;padding-bottom:0}.setting-label{font-weight:500;color:var(--text-secondary)}.setting-value{color:var(--text-primary)}.setting-select{padding:.375rem .75rem;border:2px solid var(--border);border-radius:8px;background:var(--background);color:var(--text-primary);font-weight:500;font-size:.9375rem}.btn-danger{width:100%;padding:.625rem;background:#f44336;color:#fff;border-radius:8px;font-weight:600;font-size:.9375rem;transition:all .2s ease}.btn-danger:hover:not(:disabled){background:#d32f2f;transform:translateY(-2px);box-shadow:0 4px 12px #f443364d}.btn-danger:disabled{opacity:.6;cursor:not-allowed}:root{--primary: #3EC6E0;--accent: #F47C48;--success: #7AE582;--highlight: #FFD166;--background: #2D3A4A;--surface: #3A4A5C;--text-primary: #FFFFFF;--text-secondary: #B0BEC5;--border: #4A5A6C}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all .2s ease}button:active{transform:scale(.98)}input,textarea,select{font-family:inherit;font-size:1rem}input::placeholder,textarea::placeholder{color:#8b98a5;opacity:1}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#8b98a5}input::-moz-placeholder,textarea::-moz-placeholder{color:#8b98a5;opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#8b98a5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--surface)}
