@charset "UTF-8";
/* Cyber-Geo 0.8.7 UI – funkcjonalna równoważność motywów.
   Widżety, wyszukiwanie i filtry mają wspólny JS; poniżej wyłącznie wygląd.
   Profesjonalny zachowuje swoją oryginalną paletę i rozkład. */

/* Pełne podmenu Ustawień w Klasycznym: zwolnij miejsce z ramki informacyjnej. */
body:not(.theme-dark) .sidebar:has(.sidebar-settings-submenu:not([hidden])) .sidebar-note {display:none;}

/* Globalna wyszukiwarka w pasku nagłówka – również w Klasycznym i Nowoczesnym. */
body:not(.theme-dark) .cg-topbar-search {display:block; width:clamp(170px,23vw,360px); max-width:100%;}
body:not(.theme-dark) .cg-topbar-search label {background:var(--soft);border-color:var(--border);}
body:not(.theme-dark) .cg-topbar-search:focus-within label {border-color:var(--green);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 13%,transparent);}
body.theme-modern .cg-topbar-search label {background:#f4f8fc;}
.top-search-toggle {display:none;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;padding:7px;background:var(--paper);color:var(--green);border:1px solid var(--border);border-radius:9px;cursor:pointer;}
.top-search-toggle:hover,.top-search-toggle:focus-visible {background:var(--mint);}
.top-search-toggle svg {width:20px;height:20px;}

/* Wspólny blok pięciu statystyk, z odmienną paletą obu jasnych motywów. */
body:not(.theme-dark) .dark-dashboard-stats {gap:12px;margin-bottom:15px;}
body:not(.theme-dark) .dark-dashboard-stat {min-height:92px;padding:15px 12px;background:var(--paper);border-color:var(--border);border-radius:12px;box-shadow:0 2px 16px #0f34230a;}
body:not(.theme-dark) .dark-dashboard-stat>span {width:44px;height:46px;border-radius:11px;background:#e6f1eb;color:#245f4d;}
body:not(.theme-dark) .dark-dashboard-stat>span svg {width:23px;height:23px;}
body:not(.theme-dark) .dark-dashboard-stat small {color:var(--muted);font-size:11px;}
body:not(.theme-dark) .dark-dashboard-stat strong {font-size:24px;color:var(--ink);}
body:not(.theme-dark) .dark-dashboard-stat em {font-size:10px;color:var(--muted);}
body:not(.theme-dark) .dark-dashboard-stat.roads>span {background:#e4f1ff;color:#2677c2;}
body:not(.theme-dark) .dark-dashboard-stat.networks>span {background:#f0e8ff;color:#8351b6;}
body:not(.theme-dark) .dark-dashboard-stat.buildings>span {background:#fff0df;color:#b36e22;}
body:not(.theme-dark) .dark-dashboard-stat.month>span {background:#e8f0ff;color:#4379d3;}
body:not(.theme-dark) .dark-dashboard-stat.complete>span {background:#dcf4e9;color:#27805e;}
body.theme-modern .dark-dashboard-stat {box-shadow:0 6px 24px #325d7b0e;}
body:not(.theme-dark) .stats-grid {margin-bottom:18px;}
body:not(.theme-dark) .stats-grid .stat-card {padding:13px 16px;}
body:not(.theme-dark) .stats-grid .stat-number {font-size:23px;margin:9px 0 5px;}

/* Zaawansowane filtry zwijane w tych samych miejscach co w Profesjonalnym. */
body:not(.theme-dark) .order-filters:not(.filters-expanded) .advanced-filter {display:none;}
body:not(.theme-dark) .order-filters .advanced-filter {order:2;}
body:not(.theme-dark) .order-filters {background:var(--soft);}
body:not(.theme-dark) .order-filters.filters-expanded {background:var(--paper);}
body:not(.theme-dark) #dark-filter-toggle[aria-expanded="true"] {background:var(--mint);border-color:var(--green);color:var(--green);}

/* Podgląd mapy, aktywność i skróty identyczne funkcjonalnie; osobna kolorystyka. */
body:not(.theme-dark) .dark-dashboard-lower {display:grid;grid-template-columns:1.2fr 1.05fr .8fr;gap:15px;margin-top:18px;align-items:stretch;}
body:not(.theme-dark) .dark-dashboard-lower .panel {min-width:0;overflow:hidden;}
body:not(.theme-dark) .dark-widget-head {display:flex;gap:8px;justify-content:space-between;align-items:center;padding:15px 16px;margin:0;border-bottom:1px solid var(--border);}
body:not(.theme-dark) .dark-widget-head h2 {margin:0;color:var(--ink);font-size:14px;}
body:not(.theme-dark) .dark-map-illustration {margin:12px;min-height:170px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;text-align:center;color:var(--green);border:1px solid var(--border);border-radius:10px;background-color:var(--soft);background-image:repeating-linear-gradient(0deg,transparent 0 29px,color-mix(in srgb,var(--green) 8%,transparent) 30px),repeating-linear-gradient(90deg,transparent 0 29px,color-mix(in srgb,var(--green) 8%,transparent) 30px),linear-gradient(32deg,transparent 45%,color-mix(in srgb,var(--green) 13%,transparent) 46%,transparent 48%);}
body:not(.theme-dark) .dark-map-illustration>span {display:flex;gap:8px;align-items:center;color:var(--green);background:var(--paper);border:1px solid var(--border);padding:9px 13px;border-radius:9px;font-size:12px;font-weight:650;}
body:not(.theme-dark) .dark-map-illustration>p {max-width:270px;margin:0;padding:5px 8px;background:color-mix(in srgb,var(--paper) 83%,transparent);font-size:11px;line-height:1.55;color:var(--muted);}
body:not(.theme-dark) .dark-dashboard-activity .notification-row {padding:13px 15px;}
body:not(.theme-dark) .dark-shortcuts-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px;}
body:not(.theme-dark) .dark-shortcuts-grid button {min-height:84px;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--soft);border:1px solid var(--border);border-radius:10px;color:var(--green);font-size:11px;font-weight:650;cursor:pointer;}
body:not(.theme-dark) .dark-shortcuts-grid button:hover,body:not(.theme-dark) .dark-shortcuts-grid button:focus-visible {background:var(--mint);border-color:var(--green);}
body:not(.theme-dark) .dark-shortcuts-grid button svg {height:23px;width:23px;}
body.theme-modern .dark-map-illustration {background-color:#f2f8fd;}
body.theme-modern .dark-shortcuts-grid button {background:#f5faff;color:#176aa0;}

/* Klasyczny: komplet statusów, bez zmiany statusów ani praw w aplikacji. */
body:not(.theme-modern):not(.theme-dark) .status-badge.new {background:#ecf2fd;color:#376cb3;}
body:not(.theme-modern):not(.theme-dark) .status-badge.prepared,body:not(.theme-modern):not(.theme-dark) .status-badge.performed {background:#e5f5f3;color:#087c84;}
body:not(.theme-modern):not(.theme-dark) .status-badge.review_ready {background:#eaeefe;color:#5163a6;}
body:not(.theme-modern):not(.theme-dark) .status-badge.corrections {background:#f7eaff;color:#854eb0;}
body:not(.theme-modern):not(.theme-dark) .status-badge.submitted {background:#fff0da;color:#a46b15;}
body:not(.theme-modern):not(.theme-dark) .status-badge.approved,body:not(.theme-modern):not(.theme-dark) .status-badge.staked {background:#e3f5e9;color:#287e4c;}
body:not(.theme-modern):not(.theme-dark) .status-badge.not_approved {background:#fdecef;color:#ae3c5b;}
body:not(.theme-modern):not(.theme-dark) .status-badge.cancelled {background:#edf0f2;color:#677582;}

/* Dla mniejszych ekranów wyszukiwarka w osobnym, dostępnym panelu. */
@media(max-width:1250px) {
  .top-search-toggle {display:inline-flex;}
  body .cg-topbar-search,body.theme-dark .cg-topbar-search,body.theme-modern .cg-topbar-search {display:none!important;}
  body.search-open::before {content:"";position:fixed;inset:0;z-index:350;background:#08172886;}
  /* Nowoczesny i profesjonalny mają backdrop-filter na nagłówku: bez podniesienia
     warstwy jego potomkowie znaleźliby się POD półprzezroczystym tłem. */
  body.search-open .topbar {position:relative;z-index:351;}
  body.search-open .cg-topbar-search,body.search-open.theme-dark .cg-topbar-search,body.search-open.theme-modern .cg-topbar-search {display:block!important;position:fixed;z-index:351;left:50%;top:75px;transform:translateX(-50%);width:min(580px,calc(100vw - 26px));max-width:none;}
  body.search-open .cg-topbar-search label {background:var(--paper);box-shadow:0 12px 55px #00122550;min-height:52px;}
  body.search-open .cg-topbar-search input {height:46px;font-size:14px;}
  body.search-open .global-search-suggestions {min-width:0;}
  .topbar-right .date {display:none;}
}
@media(max-width:1100px) {
  body:not(.theme-dark) .dark-dashboard-lower {grid-template-columns:repeat(2,minmax(0,1fr));}
  body:not(.theme-dark) .dark-dashboard-lower .dark-dashboard-shortcuts {grid-column:span 2;}
  body:not(.theme-dark) .dark-dashboard-stats {grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:760px) {
  /* Starszy CSS ukrywał WSZYSTKIE przyciski inne niż primary w nagłówku.
     Zamiast tracić akcje, pokazujemy je w zawijanym układzie na telefonie. */
  .page-heading {flex-direction:column;align-items:stretch;}
  .page-heading .heading-actions {display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;width:100%;}
  .page-heading .heading-actions .btn:not(.primary) {display:inline-flex;}
  .page-heading .heading-actions .btn {min-height:34px;padding:7px 9px;font-size:10px;}
  .page-heading .heading-actions .compact-select {min-height:34px;max-width:100%;}
  body:not(.theme-dark) .dark-dashboard-stats {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  body:not(.theme-dark) .dark-dashboard-lower {grid-template-columns:1fr;gap:11px;}
  body:not(.theme-dark) .dark-dashboard-lower .dark-dashboard-shortcuts {grid-column:auto;}
  body.search-open .cg-topbar-search {top:67px;}
}
@media(max-width:520px) {
  body:not(.theme-dark) .dark-dashboard-stat {min-height:75px;padding:11px 9px;gap:9px;}
  body:not(.theme-dark) .dark-dashboard-stat>span {width:35px;height:38px;}
  body:not(.theme-dark) .dark-dashboard-stat strong {font-size:19px;}
  body:not(.theme-dark) .dark-dashboard-stat em {display:none;}
  body:not(.theme-dark) .dark-dashboard-stats {grid-template-columns:repeat(2,minmax(0,1fr));}
  body:not(.theme-dark) .dark-shortcuts-grid button {min-height:72px;}
}
