/* IT Serwis 7.0 — jeden motyw Bootstrap 6 + Roboto.
   Nakladka wizualna na formularze, tabele, karty i ekran ticket.php.
   Bez zmian obslugiwanych nazw pol, atrybutow name, POST czy zdarzen JS.
*/
.b7-app {
  --b7-navy:#081d34;
  --b7-accent:#087fca;
  --b7-border:#dbe5ef;
  --b7-muted:#647992;
  --b7-paper:#fff;
  --b7-soft:#f4f8fc;
  --bs-primary:#087fca;
  --bs-primary-rgb:8,127,202;
  --bs-body-font-size:13px;
  --bs-border-radius:0;
  --bs-border-radius-sm:0;
  --bs-border-radius-lg:0;
  --bs-border-radius-xl:0;
  --bs-border-radius-xxl:0;
  --bs-btn-border-radius:0;
  font-family:'IT Roboto',Roboto,'Segoe UI',Arial,sans-serif;
  font-size:13px;
  background:#f3f7fa;
}
.b7-app *, .b7-app *::before, .b7-app *::after { border-radius:0!important; }
.b7-app .b6-sidebar {background:linear-gradient(180deg,#071a30 0%,#0a2848 100%);width:220px;flex-basis:220px;border-right:1px solid #123f61;}
.b7-app .b6-side-brand {padding:18px 16px;min-height:75px;}
.b7-app .b6-side-brand img {width:40px;height:40px;object-fit:cover;}
.b7-app .b6-nav-caption {padding:23px 17px 10px;}
.b7-app .b6-side-links {padding:0 9px;gap:2px;}
.b7-app .b6-side-links a {min-height:39px;padding:7px 11px;font-size:12px;}
.b7-app .b6-side-links a.active {background:#123e5f;border-left-color:#12c4ff;}
.b7-app .b6-side-bottom {padding:15px 18px;}
.b7-app .b6-side-bottom strong {font-size:12px;margin:0;}
.b7-sidebar-sub {display:block;margin-top:3px;font-size:10px;color:#8bb4d5;}
.b7-mobile-menu {display:none;background:transparent;border:1px solid #2a5378;color:#d6ebff;padding:6px 11px;font:inherit;cursor:pointer;}
.b7-app .b6-topline {min-height:54px;padding:9px 24px;}
.b7-app .b6-content.container-fluid {max-width:1720px;padding:19px 26px 32px;}
.b7-app .b6-pagehead {align-items:center;margin-bottom:15px;}
.b7-app .b6-kicker {font-size:9px;letter-spacing:.15em;margin-bottom:3px;}
.b7-app .b6-pagehead h1 {font-size:clamp(20px,2vw,26px);letter-spacing:-.035em;}
.b7-app .b6-user-chip {border-left:1px solid #e0e7ef;}
.b7-app .b6-topline-right {gap:11px;}
.b7-app .b6-bottomline {padding:20px 0 6px;font-size:10px;}

/* Karty i sekcje modułów, włącznie z ekranem ticket.php */
.b7-app .panel {background:var(--b7-paper);padding:15px 18px;border:1px solid var(--b7-border);box-shadow:none;min-width:0;}
.b7-app .panel h2 {font-size:15px;font-weight:730;line-height:1.4;margin:0 0 13px;letter-spacing:-.01em;}
.b7-app .panel h3 {font-size:13px;font-weight:740;line-height:1.4;margin:0 0 11px;}
.b7-app .panel h2:not(:first-child) {border-top:1px solid var(--b7-border);padding-top:15px;margin-top:19px;}
.b7-app .panel h3:not(:first-child) {margin-top:15px;}
.b7-app .layout-two {gap:14px;}
.b7-app .stack {gap:14px;}
.b7-app .actionbar {margin-bottom:14px;gap:10px;}
.b7-app .actionbar h2 {margin:5px 0;font-size:19px;}
.b7-app .actionbuttons {gap:6px;}
.b7-app .section-title {gap:10px;}
.b7-app .stats {gap:10px;margin:11px 0 17px;}
.b7-app .stat {min-height:82px;padding:12px 14px;border-left:2px solid #0ba5e8;border-top:1px solid var(--b7-border);}
.b7-app .stat strong {font-size:26px;line-height:1.2;}
.b7-app .stat strong.money-figure {font-size:19px;}
.b7-app .stat span {font-size:10px;}

/* Bootstrap class names apply via unobtrusive progressive enhancement (JS).
   CSS below also covers legacy markup if JS is disabled. */
.b7-app label {font-size:11.5px;font-weight:700;line-height:1.45;color:#344c66;margin-bottom:10px;}
.b7-app .form-grid {gap:10px 14px;}
.b7-app .form-stack {gap:4px;}
.b7-app .form-stack label {margin-bottom:8px;}
.b7-app .form-actions {margin-top:13px;gap:8px;}
.b7-app :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), select, textarea) {
  min-height:36px;
  height:auto;
  margin-top:4px;
  padding:7px 10px;
  font-size:12.5px;
  line-height:1.35;
  border:1px solid #cbd9e7;
  background-color:#fff;
  color:#183047;
  box-shadow:none;
  outline:0;
}
.b7-app input[type="date"],.b7-app input[type="datetime-local"],.b7-app input[type="number"] {font-variant-numeric:tabular-nums;}
.b7-app textarea,.b7-app textarea.form-control {min-height:74px;resize:vertical;}
.b7-app :is(input,select,textarea):focus-visible {border-color:#168bcc;outline:2px solid rgba(8,127,202,.14);outline-offset:1px;box-shadow:none;}
.b7-app :is(input,select,textarea):disabled {background:#f0f3f6;color:#738397;}
.b7-app input[type="checkbox"],.b7-app input[type="radio"] {width:16px;height:16px;min-height:0;margin:0 5px 0 0;}
.b7-app .checkbox {display:flex;align-items:center;gap:6px;}
.b7-app input[type="file"] {padding:7px;}
.b7-app .hint,.b7-app .muted {color:var(--b7-muted);}
.b7-app .hint {font-size:11px;}
.b7-app .filters {background:#fff;border:1px solid var(--b7-border);padding:10px;gap:8px;margin-bottom:13px;align-items:end;}
.b7-app .filters label {margin:0;}
.b7-app .filters label select,.b7-app .filters label input {min-height:36px;}
.b7-app .inline-form {padding:12px;gap:9px;margin-top:12px;background:#f6f9fc;}
.b7-app .inline-form label {margin:0;}
.b7-app .inline-form input {min-height:36px;}
.b7-app .tiny-form {padding:10px;min-width:220px;margin-top:7px;}
.b7-app .tiny-form label {margin-bottom:5px;}
.b7-app .button,.b7-app .mini-button,.b7-app .button.btn,.b7-app .mini-button.btn {
  display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:35px;
  padding:7px 12px;font-size:12px;line-height:1.3;font-weight:700;
  background:#fff;color:#224562;border:1px solid #c6d7e7;box-shadow:none;
  text-align:center;text-decoration:none;cursor:pointer;
}
.b7-app .button:hover,.b7-app .mini-button:hover {background:#eaf4fa;border-color:#8fb7d9;color:#173f61;text-decoration:none;}
.b7-app .button.primary,.b7-app .button.primary.btn {background:#087fca;border-color:#087fca;color:white;}
.b7-app .button.primary:hover {background:#075f9d;border-color:#075f9d;color:#fff;}
.b7-app .button.ghost {background:transparent;}
.b7-app .mini-button,.b7-app .mini-button.btn {min-height:28px;padding:5px 8px;font-size:11px;}
.b7-app .button:focus-visible,.b7-app .mini-button:focus-visible,.b7-app .b7-mobile-menu:focus-visible {outline:2px solid #08a5ef;outline-offset:2px;}

/* Tabele są wizualnie tabelami Bootstrap (table table-sm align-middle). */
.b7-app .table-wrap {border:1px solid var(--b7-border);background:#fff;max-width:100%;}
.b7-app table,.b7-app table.table {width:100%;margin-bottom:0;font-size:12px;line-height:1.4;border-color:#e5ecf2;}
.b7-app table th,.b7-app table.table th {background:#eff4f8;color:#48627b;text-transform:uppercase;font-weight:790;font-size:10px;letter-spacing:.045em;padding:9px 10px;white-space:nowrap;border-color:#e0e8ef;}
.b7-app table td,.b7-app table.table td {padding:8px 10px;vertical-align:middle;border-color:#e8edf2;color:#233f59;background:#fff;}
.b7-app table tbody tr:hover td {background:#f1f8fe;}
.b7-app table td small {font-size:10px;}
.b7-app .empty {padding:22px;color:#75889c;}
.b7-app .strong-link {color:#075f9d;}
.b7-app .status,.b7-app .pill {font-size:10px;letter-spacing:0;font-weight:760;padding:3px 7px;}
.b7-app .alert {padding:9px 12px;font-size:12px;margin-bottom:12px;border-left-width:3px;}

/* Zgłoszenie: widoczny priorytet/status, mniejsze akordeony i panel działań. */
.b7-app .ticket-jump {margin-bottom:10px;background:white;gap:0;}
.b7-app .ticket-jump a {padding:8px 10px;font-size:11px;}
.b7-app .ticket-strip {margin-bottom:10px;border-left:2px solid #0784ce;}
.b7-app .ticket-strip > div {padding:9px 11px;}
.b7-app .ticket-strip span {font-size:9px;}
.b7-app .ticket-strip strong {font-size:11.5px;}
.b7-app .ticket-layout {gap:12px;grid-template-columns:minmax(0,1fr) 290px;}
.b7-app .ticket-primary {gap:8px;}
.b7-app .ticket-sidebar {gap:10px;top:10px;}
.b7-app .ticket-overview {padding:12px 14px;border-left-color:#0c9bdc;}
.b7-app .ticket-overview p {font-size:12px;}
.b7-app .ticket-accordion > summary {min-height:48px;padding:8px 12px;gap:9px;}
.b7-app .ticket-accordion > summary:hover {background:#f0f8fd;}
.b7-app .ticket-accordion[open] > summary {background:#eff6fb;}
.b7-app .ticket-acc-index {flex-basis:26px;width:26px;height:26px;font-size:10px;}
.b7-app .ticket-acc-text strong {font-size:12px;}
.b7-app .ticket-acc-text small {font-size:10px;margin-top:0;}
.b7-app .ticket-acc-body {padding:12px 14px;}
.b7-app .ticket-acc-body > .panel + .panel {margin-top:12px;padding-top:12px;}
.b7-app .ticket-sidebar > .panel {padding:13px 14px;}
.b7-app .ticket-sidebar > .panel h3 {font-size:13px;}
.b7-app .ticket-sidebar .form-stack .button {width:100%;}
.b7-app .ticket-sidebar .meta dt,.b7-app .ticket-sidebar .meta dd {font-size:11px;}
.b7-app .timeline {margin-bottom:10px;}
.b7-app .event {padding-bottom:13px;}
.b7-app .event p {font-size:12px;}
.b7-app .costs {padding-top:12px;margin-top:10px;gap:14px;}

/* Karty kontaktów, ustawienia, rozliczenia. Nie zmieniamy data-*, submit ani POST. */
.b7-app .layout-two > aside.panel {align-self:start;}
.b7-app details:not(.ticket-accordion) {margin-top:6px;}
.b7-app details:not(.ticket-accordion) > summary {padding:5px 0;font-size:11px;}
.b7-app details:not(.ticket-accordion)[open] {background:#fbfcfe;}
.b7-app .br-stat {padding:11px 13px;}
.b7-app .br-info {padding:10px 12px;}
.b7-app .br-filters {gap:9px;}
.b7-app .br-table th,.b7-app .br-table td {padding:8px 9px;}
.b7-app .payment-cell {gap:6px;}
.b7-app .panel.narrow {margin:26px auto;padding:26px;}

@media(max-width:1190px) {
  .b7-app .ticket-layout {grid-template-columns:minmax(0,1fr) 270px;}
  .b7-app .layout-two {grid-template-columns:minmax(0,1fr) minmax(250px,.75fr);}
}
@media(max-width:1020px) {
  .b7-app .b6-sidebar {width:72px;flex-basis:72px;}
  .b7-app .b6-side-bottom {display:none;}
  .b7-app .ticket-layout {grid-template-columns:minmax(0,1fr);}
  .b7-app .ticket-sidebar {position:static;order:-1;}
  .b7-app .layout-two {grid-template-columns:1fr;}
}
@media(max-width:720px) {
  .b7-app .b6-shell {display:block;}
  .b7-app .b6-sidebar {height:auto;min-height:0;width:100%;position:relative;padding:0;}
  .b7-app .b6-side-brand {padding:9px 14px;min-height:58px;display:inline-flex;}
  .b7-app .b6-side-brand span {display:block;}
  .b7-app .b6-side-brand img {width:35px;height:35px;}
  .b7-app .b6-nav-caption {display:none;}
  .b7-app .b6-side-links {flex-direction:row;overflow-x:auto;padding:7px;gap:2px;}
  .b7-app .b6-side-links a {white-space:nowrap;padding:8px 10px;min-height:35px;}
  .b7-app .b6-side-links a span:not(.b6-side-icon) {display:inline;}
  .b7-app.b7-enhanced .b7-mobile-menu {display:inline-flex;align-items:center;gap:8px;float:right;margin:13px 12px 0 0;}
  .b7-app.b7-enhanced .b6-side-links {display:none;flex-direction:column;max-height:70vh;overflow-y:auto;padding:7px;}
  .b7-app.b7-enhanced .b6-side-links.is-open {display:flex;}
  .b7-app .b6-topline {padding:9px 13px;min-height:46px;}
  .b7-app .b6-topline-left {font-size:9px;max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .b7-app .b6-topline-right {gap:5px;}
  .b7-app .b6-content.container-fluid {padding:14px 12px 25px;}
  .b7-app .b6-pagehead {display:flex;align-items:flex-start;gap:10px;}
  .b7-app .b6-pagehead-actions {margin-top:0;}
  .b7-app .b6-pagehead h1 {font-size:21px;}
  .b7-app .panel {padding:12px;}
  .b7-app .stats {grid-template-columns:repeat(2,minmax(0,1fr));}
  .b7-app .ticket-strip {grid-template-columns:repeat(2,minmax(0,1fr));}
  .b7-app .form-grid {grid-template-columns:1fr;gap:7px;}
  .b7-app .form-grid .span2 {grid-column:auto;}
  .b7-app .filters label,.b7-app .filters label:first-child {flex:1 1 100%;min-width:0;}
  .b7-app .filters .button {width:100%;}
  .b7-app .actionbuttons {width:100%;}
  .b7-app .actionbuttons .button {flex:1 1 150px;}
  .b7-app .inline-form label {flex:1 1 100%;}
  .b7-app .ticket-acc-body {padding:10px;}
}
@media(max-width:480px) {
  .b7-app .b6-pagehead {display:block;}
  .b7-app .b6-pagehead-actions {margin-top:9px;}
  .b7-app .b6-pagehead-actions .button {width:100%;}
  .b7-app .b6-topline-left {max-width:45%;}
  .b7-app .b6-user-chip strong {max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .b7-app .stats {grid-template-columns:repeat(2,minmax(0,1fr));}
  .b7-app .ticket-strip > div {padding:8px;}
  .b7-app .ticket-jump a {padding:8px;font-size:10px;}
}
@media print {
  .b7-app .b6-sidebar,.b7-app .b6-topline,.b7-app .b6-pagehead-actions,.b7-app .b7-mobile-menu {display:none!important;}
  .b7-app .b6-content.container-fluid {padding:0;max-width:100%;}
  .b7-app .panel,.b7-app .ticket-accordion {break-inside:auto;box-shadow:none;}
}
