
  .search-panel { background: #eef4fb; border: 1px solid #c5d8ec; border-radius: 4px; padding: 12px 14px; margin-bottom: 16px; }
  .search-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

  .tryb-toggle { display: flex; border: 1px solid #4a90b8; border-radius: 4px; overflow: hidden; flex-shrink: 0; }
  .tryb-toggle input[type="radio"] { display: none; }
  .tryb-toggle label { padding: 6px 14px; font-size: 12px; font-weight: 600; cursor: pointer; background: #fff; color: #4a90b8; border: none; transition: background 0.15s, color 0.15s; white-space: nowrap; line-height: 1.4; }
  .tryb-toggle label:first-of-type { border-right: 1px solid #4a90b8; }
  .tryb-toggle input[type="radio"]:checked + label { background: #4a90b8; color: #fff; }

  .search-input-wrap { display: flex; gap: 6px; align-items: center; flex: 1; min-width: 260px; }
  .search-input-wrap input { flex: 1; padding: 6px 10px; border: 1px solid #aac; border-radius: 4px; font-size: 13px; background: #fff; color: #222; }
  .search-input-wrap input:focus { outline: none; border-color: #4a90b8; box-shadow: 0 0 0 2px rgba(74,144,184,0.15); }

  .btn-search { padding: 6px 18px; background: #1a7fc4; color: #fff; border: none; border-radius: 4px; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; flex-shrink: 0; }
  .btn-search:hover { background: #1265a0; }

  .search-hint { margin-top: 9px; font-size: 11px; color: #557; font-style: italic; }

  #status { margin-bottom: 10px; font-size: 12px; min-height: 16px; }
  #status.error { color: #c0392b; font-weight: 600; }
  #status.info  { color: #1a7fc4; }
  #status.ok    { color: #1a7341; }

  .results-count { font-size: 11px; color: #556; margin-bottom: 6px; }
  .results-count strong { color: #1a3a5c; }

  .results-table-wrap { overflow-x: auto; }
  table.results { width: 100%; border-collapse: collapse; font-size: 12px; }
  table.results thead th {
    background: #4a90b8;
    color: #fff;
    padding: 7px 10px;
    text-align: left;
    font-weight: 600;
    font-size: 11px;
    white-space: nowrap;
    border: 1px solid #3a7a9f;
    cursor: pointer;
    user-select: none;
    position: relative;
  }
  table.results thead th:hover { background: #3a7aaa; }
  table.results thead th.num { text-align: right; }
  table.results thead th .sort-icon { margin-left: 5px; opacity: 0.5; font-style: normal; }
  table.results thead th.sort-asc .sort-icon { opacity: 1; }
  table.results thead th.sort-asc .sort-icon::after { content: ' \25B2'; }
  table.results thead th.sort-desc .sort-icon { opacity: 1; }
  table.results thead th.sort-desc .sort-icon::after { content: ' \25BC'; }
  table.results thead th:not(.sort-asc):not(.sort-desc) .sort-icon::after { content: ' \25B4\25BE'; }

  table.results tbody tr:nth-child(even) { background: #f0f7fa; }
  table.results tbody tr:hover { background: #daeaf7; }
  table.results td { padding: 6px 10px; border: 1px solid #d0e4ee; vertical-align: middle; }
  table.results td.symbol { font-weight: 700; color: #1a3a5c; white-space: nowrap; }
  table.results td.num { text-align: right; white-space: nowrap; }
  table.results td.center { text-align: center; }

  a.link-uchwala { color: #1a5c9a; text-decoration: underline; font-weight: 600; white-space: nowrap; }
  a.link-uchwala:hover { color: #c0392b; }

  .btn-mapa { display: inline-block; padding: 4px 10px; background: #2e7d32; color: #fff; border-radius: 3px; font-size: 11px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background 0.15s; }
  .btn-mapa:hover { background: #1b5e20; }

  .empty-state { text-align: center; padding: 30px 20px; color: #778; }

  .spinner { display: inline-block; width: 13px; height: 13px; border: 2px solid #ccc; border-top-color: #1a7fc4; border-radius: 50%; animation: spin 0.6s linear infinite; vertical-align: middle; margin-right: 5px; }
  @keyframes spin { to { transform: rotate(360deg); } }