/* =====================================================================
   MobileSerwis - SKORKA: default (domyslna)  —  TYLKO kolory / zmienne motywu.
   Struktura, uklad, reset i wspolne reguly sa w theme/app.css.
   Ladowany w header.tpl PO app.css (skorka nadpisuje kolory).
   ===================================================================== */
#menu {
	--menu-accent: #2A9FFF;
	--menu-fg: #0a4a57;
	--menu-fg-hover: #0b3a44;
	--menu-tab-bg: rgba(255,255,255,.45);
	--menu-tab-bg-hover: rgba(255,255,255,.72);
	--menu-active-bg: #ffffff;
	--menu-active-fg: #0c6bb3;
}

tr.grid td,
tr.grid_title td,
table.grid tr th {
	text-align: center;
	text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2);
	background: #1c8444; /* a11y: najjasniejsza zielen utrzymujaca bialy tekst >=4.5:1 (4.71:1); blizej oryginalu #66d37d niz #0e7c4b */
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
	height: 30px;
	vertical-align: middle;
}

/* tlo wierszy grida (kolor per-skorka) - MUSI byc PO zielonej regule naglowka
   wyzej, ktora obejmuje tez selektor tr.grid td. Bazowa wersja byla w app.css
   i przegrywala z zielona (skorka laduje po app.css) -> wiersze nieparzyste
   wychodzily zielone. Inne skorki (dark/jasna/morska) maja wlasne odpowiedniki. */
tr.grid td {
	background: #ffffb0;
}

tr.grid_even td {
	background: #fcfcfc;
}

tr.grid_title td.grid_today, tr.grid td.grid_today, tr.grid_even td.grid_today {
	background: #8ddbf2;
	color: #0a2b35; /* a11y: ciemny tekst na #8ddbf2 = ~10:1 (bylo bialy 1.55:1); tlo bez zmian */
	font-weight: bold;
}

/* Kalendarze (wg dni / wg pracownika): skorka default zachowuje ORYGINALNE zolte tlo
   siatki. Nadpisuje neutralne --calbg-* z app.css; zakres table.grid.calendar (ta sama
   specyficznosc co w app.css, ale skorka laduje pozniej -> wygrywa). Jasna/morska zostaja
   neutralne. */
table.grid.calendar {
	--calbg-odd:  #ffffb0;
	--calbg-even: #fcfcfc;
	--calbg-today:#8ddbf2;
}
/* old content
#content {border: 2px solid black; background-color: #edf6ff; min-width:500px; min-height: 500px; margin-left: 25px; margin-right: 25px; }
*/

#order_popup {
	position: absolute;
	left: 0;
	top: 0;
	display: none;
	z-index: 20000;
	max-width: 460px;
	padding: 10px 12px;
	border: 1px solid #c8d2dc;
	border-radius: 8px;
	background: #ffffff;
	color: #2a3138;
	box-shadow: 0 6px 24px rgba(0,0,0,.18);
	font-size: 9pt;
	line-height: 1.45;
}
#order_popup b { color: #10171e; }
div.nav ul li a {
	color: #6b6b6b; /* a11y: paginacja >=4.5:1 (bylo #999 = 2.64:1) */
	font-weight: bold;
}

:root {
	--login-accent: #2A9FFF;
	--login-accent-ring: rgba(42,159,255,.22);
	--login-accent-shadow: rgba(42,159,255,.35);
	--login-card-bg: #ffffff;
	--login-head-bg: #f7fafc;
	--login-fg: #334155;
	--login-title: #1e293b;
	--login-muted: #64748b; /* a11y: tekst pomocniczy/placeholder >=4.5:1 na bialym */
	--login-input-bg: #ffffff;
	--login-input-border: #d8e0ea;
	--login-divider: rgba(0,0,0,.06);
}/* ============ LOGOWANIE (nowoczesna karta, sterowana zmiennymi skorki) ============ *//* HTML marker styles *//* HTML marker styles *//* ============ MODUL: calendar (modules/mod_calendar/calendar.css) ============ *//* ============ MODUL: orders (modules/mod_orders/orders.css) ============ *//* ============ MODUL: clients (modules/mod_clients/clients.css) ============ *//* ============ MODUL: devices (modules/mod_devices/devices.css) ============ *//* ============ MODUL: documentation (modules/mod_documentation/documentation.css) ============ *//* ============ MODUL: money (modules/mod_money/money.css) ============ *//* okno rozliczenia (ui-dialog): kompaktowy, przyklejony naglowek */
#money_form #form {
	position: sticky; top: 0; z-index: 10;
	margin: 0; padding: 8px 14px;
	border: 0; border-radius: 0;
	background: #fff;
	border-bottom: 1px solid #ccc;
	box-shadow: 0 2px 4px rgba(0,0,0,.08);
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap; text-align: left;
}
#money_form #form .mh-desc input { flex: 1 1 auto; padding: 5px 8px; border: 1px solid #ccc; border-radius: 4px;  }/* picker czesci w zleceniu (ui-dialog): przyklejony pasek filtrow + przewijana lista */
#parts_form #parts_search {
	position: sticky; top: 0; z-index: 5;
	margin: 0; padding: 6px 6px;
	background: #fff;
	border-bottom: 1px solid #ccc;
	box-shadow: 0 2px 4px rgba(0,0,0,.08);
}/* ============ MODUL: offers (modules/mod_offers/offers.css) ============ *//* ============ MODUL: products (modules/mod_products/products.css) ============ *//* ============ MODUL: protocols (modules/mod_protocols/protocols.css) ============ *//* ============ MODUL: raports (modules/mod_raports/raports.css) ============ *//* ============ MODUL: reminders (modules/mod_reminders/reminders.css) ============ *//* ============ MODUL: settings (modules/mod_settings/settings.css) ============ *//* ============ MODUL: voip (modules/mod_voip/voip.css) ============ *//* okno polaczenia VoIP - sterowane skorka przez zmienne --voip-* */
:root {
  --voip-bg:#ffffff; --voip-fg:#1f2d3a; --voip-muted:#5b6b7a;
  --voip-border:#d3e0ec; --voip-shadow:rgba(16,42,67,.30);
  --voip-accent:#2A9FFF; --voip-accent-d:#1f86df;
  --voip-head:#eaf4ff; --voip-phone:#0c6bb3;
  --voip-input-bg:#ffffff; --voip-input-bd:#cdd8e3;
  --voip-btn-bg:#eef3f8; --voip-btn-fg:#2d3e50; --voip-btn-bd:#cdd8e3; --voip-btn-h:#e0ebf6;
  --voip-ended:#eef1f4; --voip-missed:#c0392b; --voip-missed-bg:#fbeaea;
}/* pasek naglowka: Ukryj/Pokaz | status | Zamknij *//* tresc *//* przyciski (Ukryj / Pokaz / Zamknij / Zapisz) *//* pole komentarza *//* ikony akcji, plakietki, inne adresy *//* stany polaczenia (klasy ustawiane w voip.js) *//* --- kontenery wykresow (Raporty) --- *//* --- klasy przeniesione z inline style w szablonach (sterowane skorka) --- */
.panel-box { background-color: #f0f0f0; }
.split-pane { display: flex; flex: 1; border: 1px solid #000; }
.priority-high { color: #FF6666; }
.val-cancelled { font-weight: bold; color: #660000; }
.txt-disabled  { color: #ddd; }/* ===== Formularze: karty paneli (#order_form) + kontrolki (wizualnie, wszystkie okna) ===== */
#order_form fieldset:not(.tags), #client_form fieldset:not(.tags) {
  background: #fbfbfc;
  border: 1px solid #e2e4e8;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0,0,0,.08);
}

.text,
input[type="text"], input[type="password"], input[type="number"], input[type="search"],
input[type="email"], input[type="tel"], input[type="date"], input[type="time"],
select, textarea {
  border: 1px solid #c9ced6;
  border-radius: 5px;
  padding: 4px 7px;
  background-color: #ffffff;
  color: #333333;
  outline: none;
  transition: border-color .12s, box-shadow .12s;
}
.text:focus,
input:focus, select:focus, textarea:focus {
  border-color: #2A9FFF;
  box-shadow: 0 0 0 3px rgba(42,159,255,.25);
}

select:not([multiple]) {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23555555' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  padding-right: 24px;
  cursor: pointer;
}/* --- szerokie pola formularza zlecenia (Opis usterki/naprawy, Uwagi, Protokol, Paragon) na pelna szerokosc panelu --- *//* komorki akcji w tabelach - ikony nie zawijaja sie do nowej linii *//* floating label paskow filtrow - kolor turkusu menu skorki default
   (zamiast niebieskiego akcentu, ktory odstawal od reszty) */
:root { --flab-bg: #1ba4bd; }

/* kolory regul ze wspolna struktura (struktura -> app.css) */
#order_popup td {
	background: transparent;
	color: #2a3138;
}

#order_popup td:first-child {
	color: #6b7884;
}

.charts {
	background-color: #f0f0f0;
}

.split-resizer {
	background-color: #cbd5e0;
}

.val-neg {
	color: #C20000;
}

.val-pos {
	color: #00C200;
}

input[type="checkbox"], input[type="radio"] {
	accent-color: #2A9FFF;
}
