    body {
      margin: 0;
      padding: 20px;
      font-family: Arial, sans-serif;
    /*  background: #f7f7f7; */
      color: #222;
    }

    .route-widget {
      max-width: 1100px;
      margin: 0 auto;
    }

    .route-controls {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-bottom: 14px;
      align-items: center;
    }

    .route-controls input,
    .route-controls select,
    .route-controls button {
      height: 48px;
      font-size: 16px;
      border-radius: 12px;
      box-sizing: border-box;
    }

    .route-controls input {
      flex: 1 1 46px;
      min-width: 280px;
      padding: 0 16px;
      border: 1px solid #cfcfcf;
      background: #fff;
      outline: none;
    }

    .route-controls select {
      min-width: 260px;
      padding: 0 12px;
      border: 1px solid #cfcfcf;
      background: #fff;
      outline: none;
    }

    .route-controls button {
      padding: 0 22px;
      border: 0;
      background: #1a73e8;
      color: #fff;
      cursor: pointer;
      white-space: nowrap;
    }

    .route-controls button:hover {
      opacity: 0.92;
    }

    #route-error {
      margin-bottom: 12px;
      color: #c62828;
      font-size: 14px;
      min-height: 18px;
    }

    .route-summary {
      display: none;
      margin-bottom: 14px;
      padding: 14px;
      background: #fff;
      border: 1px solid #e5e5e5;
      border-radius: 14px;
    }

    .route-summary-grid {
      display: grid;
      grid-template-columns: repeat(5, minmax(120px, 1fr));
      gap: 12px;
    }

    .route-summary-item {
      padding: 10px 12px;
      background: #f8f9fb;
      border-radius: 10px;
    }

    .route-summary-label {
      display: block;
      font-size: 12px;
      color: #666;
      margin-bottom: 6px;
    }

    .route-summary-value {
      display: block;
      font-size: 16px;
      font-weight: 700;
      line-height: 1.3;
      word-break: break-word;
    }

    .route-summary-note {
      margin-top: 12px;
      font-size: 14px;
      color: #8a5a00;
    }

    #route-map {
      width: 100%;
      height: 560px;
      border-radius: 14px;
      overflow: hidden;
      border: 1px solid #e5e5e5;
      background: #ececec;
    }

    .pac-container {
      z-index: 9999 !important;
    }

    @media (max-width: 900px) {
      .route-summary-grid {
        grid-template-columns: repeat(2, minmax(120px, 1fr));
      }
    }

    @media (max-width: 768px) {
      body {
        padding: 12px;
      }

      .route-controls {
        flex-direction: column;
        align-items: stretch;
      }

      .route-controls input,
      .route-controls select,
      .route-controls button {
        width: 100%;
        min-width: auto;
      }

      .route-summary-grid {
        grid-template-columns: 1fr;
      }

      #route-map {
        height: 420px;
      }
    }