body{overflow:hidden}main{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden;margin:0;padding:0;max-width:100%}.app-description{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--gray-100);border-bottom:1px solid var(--border-color);text-align:center;font-style:italic;color:var(--text-muted);flex-shrink:0;margin:0}body.dark-theme .app-description{background-color:var(--gray-200)}#map{flex-grow:1;width:100%;background-color:var(--gray-200);z-index:1;margin:0;padding:0;border:none}.drawer-container{position:fixed;bottom:50px;left:0;width:100%;z-index:1005;pointer-events:none}.drawer{background-color:var(--card-bg);border-top:1px solid var(--border-color);width:100%;max-height:0;overflow:hidden;transition:max-height .3s ease-out;box-shadow:0 -3px 6px #00000026;pointer-events:auto}.drawer.open{max-height:250px;border-top:1px solid var(--gray-400)}.drawer-content{padding:var(--spacing-md) var(--spacing-xl) var(--spacing-md) var(--spacing-md);position:relative;display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:center;justify-content:center}.drawer-close-button{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:none;border:none;font-size:1.8em;font-weight:700;color:var(--gray-500);cursor:pointer;padding:0 5px;line-height:1}.drawer-close-button:hover{color:var(--gray-800)}.drawer .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:0}.drawer .form-group label{font-size:.9em;color:var(--text-color);text-align:left}.drawer input[type=text],.drawer input[type=number]{padding:var(--spacing-sm);border:1px solid var(--input-border-color);border-radius:var(--border-radius-sm);min-width:150px;background-color:var(--input-bg-color);color:var(--text-color)}.drawer .button-group{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center}#start-journey{background-color:var(--success);color:#fff;border-color:var(--success)}#start-journey:hover:not(:disabled){background-color:#05b386}#end-journey{background-color:var(--danger);color:#fff;border-color:var(--danger)}#end-journey:hover:not(:disabled){background-color:#d63e60}#save-journey{background-color:var(--secondary);color:#fff;border-color:var(--secondary)}#save-journey:hover:not(:disabled){background-color:#43b4d8}#reset-journey{background-color:var(--warning);color:var(--gray-800);border-color:var(--warning)}#reset-journey:hover:not(:disabled){background-color:#e6bc5c}#custom-dialog .modal-content{text-align:center}#custom-dialog #dialog-message{margin-bottom:var(--spacing-lg)}#custom-dialog #dialog-message code{background-color:var(--gray-200);padding:2px 5px;border-radius:3px;font-family:monospace}.dialog-button-container{display:flex;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-lg);flex-wrap:wrap}.dialog-button-container button{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-sm);font-size:1em;font-weight:500;cursor:pointer;min-width:90px;transition:var(--transition)}.dialog-button-default{background-color:var(--gray-600);color:#fff}.dialog-button-default:hover{background-color:var(--gray-700)}.dialog-button-ok{background-color:var(--primary);color:#fff}.dialog-button-ok:hover{background-color:var(--primary-dark)}.dialog-button-cancel{background-color:var(--gray-600);color:#fff}.dialog-button-cancel:hover{background-color:var(--gray-700)}.dialog-button-confirm{background-color:var(--success);color:#fff}.dialog-button-confirm:hover{background-color:#05b386}.dialog-button-danger{background-color:var(--danger);color:#fff}.dialog-button-danger:hover{background-color:#d63e60}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#ffffffbf;z-index:3000;display:flex;flex-direction:column;justify-content:center;align-items:center}body.dark-theme .loading-overlay{background-color:#000000bf}.loading-spinner{border:5px solid var(--gray-200);border-top:5px solid var(--primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}#loading-message{margin-top:var(--spacing-md);font-size:1.1em;color:var(--text-color);font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.leaflet-control{pointer-events:none;box-shadow:var(--box-shadow);border-radius:var(--border-radius-sm);background-clip:padding-box}.leaflet-control>*{pointer-events:auto}.leaflet-bar{background-color:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--box-shadow)}.leaflet-bar a,.leaflet-bar button{background-color:var(--card-bg);border-bottom:1px solid var(--border-color);color:var(--text-color);width:30px;height:30px;line-height:30px;text-align:center;text-decoration:none;font-size:1.2em;display:block}.leaflet-bar a:hover,.leaflet-bar button:hover{background-color:var(--gray-200);color:var(--text-color)}.leaflet-bar a:first-child,.leaflet-bar button:first-child{border-radius:var(--border-radius-sm) var(--border-radius-sm) 0 0}.leaflet-bar a:last-child,.leaflet-bar button:last-child{border-radius:0 0 var(--border-radius-sm) var(--border-radius-sm);border-bottom:none}.leaflet-bar a.leaflet-disabled,.leaflet-bar button.leaflet-disabled{cursor:default;opacity:.5}.leaflet-control-custom{background:none;border:none;margin:0;padding:0;box-shadow:none}#toggle-drawer{background-color:var(--primary);color:#fff;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--border-radius-sm);box-shadow:var(--box-shadow);font-size:.9em;font-weight:500;line-height:1.4;text-align:center;cursor:pointer;pointer-events:auto;transition:var(--transition);text-indent:0;white-space:nowrap;margin:var(--spacing-sm)}#toggle-drawer:hover{background-color:var(--primary-dark)}.leaflet-bar button#toggle-drawer{width:auto;height:auto;line-height:1.4;border-radius:var(--border-radius-sm);border-bottom:none}.journey-info-panel{background-color:var(--card-bg);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);box-shadow:var(--box-shadow);max-width:250px;font-size:.85em;line-height:1.5;color:var(--text-color);margin:var(--spacing-sm);border:1px solid var(--border-color)}.journey-info-panel h4{margin-top:0;margin-bottom:var(--spacing-xs);font-size:1.1em;border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-xs);color:var(--gray-800)}.journey-info-panel p{margin-bottom:var(--spacing-xs)}.journey-info-panel p:last-child{margin-bottom:0}.journey-info-panel strong{color:var(--gray-800);min-width:60px;display:inline-block}.journey-info-panel span{color:var(--primary);font-weight:500}#journey-info-placeholder{font-style:italic;color:var(--text-muted);text-align:center}.journey-point-icon div{background-color:var(--primary);width:8px;height:8px;border-radius:50%;border:1px solid white;box-shadow:0 0 4px #0009}@media (max-width: 768px){body{padding-top:110px}.drawer-content{flex-direction:column;gap:var(--spacing-sm)}.drawer .form-group{width:100%}.drawer input[type=text],.drawer input[type=number]{width:100%;min-width:0}.drawer .button-group{width:100%;justify-content:center}.journey-info-panel{max-width:180px;font-size:.8em}}@media (max-width: 480px){body{padding-top:120px}.drawer.open{max-height:320px}.journey-info-panel{max-width:150px;padding:var(--spacing-xs) var(--spacing-sm)}.journey-info-panel h4{font-size:1em}}
