*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.locations-ios-container{display:flex;flex-direction:column;height:100%;background-color:#000;color:#fff}.locations-ios-header{padding:16px;border-bottom:1px solid #3a3a3c;background-color:#1c1c1e}.search-controls{display:flex;gap:1rem;align-items:center}.search-group{flex:1;max-width:400px}.search-group label{display:block;margin-bottom:4px;color:#8d8d92;font-size:14px}.search-input{width:100%;padding:8px 12px;font-size:14px;border:1px solid #3a3a3c;border-radius:8px;background-color:#2c2c2e;color:#fff}.locations-ios-list{flex:1;overflow-y:auto}.location-card{padding:12px 16px;border-bottom:1px solid #3a3a3c;cursor:pointer;transition:background-color .2s}.location-card:hover{background-color:#2c2c2e}.location-card.editing{cursor:default;background-color:#1c1c1e}.location-content{display:flex;justify-content:space-between;align-items:center}.location-main{display:flex;flex-direction:column}.location-info{display:flex;align-items:center;gap:8px}.location-name{font-size:16px;font-weight:500}.location-address{font-size:14px;color:#8d8d92}.edit-hint{font-size:12px;color:#666}.edit-form{width:100%}.edit-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.edit-form .form-row{display:flex;flex-direction:column;gap:12px}.edit-form label{display:block;margin-bottom:4px;color:#ccc;font-size:14px}.edit-form input{width:100%;padding:8px 12px;font-size:16px;border:1px solid #3a3a3c;border-radius:6px;background-color:#2c2c2e;color:#fff}.edit-form .form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.edit-form .form-actions button{padding:6px 12px;font-size:14px;border-radius:6px;cursor:pointer}.edit-form .form-actions .cancel-btn{border:1px solid #666;background-color:transparent;color:#ccc}.edit-form .form-actions .save-btn{border:none;background-color:#007aff;color:#fff}.locations-footer{padding:12px 20px;border-top:1px solid #3a3a3c;color:#8d8d92;font-size:14px;text-align:center;background-color:#1c1c1e}.empty-state{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--text-1, #888);font-size:16px}.error-boundary{display:flex;justify-content:center;align-items:center;min-height:50vh;padding:2rem}.error-boundary-content{background:#2c3e50;border:1px solid #e74c3c;border-radius:8px;padding:2rem;max-width:600px;text-align:center;color:#fff}.error-boundary-content h2{margin:0 0 1rem;color:#e74c3c}.error-boundary-content p{margin:0 0 1.5rem;opacity:.9}.error-details{margin:1rem 0;text-align:left}.error-details summary{cursor:pointer;margin-bottom:.5rem;font-weight:700}.error-details pre{background:#1a1a1a;padding:1rem;border-radius:4px;overflow-x:auto;font-size:.8rem;white-space:pre-wrap}.error-message{background:#2c3e50;border:1px solid #e74c3c;border-radius:8px;padding:1rem;margin:1rem 0;color:#fff}.error-message-content{display:flex;align-items:flex-start;gap:1rem}.error-message-icon{font-size:1.5rem;flex-shrink:0}.error-message-text h3{margin:0 0 .5rem;color:#e74c3c}.error-message-text p{margin:0 0 1rem;opacity:.9}.app{height:100vh;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.app-header{background:var(--header-bg);color:var(--text-1);padding:.375rem 1rem;border-bottom:1px solid var(--header-border);box-shadow:0 1px 2px #00000014;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.header-content{display:flex;justify-content:center;align-items:center;max-width:1200px;margin:0 auto;gap:.5rem;flex-wrap:wrap;min-height:40px}.header-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.main-nav{display:flex;gap:.25rem;align-items:center}.nav-btn{background:var(--card-bg);border:1px solid var(--border);color:var(--text-1);padding:.25rem .6rem;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap;min-width:auto;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.nav-btn:hover{background:var(--card-bg);border-color:var(--border);color:var(--text-0);transform:translateY(-.5px);box-shadow:0 2px 4px #0000001a}.nav-btn.active{background:var(--accent);border-color:var(--accent);color:var(--text-0)}.nav-btn.active:hover{background:var(--accent);border-color:var(--accent)}.vehicle-selector{display:flex;align-items:center;gap:.25rem;font-size:13px}.vehicle-selector label{color:#bbb;font-weight:500;font-size:13px}.vehicle-select{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;padding:.25rem .5rem;border-radius:6px;font-size:13px;cursor:pointer;min-width:120px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.vehicle-select:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-1px)}.vehicle-select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px #0f477b47}.language-selector{display:flex;align-items:center;gap:.25rem;font-size:12px}.language-selector label{color:var(--text-primary);font-weight:500;font-size:12px}.language-select{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fff;padding:.2rem .4rem;border-radius:6px;font-size:13px;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.language-select:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-1px)}.language-select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px #0f477b47}.btn-sync-menu{background:#ffffff0f;color:#fff;border:1px solid rgba(255,255,255,.12);padding:.25rem .6rem;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .15s ease;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.btn-sync-menu:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-.5px);box-shadow:0 2px 4px #0000001a}.app-main{flex:1;display:flex;flex-direction:column;min-height:0;padding:0;width:100%;overflow:hidden}.app-footer{display:none}.key-input-container{background:var(--card-bg);color:var(--text-0);border-radius:8px;padding:2rem;box-shadow:var(--card-shadow, 0 2px 8px rgba(0,0,0,.3));max-width:500px;border:1px solid var(--border);margin:0 auto}.key-input-container h2{margin-top:0;color:var(--accent)}.form-group{margin:1.5rem 0}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-1)}.key-input{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:4px;font-size:1rem;background:var(--bg);color:var(--text-0);font-family:monospace}.key-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent, rgba(74, 158, 255, .3))}.key-input-container .form-group label{display:block;margin-bottom:.5rem;color:var(--text-0);font-weight:500}.key-input-container .checkbox-label{display:flex;align-items:center;gap:.5rem;color:var(--text-0);cursor:pointer}.key-input-container .checkbox-label input[type=checkbox]{margin:0;accent-color:var(--accent)}.key-input-container .remember-options{margin-left:1.5rem;margin-top:.5rem}.key-input-container .stored-key-section{background:var(--bg);border-radius:6px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border)}.key-input-container .stored-key-section h3{margin-top:0;color:var(--accent)}.key-input-container .stored-key-info{margin-bottom:1rem}.key-input-container .stored-key-info p{color:var(--text-1);margin-bottom:1rem}.key-input-container .button-group{display:flex;gap:1rem;margin-top:1.5rem}.key-input-container .btn-primary{background:var(--accent);border:none;color:#fff;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .2s}.key-input-container .btn-primary:hover:not(:disabled){background:var(--accent);opacity:.9}.key-input-container .btn-primary:disabled{background:var(--text-1);cursor:not-allowed;opacity:.7}.key-input-container .btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text-0);padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s}.key-input-container .btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.key-input-container .btn-link{background:none;border:none;color:var(--accent);cursor:pointer;text-decoration:underline;font-size:.9rem}.key-input-container .btn-link:hover{color:var(--accent);opacity:.8}.key-input-container .error-message{background:#e74c3c1a;border:1px solid #e74c3c;border-radius:4px;padding:1rem;color:#e74c3c;margin:1rem 0}.key-input-container .security-note{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1rem;margin-top:2rem;color:var(--text-1);font-size:.9rem}.key-input-container .security-note strong{color:var(--accent)}.key-input-container p{color:var(--text-1);line-height:1.5}.language-selector{display:flex;align-items:center;gap:.25rem;margin-left:1rem}.language-selector label{color:var(--text-primary);font-size:13px;margin:0;font-weight:500}.language-select{background:#ffffff14;color:var(--text-primary);border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:.25rem .5rem;font-size:13px;cursor:pointer;min-width:100px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.language-select:focus{outline:none;border-color:#4a9eff;box-shadow:0 0 0 2px #4a9eff4d}.language-select option{background:#2c2c2c;color:#fff}.button-group{display:flex;gap:1rem;margin-top:1.5rem}.btn-primary{background:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:#2980b9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#95a5a6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s}.btn-secondary:hover:not(:disabled){background:#7f8c8d}.btn-logout{background:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;margin-top:2rem}.btn-logout:hover{background:#c0392b}.btn-refresh{background:#27ae60;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.btn-refresh:hover{background:#229954}.btn-link{background:none;border:none;color:#3498db;cursor:pointer;text-decoration:underline;padding:.25rem .5rem}.btn-link:hover{color:#2980b9}.error-message,.error{color:#e74c3c;margin:1rem 0;padding:.75rem;background:#fee;border-radius:4px;border:1px solid #fcc}.security-note{margin-top:2rem;padding:1rem;background:#e8f4f8;border-left:4px solid #3498db;border-radius:4px;font-size:.875rem;color:#555}.link-paste-section{margin-bottom:2rem;padding:1.5rem;background:var(--card-bg);border-radius:8px;border:2px solid var(--accent)}.link-paste-section h3{margin-top:0;color:var(--accent)}.link-paste-section small{color:var(--text-1)}.stored-key-section{margin-bottom:2rem;padding:1.5rem;background:#f8f9fa;border-radius:6px;border:1px solid #dee2e6}.stored-key-section h3{margin:0 0 1rem;color:#2c3e50;font-size:1.1rem}.stored-key-info{background:#fff;padding:1rem;border-radius:4px;border:1px solid #e9ecef;margin-bottom:1rem}.stored-key-info p{margin:0 0 1rem;color:#495057;font-size:.875rem}.checkbox-label{display:flex;align-items:center;cursor:pointer;font-weight:400!important}.checkbox-label input[type=checkbox]{width:auto!important;margin-right:.75rem;margin-bottom:0}.remember-options{margin-top:1rem;padding-left:1.5rem;border-left:2px solid #e9ecef}.remember-options .checkbox-label{margin-bottom:.75rem}.remember-options small{color:#6c757d;font-size:.75rem}.form-group small{display:block;margin-top:.25rem;color:#6c757d;font-size:.75rem}.sync-status{margin-bottom:1rem}.loading{color:var(--accent, #3498db);padding:.75rem 1rem;background:#3498db1f;border-radius:8px;text-align:center;border:1px solid rgba(52,152,219,.2)}html[data-theme=dark] .loading{background:#3498db2e;border-color:#3498db59}.sync-menu{margin-bottom:2rem;padding:1rem;background:#272f37;border-radius:8px;border:1px solid #404854}.sync-menu .logging-settings h3{color:#fff}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}@media (max-width: 768px){.content-grid{grid-template-columns:1fr}}.file-list-container{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.file-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.file-list-header .file-list-actions{display:flex;gap:.5rem}.file-list-header h2{margin:0;color:#2c3e50}.file-list-actions{display:flex;gap:1rem;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #eee}.file-list{max-height:400px;overflow-y:auto}.file-item{display:flex;align-items:center;padding:.75rem;border-bottom:1px solid #f0f0f0;transition:background .2s}.file-item:hover{background:#f8f9fa}.file-item input[type=checkbox]{margin-right:1rem}.file-item label{flex:1;cursor:pointer}.file-name{font-weight:500;color:#2c3e50}.file-meta{font-size:.875rem;color:#7f8c8d;margin-top:.25rem}.no-files{text-align:center;color:#7f8c8d;padding:2rem}.last-check{font-size:.875rem;margin-top:.5rem}.trip-list-container{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.trip-list-container h2{margin-top:0;margin-bottom:1rem;color:#2c3e50}.trip-list{max-height:600px;overflow-y:auto}.trip-item{padding:1rem;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:.75rem;transition:box-shadow .2s}.trip-item:hover{box-shadow:0 2px 8px #0000001a}.trip-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.trip-date{font-weight:500;color:#2c3e50}.trip-distance{color:#3498db;font-weight:500}.trip-route{display:block;align-items:center;gap:.5rem;margin-bottom:.5rem}.trip-location{background:#ecf0f1;padding:.25rem .5rem;border-radius:3px;font-size:.875rem}.trip-arrow{color:#7f8c8d}.trip-reason,.trip-driver{font-size:.875rem;color:#7f8c8d;margin-top:.25rem}.no-trips{text-align:center;color:#7f8c8d;padding:2rem}.editable-trip-list-container{background:var(--card-bg, white);border-radius:8px;padding:1.5rem;box-shadow:var(--card-shadow, 0 2px 8px rgba(0,0,0,.1));max-height:800px;display:flex;flex-direction:column;border:1px solid var(--border, rgba(0,0,0,.1))}.trip-list-controls{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color, #eee)}.sort-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.sort-controls span{font-weight:500;margin-right:.5rem;color:var(--text-primary, #000000)}.sort-controls button{background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #000000);border:1px solid var(--border-color, #dee2e6);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.sort-controls button:hover{background:var(--hover-bg, #e9ecef);transform:translateY(-1px)}.sort-controls button.active{background:var(--selected-border, #007AFF);color:#fff;border-color:var(--selected-border, #007AFF)}.editable-trip-list{flex:1;overflow-y:auto}.editable-trip-item{border:1px solid #e0e0e0;border-radius:6px;margin-bottom:1rem;transition:box-shadow .2s}.editable-trip-item:hover{box-shadow:0 2px 8px #0000001a}.trip-view{padding:1rem}.trip-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.trip-date-range{flex:1}.trip-start-date{font-weight:500;color:#2c3e50;display:block}.trip-end-date{font-size:.875rem;color:#7f8c8d;display:block;margin-top:.25rem}.trip-actions{display:flex;gap:.5rem}.btn-edit{background:#f39c12;color:#fff;border:none;padding:.375rem .75rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background .2s}.btn-edit:hover{background:#e67e22}.btn-delete{background:#e74c3c;color:#fff;border:none;padding:.375rem .75rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background .2s}.btn-delete:hover{background:#c0392b}.trip-details{margin-top:.75rem}.trip-details>div{font-size:.875rem;color:#555;margin-bottom:.25rem}.trip-business{color:#27ae60;font-weight:500}.trip-vehicle{color:#8e44ad}.trip-edit-modal{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;z-index:9999;animation:fadeIn .2s ease;padding:40px 20px 20px;overflow-y:auto}.trip-edit-modal-content{background:#1a1a1a;border-radius:12px;border:1px solid #2a2a2a;max-width:800px;max-height:calc(100vh - 80px);width:100%;overflow:hidden;box-shadow:0 20px 40px #00000080;animation:slideUp .3s ease;margin-bottom:40px;position:relative}.trip-edit-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #2a2a2a;background:#111}.trip-edit-header h3{margin:0;color:#fff;font-size:1.1rem;font-weight:600}.modal-close{background:none;border:none;color:#999;font-size:1.2rem;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;transition:all .2s}.modal-close:hover{background:#333;color:#fff}.trip-edit-form{padding:1.5rem;max-height:calc(100vh - 200px);overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.edit-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #2a2a2a}.edit-section:last-of-type{border-bottom:none}.edit-section-title{margin:0 0 1rem;color:#fff;font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:.5rem}.section-icon{font-size:1rem}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.edit-grid.three-columns{grid-template-columns:1fr 1fr 1fr}.edit-field{display:flex;flex-direction:column;gap:.25rem}.edit-field.full-width{grid-column:1 / -1}.edit-field label{color:#999;font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:.25rem}.location-dot{font-size:.7rem}.location-dot.start{color:#34c759}.location-dot.end{color:#ff3b30}.location-dot.via{color:#888}.edit-input,.edit-select,.edit-textarea{background:#2a2a2a;color:#fff;border:1px solid #333;padding:.5rem;border-radius:6px;font-size:.9rem;transition:all .2s}.edit-input:focus,.edit-select:focus,.edit-textarea:focus{outline:none;border-color:#444;background:#333;box-shadow:0 0 0 2px #ffa5001a}.edit-input[readonly]{background:#1a1a1a;color:#666;cursor:not-allowed}.edit-textarea{resize:vertical;min-height:60px;font-family:inherit}.checkbox-field{margin-top:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#fff;font-size:.9rem}.edit-checkbox{width:18px;height:18px;cursor:pointer}.edit-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #2a2a2a}.btn-cancel,.btn-save{padding:.5rem 1.5rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background:#333;color:#fff;border:1px solid #444}.btn-cancel:hover{background:#444;border-color:#555}.btn-save{background:var(--brand-primary);color:#f4f7fd;border:none}.btn-save:hover{background:var(--brand-primary-strong);box-shadow:0 2px 8px #0f477b52}@media (max-width: 768px){.trip-edit-modal{padding:20px 10px 10px}.trip-edit-modal-content{max-height:calc(100vh - 40px);border-radius:8px;margin-bottom:20px}.trip-edit-header{padding:.75rem 1rem}.trip-edit-form{padding:1rem;max-height:calc(100vh - 140px)}.edit-grid,.edit-grid.three-columns{grid-template-columns:1fr}.edit-section{margin-bottom:1rem;padding-bottom:1rem}}.trip-edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color, #dee2e6)}.trip-edit-header h4{margin:0;color:var(--text-primary, #2c3e50)}.trip-edit-actions{display:flex;gap:.75rem}.trip-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.trip-edit-grid .form-group{margin:0}.trip-edit-grid .form-group.full-width{grid-column:1 / -1}.trip-edit-grid label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary, #555);font-size:.875rem}.trip-edit-grid input,.trip-edit-grid select,.trip-edit-grid textarea{width:100%;padding:.75rem;background:var(--card-bg, #ffffff);color:var(--text-0, #000000);border:1px solid var(--border, #ced4da);border-radius:8px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.trip-edit-grid input:focus,.trip-edit-grid select:focus,.trip-edit-grid textarea:focus{outline:none;border-color:var(--selected-border, #007AFF);box-shadow:0 0 0 3px #007aff40}.trip-edit-grid textarea{resize:vertical;min-height:60px}.trip-edit-grid input[type=checkbox]{width:auto;margin-right:.5rem}.trip-edit-grid label:has(input[type=checkbox]){display:flex;align-items:center;cursor:pointer}.database-status{font-size:.75rem;color:#6c757d;text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}.download-progress{margin:1rem 0;padding:1rem;background:#f8f9fa;border-radius:6px;border:1px solid #dee2e6}.progress-info{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.875rem;color:#495057}.progress-bar{width:100%;height:20px;background:#e9ecef;border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#2980b9);transition:width .3s ease;border-radius:10px;box-shadow:0 2px 4px #3498db4d}.trip-edit-container{background:var(--card-bg, #ffffff);border:1px solid var(--border, #dee2e6);border-radius:8px;padding:1.5rem;box-shadow:var(--card-shadow, 0 2px 8px rgba(0,0,0,.1))}.trips-table{width:100%;border-collapse:collapse;background:var(--card-bg, #ffffff);border-radius:8px;overflow:hidden;box-shadow:var(--card-shadow, 0 2px 8px rgba(0,0,0,.1))}.trips-table th{background:var(--header-bg, #f8f9fa);color:var(--text-0, #000000);padding:1rem;text-align:left;font-weight:500;border-bottom:1px solid var(--border, #dee2e6)}.trips-table td{padding:1rem;border-bottom:1px solid var(--border, #dee2e6);color:var(--text-0, #000000)}.trip-row.editing td{background:var(--selected-bg, rgba(0, 122, 255, .1))}@media (max-width: 768px){.content-grid{grid-template-columns:1fr}.trip-header{flex-direction:column;gap:1rem;align-items:stretch}.trip-actions{justify-content:flex-end}.trip-edit-grid{grid-template-columns:1fr}.sort-controls{flex-direction:column;align-items:flex-start;gap:.75rem}.sort-controls>div{display:flex;flex-wrap:wrap;gap:.5rem}}.trips-table-container{background:var(--card-bg, white);border-radius:8px;padding:1.5rem;box-shadow:var(--card-shadow, 0 2px 8px rgba(0,0,0,.1));max-height:800px;display:flex;flex-direction:column;flex:1;min-height:0;border:1px solid var(--border, rgba(0,0,0,.1))}.trips-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border, #eee)}.trips-table-header h2{margin:0;color:var(--text-0, #2c3e50);display:flex;align-items:center;gap:.5rem}.live-indicator{color:#27ae60;font-size:.8em;font-weight:400}.table-controls{display:flex;gap:.5rem}.table-controls button{padding:.5rem 1rem;border:1px solid var(--border, #ddd);background:var(--card-bg, white);color:var(--text-0, #000);border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s}.table-controls button:hover{background:var(--bg, rgba(0, 0, 0, .04))}.table-controls button.active{background:var(--accent, #3498db);color:#fff;border-color:var(--accent, #3498db)}.table-wrapper{flex:1;display:flex;flex-direction:column;min-height:0;overflow:auto;border:1px solid var(--border, #ddd);border-radius:4px;background:var(--card-bg, #ffffff)}.table-wrapper .table-empty-state{flex:1}.trips-table{width:100%;border-collapse:collapse;font-size:.875rem}.trips-table th{background:var(--header-bg, #f8f9fa);padding:.75rem .5rem;text-align:left;font-weight:600;color:var(--text-0, #2c3e50);border-bottom:2px solid var(--border, #e0e0e0);white-space:nowrap;position:sticky;top:0;z-index:1}.trips-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.trips-table th.sortable:hover{background:var(--bg, rgba(0, 0, 0, .04))}.trips-table th.sortable.active{background:var(--bg, rgba(0, 0, 0, .06));color:var(--accent, #3498db)}.trips-table td{padding:.75rem .5rem;border-bottom:1px solid var(--border, #e9ecef);vertical-align:top;color:var(--text-0, #000000)}.trip-row.editing{background:#fff3cd}.trip-row.editing td{padding:.5rem}.date-cell{min-width:140px}.date-main{font-weight:500;color:#2c3e50}.route-cell{min-width:200px}.route{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.location{background:#ecf0f1;padding:.25rem .5rem;border-radius:3px;font-size:.8rem}.arrow{color:#7f8c8d;font-weight:700}.distance-cell{text-align:right;min-width:80px;font-weight:500;color:#3498db}.reason-cell{min-width:120px}.business-reason{color:#e67e22;font-weight:500}.private-reason{color:#7f8c8d}.vehicle-cell,.driver-cell{min-width:100px;color:#5a6c7d}.business-cell{min-width:80px;text-align:center}.business-badge{background:#e67e22;color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.private-badge{background:#95a5a6;color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.actions-cell{min-width:80px;text-align:center}.table-input{width:100%;padding:.375rem .5rem;border:1px solid #ced4da;border-radius:3px;font-size:.875rem;font-family:inherit}.table-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db40}.route-edit{display:flex;align-items:center;gap:.5rem}.route-input{flex:1;min-width:80px}.distance-input{width:80px;text-align:right}.table-select{width:100%;padding:.375rem .5rem;border:1px solid #ced4da;border-radius:3px;font-size:.875rem;font-family:inherit;background:#fff}.table-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db40}.business-toggle{display:flex;align-items:center;gap:.25rem;font-size:.875rem;cursor:pointer}.business-toggle input[type=checkbox]{margin:0}.toggle-label{-webkit-user-select:none;user-select:none}.table-actions{display:flex;gap:.25rem;justify-content:center}.btn-save,.btn-cancel{width:28px;height:28px;border:none;border-radius:3px;cursor:pointer;font-size:.875rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-save{background:#27ae60;color:#fff}.btn-save:hover{background:#219a52}.btn-cancel{background:#e74c3c;color:#fff}.btn-cancel:hover{background:#c0392b}.btn-table-edit,.btn-table-delete{width:28px;height:28px;border:none;background:transparent;cursor:pointer;border-radius:3px;font-size:.875rem;transition:all .2s}.btn-table-edit:hover{background:#f39c12}.btn-table-delete:hover{background:#e74c3c}.no-trips{text-align:center;color:#7f8c8d;padding:3rem 1rem}.no-trips p{margin:.5rem 0}:root{--brand-primary: #0f477b;--brand-primary-strong: #072d52;--brand-primary-soft: #1f64a3;--brand-secondary: #f5a623;--brand-secondary-soft: #f7b84d;--shell-gradient-start: #0b0e11;--shell-gradient-end: #060809;--shell-sidebar-bg: rgba(11, 14, 17, .95);--shell-surface-bg: rgba(13, 16, 20, .92);--shell-border: rgba(255, 255, 255, .06);--shell-border-strong: rgba(255, 255, 255, .12);--shell-text-muted: rgba(170, 175, 180, .7);--shell-shadow: 0 20px 50px -30px rgba(0, 0, 0, .8)}html[data-theme=light]{--shell-gradient-start: #f3f6fb;--shell-gradient-end: #ffffff;--shell-sidebar-bg: rgba(255, 255, 255, .98);--shell-surface-bg: rgba(247, 250, 255, .96);--shell-border: rgba(14, 58, 104, .08);--shell-border-strong: rgba(14, 58, 104, .16);--shell-text-muted: #5c6f8d;--shell-shadow: 0 24px 48px -32px rgba(14, 58, 104, .25)}.app{background:radial-gradient(120% 120% at 0% 0%,rgba(245,166,35,.12),transparent 54%),radial-gradient(100% 120% at 120% 0%,rgba(14,58,104,.12),transparent 60%),linear-gradient(180deg,var(--shell-gradient-start),var(--shell-gradient-end))}.app-main{flex:1;display:flex;flex-direction:column;min-height:0;width:100%;padding:1.5rem;box-sizing:border-box}.app-shell{flex:1;display:flex;gap:1.5rem;width:100%;min-height:0;padding:0 1.5rem}.shell-sidebar{width:260px;display:flex;flex-direction:column;gap:1rem;background:var(--shell-sidebar-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;border:1px solid var(--shell-border);padding:1.5rem 1.25rem;box-shadow:var(--shell-shadow);color:var(--text-0);transition:width .25s ease,padding .25s ease}.shell-sidebar-brand{display:flex;align-items:center;gap:.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--shell-border);width:100%}.brand-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;transition:all .2s ease}.brand-icon:hover{transform:scale(1.02)}.brand-icon img{width:40px;height:40px;border-radius:20px;display:block;object-fit:contain}.sidebar-collapse-btn{margin-left:auto;background:#1f64a324;color:var(--text-0);border:1px solid rgba(31,100,163,.28);border-radius:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;transition:all .18s ease}.sidebar-collapse-btn:hover{background:#1f64a338;border-color:#1f64a35c;transform:translateY(-1px)}html[data-theme=light] .sidebar-collapse-btn{background:#0f477b14;border-color:#0f477b2e;color:var(--brand-primary)}html[data-theme=light] .sidebar-collapse-btn:hover{background:#0f477b29;border-color:#0f477b42}.brand-name{font-weight:700;font-size:1rem;letter-spacing:.01em;color:#ffffffeb}.brand-sub{font-size:.75rem;color:var(--shell-text-muted);letter-spacing:.06em;text-transform:uppercase}html[data-theme=light] .brand-sub{color:#7286a4}html[data-theme=light] .brand-name{color:var(--brand-primary)}.shell-sidebar-nav{display:flex;flex-direction:column;gap:.375rem}.shell-sidebar-nav-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem .9rem;border-radius:16px;border:1px solid transparent;background:transparent;color:inherit;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .18s ease}.shell-sidebar-nav-btn:hover{background:#1f64a32e;border-color:#1f64a352;box-shadow:inset 0 0 0 1px #1f64a352}.shell-sidebar-nav-btn.active{background:linear-gradient(135deg,#1f64a3d9,#0e3a68f2);border-color:#19548cf2;box-shadow:0 18px 30px -22px #06162df2,inset 0 0 0 1px #70ade052;color:#f4f7fd}html[data-theme=light] .shell-sidebar-nav-btn.active{background:linear-gradient(135deg,#0f477b2e,#0f477b42);border-color:#0f477b6b;box-shadow:inset 0 0 0 1px #0f477b4d;color:var(--brand-primary-strong)}.shell-sidebar-icon{width:34px;height:34px;border-radius:12px;background:#f5a6232e;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--brand-primary)}.shell-sidebar-icon svg{width:20px;height:20px;display:block}.shell-sidebar-icon img{width:20px;height:20px;display:block;object-fit:contain}.shell-sidebar-nav-btn:hover .shell-sidebar-icon{color:var(--brand-primary-soft)}.shell-sidebar-nav-btn.active .shell-sidebar-icon{color:var(--brand-secondary)}html[data-theme=light] .shell-sidebar-nav-btn:hover{background:#0f477b1f;border-color:#0f477b42;box-shadow:inset 0 0 0 1px #0f477b42}html[data-theme=light] .shell-sidebar-icon{background:#f5a62338}html[data-theme=light] .shell-sidebar-nav-btn.active .shell-sidebar-icon{color:var(--brand-secondary)}html[data-theme=dark] .shell-sidebar-icon img{filter:invert(1) brightness(.9)}html[data-theme=dark] .shell-sidebar-nav-btn:hover .shell-sidebar-icon img{filter:invert(1) brightness(1.1)}html[data-theme=dark] .shell-sidebar-nav-btn.active .shell-sidebar-icon img{filter:invert(1) brightness(1.2)}.shell-sidebar-label{flex:1;text-align:left}.shell-sidebar-footer{margin-top:auto;border-top:1px solid var(--shell-border);padding-top:1rem}.shell-sidebar.collapsed{width:92px;padding:1.25rem .75rem;align-items:center;gap:1.25rem}.shell-sidebar.collapsed .shell-sidebar-brand{flex-direction:column;align-items:center;gap:.5rem;padding-bottom:.75rem}.shell-sidebar.collapsed .brand-icon{width:64px;height:64px;border-radius:18px}.shell-sidebar.collapsed .brand-icon img{width:44px;height:44px}.shell-sidebar.collapsed .brand-copy{display:none}.shell-sidebar.collapsed .sidebar-collapse-btn{margin-left:0}.shell-sidebar.collapsed .shell-sidebar-nav{align-items:center}.shell-sidebar.collapsed .shell-sidebar-nav-btn{justify-content:center;padding:.65rem}.shell-sidebar.collapsed .shell-sidebar-label{display:none}.shell-sidebar.collapsed .shell-sidebar-footer{border-top:none;padding-top:0;width:100%;display:flex;justify-content:center}.shell-sidebar.collapsed .sync-progress-indicator{flex-direction:column;gap:4px}.shell-sidebar.collapsed .sync-progress-text{font-size:.65rem}.workspace{flex:1;display:flex;flex-direction:column;gap:1.5rem;min-height:0}.workspace-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;background:var(--shell-sidebar-bg);border-radius:24px;border:1px solid var(--shell-border);box-shadow:var(--shell-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--text-0)}.topbar-title{display:flex;align-items:center;gap:.9rem}.topbar-icon{width:48px;height:48px;border-radius:16px;background:#0f477b38;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--brand-primary)}html[data-theme=light] .topbar-icon{background:#0f477b1f}.topbar-icon svg{width:24px;height:24px;display:block;fill:currentColor;color:inherit}html[data-theme=dark] .topbar-icon svg{filter:invert(1) brightness(.9)}html[data-theme=dark] .topbar-icon img{filter:invert(1) brightness(.9)}.topbar-title h1{margin:0;font-size:1.4rem;line-height:1.2}.topbar-title p{margin:0;font-size:.85rem;color:var(--shell-text-muted)}.topbar-actions{display:flex;align-items:center;gap:.6rem}.topbar-actions .language-selector,.topbar-actions .theme-toggle{background:#1f64a31f;border:1px solid rgba(31,100,163,.28);padding:.35rem .6rem;border-radius:12px}.topbar-actions .language-selector label,.topbar-actions .theme-toggle label{color:var(--shell-text-muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.08em}.topbar-actions .language-select,.topbar-actions .theme-select{background:transparent;border:none;padding:.2rem .1rem}html[data-theme=light] .topbar-actions .language-selector,html[data-theme=light] .topbar-actions .theme-toggle{background:#0f477b14;border-color:#0f477b29}.topbar-btn{background:linear-gradient(135deg,#1f64a33d,#0f477b70);border:1px solid rgba(31,100,163,.52);color:#f4f7fd;padding:.45rem .8rem;border-radius:12px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .18s ease}.topbar-btn:hover{background:linear-gradient(135deg,#1f64a352,#0f477b8f);border-color:#1f64a39e;transform:translateY(-1px)}html[data-theme=light] .topbar-btn{background:#0f477b14;border-color:#0f477b2e;color:var(--brand-primary-strong)}html[data-theme=light] .topbar-btn:hover{background:#0f477b29;border-color:#0f477b42}.workspace-body{flex:1;position:relative;display:flex;flex-direction:column;min-height:0}.settings-drawer{position:absolute;top:0;right:0;width:320px;max-height:calc(100% - 2rem);overflow-y:auto;padding:1.25rem;border-radius:20px;background:var(--shell-sidebar-bg);border:1px solid var(--shell-border);box-shadow:var(--shell-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translateY(-16px);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:20}.settings-drawer.open{opacity:1;transform:translateY(0);pointer-events:auto}.settings-drawer>*+*{margin-top:1rem}.workspace-surface{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--shell-surface-bg);border-radius:28px;border:1px solid var(--shell-border);box-shadow:var(--shell-shadow);padding:1.25rem;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--text-0)}.workspace-surface>*{flex:1;min-height:0}.logging-settings{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;padding:1rem;border-radius:18px;border:1px solid var(--shell-border);background:#ffffff0a;color:var(--text-0)}html[data-theme=light] .logging-settings{background:#ffffffeb}.logging-settings h3{margin:0;font-size:1rem;font-weight:600}.logging-settings p{margin:0;font-size:.85rem;color:var(--shell-text-muted)}.logging-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.logging-settings-checkbox{display:flex;align-items:center;gap:.5rem;padding:.45rem .65rem;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}html[data-theme=light] .logging-settings-checkbox{background:#0e1c2c0d;border-color:#0e1c2c1a}.logging-settings-checkbox input[type=checkbox]{accent-color:var(--accent)}.logging-settings-checkbox span{flex:1}.brand-heading{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.brand-heading img{width:40px;height:40px;border-radius:12px;background:#00000040;padding:.5rem;box-shadow:inset 0 0 0 1px #ffffff0a}html[data-theme=light] .brand-heading img{background:#0e1c2c14}.brand-heading-copy{display:flex;flex-direction:column;line-height:1}.brand-heading-title{font-size:1rem;font-weight:700;letter-spacing:.04em}.brand-heading-sub{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--shell-text-muted)}.brand-heading.compact img{width:32px;height:32px;padding:.4rem}.brand-heading.compact .brand-heading-title{font-size:.9rem}.brand-heading.compact .brand-heading-sub{font-size:.7rem}@media (max-width: 1200px){.app-shell{flex-direction:column}.shell-sidebar{flex-direction:row;width:100%;align-items:center;padding:1.25rem;gap:1.25rem}.shell-sidebar-brand{border-bottom:none;padding-bottom:0;border-right:1px solid var(--shell-border);padding-right:1.25rem}.shell-sidebar-nav{flex-direction:row;flex-wrap:wrap;gap:.5rem}.shell-sidebar-nav-btn{width:calc(50% - .25rem)}.shell-sidebar-footer{border-top:none;margin-top:0;padding-top:0}.settings-drawer{position:fixed;top:88px;right:24px;max-height:calc(100vh - 120px);z-index:20}}@media (max-width: 768px){.app-main{padding:1rem}.shell-sidebar{flex-direction:column;align-items:stretch}.shell-sidebar-nav-btn{width:100%}.workspace-topbar{flex-direction:column;align-items:flex-start}.topbar-actions{flex-wrap:wrap;width:100%}.settings-drawer{position:fixed;right:16px;left:16px;width:auto}}.table-header{background:var(--header-bg, #f8f9fa);color:var(--text-0, #000000);padding:1rem;text-align:left;font-weight:500;border-bottom:1px solid var(--border, #dee2e6);font-size:14px}.table-row{transition:background-color .2s ease;background:var(--card-bg, #ffffff)}.table-row:hover{background:var(--bg, rgba(0, 0, 0, .02))}.table-cell{padding:12px 16px;border-bottom:1px solid var(--border, #dee2e6);color:var(--text-0, #000000);vertical-align:middle}.table-input{width:100%;padding:6px 8px;font-size:14px;border:1px solid var(--border, #dee2e6);border-radius:4px;background:var(--card-bg, #ffffff);color:var(--text-0, #000000);outline:none}.table-input:focus{border-color:var(--accent, #007AFF);box-shadow:0 0 0 2px #007aff33}html[data-theme=dark] .table-input:focus{box-shadow:0 0 0 2px #007aff4d}.table-actions{display:flex;gap:8px;align-items:center}.btn-primary{padding:6px 12px;font-size:14px;border:none;border-radius:6px;background:var(--accent, #007AFF);color:#fff;cursor:pointer;transition:opacity .2s ease}.btn-primary:hover{opacity:.8}.btn-secondary{padding:6px 12px;font-size:14px;border:1px solid var(--border, #dee2e6);border-radius:6px;background:transparent;color:var(--text-1, #666);cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:var(--bg, rgba(0, 0, 0, .02));border-color:var(--text-1, #666)}.btn-edit{padding:6px 8px;font-size:14px;border:none;background:transparent;color:var(--text-1, #666);cursor:pointer;border-radius:4px;transition:all .2s ease}.btn-edit:hover{background:var(--bg, rgba(0, 0, 0, .04));color:var(--text-0, #000)}.table-empty-state{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--text-1, #888);font-size:16px;text-align:center;background:var(--card-bg, #ffffff)}.loading-state{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--text-1, #888);font-size:16px;text-align:center;background:var(--card-bg, #ffffff);border:1px dashed var(--border, rgba(0, 0, 0, .12));border-radius:12px;padding:1.5rem;width:100%;box-sizing:border-box}html[data-theme=dark] .loading-state{border-color:#ffffff14}.table-footer{padding:12px 20px;border-top:1px solid var(--border, #dee2e6);color:var(--text-1, #888);font-size:14px;text-align:center;background:var(--header-bg, #f8f9fa);margin-top:auto;flex-shrink:0}.driver-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--border, #333)}.driver-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:var(--accent, #007AFF);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.driver-name{font-weight:500;color:var(--text-0, #000)}.driver-email{color:var(--text-1, #666)}.driver-id{font-family:monospace;font-size:12px;color:var(--text-1, #666)}.status-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-active{background:#34c75926;color:#34c759}.status-inactive{background:#ff3b3026;color:#ff3b30}.vehicle-name{font-weight:500;color:var(--text-0, #000)}.vehicle-license{font-family:monospace;font-weight:600;color:var(--text-0, #000);background:var(--header-bg, #f8f9fa);border:1px solid var(--border, #dee2e6);padding:2px 6px;border-radius:4px;font-size:13px}.vehicle-make-model{color:var(--text-1, #666)}.vehicle-year{color:var(--text-1, #666);font-weight:500}.vehicle-color{color:var(--text-1, #666)}.reason-name{font-weight:500;color:var(--text-0, #000)}.reason-label{color:var(--text-1, #666);font-style:italic}.reason-type-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.reason-type-badge.business{background:#4caf5026;color:#4caf50}.reason-type-badge.private{background:#ff980026;color:#ff9800}.reason-type-badge:not(.business):not(.private){background:#607d8b26;color:#607d8b}.location-name{font-weight:500;color:var(--text-0, #000)}.location-address{color:var(--text-1, #666)}.location-city{color:var(--text-1, #666);font-weight:500}.location-coordinates{font-family:monospace;font-size:12px;color:var(--text-1, #666);background:var(--header-bg, #f8f9fa);border:1px solid var(--border, #dee2e6);padding:2px 6px;border-radius:4px}html[data-theme=dark] .status-active{background:#34c75933}html[data-theme=dark] .status-inactive{background:#ff3b3033}html[data-theme=dark] .reason-type-badge.business{background:#4caf5033}html[data-theme=dark] .reason-type-badge.private{background:#ff980033}html[data-theme=dark] .reason-type-badge:not(.business):not(.private){background:#607d8b33}html[data-theme=dark] .table-row:hover{background:#ffffff05}html[data-theme=dark] .btn-secondary:hover{background:#ffffff0a}html[data-theme=dark] .btn-edit:hover{background:#ffffff0f}.trips-ios-container{background:var(--bg);border-radius:0;box-shadow:none;overflow:auto;display:flex;flex-direction:column;color:var(--text-0);height:100%;min-height:0;width:100%;max-width:600px;margin:0 auto}.trips-ios-header{background:var(--header-bg);padding:1rem;border-bottom:1px solid var(--header-border)}.trips-ios-header.sticky{position:sticky;top:0;z-index:100;background:var(--header-bg)!important;box-shadow:0 2px 8px #0000004d;margin-bottom:1rem}.filter-controls{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.filter-bar{display:flex;align-items:center;gap:8px;position:relative}.filter-toggle{background:var(--card-bg);color:var(--text-1);border:1px solid var(--border);padding:6px 10px;border-radius:8px;cursor:pointer}.filter-toggle:hover{background:var(--card-bg)}.filter-popover{position:absolute;top:100%;left:0;margin-top:8px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px #00000059;padding:10px 12px;min-width:260px;z-index:5}.filter-row{display:flex;align-items:center;gap:8px;margin:6px 0}.filter-select.compact{min-width:120px;background:var(--card-bg);border:1px solid var(--border);padding:4px 6px}.filter-input.compact{flex:1;min-width:140px;background:var(--card-bg);border:1px solid var(--border);padding:6px 8px;color:var(--text-1);border-radius:6px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--header-bg);border-top:1px solid var(--header-border);border-radius:0 0 8px 8px}.pagination-info{font-size:.9rem;color:var(--text-1)}.pagination-controls{display:flex;gap:.5rem;align-items:center}.pagination-btn{padding:.5rem .75rem;background:var(--card-bg);border:1px solid var(--border);border-radius:4px;color:var(--text-1);cursor:pointer;min-width:2.5rem;text-align:center;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--card-bg);border-color:var(--border);color:var(--text-0)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background:var(--accent);border-color:var(--accent);color:var(--text-0)}.pagination-ellipsis{padding:.5rem;color:var(--text-1)}.filter-group{display:flex;align-items:center;gap:.5rem;min-width:150px}.filter-group label{color:var(--text-1);font-size:.875rem;font-weight:500;white-space:nowrap}.filter-select{background:var(--card-bg);color:var(--text-0);border:1px solid var(--border);padding:.375rem .75rem;border-radius:4px;font-size:.875rem;min-width:100px}.filter-select:focus{outline:none;border-color:#666;box-shadow:0 0 0 2px #6666664d}.trips-ios-list{flex:1;overflow-y:auto;padding:.5rem}.trip-card{background:var(--card-bg);margin:12px 0;border-radius:12px;overflow:hidden;transition:all .2s ease;border:1px solid var(--border);box-shadow:var(--card-shadow);cursor:pointer;padding:16px}.trip-card:hover{transform:translateY(-1px);background:var(--card-bg);border-color:var(--border);box-shadow:var(--card-shadow)}.trip-card:active{transform:translateY(0);transition:all .1s ease}.trip-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:0 0 6px;background:transparent;margin-bottom:4px}.trip-purpose{color:#fff;font-weight:500;font-size:.95rem}.trip-card-body{padding:0;flex:1;display:flex;flex-direction:column;justify-content:space-between}.date-group-header{font-size:16px;font-weight:700;color:var(--text-0);margin:24px 0 12px;padding:0 16px}.group-header{display:flex;align-items:center;gap:8px;padding:10px 12px;margin:6px 0 0;color:var(--text-0);font-weight:700;background:#0f477b29;border-radius:12px;border:1px solid rgba(15,71,123,.26)}.group-header .flag{color:#e74c3c}.group-header .briefcase{color:var(--brand-primary)}.trip-badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:12px;background:#0f477b24;color:var(--brand-primary);font-size:12px;border:1px solid rgba(15,71,123,.28)}.trip-distance{font-weight:700;color:var(--text-0);text-align:right}.trip-odometer-small{color:var(--text-1);font-size:12px;text-align:right}.trip-card-content:focus-within{outline:2px solid var(--accent);outline-offset:2px}.trip-card-content{display:flex;flex-direction:column;gap:8px}.trip-time,.trip-location-name{font-size:16px;font-weight:700;color:var(--text-0)}.trip-address{font-size:14px;color:var(--text-1)}.trip-distance-value{font-size:16px;font-weight:700;color:var(--text-0);text-align:right}.trip-odometer{font-size:14px;color:var(--text-1);text-align:right}.trip-row{display:flex;align-items:stretch;height:100%;width:100%}.time-col{width:80px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:8px 0 8px 8px;box-sizing:border-box;gap:8px}.time-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.time-cell.primary .time{color:#fff;font-weight:700;font-size:1.2rem;line-height:1.1;letter-spacing:-.02em}.time-cell.primary .weekday{color:#888;font-size:.9rem;line-height:1;font-weight:500;text-transform:uppercase}.time-cell.secondary .time{color:#666;font-weight:500;font-size:.85rem;line-height:1}.time-cell.secondary .weekday{color:#555;font-size:.75rem;line-height:1;font-weight:400}.track-col{width:16px;display:flex;align-items:center;justify-content:center}.track{height:100%;display:flex;flex-direction:column;align-items:center;min-height:60px}.track .line{flex:1;width:2px;background:#3a3a3c;border-radius:1px;margin:2px 0;min-height:30px}.track .dot{width:8px;height:8px;border-radius:50%;margin:2px 0;background:#666;border:none;box-shadow:none}.track.dot{width:8px;height:8px;border-radius:50%}.track.dot.start{background:#30d158}.track.dot.end{background:#ff453a}.track.dot.via{background:#ffd60a}.track .dot.start{background:#30d158}.track .dot.end{background:#ff453a}.track .dot.via{background:#ffd60a}.content-col{flex:1;min-width:0;display:flex;flex-direction:column;padding:8px 8px 8px 12px;justify-content:space-between;gap:6px}.trip-card-header .trip-meta{display:flex;align-items:center;gap:8px;height:100%}.edit-hint{color:#666;font-size:.9rem;opacity:0;transition:opacity .15s ease,color .15s ease,transform .15s ease;-webkit-user-select:none;user-select:none;cursor:pointer;padding:2px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.trip-card:hover .edit-hint{opacity:.8;color:#888}.edit-hint:hover{opacity:1;color:#aaa;transform:scale(1.1);background:#ffffff0d}@media (min-width: 1024px){.trips-ios-container{max-width:600px;margin:0 auto}.trips-ios-list{padding:16px 32px}.trip-card{margin:6px 0 12px;border-radius:14px}.trip-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000004d}.time-col{width:95px;padding:12px 0 12px 8px}.time-cell.primary .time{font-size:1.3rem}.time-cell.primary .weekday{font-size:.95rem}.track-col{width:24px}.track .dot{width:12px;height:12px;margin:4px 0}.track .line{width:4px}.content-col{padding:12px 8px 12px 16px}.trip-destination{font-size:1.2rem;font-weight:600}.trip-distance{font-size:1.1rem}.trip-duration{font-size:1rem}.trip-purpose-text{font-size:1.05rem}.trip-category-icon{font-size:1.3rem}}.timeline-line{width:2px;height:20px;border-radius:1px;background:repeating-linear-gradient(to bottom,var(--timeline-line),var(--timeline-line) 2px,transparent 2px,transparent 6px)}html[data-theme=dark]{--bg: #0a0d10;--text-0: #f0f2f5;--text-1: #a0a6ac;--card-bg: #0f1318;--border: rgba(255, 255, 255, .08);--header-bg: #0c1014;--header-border: rgba(255, 255, 255, .06);--timeline-line: #1a1e23;--icon: #d0d5da;--accent: var(--brand-primary-soft);--card-shadow: 0 20px 45px -30px rgba(0, 0, 0, .75)}html[data-theme=light]{--bg: #f4f7fb;--text-0: #0d1f33;--text-1: #4e637f;--card-bg: #ffffff;--border: rgba(21, 72, 126, .12);--header-bg: #ffffff;--header-border: rgba(18, 68, 120, .12);--timeline-line: #d5dee8;--icon: var(--brand-primary);--accent: var(--brand-primary);--card-shadow: 0 12px 32px -20px rgba(15, 71, 123, .18)}.theme-toggle{display:flex;align-items:center;gap:.25rem;font-size:12px}.theme-toggle label{color:#bbb;font-weight:500;font-size:12px}.theme-select{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fff;padding:.2rem .4rem;border-radius:6px;font-size:13px;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.theme-select:hover{background:#ffffff1f;border-color:#ffffff40;transform:translateY(-1px)}@media (prefers-color-scheme: light){.theme-select{background:#f5f5f7;border-color:#e5e5ea;color:var(--text-primary)}}.km-col{width:120px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:.75rem 1rem .75rem .5rem;box-sizing:border-box;color:#ccc;gap:.25rem}.km-row{font-size:.9rem}.km-end.km-error{color:#ff3b30}@media (max-width: 768px){.km-col{width:96px}.time-col{width:60px}}.trip-route{margin-bottom:.5rem;flex:1;display:block;flex-direction:column;justify-content:space-between}.route-point{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;padding:.25rem 0}.route-point:last-child{margin-bottom:0}.route-icon{font-size:.75rem;margin-top:.125rem;min-width:12px}.route-details{flex:1;min-width:0}.route-time{color:var(--brand-secondary);font-size:.8rem;font-weight:500;margin-bottom:.125rem}.route-location{color:#ccc;font-size:.85rem;line-height:1.2;word-break:break-word}.route-distance{color:#888;font-size:.75rem;text-align:right;margin-top:.125rem}.trip-actions{display:flex;gap:.5rem;margin-top:.75rem}.btn-edit-card,.btn-delete-card{padding:.375rem .75rem;border:1px solid #444;border-radius:3px;font-size:.75rem;cursor:pointer;transition:all .2s}.btn-edit-card{background:var(--brand-primary);color:#f4f7fd;border-color:var(--brand-primary)}.btn-edit-card:hover{background:var(--brand-primary-strong)}.btn-delete-card{background:#ff3b30;color:#fff;border-color:#ff3b30}.btn-delete-card:hover{background:#d70015}.trip-edit-form{padding:1rem;background:#1a1a1a}.edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #333}.edit-header h4{margin:0;color:#fff;font-size:1rem}.edit-actions{display:flex;gap:.5rem}.btn-cancel-edit,.btn-save-edit{padding:.375rem .75rem;border:none;border-radius:3px;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-cancel-edit{background:#666;color:#fff}.btn-cancel-edit:hover{background:#555}.btn-save-edit{background:#34c759;color:#fff}.btn-save-edit:hover{background:#28a745}.edit-fields{display:grid;gap:.75rem}.edit-row{display:flex;align-items:center;gap:.75rem}.edit-row label{color:#999;font-size:.85rem;min-width:100px;text-align:right}.edit-row input,.edit-row select{flex:1;background:#333;color:#fff;border:1px solid #444;padding:.375rem .5rem;border-radius:3px;font-size:.85rem}.edit-row input:focus,.edit-row select:focus{outline:none;border-color:#666;box-shadow:0 0 0 2px #6666664d}.edit-row input[type=checkbox]{flex:none;margin-right:.5rem}.trips-ios-container .no-trips{text-align:center;color:var(--text-1);padding:3rem 1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:16px}.trips-ios-container .no-trips p{margin:.5rem 0;color:var(--text-1)}.download-progress-header{margin-top:12px}.download-progress-header .progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px;color:var(--brand-secondary);font-weight:500}.download-progress-header .progress-bar{width:100%;height:4px;background-color:#0f477b33;border-radius:2px;overflow:hidden}:root{--tabbar-height: 56px}.tabbar{position:fixed;left:0;right:0;bottom:0;height:var(--tabbar-height);background:var(--header-bg);border-top:1px solid var(--header-border);display:flex;align-items:center;justify-content:space-around;z-index:100}.tabbar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-1);font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none;height:100%}.tabbar-item.active{color:var(--brand-primary)}.tabbar-item:hover{background:#0f477b1f}.content-panel{flex:1;min-height:0;display:flex;flex-direction:column}.download-progress-header .progress-fill{height:100%;background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary-soft));border-radius:2px;transition:width .3s ease}@media (max-width: 768px){.filter-controls{flex-direction:column;gap:.75rem;align-items:stretch}.filter-group{min-width:auto}.route-point{gap:.5rem}.route-details{min-width:0}.route-location{font-size:.8rem}.edit-row{flex-direction:column;align-items:stretch;gap:.25rem}.edit-row label{text-align:left;min-width:auto}.time-col{width:70px;padding:6px 0 6px 8px}.time-cell.primary .time{font-size:1.05rem}.time-cell.primary .weekday{font-size:.8rem}.content-col{padding:6px 8px}.trip-destination{font-size:1rem}.trip-card-content{padding:12px 0;min-height:70px}.track .dot{width:8px;height:8px}.track .line{width:2px}}.trip-destination{color:#fff;font-weight:600;font-size:1.1rem;flex:1;min-width:0;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em}.trip-distance{color:#fff;font-weight:700;font-size:1rem;white-space:nowrap;text-align:right;line-height:1.2}.trip-odometer-total{color:#888;font-weight:500;font-size:.85rem;white-space:nowrap;text-align:right;line-height:1}.trip-meta-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:60px}.stats-row{display:flex;align-items:center;justify-content:space-between;padding:2px 0}.purpose-row{display:flex;align-items:center;justify-content:space-between;padding:2px 0;margin-top:4px}.trip-duration{color:#888;font-size:.95rem;font-weight:500;line-height:1.2}.trip-category-icon{font-size:1.2rem;line-height:1}.trip-purpose-text{color:#fff;font-size:1rem;font-weight:400;line-height:1.3;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-business-indicator{display:flex;align-items:center;gap:.5rem}.business-tag{background:#f5a6232e;color:var(--brand-secondary);padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:600;border:1px solid rgba(245,166,35,.32)}.stat-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0 4px}.stat-left{color:#666;font-size:.95rem}.stat-right{color:#fff;font-size:1.05rem;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:flex-end;text-align:right;min-width:60px}.purpose-left{color:#fff;font-size:1rem;font-weight:400}.purpose-right{display:flex;align-items:center;gap:.4rem}.trip-icons{display:flex;gap:.5rem;align-items:center;font-size:.95rem}@media (min-width: 1440px){.trips-ios-container{max-width:1600px}.trips-ios-list{padding:20px}.trip-card{margin-bottom:20px}.time-col{width:110px}.trip-destination{font-size:1.15rem}.stat-left,.stat-right,.purpose-left{font-size:1.05rem}.trip-icons{font-size:1.1rem}}@media (min-width: 1920px){.trips-ios-container{max-width:1800px}.trips-ios-list{padding:24px 48px}.trip-card{margin-bottom:24px}}.sync-progress-indicator{display:flex;align-items:center;gap:8px;min-width:120px}.sync-progress-bar{flex:1;height:4px;background:#0f477b2e;border-radius:2px;overflow:hidden;min-width:60px}.sync-progress-fill{height:100%;background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary));border-radius:2px;transition:width .3s ease;animation:sync-pulse 2s ease-in-out infinite}.sync-progress-text{font-size:.75rem;color:var(--text-1);white-space:nowrap;min-width:40px;text-align:right}@keyframes sync-pulse{0%,to{opacity:.8}50%{opacity:1;box-shadow:0 0 8px #0f477b59}}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--card-bg);color:var(--text-0);border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:var(--card-shadow, 0 10px 30px rgba(0, 0, 0, .5));border:1px solid var(--border)}.onboarding-modal h2{color:var(--accent);margin-bottom:1.5rem;text-align:center}.progress-container{margin-bottom:1.5rem}.progress-bar{width:100%;height:8px;background:var(--border);border-radius:4px;overflow:hidden;position:relative}.progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.progress-text{display:block;text-align:center;margin-top:.5rem;color:var(--text-1);font-size:.9em}.status-message{text-align:center;margin:1.5rem 0;color:var(--text-0)}.status-message p{color:var(--text-0);margin:.5rem 0}.spinner{width:40px;height:40px;margin:0 auto 1rem;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.vehicle-selection{margin-top:1rem;color:var(--text-0)}.vehicle-list{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.vehicle-item{padding:1rem;background:var(--bg);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;text-align:left;color:var(--text-0)}.vehicle-item:hover{border-color:var(--accent);background:var(--card-bg)}.vehicle-item.selected{border-color:var(--accent);background:var(--card-bg);box-shadow:0 0 0 1px var(--accent)}.vehicle-info{display:flex;flex-direction:column;gap:.25rem}.vehicle-info strong{color:var(--text-0);font-size:1.1em}.vehicle-info span{color:var(--text-1);font-size:.9em}.vehicle-info .year{color:var(--text-1)}.complete-message{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-0)}.complete-message p{color:var(--text-0);margin:0}.checkmark{width:60px;height:60px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;animation:checkmark-scale .3s ease}@keyframes checkmark-scale{0%{transform:scale(0)}to{transform:scale(1)}}.btn-retry{margin-top:1rem;padding:.5rem 1rem;background:var(--brand-primary);color:#f4f7fd;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.btn-retry:hover{background:var(--brand-primary-strong)}.split-layout{--r: 10px;display:grid;grid-template-columns:420px 1fr;height:calc(100dvh - var(--header-h, 0px));background:var(--bg);color:var(--text-0);position:relative}.sidebar{background:var(--card-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;min-width:0;overflow:hidden}.sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.sidebar__title{margin:0;font-size:14px;color:var(--text-1);font-weight:600}.sidebar__close{display:none;background:none;color:var(--text-1);border:none;font-size:20px;cursor:pointer}.sidebar__scroll{overflow-y:auto;height:100%;padding:8px}.map-pane{position:relative;background:var(--bg)}.map-pane__inner{position:relative;height:100%;width:100%}.map-canvas{position:absolute;inset:0}.toolbar__toggle{position:absolute;top:14px;left:14px;z-index:10;background:var(--card-bg);color:var(--text-0);border:1px solid var(--border);border-radius:8px;padding:8px 10px;cursor:pointer;box-shadow:var(--card-shadow)}.map-info{position:absolute;right:24px;bottom:24px;z-index:1000;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r);padding:12px 16px;box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.map-info__title{font-weight:700;margin-bottom:6px}.map-info__grid{display:grid;grid-template-columns:auto 1fr;gap:6px 16px}.map-info__label{color:var(--text-1)}.map-info__value{color:var(--text-0);font-weight:600}.map-info__value--not-found{color:#ff3b30;font-style:italic}.map-scale{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:1000;pointer-events:none;color:var(--text-0)}.map-scale__bar{position:relative;height:10px;border-bottom:2px solid var(--text-0)}.map-scale__seg{position:absolute;left:0;bottom:-1px;height:10px;border-bottom:6px solid var(--text-0)}.map-scale__ticks{position:absolute;left:0;bottom:-2px;width:100%}.map-scale__ticks span{position:absolute;transform:translate(-50%);font-size:11px;margin-top:8px;color:var(--text-1)}.map-type-selector{position:absolute;top:12px;right:12px;z-index:1000}.map-type-select{background:var(--card-bg);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:12px;color:var(--text-0);cursor:pointer;outline:none;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.map-type-select:hover{border-color:var(--accent)}.map-type-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #0f477b3d}[data-theme=dark] .map-type-select{background:#0a2039e6;border-color:#1f569461;color:#f4f7fd}[data-theme=dark] .map-type-select:hover{background:#0a2039;border-color:#1f569480}.trip-card-content.selected{background:var(--card-bg);box-shadow:inset 4px 0 0 0 var(--accent)}.trip-card-content:hover{transform:translateY(-1px);background:var(--card-bg)}@media (max-width: 1279px){.split-layout{grid-template-columns:360px 1fr}}@media (max-width: 899px){.split-layout{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:100%;max-width:100%;height:100dvh;transform:translate(-100%);transition:transform .25s ease;z-index:20}.split-layout.drawer-open .sidebar{transform:translate(0)}.sidebar__close{display:inline-block}}.test-iphone-links{padding:2rem;max-width:1000px;margin:0 auto;color:var(--text-0);background:var(--bg)}.page-header{margin-bottom:2rem;text-align:center;border-bottom:1px solid var(--border);padding-bottom:1.5rem}.page-header h1{color:var(--text-0);margin:0 0 .5rem;font-size:2rem}.page-header p{color:var(--text-1);margin:0;font-size:1.1rem}.test-form{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:var(--card-shadow)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-0);font-weight:500;font-size:.95rem}.link-input{width:100%;padding:.75rem;background:var(--bg);color:var(--text-0);border:1px solid var(--border);border-radius:8px;font-size:.9rem;font-family:monospace;transition:border-color .2s,box-shadow .2s}.link-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0f477b40}.button-group{display:flex;gap:1rem;align-items:center}.btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--brand-primary-strong);transform:translateY(-1px)}.btn-secondary{background:var(--card-bg);color:var(--text-0);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border);transform:translateY(-1px)}.error-section,.payload-section,.decoded-section,.vehicles-section,.no-vehicles-section{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--card-shadow)}.error-section{border-color:#e74c3c;background:#e74c3c1a}.error-section h3{color:#e74c3c;margin:0 0 1rem;font-size:1.1rem}.error-text{background:#e74c3c33;padding:1rem;border-radius:6px;font-family:monospace;font-size:.85rem;color:#ff6b6b;white-space:pre-wrap;overflow-x:auto}.payload-section h3,.decoded-section h3,.vehicles-section h3,.no-vehicles-section h3{color:var(--text-0);margin:0 0 1rem;font-size:1.1rem}.payload-text{background:var(--bg);border:1px solid var(--border);padding:1rem;border-radius:6px;font-family:monospace;font-size:.8rem;color:var(--text-1);white-space:pre-wrap;word-break:break-all;overflow-x:auto}.decoded-fields{display:flex;flex-direction:column;gap:1rem}.field{border:1px solid var(--border);border-radius:8px;padding:1rem;background:var(--bg)}.field strong{color:var(--text-0);font-size:.9rem;display:block;margin-bottom:.5rem}.field-value{background:transparent;color:var(--text-1);font-family:monospace;font-size:.85rem;margin:0;padding:0;border:none;white-space:pre-wrap;word-break:break-all;overflow-x:auto}.vehicles-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.vehicle-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:8px}.vehicle-index{background:var(--accent);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600}.vehicle-name{color:var(--text-0);font-family:monospace;font-size:.9rem;font-weight:500}.vehicles-count{color:var(--text-1);font-size:.9rem;font-style:italic;margin:0}.no-vehicles-section{border-color:#f39c12;background:#f39c121a}.no-vehicles-section h3{color:#f39c12}.no-vehicles-section code{background:#f39c1233;padding:.25rem .5rem;border-radius:4px;font-family:monospace;color:#f39c12}.example-section{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1.5rem;box-shadow:var(--card-shadow)}.example-section h3{color:var(--text-0);margin:0 0 1rem;font-size:1.1rem}.example-section p{color:var(--text-1);margin:0 0 .75rem}.example-link{display:block;background:var(--bg);border:1px solid var(--border);padding:1rem;border-radius:6px;font-family:monospace;font-size:.8rem;color:var(--text-1);word-break:break-all;text-decoration:none;cursor:text;-webkit-user-select:all;user-select:all}@media (max-width: 768px){.test-iphone-links{padding:1rem}.page-header h1{font-size:1.5rem}.test-form,.error-section,.payload-section,.decoded-section,.vehicles-section,.no-vehicles-section,.example-section{padding:1rem}.button-group{flex-direction:column;align-items:stretch}.btn{width:100%}}.embedded-trip-list{--bg-primary: #FFFFFF;--bg-secondary: #F2F2F7;--bg-card: #FFFFFF;--text-primary: #000000;--text-secondary: #6E6E73;--border-color: #E5E5EA;--timeline-line: #C7C7CC;--shadow: 0px 1px 2px rgba(0,0,0,.05);--icon-color: #333333;--marker-start: #34C759;--marker-middle: #FFD60A;--marker-end: #FF3B30;--hover-bg: #F8F8F8;--selected-bg: #007AFF1A;--selected-border: #007AFF;height:100%;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,SF Pro,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:14px;min-height:0;overflow:hidden}html[data-theme=dark] .embedded-trip-list,[data-theme=dark] .embedded-trip-list,.embedded-trip-list[data-theme=dark]{--bg-primary: #0a0d10;--bg-secondary: #0f1318;--bg-card: #0f1318;--text-primary: #f0f2f5;--text-secondary: #a0a6ac;--border-color: rgba(255, 255, 255, .08);--timeline-line: #1a1e23;--shadow: 0 8px 25px -10px rgba(0, 0, 0, .4);--icon-color: #d0d5da;--marker-start: #30D158;--marker-middle: #FFD60A;--marker-end: #FF453A;--hover-bg: rgba(255, 255, 255, .04);--selected-bg: #007AFF33;--selected-border: #007AFF}.trip-list-header{padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-card)}.header-controls{display:flex;justify-content:space-between;align-items:center;gap:12px}.view-toggle{display:flex;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;width:fit-content}.vehicle-filter{display:flex;align-items:center}.vehicle-select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:6px 8px;font-size:12px;color:var(--text-primary);cursor:pointer;outline:none;transition:all .2s ease;min-width:100px}.vehicle-select:hover{border-color:var(--text-secondary)}.vehicle-select:focus{border-color:var(--selected-border);box-shadow:0 0 0 2px var(--selected-bg)}.vehicle-select option{background:var(--bg-card);color:var(--text-primary)}.view-option{padding:6px 12px;cursor:pointer;font-size:12px;color:var(--text-secondary);background:transparent;border:none;transition:all .2s ease}.view-option:hover:not(.active){background:var(--hover-bg);color:var(--text-primary)}.view-option.active{background:var(--selected-border);color:#fff}.trip-list-content{flex:1;overflow-y:auto;padding:8px}.day-group{margin-bottom:16px}.day-header{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:8px;padding:0 4px}.trip-card{background:var(--bg-card);border:1px solid var(--border-color);padding:12px;margin-bottom:8px;box-shadow:var(--shadow);transition:all .2s ease;position:relative;cursor:pointer}.trip-card:hover{background:var(--hover-bg)}.trip-card.selected{background:var(--selected-bg);border-color:var(--selected-border)}.trip-content{display:flex;justify-content:space-between;align-items:flex-start}.trip-left{flex:1}.trip-right{text-align:right;min-width:70px;display:flex;flex-direction:column;gap:3px}.trip-time{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;display:flex;align-items:center;gap:4px}.trip-time:before{content:"⏱";font-size:10px;opacity:.6}.embedded-trip-list[data-view=compact] .trip-time:before{display:none}.trip-reason{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px;padding:1px 0;opacity:1;display:flex;align-items:center}.trip-route-text{font-size:12px;color:var(--text-secondary);margin-bottom:3px;opacity:.7}.trip-route{position:relative;padding-left:20px;display:flex;flex-direction:column-reverse}.timeline{position:absolute;left:5px;top:1px;bottom:1px;width:2px;background:var(--timeline-line)}.route-point{position:relative;margin-top:6px;display:flex;align-items:center}.route-point:first-child{margin-top:0}.marker{position:absolute;top:4px;left:-18px;width:8px;height:8px;border-radius:50%;border:2px solid var(--bg-card);z-index:1}.marker.start{background:var(--marker-start)}.marker.middle{background:var(--marker-middle)}.marker.end{background:var(--marker-end)}.route-point-content{display:flex;align-items:flex-start;gap:8px;padding:2px 0}.route-point-content .location-info{align-items:flex-start}.route-time{font-size:12px;font-weight:600;color:var(--text-primary);min-width:42px;margin-top:1px}.route-point:not(:first-child) .route-time{font-size:11px;color:var(--text-secondary);font-weight:500}.location-info{flex:1;line-height:1.4;display:flex;flex-direction:column;gap:3px}.location-name{font-size:16px;font-weight:600;color:var(--text-primary);line-height:1.3;display:block;text-align:left!important}.location-name,.location-name *{text-align:left!important}.location-name.not-found{color:#ff3b30;font-style:italic}.embedded-trip-list[data-view=compact] .location-name{font-size:14px}.location-address{font-size:13px;color:var(--text-secondary);line-height:1.4;font-weight:400;opacity:.85;word-break:break-word}.embedded-trip-list[data-view=compact] .location-address{display:none}.location-icons{display:inline-flex;gap:2px;margin-left:4px}.trip-distance{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.embedded-trip-list[data-view=compact] .trip-distance{font-size:12px}.trip-odometer{font-size:12px;color:var(--text-secondary)}.embedded-trip-list[data-view=compact] .trip-odometer{font-size:10px}.detailed-view{display:block}.compact-view,.embedded-trip-list[data-view=compact] .detailed-view{display:none}.embedded-trip-list[data-view=compact] .compact-view{display:flex}.trip-route-compact{align-items:center;gap:6px;font-size:12px;color:var(--text-primary)}.trip-route-compact .not-found{color:#ff3b30;font-style:italic}.trip-time-range{font-size:12px;color:var(--text-secondary);letter-spacing:.01em;margin:2px 0 4px;line-height:1.3}.embedded-trip-list[data-view=compact] .trip-time-range{display:flex}.route-arrow{color:var(--text-secondary)}.trip-status{border-radius:8px;font-size:10px;font-weight:600;color:var(--text-primary);opacity:1;transition:opacity .2s ease}.trip-card:hover .trip-status{color:var(--text-secondary)}.empty-state{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:24px 16px;text-align:center;color:var(--text-secondary);margin:16px}.empty-state p{margin:0 0 8px}
