/* Basic login form style */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: linear-gradient(135deg, #4169e1 0%, #1e90ff 100%);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  color: #222;
}

.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 20px;
}

.login-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 30px;
  width: min(90vw, 360px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
}

.login-card h1 {
  margin-top: 0;
  margin-bottom: 8px;
  font-size: 1.75rem;
  text-align: center;
}

.login-card p {
  margin-top: 0;
  margin-bottom: 24px;
  color: #555;
  text-align: center;
}

.login-form label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
}

.login-form input {
  width: 100%;
  margin-bottom: 16px;
  padding: 12px 14px;
  border: 1px solid #cdd6e3;
  border-radius: 8px;
  font-size: 1rem;
}

.login-form input:focus {
  outline: none;
  border-color: #2e8bff;
  box-shadow: 0 0 0 3px rgba(30, 144, 255, 0.2);
}

.login-form button {
  width: 100%;
  padding: 12px;
  border: none;
  border-radius: 8px;
  background-color: #1e90ff;
  color: white;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
}

.login-form button:hover {
  background-color: #187bdb;
}

.company-body {
  margin: 0;
  font-family: Arial, sans-serif;
  background: #f2f5fa;
  color: #1f2937;
}

.company-page {
  min-height: 100vh;
  padding: 24px;
}

.company-layout {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.company-menu {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
  padding: 18px;
}

.company-menu h2 {
  margin: 0 0 12px;
  font-size: 1.1rem;
  font-weight: 700;
}

.company-menu nav a {
  display: block;
  text-decoration: none;
  color: #1f2937;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 10px 12px;
  font-weight: 400;
}

.company-menu nav a:hover {
  background: #eff6ff;
  border-color: #93c5fd;
}

.company-card {
  width: min(960px, 100%);
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
  padding: 24px;
}

.company-card h1 {
  margin: 0 0 18px;
  font-size: 1.6rem;
}

.company-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 14px 16px;
}

.company-field {
  display: flex;
  flex-direction: column;
}

.company-field.full {
  grid-column: 1 / -1;
}

.company-field label {
  font-weight: 600;
  margin-bottom: 6px;
}

.company-field input,
.company-field select,
.company-field textarea {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 0.95rem;
  background: #fff;
}

.company-field input:focus,
.company-field select:focus,
.company-field textarea:focus {
  outline: none;
  border-color: #1d4ed8;
  box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15);
}

.company-field textarea {
  min-height: 110px;
  resize: vertical;
}

.company-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  margin-top: 6px;
}

.company-actions button {
  border: none;
  border-radius: 8px;
  padding: 11px 18px;
  background: #0b5ed7;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.company-actions button:hover {
  background: #0a51b5;
}

@media (max-width: 760px) {
  .company-layout {
    grid-template-columns: 1fr;
  }

  .company-form {
    grid-template-columns: 1fr;
  }
}

/* ── List Companies table ── */
.companies-table-wrap {
  overflow-x: auto;
}

.companies-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.companies-table th,
.companies-table td {
  padding: 9px 12px;
  text-align: left;
  border-bottom: 1px solid #e2e8f0;
  white-space: nowrap;
}

.companies-table thead th {
  background: #f1f5f9;
  font-weight: 600;
  color: #334155;
  border-top: 2px solid #cbd5e1;
}

.companies-table tbody tr:hover {
  background: #f8fafc;
}

.companies-table .badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 600;
}

.companies-table .badge-yes {
  background: #dcfce7;
  color: #166534;
}

.companies-table .badge-no {
  background: #fee2e2;
  color: #991b1b;
}

.companies-empty {
  margin-top: 20px;
  color: #64748b;
  font-style: italic;
}

.companies-edit-link {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 6px;
  background: #0b5ed7;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.75rem;
}

.companies-edit-link:hover {
  background: #0a51b5;
}

.invoice-edit-message {
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 16px;
  font-weight: 600;
}

.invoice-edit-success {
  background: #ecfdf3;
  border: 1px solid #bbf7d0;
  color: #166534;
}

.invoice-edit-error {
  background: #fff5f5;
  border: 1px solid #fecaca;
  color: #991b1b;
}

.invoice-edit-products {
  grid-column: 1 / -1;
  margin-top: 8px;
}

.invoice-edit-products h2 {
  margin: 0 0 12px;
  font-size: 1.1rem;
}

.invoice-edit-table td {
  white-space: normal;
}

.invoice-edit-input {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 9px 10px;
  font-size: 0.92rem;
  background: #fff;
}

.invoice-edit-input:focus {
  outline: none;
  border-color: #1d4ed8;
  box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15);
}

.invoice-edit-textarea {
  min-height: 96px;
  resize: vertical;
}

/* Invoice view page */
.invoice-view-body {
  margin: 0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #1e293b;
  background: #f7f8fb;
  padding: 24px;
}

.invoice-view-body * {
  box-sizing: border-box;
}

.invoice-wrap {
  max-width: 1100px;
  margin: 0 auto;
  background: #ffffff;
  border: 1px solid #dbe2ea;
  border-radius: 12px;
  padding: 24px;
}

.invoice-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}

.invoice-actions-group {
  display: flex;
  align-items: center;
  gap: 10px;
}

.invoice-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.invoice-top {
  display: grid;
  grid-template-columns: 1fr 0.8fr 1fr;
  gap: 18px;
  margin-bottom: 22px;
}

.invoice-wrap .card {
  border: 1px solid #dbe2ea;
  border-radius: 10px;
  padding: 14px;
  background: #fff;
  min-height: 180px;
}

.invoice-wrap .card h2 {
  margin: 0 0 10px;
  font-size: 1rem;
  color: #0b5ed7;
}

.invoice-wrap .line {
  margin: 4px 0;
  font-size: 0.92rem;
}

.invoice-wrap .line strong {
  color: #0f172a;
}

.invoice-mid {
  text-align: center;
}

.invoice-no {
  font-size: 1.35rem;
  font-weight: 700;
  margin: 10px 0;
}

.invoice-section-title {
  margin: 22px 0 10px;
  font-size: 1rem;
  color: #0b5ed7;
}

.invoice-wrap table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 8px;
  font-size: 0.92rem;
}

.invoice-wrap th,
.invoice-wrap td {
  border: 1px solid #dbe2ea;
  padding: 9px 8px;
  text-align: left;
  vertical-align: top;
}

.invoice-wrap th {
  background: #eef4ff;
  font-weight: 600;
}

.invoice-wrap td.num,
.invoice-wrap th.num {
  text-align: right;
  white-space: nowrap;
}

.invoice-wrap .totals {
  margin-top: 10px;
  margin-left: auto;
  width: 340px;
  border: 1px solid #dbe2ea;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fafcff;
}

.invoice-wrap .totals .row {
  display: flex;
  justify-content: space-between;
  margin: 6px 0;
  font-size: 0.95rem;
}

.invoice-wrap .totals .grand {
  font-size: 1.02rem;
  font-weight: 700;
  border-top: 1px solid #dbe2ea;
  padding-top: 8px;
  margin-top: 8px;
}

.invoice-wrap .empty {
  border: 1px dashed #dbe2ea;
  padding: 16px;
  border-radius: 10px;
  color: #64748b;
  text-align: center;
}

.invoice-wrap .error {
  border: 1px solid #fecaca;
  background: #fff5f5;
  color: #991b1b;
  border-radius: 10px;
  padding: 12px;
}

@media (max-width: 900px) {
  .invoice-top {
    grid-template-columns: 1fr;
  }

  .invoice-wrap .totals {
    width: 100%;
  }
}

/* Legacy invoice look for printInvoice.php */
.invoice-legacy-page {
  background: #fff;
  padding: 12px;
  color: #000;
  font-family: "Times New Roman", Times, serif;
}

.invoice-wrap.invoice-legacy {
  max-width: 100%;
  border: 1px solid #000;
  border-radius: 0;
  box-shadow: none;
  padding: 10px;
}

.invoice-legacy .invoice-top {
  grid-template-columns: 1fr 0.62fr 1fr;
  gap: 8px;
  margin-bottom: 8px;
}

.invoice-legacy .card {
  border: 1px solid #000;
  border-radius: 0;
  padding: 8px;
  min-height: 170px;
  background: #fff;
}

.invoice-legacy .card h2 {
  color: #000;
  font-size: 1.06rem;
  margin-bottom: 6px;
}

.invoice-legacy .line {
  margin: 2px 0;
  line-height: 1.25;
  font-size: 0.9rem;
}

.invoice-legacy table {
  font-size: 0.88rem;
  margin-top: 6px;
}

.invoice-legacy th,
.invoice-legacy td {
  border: 1px solid #000;
  padding: 5px 6px;
  background: #fff;
}

.invoice-legacy th {
  background: #fff;
  font-weight: 700;
}

.invoice-legacy .num {
  text-align: right;
  white-space: nowrap;
}

@media print {
  @page {
    size: A4 portrait;
    margin: 8mm;
  }

  body.invoice-legacy-page {
    margin: 0;
    padding: 0;
    background: #fff;
    color: #000;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .invoice-wrap.invoice-legacy {
    border: 0;
    padding: 0;
    margin: 0;
  }

  .invoice-legacy .invoice-top,
  .invoice-legacy .card,
  .invoice-legacy table,
  .invoice-legacy tr,
  .invoice-legacy td,
  .invoice-legacy th {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .invoice-legacy thead {
    display: table-header-group;
  }
}

/* ========================================================================== */
/* ZET OFFICE v1.1 — interface refresh (2026-09)                              */
/* ========================================================================== */

:root {
  --zet-blue-950: #0a1d35;
  --zet-blue-900: #0c2746;
  --zet-blue-800: #123d69;
  --zet-blue-700: #17558e;
  --zet-blue-600: #1e6ca8;
  --zet-blue-500: #2c84c6;
  --zet-blue-100: #e8f3fb;
  --zet-blue-50: #f3f8fc;
  --zet-slate-950: #17202b;
  --zet-slate-700: #4a596a;
  --zet-slate-500: #7b8794;
  --zet-slate-300: #cfd8e2;
  --zet-slate-200: #e3e9ef;
  --zet-slate-100: #eef2f6;
  --zet-white: #ffffff;
  --zet-bg: #edf2f6;
  --zet-shadow: 0 18px 50px rgba(22, 44, 70, 0.10);
}

/* Login */
.login-v2-body {
  min-height: 100vh;
  margin: 0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  background:
    linear-gradient(110deg, rgba(8, 27, 48, 0.68), rgba(15, 56, 93, 0.28) 52%, rgba(255, 255, 255, 0.08)),
    url('../images/login-office.png') center center / cover no-repeat fixed;
  color: var(--zet-slate-950);
}

.login-v2-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: clamp(24px, 5vw, 76px);
}

.login-v2-card {
  width: min(430px, 100%);
  padding: 34px;
  border: 1px solid rgba(255, 255, 255, 0.52);
  border-radius: 24px;
  background: rgba(247, 250, 253, 0.78);
  box-shadow: 0 28px 80px rgba(4, 20, 36, 0.30);
  -webkit-backdrop-filter: blur(20px) saturate(125%);
  backdrop-filter: blur(20px) saturate(125%);
}

.login-v2-brand,
.admin-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.login-v2-logo,
.admin-brand-mark {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--zet-blue-800), var(--zet-blue-500));
  color: #fff;
  font-weight: 800;
  font-size: 1.25rem;
  letter-spacing: -0.05em;
  box-shadow: 0 9px 22px rgba(23, 85, 142, 0.25);
}

.login-v2-brand strong,
.admin-brand strong {
  display: block;
  color: var(--zet-blue-950);
  font-size: 1rem;
}

.login-v2-brand span,
.admin-brand span {
  display: block;
  margin-top: 2px;
  color: var(--zet-slate-500);
  font-size: 0.75rem;
}

.login-v2-heading {
  margin: 34px 0 24px;
}

.login-v2-kicker,
.dashboard-eyebrow {
  display: inline-block;
  color: var(--zet-blue-600);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
}

.login-v2-heading h1 {
  margin: 6px 0 7px;
  color: var(--zet-blue-950);
  font-size: clamp(2rem, 5vw, 2.55rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.login-v2-heading p {
  margin: 0;
  color: #566474;
  font-size: 0.94rem;
}

.login-v2-message {
  margin-bottom: 18px;
  padding: 11px 13px;
  border: 1px solid rgba(185, 28, 28, 0.18);
  border-radius: 11px;
  background: rgba(254, 242, 242, 0.86);
  color: #991b1b;
  font-size: 0.87rem;
  font-weight: 650;
}

.login-v2-form label {
  display: block;
  margin: 0 0 7px;
  color: #344354;
  font-size: 0.82rem;
  font-weight: 700;
}

.login-v2-control {
  position: relative;
  margin-bottom: 17px;
}

.login-v2-control svg {
  position: absolute;
  top: 50%;
  left: 14px;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  fill: #718096;
  pointer-events: none;
}

.login-v2-control input {
  width: 100%;
  height: 49px;
  padding: 0 14px 0 43px;
  border: 1px solid rgba(111, 132, 153, 0.30);
  border-radius: 12px;
  outline: none;
  background: rgba(255, 255, 255, 0.72);
  color: #1e2c3a;
  font: inherit;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.login-v2-control input:focus {
  border-color: rgba(30, 108, 168, 0.68);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 0 0 4px rgba(44, 132, 198, 0.11);
}

.login-v2-form button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  height: 50px;
  margin-top: 6px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--zet-blue-800), var(--zet-blue-600));
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 750;
  box-shadow: 0 12px 24px rgba(18, 61, 105, 0.22);
  transition: transform .18s ease, box-shadow .18s ease;
}

.login-v2-form button:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 30px rgba(18, 61, 105, 0.28);
}

.login-v2-form button svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.login-v2-footer {
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid rgba(104, 123, 143, 0.18);
  color: #7b8794;
  text-align: center;
  font-size: 0.75rem;
}

/* Administration shell */
.company-body {
  background:
    radial-gradient(circle at 10% 0%, rgba(44, 132, 198, 0.08), transparent 28%),
    var(--zet-bg);
  color: var(--zet-slate-950);
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

.company-page {
  min-height: 100vh;
  padding: 22px;
}

.company-layout {
  width: min(1540px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 286px;
  gap: 22px;
  align-items: start;
}

.company-layout > .company-menu {
  grid-column: 2;
  grid-row: 1;
}

.company-layout > :not(.company-menu) {
  grid-column: 1;
  grid-row: 1;
}

.company-menu {
  position: sticky;
  top: 22px;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: calc(100vh - 44px);
  padding: 17px;
  overflow: hidden;
  border: 1px solid rgba(207, 216, 226, 0.82);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--zet-shadow);
}

.admin-brand {
  padding: 5px 5px 18px;
  border-bottom: 1px solid var(--zet-slate-200);
}

.admin-nav {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 15px;
}

.admin-nav-link,
.admin-nav-summary,
.admin-subnav-link,
.admin-logout {
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.admin-nav-link,
.admin-nav-summary {
  display: flex;
  align-items: center;
  min-height: 46px;
  gap: 11px;
  padding: 10px 11px;
  border-radius: 12px;
  color: #48586a;
  cursor: pointer;
  font-size: 0.89rem;
  font-weight: 700;
  transition: background .16s ease, color .16s ease, transform .16s ease;
}

.admin-nav-link:hover,
.admin-nav-summary:hover {
  background: var(--zet-blue-50);
  color: var(--zet-blue-800);
}

.admin-nav-link.is-active,
.admin-nav-summary.is-active {
  background: linear-gradient(135deg, #eaf4fb, #f4f8fc);
  color: var(--zet-blue-800);
  box-shadow: inset 3px 0 0 var(--zet-blue-500);
}

.admin-nav-icon,
.admin-subnav-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.admin-nav-icon svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}

.admin-nav-group {
  border: 0;
}

.admin-nav-group > summary {
  list-style: none;
}

.admin-nav-group > summary::-webkit-details-marker {
  display: none;
}

.admin-nav-label {
  flex: 1;
}

.admin-nav-chevron {
  margin-left: auto;
  color: #91a0af;
  font-size: 1rem;
  transition: transform .18s ease;
}

.admin-nav-group[open] .admin-nav-chevron {
  transform: rotate(180deg);
}

.admin-subnav {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin: 2px 0 5px 19px;
  padding: 4px 0 4px 14px;
  border-left: 1px solid #dbe4ec;
}

.admin-subnav-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 9px;
  border-radius: 9px;
  color: #6b7786;
  font-size: 0.80rem;
  font-weight: 650;
}

.admin-subnav-link:hover,
.admin-subnav-link.is-active {
  background: #f0f6fb;
  color: var(--zet-blue-700);
}

.admin-subnav-icon svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}

.admin-menu-footer {
  margin-top: auto;
  padding-top: 17px;
  border-top: 1px solid var(--zet-slate-200);
}

.admin-user-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 3px 4px 12px;
}

.admin-user-avatar {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background: #e8f3fb;
  color: var(--zet-blue-800);
  font-weight: 800;
}

.admin-user-copy {
  min-width: 0;
}

.admin-user-copy strong,
.admin-user-copy span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-user-copy strong {
  color: #334252;
  font-size: 0.82rem;
}

.admin-user-copy span {
  margin-top: 2px;
  color: #8a97a5;
  font-size: 0.72rem;
}

.admin-logout {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 10px 11px;
  border-radius: 11px;
  background: #f5f7f9;
  color: #576574;
  font-size: 0.84rem;
  font-weight: 700;
}

.admin-logout:hover {
  background: #eef3f7;
  color: var(--zet-blue-800);
}

/* Existing content cards refreshed */
.company-card,
.invoice-wrap {
  width: 100%;
  max-width: none;
  border: 1px solid rgba(207, 216, 226, 0.78);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--zet-shadow);
}

.company-card {
  padding: clamp(20px, 3vw, 30px);
}

.company-card h1 {
  color: var(--zet-blue-950);
  font-size: 1.55rem;
  letter-spacing: -0.025em;
}

.company-field label {
  color: #455466;
  font-size: 0.82rem;
}

.company-field input,
.company-field select,
.company-field textarea {
  border-color: #d2dce6;
  border-radius: 10px;
  background: #fbfcfd;
}

.company-field input:focus,
.company-field select:focus,
.company-field textarea:focus {
  border-color: var(--zet-blue-500);
  box-shadow: 0 0 0 4px rgba(44, 132, 198, 0.10);
}

.company-actions button {
  border-radius: 10px;
  background: linear-gradient(135deg, var(--zet-blue-800), var(--zet-blue-600));
  box-shadow: 0 9px 20px rgba(18, 61, 105, 0.16);
}

.company-actions button:hover {
  background: linear-gradient(135deg, #0f365e, #1c649c);
}

.companies-table thead th {
  background: #edf5fb;
  color: #3c5369;
}

.companies-table tbody tr:hover {
  background: #f7fafc;
}

/* Dashboard */
.dashboard-page {
  min-width: 0;
}

.dashboard-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 18px;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid rgba(207, 216, 226, 0.80);
  border-radius: 20px;
  background:
    radial-gradient(circle at 93% 15%, rgba(44, 132, 198, 0.14), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,249,252,.98));
  box-shadow: var(--zet-shadow);
}

.dashboard-hero h1 {
  margin: 5px 0 8px;
  color: var(--zet-blue-950);
  font-size: clamp(1.75rem, 4vw, 2.55rem);
  letter-spacing: -0.045em;
  line-height: 1.06;
}

.dashboard-hero p {
  max-width: 730px;
  margin: 0;
  color: #657486;
  line-height: 1.55;
}

.dashboard-date-card {
  flex: 0 0 auto;
  min-width: 145px;
  padding: 15px 17px;
  border: 1px solid #d9e5ee;
  border-radius: 15px;
  background: rgba(255,255,255,.77);
  text-align: right;
}

.dashboard-date-card span,
.dashboard-date-card strong {
  display: block;
}

.dashboard-date-card span {
  margin-bottom: 4px;
  color: #81909e;
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.dashboard-date-card strong {
  color: var(--zet-blue-800);
  font-size: 1.08rem;
}

.dashboard-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
  margin-bottom: 18px;
}

.dashboard-stat-card {
  display: flex;
  align-items: center;
  min-height: 128px;
  gap: 15px;
  padding: 18px;
  border: 1px solid rgba(207, 216, 226, 0.82);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 10px 30px rgba(22, 44, 70, 0.07);
  color: inherit;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.dashboard-stat-card:hover {
  transform: translateY(-2px);
  border-color: #c0d7e8;
  box-shadow: 0 16px 34px rgba(22, 44, 70, 0.11);
}

.dashboard-stat-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 14px;
  background: #eaf4fb;
  color: var(--zet-blue-700);
}

.dashboard-stat-icon svg {
  width: 23px;
  height: 23px;
  fill: currentColor;
}

.dashboard-stat-copy {
  min-width: 0;
}

.dashboard-stat-copy small,
.dashboard-stat-copy strong,
.dashboard-stat-copy em {
  display: block;
}

.dashboard-stat-copy small {
  margin-bottom: 3px;
  color: #7c8996;
  font-size: .76rem;
  font-weight: 650;
}

.dashboard-stat-copy strong {
  color: var(--zet-blue-950);
  font-size: 1.75rem;
  line-height: 1.1;
  letter-spacing: -.04em;
}

.dashboard-stat-copy em {
  margin-top: 5px;
  color: var(--zet-blue-600);
  font-size: .72rem;
  font-style: normal;
  font-weight: 700;
}

.dashboard-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(270px, .75fr);
  gap: 18px;
}

.dashboard-panel {
  min-width: 0;
  padding: 22px;
  border: 1px solid rgba(207, 216, 226, 0.82);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 32px rgba(22, 44, 70, 0.075);
}

.dashboard-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.dashboard-panel-head h2 {
  margin: 4px 0 0;
  color: var(--zet-blue-950);
  font-size: 1.15rem;
}

.dashboard-panel-head > a {
  color: var(--zet-blue-600);
  text-decoration: none;
  font-size: .78rem;
  font-weight: 750;
}

.dashboard-table-wrap {
  overflow-x: auto;
}

.dashboard-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .82rem;
}

.dashboard-table th,
.dashboard-table td {
  padding: 12px 10px;
  border-bottom: 1px solid #e8edf2;
  text-align: left;
  vertical-align: middle;
}

.dashboard-table th {
  color: #7b8895;
  font-size: .71rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.dashboard-table tbody tr:last-child td {
  border-bottom: 0;
}

.dashboard-invoice-link {
  color: var(--zet-blue-700);
  font-weight: 800;
  text-decoration: none;
}

.dashboard-status {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef2f6;
  color: #617080;
  font-size: .69rem;
  font-weight: 750;
  white-space: nowrap;
}

.dashboard-status.is-success { background: #e7f7ef; color: #287b52; }
.dashboard-status.is-info { background: #e8f3fb; color: #25618f; }
.dashboard-status.is-danger { background: #fbeaea; color: #a23b3b; }
.dashboard-status.is-neutral { background: #f0f2f4; color: #68737e; }

.dashboard-quick-grid {
  display: grid;
  gap: 9px;
}

.dashboard-quick-grid a {
  display: grid;
  grid-template-columns: 35px 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  padding: 11px;
  border: 1px solid #e2e9ef;
  border-radius: 12px;
  background: #f9fbfc;
  color: inherit;
  text-decoration: none;
}

.dashboard-quick-grid a:hover {
  border-color: #c9ddea;
  background: #f3f8fb;
}

.dashboard-quick-grid a > span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  border-radius: 10px;
  background: #e7f2fa;
  color: var(--zet-blue-700);
  font-size: 1.1rem;
  font-weight: 600;
}

.dashboard-quick-grid strong {
  align-self: end;
  color: #354454;
  font-size: .82rem;
}

.dashboard-quick-grid small {
  margin-top: 2px;
  color: #85919d;
  font-size: .70rem;
}

.dashboard-empty {
  padding: 24px;
  border: 1px dashed #d6e0e8;
  border-radius: 12px;
  color: #7e8a96;
  text-align: center;
  font-size: .84rem;
}

@media (max-width: 1120px) {
  .dashboard-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-columns {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .company-page {
    padding: 12px;
  }

  .company-layout {
    grid-template-columns: 1fr;
  }

  .company-layout > .company-menu,
  .company-layout > :not(.company-menu) {
    grid-column: 1;
  }

  .company-layout > .company-menu {
    grid-row: 1;
    position: static;
    min-height: 0;
  }

  .company-layout > :not(.company-menu) {
    grid-row: 2;
  }

  .admin-menu-footer {
    margin-top: 16px;
  }

  .dashboard-hero {
    align-items: flex-start;
    flex-direction: column;
  }

  .dashboard-date-card {
    width: 100%;
    text-align: left;
  }
}

@media (max-width: 600px) {
  .login-v2-page {
    align-items: flex-end;
    padding: 14px;
  }

  .login-v2-card {
    padding: 25px 21px;
    border-radius: 20px;
  }

  .dashboard-stat-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-panel {
    padding: 17px;
  }
}

/* Preserve print layouts */
@media print {
  .company-menu {
    display: none !important;
  }
}

/* ========================================================================== */
/* ZET OFFICE v1.2 — left navigation, responsive shell, product VAT input     */
/* ========================================================================== */

/* Desktop: navigation belongs on the left. */
.company-layout {
  grid-template-columns: 286px minmax(0, 1fr);
}

.company-layout > .company-menu {
  grid-column: 1;
  grid-row: 1;
}

.company-layout > :not(.company-menu) {
  grid-column: 2;
  grid-row: 1;
}

.admin-mobile-toggle,
.admin-menu-backdrop,
.admin-menu-close {
  display: none;
}

.company-menu {
  overflow-y: auto;
  overscroll-behavior: contain;
}

.admin-brand-copy {
  min-width: 0;
  flex: 1;
}

.page-heading-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.page-heading-row h1 {
  margin: 5px 0 0;
}

.page-back-link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid #d6e1ea;
  border-radius: 10px;
  background: #f8fbfd;
  color: var(--zet-blue-700);
  text-decoration: none;
  font-size: .80rem;
  font-weight: 750;
  white-space: nowrap;
}

.form-message {
  margin: 0 0 16px;
  padding: 11px 13px;
  border-radius: 11px;
  font-size: .86rem;
  font-weight: 650;
}

.form-message.is-success {
  border: 1px solid #bae6cf;
  background: #effaf4;
  color: #21714b;
}

.form-message.is-error {
  border: 1px solid #efc5c5;
  background: #fff4f4;
  color: #9d3232;
}

.invoice-number-input {
  display: flex;
  align-items: center;
  min-height: 44px;
  overflow: hidden;
  border: 1px solid #d2dce6;
  border-radius: 10px;
  background: #fbfcfd;
}

.invoice-number-input:focus-within {
  border-color: var(--zet-blue-500);
  box-shadow: 0 0 0 4px rgba(44, 132, 198, 0.10);
}

.invoice-number-input span {
  align-self: stretch;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border-right: 1px solid #dbe4ec;
  background: #eef5fa;
  color: #5b6e80;
  font-weight: 800;
}

.invoice-number-input input {
  min-width: 0;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.price-calculation-note {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #d5e5f0;
  border-radius: 12px;
  background: #f3f8fc;
  color: #536577;
  font-size: .80rem;
  line-height: 1.45;
}

.price-calculation-note strong {
  flex: 0 0 auto;
  color: var(--zet-blue-800);
}

.dashboard-warning {
  margin: 0 0 16px;
  padding: 11px 13px;
  border: 1px solid #ead9aa;
  border-radius: 12px;
  background: #fffaf0;
  color: #745d23;
  font-size: .82rem;
  font-weight: 650;
}

/* Keep wide legacy tables usable instead of squeezing columns into unreadable widths. */
.companies-table-wrap,
.dashboard-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.invoice-actions {
  flex-wrap: wrap;
}

@media (max-width: 1100px) {
  .company-layout {
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 16px;
  }

  .company-menu {
    padding: 14px;
  }
}

@media (max-width: 900px) {
  html,
  body.company-body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body.admin-menu-open {
    overflow: hidden;
  }

  .company-page {
    padding: 70px 12px 14px;
  }

  .company-layout {
    display: block;
    width: 100%;
    max-width: 100%;
  }

  .company-layout > .company-menu,
  .company-layout > :not(.company-menu) {
    grid-column: auto;
    grid-row: auto;
  }

  .admin-mobile-toggle {
    position: fixed;
    top: max(10px, env(safe-area-inset-top));
    left: max(10px, env(safe-area-inset-left));
    z-index: 1150;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 9px 13px;
    border: 1px solid rgba(194, 208, 220, .92);
    border-radius: 12px;
    background: rgba(255,255,255,.95);
    box-shadow: 0 8px 24px rgba(22, 44, 70, .14);
    color: var(--zet-blue-900);
    cursor: pointer;
    font: inherit;
    font-size: .83rem;
    font-weight: 800;
    backdrop-filter: blur(12px);
  }

  .admin-mobile-toggle-icon {
    display: grid;
    gap: 3px;
    width: 18px;
  }

  .admin-mobile-toggle-icon span {
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
  }

  .admin-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1190;
    display: block;
    visibility: hidden;
    opacity: 0;
    background: rgba(8, 25, 42, .42);
    transition: opacity .2s ease, visibility .2s ease;
  }

  .admin-menu-open .admin-menu-backdrop {
    visibility: visible;
    opacity: 1;
  }

  .company-menu {
    position: fixed !important;
    top: 0 !important;
    left: 0;
    z-index: 1200;
    width: min(88vw, 320px);
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    padding: max(16px, env(safe-area-inset-top)) 15px max(16px, env(safe-area-inset-bottom));
    border: 0;
    border-right: 1px solid #d4dee8;
    border-radius: 0 20px 20px 0;
    box-shadow: 18px 0 50px rgba(16, 38, 60, .20);
    transform: translateX(-105%);
    transition: transform .22s ease;
    overflow-y: auto;
    background: rgba(255,255,255,.985);
  }

  .admin-menu-open .company-menu {
    transform: translateX(0);
  }

  .admin-menu-close {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    margin-left: auto;
    border: 0;
    border-radius: 10px;
    background: #f0f5f8;
    color: #607182;
    cursor: pointer;
    font-size: 1.55rem;
    line-height: 1;
  }

  .admin-nav-link,
  .admin-nav-summary,
  .admin-logout {
    min-height: 48px;
  }

  .admin-subnav-link {
    min-height: 42px;
  }

  .company-card,
  .invoice-wrap,
  .dashboard-page,
  .dashboard-panel,
  .dashboard-hero {
    max-width: 100%;
    min-width: 0;
  }

  .company-card,
  .invoice-wrap {
    border-radius: 16px;
  }

  .dashboard-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-columns {
    grid-template-columns: 1fr;
  }

  .companies-table {
    min-width: 720px;
  }

  .invoice-wrap > table,
  .invoice-wrap .invoice-table {
    min-width: 720px;
  }

  .invoice-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .ef-table {
    min-width: 720px;
  }

  .company-card {
    min-width: 0;
  }
}

@media (max-width: 680px) {
  .company-page {
    padding-left: 9px;
    padding-right: 9px;
  }

  .company-card {
    padding: 16px;
  }

  .company-form {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }

  .company-field.full,
  .company-actions,
  .price-calculation-note {
    grid-column: 1;
  }

  .company-field input,
  .company-field select,
  .company-field textarea {
    min-height: 44px;
    font-size: 16px; /* prevents iOS zooming form fields */
  }

  .company-field textarea {
    min-height: 105px;
  }

  .company-actions {
    justify-content: stretch;
  }

  .company-actions button {
    width: 100%;
    min-height: 46px;
  }

  .page-heading-row {
    flex-direction: column;
    gap: 10px;
  }

  .page-back-link {
    width: 100%;
    justify-content: center;
  }

  .price-calculation-note {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .dashboard-hero {
    padding: 18px;
    border-radius: 16px;
  }

  .dashboard-hero h1 {
    font-size: 1.72rem;
  }

  .dashboard-stat-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .dashboard-stat-card {
    min-height: 104px;
    padding: 15px;
  }

  .dashboard-stat-copy strong {
    font-size: 1.55rem;
  }

  .dashboard-panel {
    padding: 15px;
    border-radius: 15px;
  }

  .dashboard-panel-head {
    align-items: flex-start;
  }

  /* Dashboard table becomes readable cards on phones. */
  .dashboard-table-wrap {
    overflow: visible;
  }

  .dashboard-table,
  .dashboard-table tbody,
  .dashboard-table tr,
  .dashboard-table td {
    display: block;
    width: 100%;
  }

  .dashboard-table thead {
    display: none;
  }

  .dashboard-table tr {
    margin-bottom: 10px;
    padding: 10px 12px;
    border: 1px solid #e3eaf0;
    border-radius: 12px;
    background: #fbfcfd;
  }

  .dashboard-table td {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 10px;
    padding: 7px 0;
    border: 0;
    text-align: right;
    overflow-wrap: anywhere;
  }

  .dashboard-table td::before {
    content: attr(data-label);
    color: #7c8996;
    text-align: left;
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .dashboard-table td > * {
    justify-self: end;
  }

  .dashboard-quick-grid a {
    min-height: 58px;
  }

  .invoice-actions,
  .invoice-actions-group {
    width: 100%;
    justify-content: flex-start;
  }

  .login-v2-page {
    min-height: 100svh;
  }
}

@media (max-width: 420px) {
  .admin-mobile-toggle > span:last-child {
    display: none;
  }

  .admin-mobile-toggle {
    width: 44px;
    padding: 0;
    justify-content: center;
  }

  .dashboard-date-card {
    min-width: 0;
  }
}

/* v1.3 — profile data, ANAF lookup hints and native date pickers */
.field-help {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-size: .82rem;
  line-height: 1.4;
}

.field-help.is-warning,
.company-lookup-info[data-state="error"] {
  color: #b42318;
}

.company-lookup-info[data-state="loading"] {
  color: #1d4ed8;
}

.company-lookup-info[data-state="success"] {
  color: #15803d;
}

.form-message {
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 10px;
  font-weight: 700;
}

.form-message.success {
  background: #ecfdf3;
  color: #166534;
  border: 1px solid #bbf7d0;
}

.form-message.error {
  background: #fff1f2;
  color: #b42318;
  border: 1px solid #fecdd3;
}

.invoice-user-profile {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 18px;
  padding: 12px 14px;
  border: 1px solid #dbeafe;
  border-radius: 12px;
  background: #f8fbff;
}

.invoice-user-profile > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.invoice-user-profile strong {
  color: #1e3a5f;
}

.invoice-user-profile span {
  color: #64748b;
  overflow-wrap: anywhere;
}

.invoice-user-profile a {
  flex: 0 0 auto;
  color: #1d4ed8;
  font-weight: 700;
  text-decoration: none;
}

.invoice-user-profile.has-warning {
  background: #fff8eb;
  border-color: #fed7aa;
}

.company-actions button:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.native-date-picker {
  cursor: pointer;
}

@media (max-width: 640px) {
  .invoice-user-profile {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* ===== ZET Office v1.4 ===== */

/* Companiile anulate rămân vizibile în istoric, dar sunt evidențiate clar. */
.companies-table tbody tr.company-row-canceled,
.companies-table tbody tr.company-row-canceled:hover {
  background: #fee2e2 !important;
}

.companies-table tbody tr.company-row-canceled td {
  border-bottom-color: #fecaca;
  color: #7f1d1d;
}

/* Autocomplete companie la emiterea facturii. */
.company-autocomplete {
  position: relative;
}

.company-autocomplete-list {
  position: absolute;
  z-index: 80;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  max-height: 320px;
  overflow-y: auto;
  padding: 6px;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .16);
}

.company-autocomplete-option {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 3px;
  border: 0;
  border-radius: 9px;
  padding: 10px 12px;
  text-align: left;
  background: transparent;
  color: #0f172a;
  cursor: pointer;
}

.company-autocomplete-option:hover,
.company-autocomplete-option.is-highlighted {
  background: #eff6ff;
}

.company-autocomplete-option strong {
  font-size: .94rem;
}

.company-autocomplete-option span {
  color: #64748b;
  font-size: .8rem;
}

.company-autocomplete-empty {
  padding: 12px;
  color: #991b1b;
  font-size: .9rem;
}

.company-autocomplete input.is-invalid-selection {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, .10);
}

/* Paginare vizibilă pentru listele mari. */
.list-pagination-summary {
  margin: -8px 0 16px;
  color: #64748b;
  font-size: .88rem;
}

.pagination-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #e2e8f0;
}

.pagination-bar .companies-edit-link,
.pagination-bar strong {
  min-width: 36px;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border-radius: 9px;
}

.pagination-bar strong {
  background: #2563eb;
  color: #fff;
  box-shadow: 0 5px 12px rgba(37, 99, 235, .22);
}

/* Inputurile de dată trebuie să se comporte ca un singur control clicabil. */
input.native-date-picker,
input[type="date"],
input[type="datetime-local"],
input[type="time"] {
  cursor: pointer;
}

.password-change-card {
  max-width: 720px;
}

.form-message.is-warning {
  color: #92400e;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 10px;
  padding: 11px 13px;
}

@media (max-width: 760px) {
  .company-autocomplete-list {
    position: fixed;
    left: 12px;
    right: 12px;
    top: auto;
    bottom: 16px;
    max-height: min(55vh, 420px);
    border-radius: 16px;
  }

  .pagination-bar {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
  }

  .pagination-bar > * {
    flex: 0 0 auto;
  }
}

/* WebKit/Safari fallback: extinde zona activă a iconiței calendar pe întregul input. */
@supports selector(input::-webkit-calendar-picker-indicator) {
  input[type="date"],
  input[type="datetime-local"],
  input[type="time"] {
    position: relative;
  }

  input[type="date"]::-webkit-calendar-picker-indicator,
  input[type="datetime-local"]::-webkit-calendar-picker-indicator,
  input[type="time"]::-webkit-calendar-picker-indicator {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
  }
}

/* ========================================================================== */
/* ZET OFFICE v1.5 — CAPTCHA, reports, fiscal/POS and reusable notices        */
/* ========================================================================== */

.admin-user-profile-link {
  display: block;
  color: #24384b;
  font-weight: 750;
  text-decoration: none;
  line-height: 1.2;
}

.admin-user-profile-link:hover {
  color: var(--zet-blue-700, #24658f);
  text-decoration: underline;
}

.login-captcha-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 7px 0 10px;
}

.login-captcha-image {
  display: block;
  width: min(190px, calc(100% - 54px));
  height: 64px;
  border-radius: 11px;
  box-shadow: 0 5px 18px rgba(28, 58, 82, .10);
}

.login-captcha-refresh {
  flex: 0 0 44px !important;
  width: 44px !important;
  min-height: 44px;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.32) !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.14) !important;
  color: #fff !important;
  font-size: 1.45rem !important;
  line-height: 1 !important;
}

.zet-notice {
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid #d7e1ea;
  border-radius: 12px;
  background: #f8fafc;
  color: #425466;
  line-height: 1.5;
}

.zet-notice a {
  color: inherit;
  font-weight: 750;
}

.zet-notice-danger {
  border-color: #e6a5aa;
  background: #fff0f1;
  color: #8e2630;
}

.zet-notice-warning {
  border-color: #ead09a;
  background: #fff9e9;
  color: #785619;
}

.zet-notice-info {
  border-color: #b7d5e9;
  background: #f0f7fb;
  color: #315f7e;
}

.duplicate-company-links {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 9px 0 5px;
}

.duplicate-company-links a {
  display: inline-flex;
  padding: 5px 8px;
  border: 1px solid rgba(120,86,25,.2);
  border-radius: 8px;
  background: rgba(255,255,255,.6);
  text-decoration: none;
  font-size: .82rem;
}

.page-eyebrow {
  display: block;
  margin-bottom: 5px;
  color: #5e7b91;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-subtitle {
  max-width: 780px;
  margin: -8px 0 0;
  color: #68798a;
  line-height: 1.55;
}

.primary-action,
.secondary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 14px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 750;
}

.primary-action {
  background: #2f6f9f;
  color: #fff;
}

.secondary-action {
  margin-left: 8px;
  border: 1px solid #cbd8e2;
  background: #fff;
  color: #486174;
}

/* Reports */
.report-page-card,
.fiscal-page-card {
  width: 100%;
  max-width: none;
}

.report-kpi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.report-kpi {
  min-width: 0;
  padding: 16px;
  border: 1px solid #dfe8ef;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #f8fbfd);
  box-shadow: 0 7px 18px rgba(35, 64, 86, .06);
}

.report-kpi span,
.report-kpi small {
  display: block;
  color: #718191;
}

.report-kpi span {
  margin-bottom: 6px;
  font-size: .82rem;
  font-weight: 700;
}

.report-kpi strong {
  display: block;
  overflow: hidden;
  color: #284b65;
  font-size: clamp(1.18rem, 2vw, 1.7rem);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.report-kpi small {
  margin-top: 5px;
  font-size: .74rem;
}

.report-kpi.is-negative strong,
.report-negative {
  color: #a63842 !important;
}

.report-positive {
  color: #356f57;
  font-weight: 700;
}

.report-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}

.report-chart-wide {
  grid-column: 1 / -1;
}

.report-chart-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid #dfe7ed;
  border-radius: 15px;
  background: #fff;
}

.report-chart-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.report-chart-heading h2 {
  margin: 0;
  color: #304b60;
  font-size: 1rem;
}

.report-chart-heading span {
  color: #8493a0;
  font-size: .77rem;
}

.report-canvas-wrap {
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.report-canvas-wrap canvas {
  display: block;
  min-width: 620px;
}

.report-table-wrap {
  margin-top: 18px;
}

/* Fiscal catalog + POS */
.catalog-form {
  margin-bottom: 24px;
  padding-bottom: 22px;
  border-bottom: 1px solid #e3e9ee;
}

.fiscal-catalog-table {
  margin-top: 8px;
}

.fiscal-stock-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.fiscal-stock-card {
  display: flex;
  min-height: 150px;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  border: 1px solid #dce6ed;
  border-radius: 14px;
  background: #fff;
}

.fiscal-stock-card h2 {
  margin: 4px 0 0;
  color: #314e63;
  font-size: 1rem;
}

.fiscal-stock-kicker {
  color: #71879a;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.fiscal-stock-card > strong {
  color: #2f6f9f;
  font-size: 1.4rem;
}

.fiscal-stock-card > small {
  color: #7b8996;
  line-height: 1.45;
}

.fiscal-pos-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .75fr);
  gap: 18px;
  align-items: start;
}

.fiscal-pos-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.fiscal-pos-toolbar input {
  width: min(520px, 100%);
  padding: 11px 12px;
  border: 1px solid #cfdbe4;
  border-radius: 10px;
}

.fiscal-pos-toolbar span {
  color: #778796;
  font-size: .82rem;
  white-space: nowrap;
}

.fiscal-item-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.fiscal-item-card {
  display: flex;
  min-height: 138px;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 14px;
  border: 1px solid #d9e4ec;
  border-radius: 13px;
  background: #fff;
  color: #334d61;
  text-align: left;
  cursor: pointer;
  transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease;
}

.fiscal-item-card:hover {
  transform: translateY(-2px);
  border-color: #8fb6d0;
  box-shadow: 0 8px 18px rgba(45, 86, 116, .10);
}

.fiscal-item-card strong {
  flex: 1;
  font-size: .92rem;
  line-height: 1.35;
}

.fiscal-item-card small {
  color: #526d80;
  font-weight: 700;
}

.fiscal-item-card em {
  color: #4f7e62;
  font-size: .74rem;
  font-style: normal;
  font-weight: 700;
}

.fiscal-item-type {
  padding: 3px 6px;
  border-radius: 6px;
  background: #edf5fa;
  color: #487391;
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.fiscal-cart-panel {
  position: sticky;
  top: 22px;
  padding: 16px;
  border: 1px solid #d7e2ea;
  border-radius: 15px;
  background: #f9fbfd;
}

.fiscal-cart-panel h2 {
  margin: 0 0 12px;
  color: #304f66;
  font-size: 1.05rem;
}

.fiscal-cart-lines {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 390px;
  overflow-y: auto;
}

.fiscal-cart-empty {
  margin: 0;
  padding: 22px 8px;
  color: #8493a0;
  text-align: center;
}

.fiscal-cart-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  gap: 8px;
  align-items: center;
  padding: 9px;
  border: 1px solid #e0e7ed;
  border-radius: 10px;
  background: #fff;
}

.fiscal-cart-line > div:first-child {
  min-width: 0;
}

.fiscal-cart-line > div:first-child strong,
.fiscal-cart-line > div:first-child small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fiscal-cart-line > div:first-child strong {
  color: #3f5668;
  font-size: .81rem;
}

.fiscal-cart-line > div:first-child small {
  margin-top: 2px;
  color: #87939e;
  font-size: .68rem;
}

.fiscal-cart-qty {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.fiscal-cart-qty button,
.fiscal-remove {
  width: 27px;
  height: 27px;
  padding: 0;
  border: 1px solid #cdd9e2;
  border-radius: 7px;
  background: #fff;
  color: #486478;
  cursor: pointer;
}

.fiscal-line-total {
  color: #325d7b;
  font-size: .78rem;
  white-space: nowrap;
}

.fiscal-remove {
  border-color: #ecc2c6;
  color: #a3434b;
}

.fiscal-cart-totals {
  margin: 12px 0;
  padding: 10px 0;
  border-top: 1px solid #dde5eb;
  border-bottom: 1px solid #dde5eb;
}

.fiscal-cart-totals > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 0;
  color: #657788;
  font-size: .85rem;
}

.fiscal-cart-totals .is-total {
  margin-top: 4px;
  color: #254f6b;
  font-size: 1.02rem;
}

.fiscal-submit-button {
  width: 100%;
  margin-top: 12px;
  padding: 12px 14px;
  border: 0;
  border-radius: 10px;
  background: #2f6f9f;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.fiscal-status {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef2f5;
  color: #657481;
  font-size: .74rem;
  font-weight: 800;
}

.fiscal-status-printed { background: #e8f6ee; color: #357052; }
.fiscal-status-error { background: #fdeced; color: #a4424a; }
.fiscal-status-queued { background: #edf5fb; color: #376d92; }
.fiscal-status-canceled { background: #f2f2f2; color: #777; }

@media (max-width: 1180px) {
  .report-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fiscal-item-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fiscal-stock-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .report-chart-grid { grid-template-columns: 1fr; }
  .report-chart-wide { grid-column: auto; }
  .fiscal-pos-layout { grid-template-columns: 1fr; }
  .fiscal-cart-panel { position: static; }
}

@media (max-width: 620px) {
  .login-captcha-row { align-items: stretch; }
  .report-kpi-grid,
  .fiscal-stock-grid,
  .fiscal-item-grid { grid-template-columns: 1fr; }
  .fiscal-pos-toolbar { align-items: stretch; flex-direction: column; }
  .fiscal-pos-toolbar span { white-space: normal; }
  .fiscal-cart-line { grid-template-columns: minmax(0, 1fr) auto; }
  .fiscal-cart-qty { grid-column: 1; }
  .fiscal-line-total { grid-column: 2; grid-row: 2; }
  .fiscal-remove { grid-column: 2; grid-row: 1; justify-self: end; }
  .page-heading-row { flex-direction: column; }
}


/* ZET OFFICE v1.6 */
.table-action-icons { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.table-action-icon { width:34px; height:34px; display:inline-grid; place-items:center; border:1px solid #d9e2ec; border-radius:9px; background:#fff; color:var(--zet-blue-700); text-decoration:none; cursor:pointer; padding:0; transition:.15s ease; }
.table-action-icon:hover { background:var(--zet-blue-50); border-color:#9fc2df; transform:translateY(-1px); }
.table-action-icon svg { width:18px; height:18px; fill:currentColor; }
.table-action-icon.is-cancel { color:#b42318; }
.table-action-icon.is-canceled { color:#fff; background:#b42318; border-color:#b42318; }
.table-action-form { display:inline-flex; margin:0; }
.dashboard-status.is-external { background:#eef2ff; color:#4338ca; }
.dashboard-status.is-sent { background:#dcfce7; color:#166534; }
.dashboard-status.is-work { background:#f1f5f9; color:#475569; }
.audit-filters { display:flex; gap:8px; flex-wrap:wrap; margin:14px 0; }
.audit-filters select,.audit-filters input { min-height:39px; padding:8px 10px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; }
.audit-action { display:inline-block; padding:3px 8px; border-radius:999px; background:#e8f3fb; color:#17558e; font-size:.76rem; font-weight:700; }
.audit-json { min-width:320px; max-width:640px; }
.audit-json pre { max-height:230px; overflow:auto; margin:5px 0 10px; padding:9px; border-radius:8px; background:#f8fafc; font-size:.75rem; white-space:pre-wrap; }
.muted { color:#64748b; }
.section-heading { margin-top:28px; }
.zet-notice-success { border:1px solid #86efac; background:#f0fdf4; color:#166534; }
@media (max-width:600px){
  .login-v2-page { justify-content:center; }
  .table-action-icons { gap:5px; }
  .table-action-icon { width:32px; height:32px; }
  .audit-filters > * { width:100%; }
}

.manual-sent-button { min-height:34px; display:inline-flex; align-items:center; gap:6px; padding:0 10px; border:1px solid #a7c8df; border-radius:9px; background:#f3f8fc; color:#17558e; font:inherit; font-size:.76rem; font-weight:700; cursor:pointer; white-space:nowrap; }
.manual-sent-button:hover { background:#e8f3fb; border-color:#6fa9cf; }
.manual-sent-button svg { width:16px; height:16px; fill:currentColor; }
@media (max-width:600px){ .manual-sent-button span { display:none; } .manual-sent-button { width:32px; padding:0; justify-content:center; } }

/* ==========================================================
   ZET Office v1.7 - Safari/iOS hardening + Light/Dark/System
   ========================================================== */
:root {
  color-scheme: light;
  --zet-bg: #eef3f8;
  --zet-surface: #ffffff;
  --zet-surface-2: #f7f9fc;
  --zet-text: #172033;
  --zet-muted: #64748b;
  --zet-border: #d9e2ec;
  --zet-primary: #2563eb;
  --zet-primary-soft: #eaf2ff;
  --zet-danger: #b91c1c;
  --zet-shadow: 0 12px 30px rgba(15,23,42,.09);
}
html[data-theme="dark"] {
  color-scheme: dark;
  --zet-bg: #0f172a;
  --zet-surface: #172033;
  --zet-surface-2: #1e293b;
  --zet-text: #e5edf8;
  --zet-muted: #a9b6c8;
  --zet-border: #334155;
  --zet-primary: #60a5fa;
  --zet-primary-soft: #172a47;
  --zet-danger: #f87171;
  --zet-shadow: 0 12px 30px rgba(0,0,0,.28);
}
html, body { width:100%; max-width:100%; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body.company-body { background:var(--zet-bg); color:var(--zet-text); }
.company-card,.company-menu,.dashboard-panel,.report-card,.settings-section { background:var(--zet-surface) !important; color:var(--zet-text); border-color:var(--zet-border) !important; box-shadow:var(--zet-shadow); }
.company-field input,.company-field select,.company-field textarea,input[type="search"],input[type="text"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="time"],input[type="password"],select,textarea { background:var(--zet-surface) !important; color:var(--zet-text) !important; border-color:var(--zet-border) !important; }
.companies-table thead th,.companies-table tbody tr:hover,.admin-subnav-link:hover { background:var(--zet-surface-2) !important; color:var(--zet-text); }
.companies-table td,.companies-table th { border-color:var(--zet-border) !important; }
.admin-nav-link,.admin-nav-summary,.admin-subnav-link,.admin-user-link { color:var(--zet-text) !important; }
.admin-nav-link.is-active,.admin-nav-summary.is-active,.admin-subnav-link.is-active { background:var(--zet-primary-soft) !important; color:var(--zet-primary) !important; }
.admin-brand-copy span,.settings-note,.settings-section p { color:var(--zet-muted); }

/* Safari needs explicit min-width/overflow rules for grid descendants. */
.company-layout,.company-card,.invoice-wrap,.companies-table-wrap,.admin-content { min-width:0; }
.company-layout { -webkit-box-align:start; align-items:start; }
.companies-table-wrap { width:100%; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.company-menu { -webkit-transform:translateZ(0); transform:translateZ(0); }
.login-v2-page,.company-page { min-height:100vh; min-height:100dvh; }
@supports (-webkit-touch-callout: none) {
  .company-layout { width:100%; }
  .company-card { width:100%; max-width:100%; }
  input,select,textarea,button { font-size:16px; }
  .admin-mobile-toggle { -webkit-appearance:none; appearance:none; }
  .login-v2-card { -webkit-backdrop-filter:blur(18px) saturate(120%); backdrop-filter:blur(18px) saturate(120%); }
}
@media (max-width:900px) {
  .company-page { padding:68px 10px 18px !important; padding-left:max(10px,env(safe-area-inset-left)) !important; padding-right:max(10px,env(safe-area-inset-right)) !important; }
  .company-layout { display:block !important; width:100% !important; max-width:100% !important; }
  .company-card,.invoice-wrap { width:100% !important; max-width:100% !important; margin:0 !important; border-radius:14px; padding:16px !important; overflow:hidden; }
  .company-menu { width:min(86vw,320px) !important; max-width:320px !important; height:100vh; height:100dvh; overflow-y:auto; -webkit-overflow-scrolling:touch; }
  .company-form { display:grid; grid-template-columns:1fr !important; }
  .company-field.full,.company-actions { grid-column:1 !important; }
  .companies-table { min-width:680px; }
  .pagination-bar { overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch; padding-bottom:5px; }
}
@media (max-width:520px) {
  .company-card { padding:13px !important; }
  .companies-table { min-width:620px; font-size:.8rem; }
  .table-action-icons { gap:5px; flex-wrap:nowrap; }
  .manual-sent-button span { display:none; }
}

.table-action-icon.anaf-send-icon { border:0; cursor:pointer; background:var(--zet-primary-soft); color:var(--zet-primary); }
.table-action-form { display:inline-flex; margin:0; padding:0; }

.settings-page { max-width:1100px; }
.settings-section { border:1px solid var(--zet-border); border-radius:16px; padding:20px; margin:0 0 18px; }
.settings-section h2 { margin:0 0 7px; }
.theme-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.theme-choice { text-align:left; padding:16px; border:1px solid var(--zet-border); border-radius:14px; background:var(--zet-surface-2); color:var(--zet-text); cursor:pointer; }
.theme-choice span { display:block; margin-top:4px; color:var(--zet-muted); font-size:.86rem; }
.theme-choice.is-active { border-color:var(--zet-primary); box-shadow:0 0 0 2px color-mix(in srgb,var(--zet-primary) 20%,transparent); }
.status-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0; }
.status-grid>div { background:var(--zet-surface-2); border:1px solid var(--zet-border); border-radius:12px; padding:12px; }
.status-grid span { display:block; color:var(--zet-muted); font-size:.8rem; }.status-grid strong{display:block;margin-top:3px;word-break:break-word}
.settings-actions { display:flex;gap:10px;flex-wrap:wrap;margin:12px 0; }.settings-success{padding:10px 12px;background:#dcfce7;color:#166534;border-radius:10px;margin-bottom:12px}.settings-error{padding:10px 12px;background:#fee2e2;color:#991b1b;border-radius:10px;margin-bottom:12px}.settings-primary{border:0;border-radius:9px;background:#2563eb;color:#fff;padding:10px 14px;font-weight:700;cursor:pointer}.setting-toggle{display:flex;gap:9px;align-items:center;font-weight:700}
@media(max-width:700px){.theme-choice-grid,.status-grid{grid-template-columns:1fr}}
@media (min-width:901px){
  .login-v2-page { display:flex !important; align-items:center !important; justify-content:flex-end !important; padding-right:clamp(28px,7vw,110px) !important; padding-left:28px !important; }
}
@media (max-width:900px){
  .login-v2-page { display:flex !important; align-items:center !important; justify-content:center !important; padding:20px max(14px,env(safe-area-inset-right)) 20px max(14px,env(safe-area-inset-left)) !important; }
  .login-v2-card { width:min(430px,100%) !important; max-width:100% !important; }
}

/* ========================================================================== */
/* ZET OFFICE v1.9 — Safari/WebKit theme + layout compatibility              */
/* ========================================================================== */
html[data-theme="light"], html.theme-light {
  color-scheme: light;
  --zet-bg:#eef3f8;
  --zet-surface:#ffffff;
  --zet-surface-2:#f7f9fc;
  --zet-text:#172033;
  --zet-muted:#64748b;
  --zet-border:#d9e2ec;
  --zet-primary:#2563eb;
  --zet-primary-soft:#eaf2ff;
  --zet-danger:#b91c1c;
  --zet-shadow:0 12px 30px rgba(15,23,42,.09);
}
html[data-theme="dark"], html.theme-dark {
  color-scheme: dark;
  --zet-bg:#0b1220;
  --zet-surface:#131d2d;
  --zet-surface-2:#1b2739;
  --zet-text:#e8eef7;
  --zet-muted:#a6b3c4;
  --zet-border:#34445b;
  --zet-primary:#69aafc;
  --zet-primary-soft:#18304e;
  --zet-danger:#fb8585;
  --zet-shadow:0 12px 30px rgba(0,0,0,.30);
}

/* Never depend on color-mix(): older WebKit versions discard it. */
.theme-choice.is-active {
  border-color:var(--zet-primary) !important;
  box-shadow:0 0 0 2px rgba(37,99,235,.18) !important;
}
html[data-theme="dark"] .theme-choice.is-active,
html.theme-dark .theme-choice.is-active {
  box-shadow:0 0 0 2px rgba(105,170,252,.22) !important;
}

/* Explicitly theme components that historically used hard-coded whites. */
html[data-theme="dark"] body,
html.theme-dark body { background-color:var(--zet-bg); color:var(--zet-text); }
html[data-theme="dark"] .company-page,
html.theme-dark .company-page { background:var(--zet-bg); color:var(--zet-text); }
html[data-theme="dark"] .company-menu,
html[data-theme="dark"] .company-card,
html[data-theme="dark"] .dashboard-hero,
html[data-theme="dark"] .dashboard-panel,
html[data-theme="dark"] .dashboard-stat-card,
html[data-theme="dark"] .dashboard-quick-grid a,
html[data-theme="dark"] .settings-section,
html[data-theme="dark"] .theme-choice,
html[data-theme="dark"] .report-card,
html[data-theme="dark"] .fiscal-stock-card,
html[data-theme="dark"] .fiscal-item-card,
html[data-theme="dark"] .fiscal-cart-panel,
html[data-theme="dark"] .fiscal-cart-line,
html[data-theme="dark"] .company-autocomplete-list,
html[data-theme="dark"] .invoice-user-profile,
html[data-theme="dark"] .price-calculation-note,
html[data-theme="dark"] .page-back-link,
html[data-theme="dark"] .audit-json pre,
html.theme-dark .company-menu,
html.theme-dark .company-card,
html.theme-dark .dashboard-hero,
html.theme-dark .dashboard-panel,
html.theme-dark .dashboard-stat-card,
html.theme-dark .dashboard-quick-grid a,
html.theme-dark .settings-section,
html.theme-dark .theme-choice,
html.theme-dark .report-card,
html.theme-dark .fiscal-stock-card,
html.theme-dark .fiscal-item-card,
html.theme-dark .fiscal-cart-panel,
html.theme-dark .fiscal-cart-line,
html.theme-dark .company-autocomplete-list,
html.theme-dark .invoice-user-profile,
html.theme-dark .price-calculation-note,
html.theme-dark .page-back-link,
html.theme-dark .audit-json pre {
  background:var(--zet-surface) !important;
  color:var(--zet-text) !important;
  border-color:var(--zet-border) !important;
}
html[data-theme="dark"] .companies-table thead th,
html[data-theme="dark"] .dashboard-table thead th,
html[data-theme="dark"] .dashboard-table tr,
html[data-theme="dark"] .status-grid>div,
html[data-theme="dark"] .admin-subnav-link:hover,
html[data-theme="dark"] .company-autocomplete-option:hover,
html[data-theme="dark"] .company-autocomplete-option.is-highlighted,
html.theme-dark .companies-table thead th,
html.theme-dark .dashboard-table thead th,
html.theme-dark .dashboard-table tr,
html.theme-dark .status-grid>div,
html.theme-dark .admin-subnav-link:hover,
html.theme-dark .company-autocomplete-option:hover,
html.theme-dark .company-autocomplete-option.is-highlighted {
  background:var(--zet-surface-2) !important;
  color:var(--zet-text) !important;
}
html[data-theme="dark"] .companies-table td,
html[data-theme="dark"] .companies-table th,
html[data-theme="dark"] .dashboard-table td,
html[data-theme="dark"] .dashboard-table th,
html.theme-dark .companies-table td,
html.theme-dark .companies-table th,
html.theme-dark .dashboard-table td,
html.theme-dark .dashboard-table th { border-color:var(--zet-border) !important; color:var(--zet-text); }
html[data-theme="dark"] .field-help,
html[data-theme="dark"] .muted,
html[data-theme="dark"] .dashboard-quick-grid small,
html[data-theme="dark"] .dashboard-empty,
html[data-theme="dark"] .company-autocomplete-option span,
html.theme-dark .field-help,
html.theme-dark .muted,
html.theme-dark .dashboard-quick-grid small,
html.theme-dark .dashboard-empty,
html.theme-dark .company-autocomplete-option span { color:var(--zet-muted) !important; }
html[data-theme="dark"] .admin-mobile-toggle,
html[data-theme="dark"] .admin-menu-close,
html.theme-dark .admin-mobile-toggle,
html.theme-dark .admin-menu-close {
  background:var(--zet-surface) !important;
  color:var(--zet-text) !important;
  border-color:var(--zet-border) !important;
}

/* Keep printed/document preview areas white. */
html[data-theme="dark"] .invoice-paper,
html[data-theme="dark"] .invoice-document,
html.theme-dark .invoice-paper,
html.theme-dark .invoice-document { color-scheme:light; }

/* Safari/WebKit layout fallback: flex is more predictable than nested CSS grid
   in this legacy page structure. Chrome/Firefox keep the normal grid layout. */
@supports (-webkit-touch-callout: none) {
  html, body { min-width:0; width:100%; max-width:100%; overflow-x:hidden; }
  body { -webkit-text-size-adjust:100%; }

  @media (min-width:901px) {
    .company-layout {
      display:-webkit-box !important;
      display:-webkit-flex !important;
      display:flex !important;
      -webkit-box-align:start;
      -webkit-align-items:flex-start;
      align-items:flex-start;
      width:min(1380px,100%) !important;
      max-width:100% !important;
    }
    .company-layout > .company-menu {
      -webkit-box-flex:0;
      -webkit-flex:0 0 286px;
      flex:0 0 286px;
      width:286px;
      max-width:286px;
    }
    .company-layout > :not(.company-menu) {
      -webkit-box-flex:1;
      -webkit-flex:1 1 0%;
      flex:1 1 0%;
      width:0;
      min-width:0;
      max-width:100%;
    }
  }

  @media (max-width:900px) {
    .company-layout { display:block !important; width:100% !important; }
    .company-layout > :not(.company-menu) { width:100% !important; min-width:0 !important; }
    .company-page { width:100%; max-width:100%; overflow-x:hidden; }
    .company-card,.dashboard-page,.dashboard-panel,.invoice-wrap,.settings-page {
      width:100% !important;
      max-width:100% !important;
      min-width:0 !important;
    }
    .company-menu {
      background:var(--zet-surface) !important;
      color:var(--zet-text) !important;
      -webkit-transform:translate3d(-105%,0,0);
      transform:translate3d(-105%,0,0);
    }
    .admin-menu-open .company-menu {
      -webkit-transform:translate3d(0,0,0);
      transform:translate3d(0,0,0);
    }
    .companies-table-wrap,.dashboard-table-wrap,.invoice-wrap {
      overflow-x:auto;
      -webkit-overflow-scrolling:touch;
    }
  }

  input, select, textarea, button { -webkit-border-radius:inherit; }
  input[type="text"],input[type="search"],input[type="number"],input[type="password"],
  input[type="date"],input[type="datetime-local"],input[type="time"],select,textarea {
    -webkit-appearance:none;
    appearance:none;
  }
  input[type="date"],input[type="datetime-local"],input[type="time"] {
    min-height:44px;
  }
}

/* ========================================================================== */
/* ZET Office v2.0 - Apply Heating style shell + Safari/WebKit hardening       */
/* ========================================================================== */
:root {
  --zet-sidebar-width: 264px;
  --zet-topbar-height: 68px;
  --zet-bg: #f5f7fb;
  --zet-surface: #ffffff;
  --zet-surface-2: #f8fafc;
  --zet-border: #dbe3ef;
  --zet-text: #172033;
  --zet-muted: #6f7d92;
  --zet-accent: #2d8bd3;
  --zet-accent-soft: #e8f3fc;
  --zet-sidebar-bg: #ffffff;
  --zet-sidebar-text: #27364c;
  --zet-sidebar-muted: #7d899b;
  --zet-sidebar-hover: #eef5fb;
  --zet-sidebar-active: #dceefa;
  --zet-sidebar-active-text: #166aa9;
  --zet-topbar-bg: rgba(255,255,255,.96);
  --zet-shadow: 0 12px 32px rgba(15, 31, 54, .08);
}

html[data-theme="dark"], html.theme-dark {
  --zet-bg: #0a111d;
  --zet-surface: #121b28;
  --zet-surface-2: #172231;
  --zet-border: #2b3b4f;
  --zet-text: #eef4fb;
  --zet-muted: #95a4b7;
  --zet-accent: #53a8ed;
  --zet-accent-soft: #173957;
  --zet-sidebar-bg: #121923;
  --zet-sidebar-text: #e8eef7;
  --zet-sidebar-muted: #8fa0b5;
  --zet-sidebar-hover: #1b2735;
  --zet-sidebar-active: #1c3d60;
  --zet-sidebar-active-text: #72b9f2;
  --zet-topbar-bg: rgba(18,25,35,.96);
  --zet-shadow: 0 12px 32px rgba(0,0,0,.22);
}

html, body { min-width: 0; }
body.company-body {
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background: var(--zet-bg) !important;
  color: var(--zet-text) !important;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.company-page {
  position: relative;
  width: auto !important;
  max-width: none !important;
  height: 100vh;
  height: 100dvh;
  margin: 0 0 0 var(--zet-sidebar-width) !important;
  padding: calc(var(--zet-topbar-height) + 26px) 28px 34px !important;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  background: var(--zet-bg) !important;
}

.company-layout {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.company-card,
.dashboard-shell,
.reports-page,
.settings-page,
.cash-register-page,
.invoice-wrap,
.provider-invoice-wrap {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

.company-card,
.dashboard-card,
.report-card,
.settings-card,
.cash-card {
  background: var(--zet-surface) !important;
  color: var(--zet-text) !important;
  border: 1px solid var(--zet-border) !important;
  box-shadow: var(--zet-shadow) !important;
}

/* Fixed, independently scrolling sidebar */
.company-menu {
  position: fixed !important;
  z-index: 1200 !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: var(--zet-sidebar-width) !important;
  height: 100vh !important;
  height: 100dvh !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-right: 1px solid var(--zet-border) !important;
  box-shadow: none !important;
  background: var(--zet-sidebar-bg) !important;
  color: var(--zet-sidebar-text) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding: 0 10px 24px !important;
}

.admin-brand {
  position: sticky;
  top: 0;
  z-index: 3;
  min-height: 78px;
  padding: 14px 10px !important;
  margin: 0 0 8px !important;
  background: var(--zet-sidebar-bg) !important;
  border-bottom: 1px solid var(--zet-border) !important;
}
.admin-brand-mark {
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg,#1975b8,#3298da) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.admin-brand-copy strong { color: var(--zet-sidebar-text) !important; font-size: 1.02rem !important; }
.admin-brand-copy span { color: var(--zet-sidebar-muted) !important; font-size: .76rem !important; }
.admin-menu-close { display: none !important; }
.admin-nav { padding: 4px 0 18px !important; }

.admin-nav-link,
.admin-nav-summary,
.admin-subnav-link {
  color: var(--zet-sidebar-text) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease !important;
}
.admin-nav-link:hover,
.admin-nav-summary:hover,
.admin-subnav-link:hover {
  background: var(--zet-sidebar-hover) !important;
  color: var(--zet-sidebar-text) !important;
  border-color: transparent !important;
}
.admin-nav-link.is-active,
.admin-nav-summary.is-active,
.admin-subnav-link.is-active {
  background: var(--zet-sidebar-active) !important;
  color: var(--zet-sidebar-active-text) !important;
  border-color: transparent !important;
  box-shadow: inset 3px 0 0 var(--zet-accent) !important;
}
.admin-nav-link.is-active svg,
.admin-nav-summary.is-active svg,
.admin-subnav-link.is-active svg { fill: currentColor !important; }
.admin-nav-icon,
.admin-subnav-icon { color: inherit !important; }
.admin-nav-icon svg,
.admin-subnav-icon svg { fill: currentColor !important; }
.admin-nav-chevron { color: var(--zet-sidebar-muted) !important; }
.admin-subnav {
  border-left: 1px solid var(--zet-border) !important;
  margin-left: 20px !important;
  padding-left: 8px !important;
}

/* Fixed top bar over the separately scrolling page */
.admin-topbar {
  position: fixed;
  z-index: 1100;
  top: 0;
  right: 0;
  left: var(--zet-sidebar-width);
  height: var(--zet-topbar-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 24px;
  background: var(--zet-topbar-bg);
  border-bottom: 1px solid var(--zet-border);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  color: var(--zet-text);
}
.admin-topbar-left,
.admin-topbar-actions { display: flex; align-items: center; gap: 10px; min-width: 0; }
.admin-breadcrumb { display: flex; align-items: center; gap: 9px; min-width: 0; color: var(--zet-muted); font-size: .88rem; }
.admin-breadcrumb strong { color: var(--zet-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-breadcrumb-sep { opacity: .6; }
.admin-popover-wrap { position: relative; }
.admin-icon-button,
.admin-user-button {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid transparent;
  background: transparent;
  color: var(--zet-text);
  cursor: pointer;
}
.admin-icon-button {
  position: relative;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  display: grid;
  place-items: center;
}
.admin-icon-button:hover,
.admin-user-button:hover { background: var(--zet-surface-2); border-color: var(--zet-border); }
.admin-icon-button svg { width: 21px; height: 21px; fill: currentColor; }
.admin-notification-badge {
  position: absolute;
  right: 3px;
  top: 2px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #e44747;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
}
.admin-user-button {
  min-height: 48px;
  padding: 4px 7px 4px 5px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 9px;
}
.admin-user-avatar {
  width: 35px !important;
  height: 35px !important;
  flex: 0 0 35px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  background: linear-gradient(135deg,#1c79bb,#32a0dd) !important;
  color: #fff !important;
  font-weight: 800 !important;
}
.admin-user-meta { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.1; }
.admin-user-meta strong { color: var(--zet-text); font-size: .84rem; }
.admin-user-meta small { color: var(--zet-muted); font-size: .71rem; margin-top: 4px; }
.admin-user-chevron { color: var(--zet-muted); margin-left: 2px; }
.admin-popover {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: min(330px, calc(100vw - 28px));
  padding: 8px;
  border: 1px solid var(--zet-border);
  border-radius: 12px;
  background: var(--zet-surface);
  color: var(--zet-text);
  box-shadow: 0 18px 46px rgba(0,0,0,.22);
}
.admin-popover[hidden] { display: none !important; }
.admin-popover-title { padding: 8px 10px 10px; font-weight: 800; border-bottom: 1px solid var(--zet-border); }
.admin-popover a { display: flex; gap: 9px; align-items: center; padding: 10px; color: var(--zet-text) !important; text-decoration: none; border-radius: 8px; }
.admin-popover a:hover { background: var(--zet-surface-2); }
.admin-popover a span svg { width: 18px; height: 18px; fill: currentColor; }
.admin-popover-empty { margin: 0; padding: 12px 10px; color: var(--zet-muted); }

.admin-mobile-toggle { display: none !important; }
.admin-menu-backdrop { display: none; }

/* Form and table colors follow the theme, including Safari native controls. */
.company-field input,
.company-field select,
.company-field textarea,
.companies-search input,
input, select, textarea {
  color: var(--zet-text);
  background-color: var(--zet-surface);
  border-color: var(--zet-border);
}
.company-field label, .company-card h1, .company-card h2, .company-card h3 { color: var(--zet-text); }
.field-help, .company-card p { color: var(--zet-muted); }
.companies-table { color: var(--zet-text); }
.companies-table th { background: var(--zet-surface-2) !important; color: var(--zet-text) !important; border-color: var(--zet-border) !important; }
.companies-table td { border-color: var(--zet-border) !important; }
.companies-table tbody tr:hover { background: var(--zet-surface-2) !important; }
.companies-table a { color: var(--zet-accent) !important; }

/* Invoice preview is always a white document, independent of app theme. */
.invoice-view-body .invoice-wrap {
  background: #ffffff !important;
  color: #172033 !important;
  border: 1px solid #d8e1ed !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.13) !important;
}
.invoice-view-body .invoice-wrap,
.invoice-view-body .invoice-wrap p,
.invoice-view-body .invoice-wrap span,
.invoice-view-body .invoice-wrap td,
.invoice-view-body .invoice-wrap th,
.invoice-view-body .invoice-wrap strong,
.invoice-view-body .invoice-wrap label { color: #172033 !important; }
.invoice-view-body .invoice-wrap h1,
.invoice-view-body .invoice-wrap h2,
.invoice-view-body .invoice-wrap h3,
.invoice-view-body .invoice-wrap a { color: #075fc3 !important; }
.invoice-view-body .invoice-wrap .card { background: #fff !important; border-color: #d5dfeb !important; box-shadow: none !important; }
.invoice-view-body .invoice-wrap table { background: #fff !important; }
.invoice-view-body .invoice-wrap th { background: #eef4fb !important; }
.invoice-view-body .invoice-wrap td,
.invoice-view-body .invoice-wrap th { border-color: #d3deea !important; }
.invoice-view-body .invoice-wrap .line,
.invoice-view-body .invoice-wrap .empty { color: #44536a !important; }
.invoice-view-body .invoice-mid .proforma-title { display: block; margin-top: 2px; }

.invoice-actions { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.invoice-actions-group { display: flex !important; align-items: center; gap: 8px !important; }
.invoice-action-btn,
.invoice-action-btn:visited {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #d4dfeb;
  border-radius: 9px;
  background: #f7faff;
  color: #1669ae !important;
  text-decoration: none;
  cursor: pointer;
}
.invoice-action-btn:hover { background: #e7f2fc; border-color: #a8cae5; color: #0f5b9b !important; }
.invoice-action-btn.is-danger { color: #bf3e48 !important; }
.invoice-action-btn.is-success { color: #238253 !important; }
.invoice-action-btn svg { width: 20px; height: 20px; fill: currentColor; }
.invoice-action-form { display: inline-flex; margin: 0; }
.proforma-badge { display: inline-flex; align-items: center; margin-left: 6px; padding: 3px 7px; border-radius: 999px; background: #fff3cd; color: #8a6100; font-size: .72rem; font-weight: 800; }

/* Safe bulk importer UI */
.bulk-import-shell { max-width: 1100px; }
.bulk-import-actions { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }
.bulk-import-output { white-space: pre-wrap; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size:.84rem; line-height:1.55; background:var(--zet-surface-2); border:1px solid var(--zet-border); border-radius:10px; padding:16px; max-height:58vh; overflow:auto; }

@media (max-width: 900px) {
  body.company-body { overflow: hidden !important; }
  .company-page {
    margin-left: 0 !important;
    padding: calc(var(--zet-topbar-height) + 18px) 14px 26px !important;
  }
  .company-menu {
    width: min(86vw, 300px) !important;
    transform: translate3d(-105%,0,0) !important;
    -webkit-transform: translate3d(-105%,0,0) !important;
    transition: transform .2s ease !important;
    box-shadow: 14px 0 38px rgba(0,0,0,.24) !important;
  }
  body.admin-menu-open .company-menu {
    transform: translate3d(0,0,0) !important;
    -webkit-transform: translate3d(0,0,0) !important;
  }
  .admin-menu-close { display: inline-grid !important; }
  .admin-topbar { left: 0; padding: 0 12px; }
  .admin-mobile-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0 !important;
    border: 1px solid var(--zet-border) !important;
    border-radius: 10px !important;
    background: var(--zet-surface) !important;
    color: var(--zet-text) !important;
  }
  .admin-mobile-toggle > span:last-child { display:none; }
  .admin-mobile-toggle-icon { width:18px; display:grid; gap:4px; }
  .admin-mobile-toggle-icon span { display:block; height:2px; background:currentColor; border-radius:2px; }
  .admin-menu-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1190;
    background: rgba(4,10,18,.52);
  }
  body.admin-menu-open .admin-menu-backdrop { display:block; }
  .admin-breadcrumb > span:first-child, .admin-breadcrumb-sep { display:none; }
  .admin-user-meta { display:none; }
  .admin-user-button { min-width: 44px; }
  .admin-user-chevron { display:none; }
  .company-card { padding: 18px !important; border-radius: 12px !important; }
  .companies-table-wrap { overflow-x:auto !important; -webkit-overflow-scrolling:touch; }
  .invoice-actions { flex-wrap: wrap; }
}

@media (max-width: 560px) {
  .company-page { padding-left: 10px !important; padding-right: 10px !important; }
  .admin-topbar { height: 62px; }
  :root { --zet-topbar-height: 62px; }
  .admin-icon-button { width: 38px; height: 38px; }
  .admin-user-avatar { width: 32px !important; height: 32px !important; flex-basis:32px !important; }
  .invoice-view-body .invoice-wrap { padding: 12px !important; }
  .invoice-action-btn { width: 36px; height: 36px; }
}
.proforma-choice { margin-top: 2px; }
.checkbox-field { display:flex !important; align-items:flex-start; gap:10px; padding:12px 14px; border:1px solid var(--zet-border); border-radius:10px; background:var(--zet-surface-2); cursor:pointer; }
.checkbox-field input { width:18px !important; height:18px; margin:2px 0 0; flex:0 0 auto; accent-color:var(--zet-accent); }
.checkbox-field span { display:flex; flex-direction:column; gap:3px; }
.checkbox-field strong { color:var(--zet-text); }
.checkbox-field small { color:var(--zet-muted); font-weight:400; }
.proforma-launch-icon { color:#238253 !important; }
.proforma-launch-icon:hover { background:#e7f7ee !important; border-color:#98d4b3 !important; }
.bulk-import-line { padding:2px 0; color:var(--zet-text); }
.bulk-import-line.is-error { color:#d14d57; }

/* ========================================================================== */
/* ZET Office v2.2 - provider pages, report repair and theme-aware previews    */
/* ========================================================================== */
.table-action-icon,
.table-action-icon:visited {
  background: var(--zet-surface-2) !important;
  border-color: var(--zet-border) !important;
  color: var(--zet-accent) !important;
}
.table-action-icon:hover {
  background: var(--zet-sidebar-hover) !important;
  border-color: var(--zet-accent) !important;
  color: var(--zet-accent) !important;
}
.table-action-icon.is-success { color:#2c9a66 !important; }
.table-action-icon.is-danger { color:#d95661 !important; }

/* Import page is deliberately simple for WebKit/Safari. */
.provider-import-page { overflow: visible !important; }
.provider-import-form { margin-top: 20px; }
.provider-import-form input[type="file"] {
  display:block;
  width:100%;
  min-height:48px;
  padding:10px 12px;
  border:1px solid var(--zet-border);
  border-radius:9px;
  background:var(--zet-surface-2);
  color:var(--zet-text);
  font:inherit;
}
.provider-import-form input[type="file"]::file-selector-button {
  margin-right:12px;
  padding:8px 12px;
  border:1px solid var(--zet-border);
  border-radius:8px;
  background:var(--zet-surface);
  color:var(--zet-text);
  font:inherit;
  cursor:pointer;
}
.provider-import-form input[type="file"]::-webkit-file-upload-button {
  margin-right:12px;
  padding:8px 12px;
  border:1px solid var(--zet-border);
  border-radius:8px;
  background:var(--zet-surface);
  color:var(--zet-text);
  font:inherit;
}
.provider-import-actions { display:flex; justify-content:flex-end; align-items:center; gap:10px; flex-wrap:wrap; }
.provider-import-preview {
  margin-top:22px;
  padding:18px;
  border:1px solid var(--zet-border);
  border-radius:12px;
  background:var(--zet-surface-2);
  color:var(--zet-text);
}
.provider-import-preview-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.provider-import-preview-head h2 { margin:3px 0 0; }
.provider-import-preview-head > strong { color:var(--zet-accent); font-size:1.05rem; }
.provider-import-meta-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:16px; }
.provider-import-meta-grid > div { padding:12px; border:1px solid var(--zet-border); border-radius:9px; background:var(--zet-surface); min-width:0; }
.provider-import-meta-grid span { display:block; color:var(--zet-muted); font-size:.76rem; margin-bottom:4px; }
.provider-import-meta-grid strong { color:var(--zet-text); overflow-wrap:anywhere; }

/* View invoice / provider invoice follow application theme while on screen.
   printInvoice.php remains the dedicated white printable document. */
.invoice-view-body .invoice-wrap,
.provider-invoice-view-body .invoice-wrap {
  background:var(--zet-surface) !important;
  color:var(--zet-text) !important;
  border-color:var(--zet-border) !important;
  box-shadow:var(--zet-shadow) !important;
}
.invoice-view-body .invoice-wrap p,
.invoice-view-body .invoice-wrap span,
.invoice-view-body .invoice-wrap td,
.invoice-view-body .invoice-wrap th,
.invoice-view-body .invoice-wrap strong,
.invoice-view-body .invoice-wrap label,
.provider-invoice-view-body .invoice-wrap p,
.provider-invoice-view-body .invoice-wrap span,
.provider-invoice-view-body .invoice-wrap td,
.provider-invoice-view-body .invoice-wrap th,
.provider-invoice-view-body .invoice-wrap strong,
.provider-invoice-view-body .invoice-wrap label {
  color:var(--zet-text) !important;
}
.invoice-view-body .invoice-wrap h1,
.invoice-view-body .invoice-wrap h2,
.invoice-view-body .invoice-wrap h3,
.invoice-view-body .invoice-wrap a,
.provider-invoice-view-body .invoice-wrap h1,
.provider-invoice-view-body .invoice-wrap h2,
.provider-invoice-view-body .invoice-wrap h3,
.provider-invoice-view-body .invoice-wrap a { color:var(--zet-accent) !important; }
.invoice-view-body .invoice-wrap .card,
.provider-invoice-view-body .invoice-wrap .card {
  background:var(--zet-surface-2) !important;
  border-color:var(--zet-border) !important;
  box-shadow:none !important;
}
.invoice-view-body .invoice-wrap table,
.provider-invoice-view-body .invoice-wrap table { background:var(--zet-surface) !important; color:var(--zet-text) !important; }
.invoice-view-body .invoice-wrap th,
.provider-invoice-view-body .invoice-wrap th { background:var(--zet-surface-2) !important; color:var(--zet-text) !important; }
.invoice-view-body .invoice-wrap td,
.invoice-view-body .invoice-wrap th,
.provider-invoice-view-body .invoice-wrap td,
.provider-invoice-view-body .invoice-wrap th { border-color:var(--zet-border) !important; }
.invoice-view-body .invoice-wrap .line,
.invoice-view-body .invoice-wrap .empty,
.provider-invoice-view-body .invoice-wrap .line,
.provider-invoice-view-body .invoice-wrap .empty { color:var(--zet-muted) !important; }
.invoice-view-body .invoice-action-btn,
.provider-invoice-view-body .invoice-action-btn {
  background:var(--zet-surface-2) !important;
  border-color:var(--zet-border) !important;
  color:var(--zet-accent) !important;
}
.invoice-view-body .invoice-action-btn:hover,
.provider-invoice-view-body .invoice-action-btn:hover { background:var(--zet-sidebar-hover) !important; border-color:var(--zet-accent) !important; }
.invoice-view-body .invoice-action-btn.is-danger,
.provider-invoice-view-body .invoice-action-btn.is-danger { color:#df5964 !important; }
.invoice-view-body .invoice-action-btn.is-success,
.provider-invoice-view-body .invoice-action-btn.is-success { color:#38a872 !important; }

.provider-invoice-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:22px; padding:18px 0 20px; border-bottom:1px solid var(--zet-border); }
.provider-invoice-heading h1 { margin:4px 0 4px; font-size:1.45rem; }
.provider-invoice-heading p { margin:0; color:var(--zet-muted) !important; }
.provider-invoice-number { text-align:right; display:flex; flex-direction:column; gap:4px; }
.provider-invoice-number > span { color:var(--zet-muted) !important; font-size:.77rem; }
.provider-invoice-number > strong { font-size:1.12rem; color:var(--zet-accent) !important; }
.provider-invoice-meta-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin:18px 0; }
.provider-invoice-meta-grid > div { padding:12px; border:1px solid var(--zet-border); border-radius:9px; background:var(--zet-surface-2); min-width:0; }
.provider-invoice-meta-grid span { display:block; margin-bottom:4px; font-size:.74rem; color:var(--zet-muted) !important; }
.provider-invoice-meta-grid strong { display:block; font-size:.88rem; overflow-wrap:anywhere; }
.provider-products-table-wrap { margin-top:10px; }
.provider-invoice-totals { width:min(430px,100%); margin:18px 0 0 auto; border:1px solid var(--zet-border); border-radius:10px; overflow:hidden; background:var(--zet-surface-2); }
.provider-invoice-totals > div { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 13px; border-bottom:1px solid var(--zet-border); }
.provider-invoice-totals > div:last-child { border-bottom:0; }
.provider-invoice-totals span { color:var(--zet-muted) !important; }
.provider-invoice-totals .is-grand { font-size:1.04rem; background:var(--zet-sidebar-active); }
.status-pill { display:inline-flex; align-items:center; align-self:flex-end; padding:4px 8px; border-radius:999px; font-size:.72rem; font-weight:800; }
.status-pill.is-danger { background:rgba(217,70,82,.14); color:#dd5964 !important; }

@supports (-webkit-touch-callout: none) {
  .provider-import-page .provider-import-form {
    display:-webkit-box !important;
    display:-webkit-flex !important;
    display:flex !important;
    -webkit-flex-direction:column;
    flex-direction:column;
    gap:14px;
  }
  .provider-import-page .provider-import-form > * { width:100%; min-width:0; }
  .provider-import-form input[type="file"] { -webkit-appearance:none; appearance:none; }
}

@media (max-width:900px) {
  .provider-import-meta-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .provider-invoice-heading { flex-direction:column; }
  .provider-invoice-number { text-align:left; }
  .provider-invoice-number .status-pill { align-self:flex-start; }
  .provider-invoice-meta-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .provider-import-meta-grid,
  .provider-invoice-meta-grid { grid-template-columns:1fr; }
  .provider-import-actions { flex-direction:column; align-items:stretch; }
  .provider-import-actions button { width:100%; }
}
/* Reports also follow the active theme. */
.report-kpi,
.report-chart-card {
  background: var(--zet-surface-2) !important;
  border-color: var(--zet-border) !important;
  box-shadow: none !important;
}
.report-kpi span,
.report-kpi small,
.report-chart-heading span { color: var(--zet-muted) !important; }
.report-kpi strong,
.report-chart-heading h2 { color: var(--zet-text) !important; }


/* ========================================================================== */
/* ZET Office v2.3 - ANAF immediate send / locked queue state                */
/* ========================================================================== */
.table-action-icon.anaf-send-icon.is-disabled,
.table-action-icon.anaf-send-icon:disabled {
  background: var(--zet-surface-2) !important;
  border: 1px solid var(--zet-border) !important;
  color: var(--zet-muted) !important;
  opacity: .55 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}
.table-action-icon.anaf-send-icon.is-disabled:hover,
.table-action-icon.anaf-send-icon:disabled:hover {
  background: var(--zet-surface-2) !important;
  border-color: var(--zet-border) !important;
  color: var(--zet-muted) !important;
  transform: none !important;
}
/* v2.4 brand + ticketing */
.admin-brand-logo{width:92px;min-width:92px;color:var(--sidebar-text,#eef5ff);display:flex;align-items:center}.admin-brand-logo img{width:100%;height:auto;display:block;filter:none}.ticket-primary-link{display:inline-flex;padding:10px 14px;border-radius:10px;background:var(--primary,#1976d2);color:#fff;text-decoration:none;font-weight:700}.ticket-filters{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}.ticket-filters a{padding:7px 10px;border:1px solid var(--border-color,#d6e0ec);border-radius:9px;text-decoration:none;color:inherit}.ticket-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:700}.ticket-status-open{background:#fff3cd;color:#755b00}.ticket-status-assigned{background:#e5f0ff;color:#145ea8}.ticket-status-in_progress{background:#d9ecff;color:#0d5ea7}.ticket-status-completed{background:#ddf7e8;color:#14663b}.ticket-status-closed{background:#e8eaee;color:#4a5568}.ticket-status-canceled{background:#ffe0e0;color:#9b1c1c}.ticket-description-cell{max-width:420px;white-space:normal!important}.ticket-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.ticket-detail-grid>div{padding:14px;border:1px solid var(--border-color,#dce4ee);border-radius:12px}.ticket-detail-grid small,.ticket-detail-grid strong{display:block}.ticket-description{padding:18px;border:1px solid var(--border-color,#dce4ee);border-radius:12px}.ticket-actions{margin:18px 0}.ticket-actions form{display:flex;gap:10px;flex-wrap:wrap}.ticket-actions button{border:0;border-radius:10px;padding:10px 15px;background:#1976d2;color:#fff;font-weight:700;cursor:pointer}.ticket-history-row{display:grid;grid-template-columns:180px 1fr 150px;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-color,#dce4ee)}.bnr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bnr-card{padding:15px;border:1px solid var(--border-color,#dce4ee);border-radius:14px;background:var(--card-bg,#fff)}.bnr-card strong{font-size:1.45rem;display:block;margin-top:6px}.bnr-card small{opacity:.7}.exchange-rate-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.exchange-rate-help{font-size:.82rem;opacity:.7;margin-top:5px}@media(max-width:800px){.ticket-detail-grid,.bnr-grid{grid-template-columns:1fr}.ticket-history-row{grid-template-columns:1fr}.exchange-rate-row{grid-template-columns:1fr}.admin-brand-logo{width:78px;min-width:78px}}


/* ========================================================================== */
/* ZET OFFICE v2.5 — tickets, clients, BNR/dashboard contrast                 */
/* ========================================================================== */
.admin-breadcrumb-home{display:inline-grid;place-items:center;width:25px;height:25px;color:var(--zet-muted);text-decoration:none;border-radius:7px}.admin-breadcrumb-home:hover{color:var(--zet-primary);background:var(--zet-surface-2)}.admin-breadcrumb-home svg{width:17px;height:17px;fill:currentColor}
.ticket-client-search{position:relative}.ticket-client-results{position:absolute;z-index:80;top:74px;left:0;right:0;max-height:320px;overflow:auto;border:1px solid var(--zet-border,#d9e2ec);border-radius:12px;background:var(--zet-surface,#fff);box-shadow:0 16px 35px rgba(0,0,0,.14)}.ticket-client-result{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 13px;border:0;border-bottom:1px solid var(--zet-border,#e2e8f0);background:transparent;color:var(--zet-text,#172033);cursor:pointer;text-align:left}.ticket-client-result:hover{background:var(--zet-surface-2,#f7f9fc)}.ticket-client-result span{font-size:.78rem;color:var(--zet-muted,#64748b)}
.ticket-status-revisit{background:#fff0d5;color:#8a4b00}.ticket-revisit-note{margin:14px 0;padding:14px 16px;border:1px solid #f0b35a;border-radius:12px;background:#fff7e9;color:#6e4300}.ticket-action-block{display:flex;flex-wrap:wrap;gap:10px;width:100%;align-items:end}.ticket-action-block textarea{flex:1 1 360px;min-height:74px;padding:10px;border:1px solid var(--zet-border,#d9e2ec);border-radius:10px;background:var(--zet-surface,#fff);color:var(--zet-text,#172033)}.ticket-action-block input[type=file]{flex:1 1 280px}.ticket-revisit-button{background:#b96a08!important}.ticket-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.ticket-photo-grid a{display:block;text-decoration:none;color:inherit;border:1px solid var(--zet-border,#d9e2ec);border-radius:12px;overflow:hidden;background:var(--zet-surface-2,#f7f9fc)}.ticket-photo-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#dce4ee}.ticket-photo-grid span{display:block;padding:8px;font-size:.72rem}.ticket-client-history .ticket-history-row{text-decoration:none;color:inherit}.ticket-inline-search{display:flex;gap:8px;margin:12px 0 18px}.ticket-inline-search input{min-width:260px;max-width:420px;width:100%;padding:10px 12px;border:1px solid var(--zet-border,#d9e2ec);border-radius:9px}.ticket-inline-search button{padding:10px 14px;border:0;border-radius:9px;background:var(--zet-primary,#2563eb);color:#fff;font-weight:700}
.bnr-inline-warning{margin-bottom:12px;padding:10px 12px;border-radius:10px;background:#fff6df;color:#755000;border:1px solid #efd18b;font-size:.82rem}
html[data-theme="dark"] .dashboard-stat-copy small,html.theme-dark .dashboard-stat-copy small{color:#a9b6c8!important}html[data-theme="dark"] .dashboard-stat-copy strong,html.theme-dark .dashboard-stat-copy strong{color:#f4f8ff!important}html[data-theme="dark"] .dashboard-stat-copy em,html.theme-dark .dashboard-stat-copy em{color:#69aafc!important}html[data-theme="dark"] .dashboard-stat-icon,html.theme-dark .dashboard-stat-icon{background:#1a3554!important;color:#77b8ff!important}html[data-theme="dark"] .bnr-card,html.theme-dark .bnr-card{background:var(--zet-surface-2)!important;color:var(--zet-text)!important;border-color:var(--zet-border)!important}html[data-theme="dark"] .bnr-card small,html.theme-dark .bnr-card small{color:#b7c3d2!important;opacity:1}html[data-theme="dark"] .bnr-card strong,html.theme-dark .bnr-card strong{color:#f4f8ff!important}html[data-theme="dark"] .bnr-inline-warning,html.theme-dark .bnr-inline-warning{background:#3b2d13;color:#ffd98c;border-color:#70531e}html[data-theme="dark"] .ticket-revisit-note,html.theme-dark .ticket-revisit-note{background:#392913;color:#ffd28a;border-color:#75531f}
@media(max-width:800px){.ticket-client-result{flex-direction:column;gap:3px}.ticket-action-block{display:block}.ticket-action-block>*{width:100%;margin-bottom:8px}}

/* ZET Office v2.6 — fleet + Romanian dates */
.zet-ro-date-wrap{position:relative;display:flex;align-items:center;width:100%}.zet-ro-date-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;left:0;bottom:0}.zet-ro-date-display{padding-right:44px!important}.zet-ro-date-button{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--zet-muted,#64748b);cursor:pointer;font-size:17px}.zet-ro-date-button:hover{background:var(--zet-surface-2,#eef3f8);color:var(--zet-primary,#2563eb)}
.fleet-expiry{display:inline-flex;padding:4px 8px;border-radius:999px;font-weight:700;font-size:.76rem}.fleet-expiry-ok{background:#dcfce7;color:#166534}.fleet-expiry-warning{background:#fff3cd;color:#7c5700}.fleet-expiry-expired{background:#fee2e2;color:#991b1b}.fleet-expiry-none{background:var(--zet-surface-2,#eef2f7);color:var(--zet-muted,#64748b)}
html[data-theme="dark"] .fleet-expiry-ok,html.theme-dark .fleet-expiry-ok{background:#153c2a;color:#83e7aa}html[data-theme="dark"] .fleet-expiry-warning,html.theme-dark .fleet-expiry-warning{background:#4a3511;color:#ffd27c}html[data-theme="dark"] .fleet-expiry-expired,html.theme-dark .fleet-expiry-expired{background:#4a1d22;color:#ff9da7}

/* ZET Office v2.7 - ticket planning */
.ticket-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ticket-overdue-text{color:#c62828!important}.ticket-due{font-weight:700}.ticket-due.is-overdue{color:#c62828}.ticket-due.is-done{color:#1d7a45}.ticket-rich-text p{margin:.35rem 0}.ticket-rich-list{margin:.45rem 0 .45rem 1.35rem;padding-left:.8rem}.ticket-rich-list .ticket-rich-list{margin-top:.25rem}.ticket-description+.ticket-description{margin-top:14px}.ticket-list-editor{font-family:inherit;line-height:1.55;tab-size:2}
.ticket-calendar-toolbar{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin:16px 0}.ticket-calendar-toolbar>a{color:var(--zet-primary,#2563eb);text-decoration:none;font-weight:700}.ticket-calendar-toolbar>a:last-child{text-align:right}.ticket-calendar-toolbar strong{text-align:center;font-size:1.15rem}.ticket-calendar-legend{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px}.ticket-calendar-legend span{display:inline-flex;align-items:center;gap:7px;font-size:.85rem;font-weight:700}.ticket-calendar-legend span:before{content:"";width:10px;height:10px;border-radius:50%;display:inline-block}.ticket-calendar-legend .is-progress:before{background:#f4b942}.ticket-calendar-legend .is-done:before{background:#42a96b}.ticket-calendar-legend .is-overdue:before{background:#df4d4d}.ticket-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--zet-border,#d9e2ec);border-top:1px solid var(--zet-border,#d9e2ec)}.ticket-calendar-weekdays{border:0;margin-bottom:0}.ticket-calendar-weekdays>div{padding:9px;text-align:center;font-weight:800;font-size:.82rem;color:var(--zet-muted,#64748b);border:0}.ticket-calendar-day{min-height:150px;padding:8px;border-right:1px solid var(--zet-border,#d9e2ec);border-bottom:1px solid var(--zet-border,#d9e2ec);background:var(--zet-surface,#fff)}.ticket-calendar-day.is-outside{opacity:.45;background:var(--zet-surface-2,#f7f9fc)}.ticket-calendar-day.is-today .ticket-calendar-date span{background:var(--zet-primary,#2563eb);color:#fff}.ticket-calendar-date span{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:50%;font-weight:800}.ticket-calendar-items{display:flex;flex-direction:column;gap:6px;margin-top:7px}.ticket-calendar-item{display:block;border-left:4px solid #f4b942;border-radius:8px;padding:7px 8px;text-decoration:none;color:inherit;background:color-mix(in srgb,#f4b942 14%,transparent)}.ticket-calendar-item strong,.ticket-calendar-item span,.ticket-calendar-item small{display:block}.ticket-calendar-item span{font-size:.76rem;margin-top:3px}.ticket-calendar-item small{font-size:.7rem;opacity:.72;margin-top:3px}.ticket-calendar-item.is-done{border-color:#42a96b;background:rgba(66,169,107,.13)}.ticket-calendar-item.is-overdue{border-color:#df4d4d;background:rgba(223,77,77,.13)}.ticket-calendar-item.is-progress{border-color:#f4b942;background:rgba(244,185,66,.13)}
html[data-theme="dark"] .ticket-calendar-day,html.theme-dark .ticket-calendar-day{background:var(--zet-surface,#101a28)}html[data-theme="dark"] .ticket-calendar-day.is-outside,html.theme-dark .ticket-calendar-day.is-outside{background:var(--zet-surface-2,#142131)}html[data-theme="dark"] .ticket-calendar-item.is-progress,html.theme-dark .ticket-calendar-item.is-progress{background:rgba(244,185,66,.16)}html[data-theme="dark"] .ticket-calendar-item.is-done,html.theme-dark .ticket-calendar-item.is-done{background:rgba(66,169,107,.16)}html[data-theme="dark"] .ticket-calendar-item.is-overdue,html.theme-dark .ticket-calendar-item.is-overdue{background:rgba(223,77,77,.17)}
@media(max-width:1000px){.ticket-calendar-page{overflow-x:auto}.ticket-calendar-grid{min-width:900px}.ticket-calendar-weekdays{min-width:900px}}@media(max-width:700px){.ticket-calendar-toolbar{grid-template-columns:1fr 1fr}.ticket-calendar-toolbar strong{grid-column:1/-1;grid-row:1}.ticket-calendar-toolbar>a:last-child{text-align:right}}
/* v2.7.1 ticket corrections */
.ticket-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:nowrap}.ticket-row-actions .action-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0}.ticket-row-actions .action-icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.ticket-calendar-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.ticket-calendar-page{min-width:0}.ticket-calendar-page .ticket-calendar-grid{width:100%}@media(max-width:1000px){.ticket-calendar-scroll .ticket-calendar-grid{min-width:900px}}

/* v2.8 receipts + Safari calendar */
.receipt-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}.receipt-summary span{padding:12px 14px;border:1px solid var(--border,#d7e1ee);border-radius:12px;background:var(--surface-soft,#f7f9fc);font-size:13px}.receipt-summary strong{display:block;margin-top:4px;font-size:16px}.receipt-value-row{display:flex;gap:8px;align-items:stretch}.receipt-value-row input{min-width:0;flex:1}.receipt-fill-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:86px;border:1px solid #7daee8;border-radius:10px;background:#eef6ff;color:#1265b0;font-weight:700;cursor:pointer}.receipt-fill-button:hover{background:#dceeff}.receipt-value-invalid{border-color:#d93025!important;box-shadow:0 0 0 2px rgba(217,48,37,.12)!important;background:#fff5f5!important}.zet-calendar-popover{position:absolute;z-index:9999;top:calc(100% + 6px);left:0;width:min(320px,calc(100vw - 32px));padding:12px;border:1px solid var(--border,#cdd8e6);border-radius:14px;background:var(--surface,#fff);color:var(--text,#172033);box-shadow:0 18px 45px rgba(15,23,42,.22)}.zet-ro-date-wrap{position:relative}.zet-calendar-head,.zet-calendar-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.zet-calendar-head button,.zet-calendar-foot button,.zet-calendar-day{border:0;background:transparent;color:inherit;cursor:pointer}.zet-calendar-head button{font-size:24px;width:36px;height:36px;border-radius:9px}.zet-calendar-head button:hover,.zet-calendar-day:hover{background:var(--surface-soft,#eef4fb)}.zet-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:10px 0}.zet-calendar-weekday{text-align:center;font-size:11px;font-weight:700;opacity:.65;padding:4px 0}.zet-calendar-day{height:36px;border-radius:9px;font-weight:600}.zet-calendar-day.is-today{outline:1px solid #4f9ce8}.zet-calendar-day.is-selected{background:#1976d2;color:#fff}.zet-calendar-foot{border-top:1px solid var(--border,#d7e1ee);padding-top:10px}.zet-calendar-foot button{font-weight:700;color:#1976d2;padding:6px 8px;border-radius:8px}.zet-calendar-foot button:hover{background:var(--surface-soft,#eef4fb)}
[data-theme="dark"] .receipt-summary span,[data-theme="dark"] .zet-calendar-popover{background:#121d2c;color:#e9f1fb;border-color:#2b3c51}[data-theme="dark"] .receipt-fill-button{background:#183351;color:#7dbaff;border-color:#3c6c9f}[data-theme="dark"] .receipt-value-invalid{background:#32191b!important;color:#fff!important}
@media(max-width:760px){.receipt-summary{grid-template-columns:1fr 1fr}.receipt-value-row{flex-direction:column}.receipt-fill-button{min-height:42px;width:100%}}

/* v2.9 */
.bnr-dashboard-panel{margin-bottom:34px!important}.bnr-panel-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bnr-panel-actions .ticket-primary-link{font-size:12px;padding:7px 10px}.ops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ops-card{border:1px solid var(--border-color,#dfe5ec);border-radius:14px;padding:16px;background:var(--card-bg,#fff)}.ops-card h3{margin:0 0 10px}.ops-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ops-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef3f8;font-size:12px;font-weight:700}.ops-badge.is-success{background:#e7f7ed;color:#176b38}.ops-badge.is-warning{background:#fff5d6;color:#7d5a00}.ops-badge.is-danger{background:#ffe7e7;color:#a32929}.secret-field{display:flex;gap:8px;align-items:center}.secret-value{font-family:ui-monospace,monospace}.conditional-section[hidden]{display:none!important}.order-status-row{display:flex;gap:8px;flex-wrap:wrap}.maps-link{display:inline-flex;align-items:center;gap:6px;margin-top:6px}.service-total{font-weight:800}.form-section-title{grid-column:1/-1;margin:10px 0 0;padding-top:14px;border-top:1px solid var(--border-color,#e2e8f0)}@media(max-width:800px){.ops-grid,.ops-meta{grid-template-columns:1fr}}
/* v2.10 production paths / conditional sections */
.full-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.full-grid[hidden]{display:none!important}.path-copy-row{display:flex;gap:8px;align-items:center}.path-copy-row input,.path-copy-row code{flex:1;min-width:0}.path-copy-row code{display:block;padding:10px 12px;border:1px solid var(--border-color,#d9dee7);border-radius:8px;white-space:pre-wrap;word-break:break-all}.path-copy-btn{white-space:nowrap}.bnr-dashboard-panel{margin-bottom:28px!important}
@media(max-width:760px){.full-grid{grid-template-columns:1fr}.path-copy-row{align-items:stretch;flex-direction:column}}
/* v2.10 service pattern + ticket maps */
.pattern-lock{width:220px;height:220px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:22px;padding:24px;position:relative;margin:8px 0;background:var(--card-bg,#f7f8fa);border:1px solid var(--border-color,#d9dee7);border-radius:16px}.pattern-lock svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.pattern-lock svg line{stroke:currentColor;stroke-width:5;stroke-linecap:round;opacity:.65}.pattern-lock button{position:relative;z-index:2;border:2px solid currentColor;background:var(--card-bg,#fff);border-radius:50%;width:42px;height:42px;justify-self:center;align-self:center;font-size:12px;cursor:pointer}.pattern-lock button.is-selected{background:currentColor;color:#fff}.service-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.service-photo-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;border:1px solid var(--border-color,#ddd)}.map-address-row{display:flex;gap:8px}.map-address-row input{flex:1}.ticket-map{height:340px;border-radius:12px;border:1px solid var(--border-color,#ddd);margin-top:10px;overflow:hidden}.ticket-map-view{margin:16px 0 22px}.leaflet-container{z-index:1}.bnr-dashboard-panel{margin-bottom:32px!important}
@media(max-width:700px){.map-address-row{flex-direction:column}.ticket-map{height:280px}}

/* v2.11 - calendare compacte */
.ticket-calendar-day{min-height:126px;padding:6px}
.ticket-calendar-date span{min-width:24px;height:24px;font-size:.78rem}
.ticket-calendar-items{gap:3px;margin-top:4px}
.ticket-calendar-item{border-left-width:3px;border-radius:6px;padding:4px 5px;min-width:0}
.ticket-calendar-item strong{font-size:.70rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ticket-calendar-item span{font-size:.64rem;line-height:1.15;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ticket-calendar-item small{font-size:.60rem;line-height:1.1;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ticket-calendar-more{font-size:.64rem;font-weight:800;color:var(--zet-muted,#64748b);padding:2px 5px;white-space:nowrap}


/* v2.12 - dark mode complet pentru Service GSM/IT + Comenzi producție */
html[data-theme="dark"] .ops-card,html.theme-dark .ops-card,
html[data-theme="dark"] .pattern-lock,html.theme-dark .pattern-lock,
html[data-theme="dark"] .ticket-client-results,html.theme-dark .ticket-client-results,
html[data-theme="dark"] .production-order-card,html.theme-dark .production-order-card,
html[data-theme="dark"] .service-device-card,html.theme-dark .service-device-card{background:var(--zet-surface,#151b24)!important;color:var(--zet-text,#eef2f7)!important;border-color:var(--zet-border,#334155)!important}
html[data-theme="dark"] .ops-badge,html.theme-dark .ops-badge{background:#273244;color:#eef2f7}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html.theme-dark input,html.theme-dark select,html.theme-dark textarea{background:#111827;color:#f3f4f6;border-color:#3b4658}
html[data-theme="dark"] .companies-table th,html.theme-dark .companies-table th{background:#1f2937;color:#f3f4f6}
html[data-theme="dark"] .companies-table td,html.theme-dark .companies-table td{background:#151b24;color:#e5e7eb;border-color:#334155}
.ticket-calendar-item{font-size:10.5px!important;line-height:1.15!important;padding:4px 5px!important;min-height:0!important}.ticket-calendar-item strong{font-size:10.5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-calendar-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-calendar-item small{font-size:9.5px}.ticket-calendar-more{font-size:10px;padding:3px 5px}.schedule-date-row{display:flex;gap:8px;align-items:center;margin:6px 0}.schedule-date-row input{max-width:220px}.schedule-date-row button{border:0;background:transparent;font-size:20px;cursor:pointer}
.commercial-item-row{display:grid;grid-template-columns:3fr .7fr .7fr 1fr .7fr .7fr;gap:8px;margin-bottom:8px}@media(max-width:900px){.commercial-item-row{grid-template-columns:1fr 1fr}.commercial-item-row input:first-child{grid-column:1/-1}}

/* v2.12.1 - selecție multi-zi direct din calendarul tichetului */
.ticket-multidate{border:1px solid var(--zet-border,#d7e1ee);border-radius:14px;padding:12px;background:var(--zet-surface-2,#f8fafc);max-width:520px}
.ticket-multidate-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.ticket-multidate-head button{border:1px solid var(--zet-border,#d7e1ee);background:var(--zet-surface,#fff);color:var(--zet-text,#172033);border-radius:9px;width:36px;height:34px;cursor:pointer}.ticket-multidate-title{font-weight:800}.ticket-multidate-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.ticket-multidate-weekday{text-align:center;font-size:11px;font-weight:800;color:var(--zet-muted,#64748b);padding:3px}.ticket-multidate-day{border:0;background:transparent;color:var(--zet-text,#172033);height:36px;border-radius:9px;cursor:pointer;font-weight:700}.ticket-multidate-day:hover{background:var(--zet-surface,#eef4fb)}.ticket-multidate-day.is-today{outline:1px solid #4f9ce8}.ticket-multidate-day.is-selected{background:#1976d2;color:#fff}.ticket-multidate-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid var(--zet-border,#d7e1ee)}.ticket-multidate-summary{font-size:12px;color:var(--zet-muted,#64748b);line-height:1.35}.ticket-multidate-clear{border:0;background:transparent;color:#1976d2;font-weight:800;cursor:pointer;white-space:nowrap}html[data-theme="dark"] .ticket-multidate,html.theme-dark .ticket-multidate{background:#121d2c;border-color:#2b3c51}html[data-theme="dark"] .ticket-multidate-head button,html.theme-dark .ticket-multidate-head button{background:#111827;color:#f3f4f6;border-color:#3b4658}

/* v2.12.2 - dark mode: security/device access + service + production */
html[data-theme="dark"] .company-card,
html.theme-dark .company-card,
html[data-theme="dark"] .dashboard-table-wrap,
html.theme-dark .dashboard-table-wrap,
html[data-theme="dark"] .companies-table-wrap,
html.theme-dark .companies-table-wrap {
  background: var(--zet-surface,#151b24) !important;
  color: var(--zet-text,#eef2f7) !important;
  border-color: var(--zet-border,#334155) !important;
}
html[data-theme="dark"] .dashboard-table tbody tr,
html.theme-dark .dashboard-table tbody tr,
html[data-theme="dark"] .companies-table tbody tr,
html.theme-dark .companies-table tbody tr {
  background: var(--zet-surface,#151b24) !important;
}
html[data-theme="dark"] .dashboard-table tbody tr:hover,
html.theme-dark .dashboard-table tbody tr:hover,
html[data-theme="dark"] .companies-table tbody tr:hover,
html.theme-dark .companies-table tbody tr:hover {
  background:#1b2635 !important;
}
html[data-theme="dark"] .zet-notice-info,
html.theme-dark .zet-notice-info {
  background:#13283d !important;
  color:#cfe8ff !important;
  border-color:#2f5375 !important;
}
html[data-theme="dark"] .dashboard-warning,
html.theme-dark .dashboard-warning {
  background:#3b2d13 !important;
  color:#ffd98c !important;
  border-color:#70531e !important;
}
html[data-theme="dark"] .secret-field,
html.theme-dark .secret-field,
html[data-theme="dark"] .pattern-lock,
html.theme-dark .pattern-lock,
html[data-theme="dark"] .service-photo-grid,
html.theme-dark .service-photo-grid {
  color:var(--zet-text,#eef2f7) !important;
}
html[data-theme="dark"] .ticket-primary-link,
html.theme-dark .ticket-primary-link {
  border-color:#3d6b99;
}

/* v2.13 - production calendar dark mode + ticket location actions */
.ticket-location-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:6px}
.ticket-location-actions .maps-link{margin-top:0}
.maps-copy-link{font:inherit;border:0;background:transparent;padding:0;cursor:pointer;color:var(--zet-primary,#2563eb)}
html[data-theme="dark"] .production-calendar-page,
html.theme-dark .production-calendar-page,
html[data-theme="dark"] .ticket-calendar-page,
html.theme-dark .ticket-calendar-page{background:var(--zet-surface,#101a28)!important;color:var(--zet-text,#eef2f7)!important}
html[data-theme="dark"] .ticket-calendar-toolbar,
html.theme-dark .ticket-calendar-toolbar,
html[data-theme="dark"] .ticket-calendar-weekdays,
html.theme-dark .ticket-calendar-weekdays{color:var(--zet-text,#eef2f7)!important}
html[data-theme="dark"] .ticket-calendar-weekdays>div,
html.theme-dark .ticket-calendar-weekdays>div{color:#b9c7d8!important}
html[data-theme="dark"] .ticket-calendar-day,
html.theme-dark .ticket-calendar-day{background:#101a28!important;border-color:#2d3b4e!important;color:#eef2f7!important}
html[data-theme="dark"] .ticket-calendar-day.is-outside,
html.theme-dark .ticket-calendar-day.is-outside{background:#142131!important;color:#9fb0c4!important}
html[data-theme="dark"] .ticket-calendar-grid,
html.theme-dark .ticket-calendar-grid{border-color:#2d3b4e!important}

/* ========================================================================== */
/* ZET Office v2.14 - pontaj, reverse geocoding, materiale tichet             */
/* ========================================================================== */
.ticket-address-details{margin-top:7px;font-size:.78rem;color:var(--zet-muted,#64748b);min-height:1.1em}
.map-address-row{flex-wrap:wrap}.map-address-row input{min-width:260px}.map-address-row button{white-space:nowrap}
.ticket-materials-entry{width:100%;border:1px solid var(--zet-border,#d7e1ee);border-radius:12px;background:var(--zet-surface-2,#f8fafc);padding:12px;margin:8px 0}.ticket-materials-entry>strong{display:block;margin-bottom:8px}.ticket-materials-entry>strong small{font-weight:500;color:var(--zet-muted,#64748b)}
.ticket-materials-rows{display:flex;flex-direction:column;gap:7px}.ticket-material-row{display:grid;grid-template-columns:minmax(200px,2.2fr) .7fr .55fr .8fr minmax(140px,1.3fr) 34px;gap:7px;align-items:center}.ticket-material-row input{width:100%;min-width:0}.ticket-material-remove{height:36px;width:34px;border:1px solid var(--zet-border,#d7e1ee);border-radius:8px;background:var(--zet-surface,#fff);color:#c43b46;cursor:pointer;font-size:20px}.ticket-material-add{margin-top:8px;border:0;background:transparent;color:var(--zet-accent,#2563eb);font-weight:800;cursor:pointer}.ticket-material-status{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:800}.ticket-material-status.is-pending{background:#fff1d6;color:#9a5c00}.ticket-material-status.is-invoiced{background:#dff5e9;color:#237a4b}.ticket-material-status.is-ignored{background:#edf0f4;color:#667085}
.attendance-page{min-width:0}.attendance-today-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;margin-bottom:16px;border:1px solid var(--zet-border,#d7e1ee);border-radius:14px;background:var(--zet-surface-2,#f8fafc)}.attendance-today-card>div:first-child{display:flex;flex-direction:column;gap:3px}.attendance-today-card small{color:var(--zet-muted,#64748b)}.attendance-today-card strong{font-size:1.05rem}.attendance-today-card span{font-size:.86rem}.attendance-clock-form{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.attendance-clock-form select,.attendance-clock-form input{min-height:38px}.attendance-check{display:flex;align-items:center;gap:6px;font-size:.84rem}.attendance-commute-extra{display:flex;gap:7px;align-items:center}.attendance-commute-extra[hidden]{display:none!important}.attendance-done-label{font-weight:800;color:#2f8a5d}.attendance-admin-editor{border:1px solid var(--zet-border,#d7e1ee);border-radius:12px;padding:0 12px 12px;margin:0 0 16px;background:var(--zet-surface-2,#f8fafc)}.attendance-admin-editor>summary{cursor:pointer;font-weight:800;padding:12px 2px}.attendance-delete-form{display:flex;justify-content:flex-end}.attendance-delete-form button{border:1px solid #d45862;background:transparent;color:#c43b46;border-radius:8px;padding:8px 12px;cursor:pointer}.attendance-legend{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0}.attendance-legend span{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;font-weight:800}.attendance-legend span:before{content:'';width:10px;height:10px;border-radius:50%;background:#8aa0b7}.attendance-legend .is-work:before{background:#3ea66b}.attendance-legend .is-open:before{background:#e39a2d}.attendance-legend .is-leave:before{background:#4f8edc}.attendance-legend .is-absence:before{background:#d55a67}.attendance-legend .is-commute:before{display:none}.attendance-calendar-grid .attendance-day{min-height:142px}.attendance-calendar-item{display:block;text-decoration:none;border-left:3px solid #8aa0b7;border-radius:7px;padding:4px 6px;background:rgba(138,160,183,.09);color:var(--zet-text,#172033);margin-bottom:3px;min-width:0}.attendance-calendar-item strong,.attendance-calendar-item span,.attendance-calendar-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attendance-calendar-item strong{font-size:10.8px}.attendance-calendar-item span{font-size:9.8px}.attendance-calendar-item small{font-size:9px;color:var(--zet-muted,#64748b)}.attendance-calendar-item.is-work{border-left-color:#3ea66b;background:rgba(62,166,107,.10)}.attendance-calendar-item.is-open{border-left-color:#e39a2d;background:rgba(227,154,45,.12)}.attendance-calendar-item.is-leave{border-left-color:#4f8edc;background:rgba(79,142,220,.10)}.attendance-calendar-item.is-absence{border-left-color:#d55a67;background:rgba(213,90,103,.10)}.attendance-summary{margin-top:20px}.attendance-summary h2{font-size:1.02rem}.attendance-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.attendance-summary-grid article{border:1px solid var(--zet-border,#d7e1ee);border-radius:10px;padding:11px;background:var(--zet-surface-2,#f8fafc);display:flex;flex-direction:column;gap:4px}.attendance-summary-grid article span,.attendance-summary-grid article small{color:var(--zet-muted,#64748b)}
html[data-theme="dark"] .ticket-materials-entry,html.theme-dark .ticket-materials-entry,html[data-theme="dark"] .attendance-today-card,html.theme-dark .attendance-today-card,html[data-theme="dark"] .attendance-admin-editor,html.theme-dark .attendance-admin-editor,html[data-theme="dark"] .attendance-summary-grid article,html.theme-dark .attendance-summary-grid article{background:#121d2c;border-color:#2b3c51;color:#eef2f7}html[data-theme="dark"] .attendance-calendar-item,html.theme-dark .attendance-calendar-item{color:#eef2f7}
@media(max-width:900px){.ticket-material-row{grid-template-columns:2fr .7fr .6fr}.ticket-material-row input:nth-child(4),.ticket-material-row input:nth-child(5){grid-column:auto}.attendance-today-card{align-items:stretch;flex-direction:column}.attendance-clock-form{justify-content:flex-start}}
@media(max-width:620px){.ticket-material-row{grid-template-columns:1fr 1fr}.ticket-material-row input:first-child,.ticket-material-row input:nth-child(5){grid-column:1/-1}.ticket-material-remove{justify-self:end}.attendance-clock-form{align-items:stretch;flex-direction:column}.attendance-clock-form>*{width:100%}.attendance-commute-extra{width:100%}.attendance-commute-extra>*{flex:1;min-width:0}.attendance-calendar-grid .attendance-day{min-height:110px}}

/* v2.15 · calendar de lucru / weekend */
.ticket-calendar-day.is-sunday,
.attendance-day.is-sunday {
    background: color-mix(in srgb, var(--panel-bg, #fff) 62%, #9ca3af 38%);
    opacity: .78;
}
.ticket-calendar-day.is-sunday .ticket-calendar-date,
.ticket-calendar-day.is-sunday .ticket-calendar-items { filter: grayscale(.55); }
.ticket-calendar-day.is-saturday { box-shadow: inset 0 0 0 1px rgba(245,158,11,.18); }

.ticket-multidate-day.is-sunday,
.ticket-multidate-day.is-saturday:disabled,
.workdate-day.is-sunday,
.workdate-day.is-saturday:disabled {
    background: #d1d5db !important;
    color: #6b7280 !important;
    border-color: #c4c9d1 !important;
    cursor: not-allowed !important;
    opacity: .7;
    box-shadow: none !important;
}
.ticket-multidate-day.is-urgent-allowed,
.workdate-day.is-urgent-allowed {
    border-color: #f59e0b;
    background: rgba(245,158,11,.12);
}

.workdate-picker {
    border: 1px solid var(--border, #dfe3e8);
    border-radius: 14px;
    padding: 12px;
    background: var(--card-bg, #fff);
    max-width: 620px;
}
.workdate-head,
.workdate-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.workdate-head button,
.workdate-foot button {
    border: 1px solid var(--border, #dfe3e8);
    background: var(--panel-bg, #f8fafc);
    color: inherit;
    border-radius: 9px;
    padding: 7px 11px;
    cursor: pointer;
}
.workdate-grid {
    display: grid;
    grid-template-columns: repeat(7,minmax(34px,1fr));
    gap: 6px;
    margin: 10px 0;
}
.workdate-weekday {
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    opacity: .65;
    padding: 4px 0;
}
.workdate-empty { min-height: 38px; }
.workdate-day {
    min-height: 38px;
    border: 1px solid var(--border, #dfe3e8);
    border-radius: 9px;
    background: var(--panel-bg, #fff);
    color: inherit;
    cursor: pointer;
}
.workdate-day:hover:not(:disabled) { transform: translateY(-1px); }
.workdate-day.is-selected {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
    font-weight: 800;
}
.workdate-day.is-today { outline: 2px solid rgba(37,99,235,.35); outline-offset: 1px; }
.workdate-foot span { font-size: 13px; opacity: .8; }
.urgent-toggle { display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.urgent-toggle small { font-weight:400;opacity:.7; }
.attendance-time-select { min-width: 120px; font-variant-numeric: tabular-nums; }
.ticket-continue-panel {
    display:grid;
    gap:8px;
    padding:12px;
    border:1px solid rgba(245,158,11,.3);
    background:rgba(245,158,11,.08);
    border-radius:12px;
}
.ticket-continue-button { width:max-content; max-width:100%; }
.ticket-urgent-banner {
    margin: 12px 0;
    padding: 9px 12px;
    border-radius: 10px;
    background: rgba(239,68,68,.1);
    border: 1px solid rgba(239,68,68,.3);
    font-weight: 800;
}
@media (max-width: 640px) {
    .workdate-picker { padding: 9px; }
    .workdate-grid { gap: 4px; }
    .workdate-day { min-height: 34px; padding: 0; }
}
.ticket-calendar-day.is-sunday { background:#e5e7eb; }

/* ZET Office v2.16 */
.ticket-quick-status{display:inline-flex;margin:0}.ticket-quick-status select{min-width:145px;height:40px;border-radius:10px;border:1px solid var(--zet-border);background:var(--zet-surface);color:var(--zet-text);font-weight:700;padding:0 10px}
.ticket-material-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.ticket-material-save{border:0;border-radius:10px;background:var(--zet-primary,#1976d2);color:#fff;font-weight:800;padding:10px 14px;cursor:pointer}
html[data-theme="dark"] .ticket-material-row input,html.theme-dark .ticket-material-row input,html[data-theme="dark"] .ticket-material-remove,html.theme-dark .ticket-material-remove{background:#0f1927!important;color:#eef2f7!important;border-color:#34465d!important}html[data-theme="dark"] .ticket-material-row input::placeholder,html.theme-dark .ticket-material-row input::placeholder{color:#8293a9!important}
html[data-theme="dark"] .ticket-materials-entry,html.theme-dark .ticket-materials-entry{background:#121d2c!important;border-color:#2b3c51!important}.ticket-used-materials{overflow:hidden}
html[data-theme="dark"] .zet-work-date-picker,html.theme-dark .zet-work-date-picker,html[data-theme="dark"] .ticket-multidate,html.theme-dark .ticket-multidate{background:#121d2c!important;color:#eef2f7!important;border-color:#34465d!important}html[data-theme="dark"] .zet-work-date-picker button,html.theme-dark .zet-work-date-picker button,html[data-theme="dark"] .ticket-multidate button,html.theme-dark .ticket-multidate button{color:#eef2f7!important}html[data-theme="dark"] .ticket-multidate-grid,html.theme-dark .ticket-multidate-grid{background:#121d2c!important}html[data-theme="dark"] .ticket-multidate-day:not(.is-selected):not(.is-sunday),html.theme-dark .ticket-multidate-day:not(.is-selected):not(.is-sunday){background:#172538!important;color:#e8eef7!important;border-color:#30445d!important}html[data-theme="dark"] .ticket-multidate-day.is-sunday,html.theme-dark .ticket-multidate-day.is-sunday{background:#26313f!important;color:#718096!important}
.attendance-time-input{font-variant-numeric:tabular-nums;letter-spacing:.04em;max-width:150px}.zet-time-picker{position:absolute;z-index:12000;width:310px;border-radius:18px;border:1px solid var(--zet-border,#d7e1ee);background:var(--zet-surface,#fff);color:var(--zet-text,#172033);box-shadow:0 22px 60px rgba(15,23,42,.28);padding:14px}.zet-time-picker-title{text-align:center;font-weight:800;margin-bottom:8px}.zet-time-columns{display:grid;grid-template-columns:1fr 34px 1fr;align-items:center}.zet-time-sep{text-align:center;font-size:36px;font-weight:300}.zet-time-column{display:grid;grid-template-rows:36px 34px 58px 34px 36px;align-items:center;text-align:center}.zet-time-column button{border:0;background:transparent;color:var(--zet-text);font-size:18px;cursor:pointer}.zet-time-column strong{font-size:42px;line-height:1;color:var(--zet-primary,#1976d2);font-weight:500}.zet-time-column .muted{font-size:22px;opacity:.3}.zet-time-actions{display:flex;justify-content:space-between;border-top:1px solid var(--zet-border);padding-top:10px;margin-top:8px}.zet-time-actions button{border:0;background:transparent;color:var(--zet-primary,#1976d2);font-weight:800;cursor:pointer}.zet-time-picker[data-open="1"]{display:block}html[data-theme="dark"] .zet-time-picker,html.theme-dark .zet-time-picker{background:#121d2c;color:#eef2f7;border-color:#34465d}
.unscheduled-panel{border:1px solid var(--zet-border);border-radius:14px;padding:14px;margin:0 0 16px;background:var(--zet-surface-2)}.unscheduled-panel.is-blue{border-color:#5b9fe8;background:rgba(25,118,210,.10)}.unscheduled-list{display:grid;gap:7px;margin-top:10px}.unscheduled-list a{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--zet-border);border-radius:10px;background:var(--zet-surface);color:var(--zet-text);text-decoration:none}.unscheduled-list small{color:var(--zet-muted)}
.notification-all-link{float:right;font-size:.75rem;color:var(--zet-primary)!important;padding:0!important}.notification-list{display:grid;gap:8px}.notification-row{display:flex;justify-content:space-between;gap:18px;padding:14px;border:1px solid var(--zet-border);border-radius:12px;background:var(--zet-surface);color:var(--zet-text);text-decoration:none}.notification-row.is-unread{border-left:4px solid var(--zet-primary,#1976d2);background:color-mix(in srgb,var(--zet-primary,#1976d2) 6%,var(--zet-surface))}.notification-row p{margin:4px 0 0;color:var(--zet-muted)}.notification-row time{white-space:nowrap;font-size:.82rem;color:var(--zet-muted)}.zet-pagination{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.zet-pagination a{display:grid;place-items:center;min-width:34px;height:34px;border:1px solid var(--zet-border);border-radius:8px;color:var(--zet-text);text-decoration:none}.zet-pagination a.is-current{background:var(--zet-primary,#1976d2);color:#fff;border-color:transparent}
.ticket-address-history{margin-bottom:10px}.ticket-address-history select{width:100%;background:var(--zet-surface);color:var(--zet-text);border:1px solid var(--zet-border);border-radius:10px;padding:10px}
html[data-theme="dark"] .company-card .ticket-multidate,html.theme-dark .company-card .ticket-multidate{box-shadow:none!important}
html[data-theme="dark"] .workdate-picker,html.theme-dark .workdate-picker{background:#121d2c!important;color:#eef2f7!important;border-color:#34465d!important;box-shadow:none!important}
html[data-theme="dark"] .workdate-head button,html.theme-dark .workdate-head button,html[data-theme="dark"] .workdate-foot button,html.theme-dark .workdate-foot button{background:#172538!important;color:#e8eef7!important;border-color:#34465d!important}
html[data-theme="dark"] .workdate-weekday,html.theme-dark .workdate-weekday{color:#aebed0!important}
html[data-theme="dark"] .workdate-day:not(.is-selected):not(.is-sunday):not(:disabled),html.theme-dark .workdate-day:not(.is-selected):not(.is-sunday):not(:disabled){background:#172538!important;color:#eef2f7!important;border-color:#30445d!important}
html[data-theme="dark"] .workdate-day.is-sunday,html.theme-dark .workdate-day.is-sunday,html[data-theme="dark"] .workdate-day.is-saturday:disabled,html.theme-dark .workdate-day.is-saturday:disabled{background:#2b3440!important;color:#718096!important;border-color:#3b4658!important;opacity:.9!important}

/* ZET Office v2.17 */
.ticket-material-summary-line{display:flex;align-items:center;justify-content:space-between;gap:18px}.ticket-material-summary-line>div{display:flex;flex-direction:column;gap:4px}.ticket-material-summary-line strong{font-size:1.15rem}.ticket-material-summary-line small{color:var(--zet-muted,#64748b)}.ticket-materials-manage{margin-left:auto}.ticket-history-more{margin-top:14px}.ticket-primary-link.is-secondary{background:var(--zet-surface-2,#eef3f8);color:var(--zet-text,#172033);border:1px solid var(--zet-border,#d6e0ec)}
.ticket-material-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.ticket-material-kpis article{padding:16px;border:1px solid var(--zet-border,#d7e1ee);border-radius:12px;background:var(--zet-surface-2,#f8fafc)}.ticket-material-kpis span,.ticket-material-kpis strong{display:block}.ticket-material-kpis strong{font-size:1.35rem;margin-top:4px}.ticket-material-head,.ticket-material-row-v217{display:grid;grid-template-columns:minmax(190px,2fr) .65fr .55fr .8fr .9fr minmax(150px,1.3fr) 34px;gap:7px;align-items:center}.ticket-material-head{font-size:.78rem;font-weight:800;color:var(--zet-muted,#64748b);padding:0 2px 5px}.ticket-material-row-v217 output{font-weight:800;white-space:nowrap}.ticket-material-totalbar{display:flex;justify-content:flex-end;align-items:center;gap:16px;border-top:1px solid var(--zet-border,#d7e1ee);margin-top:12px;padding-top:12px}.ticket-material-totalbar strong{font-size:1.2rem}.zet-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:22px 0 4px}.zet-pagination a,.zet-pagination span{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--zet-border,#d7e1ee);border-radius:9px;background:var(--zet-surface,#fff);color:var(--zet-text,#172033);text-decoration:none}.zet-pagination a.is-active{background:var(--zet-primary,#1976d2);color:#fff;border-color:var(--zet-primary,#1976d2)}.zet-pagination a.is-disabled{pointer-events:none;opacity:.35}
html[data-theme="dark"] .ticket-material-kpis article,html.theme-dark .ticket-material-kpis article,html[data-theme="dark"] .zet-pagination a,html.theme-dark .zet-pagination a{background:#121d2c;color:#eef2f7;border-color:#2b3c51}html[data-theme="dark"] .ticket-primary-link.is-secondary,html.theme-dark .ticket-primary-link.is-secondary{background:#162235;color:#eef2f7;border-color:#34465d}
@media(max-width:900px){.ticket-material-head{display:none}.ticket-material-row-v217{grid-template-columns:1fr 1fr}.ticket-material-row-v217 input:first-child,.ticket-material-row-v217 input:nth-child(6){grid-column:1/-1}.ticket-material-row-v217 output{padding:8px 0}.ticket-material-summary-line{align-items:stretch;flex-direction:column}.ticket-material-kpis{grid-template-columns:1fr}}

/* ZET Office v2.18 */
.login-v2-logo.login-v2-logo-image{overflow:hidden;padding:0;background:transparent!important;border:none!important;box-shadow:none!important;display:flex;align-items:center;justify-content:center}
.login-v2-logo.login-v2-logo-image img{width:100%;height:100%;object-fit:contain;display:block}
.admin-attendance-quick{margin:0;display:flex;align-items:center}
.admin-attendance-button{height:40px;border:0;border-radius:12px;padding:0 12px;display:inline-flex;align-items:center;gap:8px;font-weight:700;cursor:pointer;color:#fff;box-shadow:0 5px 14px rgba(0,0,0,.14);transition:transform .15s ease,opacity .15s ease}
.admin-attendance-button:hover{transform:translateY(-1px)}
.admin-attendance-button svg{width:19px;height:19px;fill:currentColor}.admin-attendance-button.is-start{background:#16a34a}.admin-attendance-button.is-stop{background:#dc2626}
@media(max-width:720px){.admin-attendance-button span{display:none}.admin-attendance-button{width:40px;padding:0;justify-content:center;border-radius:50%}}
.ticket-filter-panel{display:grid;grid-template-columns:minmax(150px,1.2fr) repeat(2,minmax(135px,.9fr)) minmax(170px,1.2fr) minmax(170px,1.2fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--admin-border,#dfe4ea);border-radius:14px;background:var(--admin-panel-soft,#f7f9fb);margin:0 0 10px}
.ticket-filter-field{display:flex;flex-direction:column;gap:6px}.ticket-filter-field label{font-size:12px;font-weight:700;opacity:.75}.ticket-filter-field input,.ticket-filter-field select{width:100%;min-height:42px;border-radius:10px;border:1px solid var(--admin-border,#d6dce3);background:var(--admin-input-bg,#fff);color:inherit;padding:8px 10px}
.ticket-filter-actions{display:flex;gap:8px;align-items:center}.ticket-filter-actions button,.ticket-filter-actions a{min-height:42px;border-radius:10px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.ticket-filter-actions button{border:0;background:#2563eb;color:#fff;font-weight:700;cursor:pointer}.ticket-filter-actions a{border:1px solid var(--admin-border,#d6dce3);color:inherit}.ticket-filter-summary{font-size:13px;opacity:.72;margin:0 0 12px}
@media(max-width:1100px){.ticket-filter-panel{grid-template-columns:repeat(3,minmax(150px,1fr))}.ticket-filter-actions{grid-column:span 3}}
@media(max-width:700px){.ticket-filter-panel{grid-template-columns:1fr}.ticket-filter-actions{grid-column:auto;flex-wrap:wrap}}
.ticket-material-head-actions{display:flex;align-items:center;gap:10px}.ticket-material-print{width:42px;height:42px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center}.ticket-material-print svg{width:21px;height:21px}
.notification-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notification-kind{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.06em;padding:5px 7px;border-radius:999px;background:#e5e7eb;color:#374151;font-weight:800}.notification-kind.is-invoice{background:#dbeafe;color:#1d4ed8}.notification-kind.is-ticket{background:#ffedd5;color:#c2410c}.notification-kind.is-system{background:#ede9fe;color:#6d28d9}.notification-total{font-size:13px;opacity:.75}.notification-row.is-unread{border-left:3px solid #ef4444}
.table-inline-form{display:inline-flex;margin:0}.table-inline-form button{font:inherit}
[data-theme="dark"] .ticket-filter-panel,.dark .ticket-filter-panel{background:#161b22;border-color:#30363d}.dark .ticket-filter-field input,.dark .ticket-filter-field select,[data-theme="dark"] .ticket-filter-field input,[data-theme="dark"] .ticket-filter-field select{background:#0d1117;color:#f0f3f6;border-color:#30363d;color-scheme:dark}
[data-theme="dark"] .notification-kind,.dark .notification-kind{background:#30363d;color:#e6edf3}[data-theme="dark"] .notification-kind.is-invoice,.dark .notification-kind.is-invoice{background:#102a56;color:#9ec5ff}[data-theme="dark"] .notification-kind.is-ticket,.dark .notification-kind.is-ticket{background:#4a250d;color:#ffbd7a}[data-theme="dark"] .notification-kind.is-system,.dark .notification-kind.is-system{background:#302152;color:#c4b5fd}
/* ZET Office v2.20 - Chat + MFA */
.admin-chat-button{position:relative;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.zet-chat-layout{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:620px;border:1px solid var(--border-color,#dbe2ea);border-radius:18px;overflow:hidden;background:var(--surface,#fff)}
.zet-chat-conversations{border-right:1px solid var(--border-color,#dbe2ea);overflow:auto;max-height:70vh}
.zet-chat-conversation{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 44px 14px 16px;text-decoration:none;color:inherit;border-bottom:1px solid var(--border-color,#e8edf2)}
.zet-chat-conversation:hover,.zet-chat-conversation.is-active{background:rgba(71,105,255,.08)}
.zet-chat-conversation span{font-size:12px;opacity:.7}.zet-chat-conversation b{position:absolute;right:12px;top:18px;min-width:22px;height:22px;border-radius:12px;background:#e53935;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px}
.zet-chat-thread{display:flex;min-width:0;flex-direction:column}.zet-chat-thread-head{padding:15px 18px;border-bottom:1px solid var(--border-color,#dbe2ea)}.zet-chat-thread-head div{display:flex;flex-direction:column}.zet-chat-thread-head span{font-size:12px;opacity:.7}
.zet-chat-messages{flex:1;overflow:auto;max-height:58vh;padding:20px;background:rgba(100,116,139,.04)}.zet-chat-message{display:flex;margin:9px 0}.zet-chat-message.is-staff{justify-content:flex-end}.zet-chat-bubble{max-width:min(72%,720px);padding:10px 13px;border-radius:16px;background:var(--surface,#fff);box-shadow:0 3px 14px rgba(15,23,42,.08)}.zet-chat-message.is-staff .zet-chat-bubble{background:#2957d8;color:#fff}.zet-chat-bubble p{margin:0 0 5px;white-space:normal}.zet-chat-bubble small{opacity:.7;font-size:10px}.zet-chat-compose{display:flex;gap:10px;padding:14px;border-top:1px solid var(--border-color,#dbe2ea)}.zet-chat-compose textarea{flex:1;resize:vertical;min-height:48px}.zet-chat-compose button{min-width:100px}.zet-chat-empty{padding:30px;opacity:.7}
.mfa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.mfa-card{padding:20px;border:1px solid var(--border-color,#dbe2ea);border-radius:18px;background:var(--surface,#fff)}.mfa-card h2{margin-top:0}.mfa-card p{opacity:.78}.mfa-card form{margin-top:12px}.mfa-card input{width:100%;max-width:360px}.mfa-secret{display:flex;flex-direction:column;gap:8px;margin:14px 0}.mfa-secret code,.mfa-recovery code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:8px 10px;border-radius:8px;background:rgba(100,116,139,.12)}.mfa-recovery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.mfa-status.is-on{display:inline-flex;padding:5px 9px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:700}.mfa-passkey-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--border-color,#dbe2ea)}.mfa-passkey-row div{display:flex;flex-direction:column}.mfa-passkey-row small{opacity:.65}.mfa-divider{text-align:center;margin:18px 0;position:relative}.mfa-divider span{background:var(--surface,#fff);padding:0 10px;position:relative;z-index:1}.mfa-divider:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--border-color,#dbe2ea)}.login-passkey-button{width:100%}
@media(max-width:900px){.zet-chat-layout{grid-template-columns:1fr}.zet-chat-conversations{max-height:240px;border-right:0;border-bottom:1px solid var(--border-color,#dbe2ea)}.zet-chat-messages{max-height:52vh}.mfa-grid{grid-template-columns:1fr}.zet-chat-bubble{max-width:88%}}
[data-theme="dark"] .zet-chat-layout,[data-theme="dark"] .mfa-card{background:#111827;border-color:#334155}[data-theme="dark"] .zet-chat-conversation{border-color:#263244}[data-theme="dark"] .zet-chat-messages{background:#0b1220}[data-theme="dark"] .zet-chat-bubble{background:#1e293b}[data-theme="dark"] .zet-chat-message.is-staff .zet-chat-bubble{background:#315bd8}[data-theme="dark"] .mfa-secret code,[data-theme="dark"] .mfa-recovery code{background:#1e293b}
.zet-chat-new{position:relative}.zet-chat-new summary{cursor:pointer;list-style:none;padding:9px 13px;border-radius:10px;background:#2957d8;color:#fff;font-weight:700}.zet-chat-new form{position:absolute;right:0;top:44px;z-index:20;width:min(360px,80vw);display:grid;gap:9px;padding:14px;border-radius:14px;background:var(--surface,#fff);border:1px solid var(--border-color,#dbe2ea);box-shadow:0 18px 50px rgba(15,23,42,.18)}[data-theme="dark"] .zet-chat-new form{background:#111827;border-color:#334155}


/* v2.22 · form controls consistency */
.attendance-clock-form select,.attendance-clock-form input[type="text"],.attendance-clock-form input[type="number"],.attendance-clock-form input:not([type]){height:42px;min-height:42px;border:1px solid var(--admin-border,#d6dce3);border-radius:10px;background:var(--admin-input-bg,#fff);color:inherit;padding:8px 10px;font:inherit;box-sizing:border-box}
.attendance-clock-form select{min-width:240px}.attendance-clock-form input[name="notes"]{min-width:190px}.attendance-clock-form button{height:42px;border:0;border-radius:10px;padding:0 16px;background:var(--zet-accent,#2563eb);color:#fff;font-weight:800;cursor:pointer}
html[data-theme="dark"] .attendance-clock-form select,html[data-theme="dark"] .attendance-clock-form input,html.theme-dark .attendance-clock-form select,html.theme-dark .attendance-clock-form input{background:#0d1117;color:#f0f3f6;border-color:#30363d;color-scheme:dark}
.ticket-filter-field input,.ticket-filter-field select{height:46px!important;min-height:46px!important;box-sizing:border-box;font:inherit}.ticket-filter-actions>*{height:46px!important;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}

.invoice-unsent-row{background:rgba(220,38,38,.14)!important}.invoice-unsent-row td{border-color:rgba(220,38,38,.28)!important}
/* v2.27 MFA + WhatsApp UI */
.login-passkey-button{width:100%;min-height:54px;border:0;border-radius:15px;background:#6b7280!important;color:#fff!important;font-weight:800;font-size:16px;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.12)}
.login-passkey-button:hover{filter:brightness(1.08)}
.mfa-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#64748b}.mfa-divider:before,.mfa-divider:after{content:"";height:1px;background:#cbd5e1;flex:1}.mfa-divider span{background:transparent!important;padding:0 6px!important;color:inherit!important}
.whatsapp-days{display:grid!important;grid-template-columns:repeat(7,minmax(105px,1fr));gap:10px!important}.whatsapp-days label{display:flex!important;align-items:center!important;gap:8px!important;white-space:nowrap}.whatsapp-days input{width:18px!important;height:18px!important;flex:0 0 18px!important;margin:0!important}
@media(max-width:1100px){.whatsapp-days{grid-template-columns:repeat(4,minmax(120px,1fr))}}@media(max-width:650px){.whatsapp-days{grid-template-columns:repeat(2,minmax(120px,1fr))}}


/* ZET Office v2.29 — dark billing/proforma + urgent WhatsApp */
[data-theme="dark"] .companies-table tbody tr.invoice-unsent-row > td,
[data-theme="dark"] .companies-table tbody tr.invoice-unsent-row > th {
  background:#4a171c !important;
  color:#ffe9eb !important;
  border-color:#7f2830 !important;
}
[data-theme="dark"] .companies-table tbody tr.invoice-unsent-row a { color:#ffb8bf !important; }
[data-theme="dark"] .proforma-page .company-card,
[data-theme="dark"] .move-product-page .company-card { background:var(--surface,#121d2c); color:var(--text,#e9f1fb); }
[data-theme="dark"] .proforma-page .companies-table,
[data-theme="dark"] .proforma-page .companies-table th,
[data-theme="dark"] .proforma-page .companies-table td { border-color:#2b3c51; }
[data-theme="dark"] .proforma-page .companies-table th { background:#182536; color:#e9f1fb; }
[data-theme="dark"] .proforma-page .companies-table td { background:#121d2c; color:#e9f1fb; }
[data-theme="dark"] .proforma-page .commercial-item-row input,
[data-theme="dark"] .move-product-page input,
[data-theme="dark"] .move-product-page select { background:#101a28; color:#e9f1fb; border-color:#34485e; }
.whatsapp-urgent-box{margin-top:18px;padding:16px;border:1px solid #d59a19;border-radius:14px;background:#fff8e7}
.whatsapp-urgent-box h3{margin:0 0 6px}.whatsapp-urgent-box p{margin:0 0 10px}.whatsapp-urgent-box textarea{width:100%;min-height:84px;resize:vertical}.whatsapp-urgent-box button{margin-top:10px;background:#b45309;color:#fff;border:0;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}
[data-theme="dark"] .whatsapp-urgent-box{background:#34230d;border-color:#b97711;color:#ffe9bd}
[data-theme="dark"] .whatsapp-urgent-box textarea{background:#111b29;color:#fff;border-color:#5b4a2f}
/* v2.30 receipt invoice autocomplete */
.receipt-invoice-picker{position:relative}.receipt-invoice-results{position:absolute;z-index:1000;left:0;right:0;top:calc(100% + 6px);max-height:300px;overflow:auto;border:1px solid var(--border-color,#334155);border-radius:12px;background:var(--card-bg,#fff);box-shadow:0 12px 30px rgba(0,0,0,.18);padding:6px}.receipt-invoice-option{display:block;width:100%;text-align:left;border:0;background:transparent;color:inherit;padding:10px 12px;border-radius:8px;cursor:pointer}.receipt-invoice-option:hover,.receipt-invoice-option:focus{background:rgba(37,99,235,.14)}.receipt-invoice-empty{padding:12px;color:var(--muted,#94a3b8)}

/* v2.32 WhatsApp chat */
.admin-whatsapp-button{color:#25D366}
.admin-whatsapp-button svg{fill:currentColor}
.wa-chat-layout{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:620px;border:1px solid var(--border-color,#334155);border-radius:18px;overflow:hidden}
.wa-conversations{border-right:1px solid var(--border-color,#334155);overflow:auto;background:rgba(127,127,127,.04)}
.wa-conversation{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 44px 14px 14px;text-decoration:none;color:inherit;border-bottom:1px solid var(--border-color,#334155)}
.wa-conversation.is-active{background:rgba(37,211,102,.12)}
.wa-conversation span{opacity:.72;font-size:13px}
.wa-conversation em{position:absolute;right:12px;top:18px;background:#25D366;color:#07140b;border-radius:999px;padding:2px 7px;font-style:normal;font-weight:800}
.wa-thread{display:flex;flex-direction:column;min-width:0}
.wa-thread-head{display:flex;justify-content:space-between;gap:14px;padding:15px 18px;border-bottom:1px solid var(--border-color,#334155)}
.wa-messages{flex:1;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:10px;max-height:620px}
.wa-message{max-width:74%;padding:10px 12px;border-radius:14px;background:rgba(127,127,127,.12)}
.wa-message.is-out{align-self:flex-end;background:rgba(37,211,102,.18)}
.wa-message small{display:block;margin-top:6px;opacity:.6}
.wa-compose{display:grid;grid-template-columns:170px 1fr auto;gap:10px;padding:14px;border-top:1px solid var(--border-color,#334155)}
.wa-compose textarea,.wa-compose select{min-height:46px}
.wa-empty{margin:auto;opacity:.6}
@media(max-width:850px){.wa-chat-layout{grid-template-columns:1fr}.wa-conversations{max-height:220px;border-right:0;border-bottom:1px solid var(--border-color,#334155)}.wa-compose{grid-template-columns:1fr}.wa-message{max-width:88%}}

/* v2.33 ticket calendar drag/drop */
.ticket-calendar-items{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px!important;align-content:start}.ticket-calendar-item{min-width:0}.ticket-calendar-more{grid-column:1/-1}.ticket-calendar-item.is-dragging{opacity:.38;transform:scale(.98)}.ticket-calendar-day.is-drop-target{outline:2px dashed var(--zet-primary,#2563eb);outline-offset:-3px;background:color-mix(in srgb,var(--zet-primary,#2563eb) 8%,var(--zet-surface,#fff))!important}@media(max-width:900px){.ticket-calendar-items{grid-template-columns:1fr}}

/* v2.34 form parity Safari */
.company-form .company-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
.company-form .company-field select{box-sizing:border-box;min-height:46px;height:46px;line-height:1.2;padding-top:0;padding-bottom:0}
.company-form .company-field select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}
.field-inline-link{font-size:.78rem;font-weight:700;margin-left:6px;color:var(--zet-primary,#2563eb);text-decoration:none}
/* v2.34 adaptive calendar layout */
.ticket-calendar-items{display:grid!important;gap:5px!important;align-content:start;grid-template-columns:1fr!important}
.ticket-calendar-items.calendar-layout-3,.ticket-calendar-items.calendar-layout-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.ticket-calendar-items.calendar-layout-3 .ticket-calendar-item:nth-of-type(3){grid-column:1/-1}
.ticket-calendar-more{grid-column:1/-1}
.ticket-calendar-item.is-dragging{opacity:.38;transform:scale(.98)}
.ticket-calendar-day.is-drop-target{outline:2px dashed var(--zet-primary,#2563eb);outline-offset:-3px;background:color-mix(in srgb,var(--zet-primary,#2563eb) 8%,var(--zet-surface,#fff))!important}
.calendar-hover-card{position:fixed;z-index:99999;width:min(380px,calc(100vw - 24px));max-height:min(520px,calc(100vh - 24px));overflow:auto;padding:14px 15px;border-radius:14px;background:#fff;color:#172033;border:1px solid #dbe2ea;box-shadow:0 18px 46px rgba(15,23,42,.24);pointer-events:none}
.calendar-hover-card>strong{display:block;font-size:15px;margin-bottom:9px}.calendar-hover-card>div{display:grid;grid-template-columns:80px 1fr;gap:8px;padding:5px 0;border-top:1px solid #eef2f6}.calendar-hover-card span{color:#64748b;font-size:11px;font-weight:700}.calendar-hover-card b{font-size:12px;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere}
html[data-theme="dark"] .calendar-hover-card,html.theme-dark .calendar-hover-card{background:#111b29;color:#eef2f7;border-color:#2c3a4d;box-shadow:0 18px 46px rgba(0,0,0,.55)}html[data-theme="dark"] .calendar-hover-card>div,html.theme-dark .calendar-hover-card>div{border-color:#27364a}

/* v2.35 tickets/materials */
.ticket-list-fixed{table-layout:fixed;width:100%!important;max-width:100%}
.ticket-list-fixed th:nth-child(2),.ticket-list-fixed td:nth-child(2){width:15%}
.ticket-list-fixed th:nth-child(3),.ticket-list-fixed td:nth-child(3){width:28%}
.ticket-list-fixed td,.ticket-list-fixed th{overflow:hidden;text-overflow:ellipsis}
.companies-table-wrap:has(.ticket-list-fixed){overflow-x:hidden!important}
.ticket-material-warning{display:inline-flex;width:18px;height:18px;margin-left:5px;border-radius:50%;align-items:center;justify-content:center;background:#d94a4a;color:white;font-weight:900;font-size:12px}
select,.company-form select,.ticket-filter-panel select{min-height:44px;height:44px;box-sizing:border-box;-webkit-appearance:none;appearance:none}

/* v2.36 provider / contacts / coordinates */
.provider-card{margin-top:16px}.provider-card details>summary,.provider-inline-details>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;font-size:18px}.provider-card details>summary::-webkit-details-marker,.provider-inline-details>summary::-webkit-details-marker{display:none}.provider-card summary span:first-child{display:flex;flex-direction:column;gap:3px}.provider-card summary small{font-size:12px;color:var(--muted,#697386);font-weight:500}.provider-body{padding-top:18px}.provider-form{margin-top:16px}.provider-inline-details{grid-column:1/-1;border:1px solid rgba(130,140,160,.22);border-radius:14px;padding:14px}.provider-inline-grid{padding-top:14px}.phone-action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.whatsapp-mini-btn{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#1fa855;color:white!important;font-size:12px;font-weight:800;text-decoration:none}.contact-preferences{display:flex;gap:18px;flex-wrap:wrap}.coordinate-entry{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin:10px 0}.coordinate-entry .company-field{margin:0}.credential-reveal{min-width:180px}.provider-delete{white-space:nowrap}@media(max-width:760px){.coordinate-entry{grid-template-columns:1fr 1fr}.coordinate-entry button{grid-column:1/-1}.provider-table{min-width:760px}}

/* v2.37 — materiale restante, SPV nou, acțiuni contact, linkuri liste */
.ticket-calendar-item.has-unpaid-materials{
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.24) 0,rgba(255,255,255,.24) 7px,rgba(0,0,0,.08) 7px,rgba(0,0,0,.08) 14px)!important;
}
.ticket-calendar-item.is-done.has-unpaid-materials{
  background-color:#2f9e61!important;
}
.ticket-calendar-item.has-history-unpaid:not(.is-done){
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.18) 0,rgba(255,255,255,.18) 7px,rgba(0,0,0,.10) 7px,rgba(0,0,0,.10) 14px)!important;
}
.ticket-material-warning{display:none!important}
.ticket-history-materials{border:1px solid rgba(217,74,74,.28)}
.ticket-material-mark-all{border:0;cursor:pointer}
.dashboard-panel-head.compact{margin-bottom:10px}
.spv-row-new td{background:rgba(217,74,74,.16)!important}
.spv-row-new td:first-child{box-shadow:inset 4px 0 0 #d94a4a}
[data-theme="dark"] .spv-row-new td{background:rgba(217,74,74,.25)!important}
.contact-icon-actions{display:inline-flex;gap:6px;vertical-align:middle;margin-left:7px}
.contact-icon-btn{display:inline-flex;width:30px;height:30px;border-radius:9px;align-items:center;justify-content:center;border:1px solid var(--zet-border,#d8dee8);background:var(--zet-surface,#fff);color:var(--zet-text,#182230);text-decoration:none}
.contact-icon-btn svg{width:17px;height:17px;fill:currentColor}
.contact-icon-btn.is-whatsapp{color:#1f9d55}
.contact-icon-btn.is-preferred{color:#d94a4a;border-color:rgba(217,74,74,.45);background:rgba(217,74,74,.08)}
.table-primary-link{color:inherit;text-decoration:none;font-weight:700}
.table-primary-link:hover{text-decoration:underline;color:var(--zet-primary,#1769e0)}

/* v2.38 — dispozitive multiple / WhatsApp mobil separat */
.ticket-devices-details{padding:0;overflow:hidden}
.ticket-devices-details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:18px 20px}
.ticket-devices-details>summary::-webkit-details-marker{display:none}
.ticket-devices-details>summary span:first-child{display:flex;flex-direction:column;gap:3px}
.ticket-devices-details>summary small{color:var(--zet-muted,#697386);font-weight:500}
.ticket-devices-details[open] .details-chevron{transform:rotate(180deg)}
.details-chevron{font-size:22px;transition:.18s ease}
.ticket-devices-content{padding:0 20px 20px}
.ticket-device-list{display:grid;gap:12px}
.ticket-device-item{border:1px solid var(--zet-border,#d8dee8);border-radius:14px;padding:14px;background:var(--zet-surface,#fff)}
.ticket-device-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}
.device-secret-grid{margin-top:12px}
.whatsapp-phone-toggle{border:1px dashed var(--zet-border,#d8dee8);border-radius:12px;padding:12px}
.whatsapp-phone-field{margin-top:10px}
.whatsapp-phone-field[hidden]{display:none!important}

/* v2.40 staff collaboration chat */
.staff-chat-room-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.staff-chat-room-cards>a{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--zet-border,#d8dee8);border-radius:16px;text-decoration:none;color:inherit}
.staff-chat-room-cards>a.is-active{border-color:#1769e0;background:rgba(23,105,224,.07)}
.staff-chat-room-cards span,.staff-online small{color:var(--zet-muted,#697386)}
.staff-chat-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;min-height:560px}
.staff-online{border:1px solid var(--zet-border,#d8dee8);border-radius:16px;padding:12px;overflow:auto}
.staff-online h2{font-size:16px;margin:4px 8px 10px}
.staff-online>a{display:grid;grid-template-columns:42px 1fr 10px;gap:10px;align-items:center;padding:10px;border-radius:12px;text-decoration:none;color:inherit}
.staff-online>a.is-active,.staff-online>a:hover{background:rgba(23,105,224,.07)}
.staff-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#eef3fb}
.staff-avatar img{width:100%;height:100%;object-fit:cover}.staff-online i{width:9px;height:9px;border-radius:50%;background:#aab1bc}.staff-online i.is-online{background:#19b55a}
.staff-chat-thread{display:flex;flex-direction:column;border:1px solid var(--zet-border,#d8dee8);border-radius:16px;overflow:hidden}
.staff-chat-messages{flex:1;min-height:430px;max-height:650px;overflow:auto;padding:18px;background:var(--zet-bg,#f7f8fb)}
.staff-chat-message{display:flex;margin:8px 0}.staff-chat-message.is-mine{justify-content:flex-end}.staff-chat-message>div{max-width:72%;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #e5e9f0}.staff-chat-message.is-mine>div{background:#dcecff}.staff-chat-message p{margin:5px 0}.staff-chat-message small{color:#697386}
.staff-chat-compose{display:flex;gap:8px;padding:12px;background:var(--zet-surface,#fff)}.staff-chat-compose textarea{flex:1;resize:none}
@media(max-width:900px){.staff-chat-grid{grid-template-columns:1fr}.staff-online{max-height:220px}.staff-chat-room-cards{grid-template-columns:1fr}}

/* ZET Office v2.40.3 */
.contact-preference-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.8fr) minmax(260px,1.1fr);gap:12px;grid-column:1/-1;align-items:end}
.zet-check-control{min-height:46px;border:1px solid var(--zet-border,#d9e2ec);border-radius:10px;background:var(--zet-surface,#fff);display:flex!important;align-items:center;gap:10px;padding:0 12px;font-weight:700;color:var(--zet-text,#172033);cursor:pointer;box-sizing:border-box}
.zet-check-control input[type=checkbox]{appearance:none;-webkit-appearance:none;width:23px;height:23px;min-width:23px;border:2px solid #9aabc0;border-radius:7px;background:#fff;margin:0}
.zet-check-control input[type=checkbox]:checked{background:#1677ee;border-color:#1677ee;position:relative}
.zet-check-control input[type=checkbox]:checked:after{content:"✓";position:absolute;color:#fff;font-size:15px;font-weight:900;left:4px;top:0}
.form-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;grid-column:1/-1;align-items:start}
.form-stack{display:grid;gap:12px;align-content:start}.form-inline-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.graphics-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px;grid-column:1/-1}.graphics-left{display:grid;gap:12px}.graphics-right{display:grid}
.pattern-actions{display:grid;gap:8px;margin-top:10px}.pattern-actions .path-copy-btn{width:100%;min-height:44px}
@media(max-width:900px){.contact-preference-row,.form-two-col,.graphics-layout,.form-inline-two{grid-template-columns:1fr}}

.company-form label:has(input[type=checkbox]){min-height:46px;border:1px solid var(--zet-border,#d9e2ec);border-radius:10px;background:var(--zet-surface,#fff);display:flex;align-items:center;gap:9px;padding:0 12px;box-sizing:border-box}
.company-form label:has(input[type=checkbox]) input[type=checkbox]{appearance:none;-webkit-appearance:none;width:23px;height:23px;min-width:23px;border:2px solid #9aabc0;border-radius:7px;background:#fff;margin:0;position:relative}
.company-form label:has(input[type=checkbox]) input[type=checkbox]:checked{background:#1677ee;border-color:#1677ee}
.company-form label:has(input[type=checkbox]) input[type=checkbox]:checked:after{content:"✓";position:absolute;color:#fff;font-size:15px;font-weight:900;left:4px;top:0}

/* ZET Office v2.40.4 */
.contact-preference-row>.company-field{min-width:0}
.contact-preference-row input[type=text],.contact-preference-row input:not([type]){width:100%;min-height:46px}
.phone-call-box,.urgent-box{height:46px!important;min-height:46px!important;font-weight:650!important}
.ticket-work-plan{margin-top:4px}.ticket-work-plan .ticket-multidate{margin-top:0}
@media(max-width:900px){.ticket-work-plan{grid-template-columns:1fr}}


/* ZET Office v2.40.5 — profile/home/chat parity with ZETix */
.admin-brand-logo{text-decoration:none}.admin-home-quick{width:38px;height:38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;color:var(--zet-text,#172033);background:var(--zet-surface,#fff);border:1px solid var(--zet-border,#d8dee8);text-decoration:none}.admin-home-quick svg{width:20px;height:20px}.admin-home-quick:hover{background:rgba(23,105,224,.08);color:#1769e0}
html[data-theme="dark"] .company-card,html.theme-dark .company-card{background:var(--zet-surface,#15181d);color:var(--zet-text,#f5f7fb)}
html[data-theme="dark"] .company-form input[type=file],html.theme-dark .company-form input[type=file]{color:var(--zet-text,#f5f7fb);background:var(--zet-surface,#15181d);border-color:var(--zet-border,#303640)}
.staff-chat-page-v245{min-width:0}.staff-chat-tabs-v245{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 14px}.staff-chat-tabs-v245>a{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border-radius:14px;border:1px solid var(--zet-border,#d8dee8);color:var(--zet-text,#172033);text-decoration:none;background:var(--zet-surface,#fff);font-weight:800}.staff-chat-tabs-v245>a svg{width:18px;height:18px}.staff-chat-tabs-v245>a.is-active{border-color:#1769e0;background:rgba(23,105,224,.10);color:#1769e0}.staff-chat-tabs-v245 b{min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#e62f43;color:#fff;font-size:11px;display:grid;place-items:center}
.staff-chat-grid-v245{display:grid;grid-template-columns:310px minmax(0,1fr);gap:14px;min-height:610px}.staff-chat-side-v245{border:1px solid var(--zet-border,#d8dee8);border-radius:18px;background:var(--zet-surface,#fff);padding:10px;overflow:auto;max-height:720px}.staff-chat-side-v245 h2{font-size:15px;margin:5px 8px 9px}.staff-chat-side-v245>a{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border-radius:13px;text-decoration:none;color:var(--zet-text,#172033)}.staff-chat-side-v245>a:hover,.staff-chat-side-v245>a.is-active{background:rgba(23,105,224,.08)}.staff-avatar-wrap-v245{position:relative;width:42px;height:42px}.staff-person-copy-v245{min-width:0}.staff-person-copy-v245 strong,.staff-person-copy-v245 small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-person-copy-v245 small{color:var(--zet-muted,#697386);margin-top:3px;display:flex;align-items:center;gap:5px}.staff-role-icon-v245{display:inline-flex}.staff-role-icon-v245 svg{width:14px;height:14px}.staff-presence-v245{position:absolute;right:-1px;bottom:0;width:11px;height:11px;border-radius:50%;background:#9aa2ad;border:2px solid var(--zet-surface,#fff)}.staff-presence-v245.is-online{background:#17b657}.staff-private-thread-v245 time{font-size:10px;color:var(--zet-muted,#697386)}.staff-unread-v245{width:22px;height:22px;border-radius:11px;display:grid;place-items:center;background:#1769e0;color:#fff;font-size:11px}.staff-chat-empty-v245{color:var(--zet-muted,#697386);padding:10px}
.staff-chat-thread-v245{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--zet-border,#d8dee8);border-radius:18px;overflow:hidden;background:var(--zet-surface,#fff)}.staff-chat-thread-head-v245{min-height:48px;padding:0 16px;display:flex;align-items:center;border-bottom:1px solid var(--zet-border,#d8dee8)}.staff-chat-messages-v245{flex:1;min-height:470px;max-height:650px;overflow:auto;padding:15px;background:var(--zet-bg,#f5f7fb)}.staff-private-placeholder-v245{min-height:580px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--zet-muted,#697386)}.staff-private-placeholder-v245>span svg{width:54px;height:54px}.staff-private-placeholder-v245 h2{margin:8px 0 4px;color:var(--zet-text,#172033)}
.staff-msg-v245{position:relative;display:flex;flex-direction:column;align-items:flex-start;margin:7px 0}.staff-msg-v245.is-mine{align-items:flex-end}.staff-msg-bubble-v245{position:relative;max-width:min(76%,680px);padding:10px 12px 8px;border-radius:18px;background:var(--zet-surface,#fff);border:1px solid var(--zet-border,#e3e8ef);color:var(--zet-text,#172033)}.staff-msg-v245.is-mine .staff-msg-bubble-v245{background:#1769e0;border-color:#1769e0;color:#fff}.staff-msg-bubble-v245>strong{display:block;font-size:11px;margin-bottom:3px;color:#1769e0}.staff-msg-v245.is-mine .staff-msg-bubble-v245>strong{color:#dbeafe}.staff-msg-bubble-v245 p{margin:0;line-height:1.4}.staff-msg-bubble-v245 footer{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-top:5px}.staff-msg-bubble-v245 footer small{font-size:10px;color:var(--zet-muted,#697386)}.staff-msg-v245.is-mine footer small{color:#dbeafe}.staff-msg-actions-btn-v245{border:0;background:transparent;color:inherit;cursor:pointer;padding:0 2px;font-weight:900}.staff-chat-image-v245{display:block;max-width:320px;max-height:330px;border-radius:13px;object-fit:cover}.staff-deleted-v245{font-style:italic;opacity:.72}.staff-admin-deleted-v245{display:block;margin-top:5px;font-size:10px;color:#d93b4b}
.staff-reply-preview-v245{border-left:3px solid #9bb8d9;background:rgba(110,130,160,.11);padding:6px 8px;border-radius:8px;margin-bottom:6px}.staff-msg-v245.is-mine .staff-reply-preview-v245{border-color:#cfe2ff;background:rgba(255,255,255,.12)}.staff-reply-preview-v245 small,.staff-reply-preview-v245 span{display:block}.staff-reply-preview-v245 small{font-size:10px;font-weight:800}.staff-reply-preview-v245 span{font-size:12px;opacity:.82;margin-top:2px}
.staff-msg-reactions-v245{display:flex;gap:3px;margin-top:-5px;z-index:2}.staff-msg-reactions-v245 form{margin:0}.staff-msg-reactions-v245 button{height:24px;min-width:30px;border-radius:12px;border:1px solid var(--zet-border,#d8dee8);background:var(--zet-surface,#fff);cursor:pointer;padding:0 5px}.staff-msg-reactions-v245 button.is-mine{border-color:#7eb4ff}.staff-msg-reactions-v245 span{font-size:10px;color:var(--zet-muted,#697386);margin-left:2px}
.staff-msg-menu-v245{position:absolute;z-index:20;top:100%;margin-top:5px;min-width:210px;padding:7px;border-radius:16px;background:var(--zet-surface,#fff);border:1px solid var(--zet-border,#d8dee8);box-shadow:0 16px 38px rgba(0,0,0,.2)}.staff-msg-v245.is-mine .staff-msg-menu-v245{right:0}.staff-msg-v245:not(.is-mine) .staff-msg-menu-v245{left:0}.staff-reaction-bar-v245{display:flex;gap:2px;padding:4px;border-bottom:1px solid var(--zet-border,#d8dee8);margin-bottom:4px}.staff-reaction-bar-v245 form{margin:0}.staff-reaction-bar-v245 button{width:32px;height:32px;border:0;background:transparent;font-size:20px;cursor:pointer}.staff-msg-menu-v245>button,.staff-msg-menu-v245>.staff-delete-form-v245 button{width:100%;min-height:38px;border:0;background:transparent;display:flex;align-items:center;gap:9px;text-align:left;padding:7px 9px;border-radius:9px;cursor:pointer;color:var(--zet-text,#172033)}.staff-msg-menu-v245>button:hover,.staff-msg-menu-v245>.staff-delete-form-v245 button:hover{background:rgba(23,105,224,.08)}.staff-msg-menu-v245 svg{width:16px;height:16px}.staff-delete-form-v245{margin:0}.staff-msg-menu-v245 .is-delete{color:#e33143!important}
.staff-chat-compose-v245{position:relative;background:transparent;padding:8px 10px 13px}.staff-compose-row-v245{display:flex;align-items:flex-end;gap:7px}.staff-plus-wrap-v245{position:relative}.staff-round-btn-v245,.staff-send-btn-v245{width:40px;height:40px;border-radius:20px;border:0;display:grid;place-items:center;cursor:pointer}.staff-round-btn-v245{font-size:28px;color:#1769e0;background:var(--zet-surface-alt,#eef2f7)}.staff-send-btn-v245{background:#1769e0;color:#fff}.staff-send-btn-v245 svg{width:18px;height:18px}.staff-message-input-v245{flex:1;min-height:42px;border-radius:22px;background:var(--zet-surface-alt,#eef2f7);display:flex;align-items:flex-end;padding:0 10px}.staff-message-input-v245 textarea{flex:1;max-height:120px;min-height:42px;border:0!important;outline:0!important;resize:none;background:transparent!important;color:var(--zet-text,#172033)!important;padding:10px 3px!important;box-shadow:none!important}.staff-message-input-v245>button{width:34px;height:40px;border:0;background:transparent;color:#1769e0;font-size:22px;cursor:pointer}.staff-plus-menu-v245{position:absolute;bottom:48px;left:0;width:230px;border:1px solid var(--zet-border,#d8dee8);border-radius:16px;background:var(--zet-surface,#fff);box-shadow:0 16px 36px rgba(0,0,0,.18);padding:7px;z-index:30}.staff-plus-menu-v245 label,.staff-plus-menu-v245 button{width:100%;min-height:42px;border:0;background:transparent;color:var(--zet-text,#172033);display:flex;align-items:center;gap:9px;padding:8px;border-radius:10px;cursor:pointer;text-align:left}.staff-plus-menu-v245 label:hover,.staff-plus-menu-v245 button:hover{background:rgba(23,105,224,.08)}.staff-plus-menu-v245 svg{width:17px;height:17px}.staff-emoji-picker-v245{position:absolute;left:58px;right:58px;bottom:64px;display:flex;flex-wrap:wrap;gap:4px;padding:9px;border-radius:16px;background:var(--zet-surface,#fff);border:1px solid var(--zet-border,#d8dee8);box-shadow:0 16px 36px rgba(0,0,0,.16);z-index:28}.staff-emoji-picker-v245 button{width:36px;height:34px;border:0;background:transparent;font-size:21px;cursor:pointer}.staff-reply-compose-v245{display:flex;align-items:center;gap:10px;margin:0 48px 7px;padding:7px 10px;border-radius:12px;background:var(--zet-surface,#fff);border-left:3px solid #1769e0}.staff-reply-compose-v245>div{flex:1;min-width:0}.staff-reply-compose-v245 small,.staff-reply-compose-v245 span{display:block}.staff-reply-compose-v245 small{font-weight:800;color:#1769e0}.staff-reply-compose-v245 span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--zet-muted,#697386)}.staff-reply-compose-v245>button{border:0;background:transparent;font-size:22px;color:var(--zet-muted,#697386);cursor:pointer}
html[data-theme="dark"] .staff-chat-messages-v245,html.theme-dark .staff-chat-messages-v245{background:#0d1014}html[data-theme="dark"] .staff-round-btn-v245,html[data-theme="dark"] .staff-message-input-v245,html.theme-dark .staff-round-btn-v245,html.theme-dark .staff-message-input-v245{background:#22262d}html[data-theme="dark"] .staff-presence-v245,html.theme-dark .staff-presence-v245{border-color:#15181d}
@media(max-width:920px){.staff-chat-grid-v245{grid-template-columns:1fr}.staff-chat-side-v245{max-height:220px}.staff-chat-side-v245>a{grid-template-columns:46px minmax(0,1fr) auto}.staff-chat-messages-v245{min-height:420px}.staff-msg-bubble-v245{max-width:88%}.admin-home-quick{display:inline-flex}}

/* v2.40.6 chat identity + popup fixes */
.staff-emoji-picker-v245[hidden],.staff-plus-menu-v245[hidden],.staff-msg-menu-v245[hidden]{display:none!important}
.staff-msg-line-v246{display:flex;align-items:flex-end;gap:8px;max-width:100%}.staff-msg-v245.is-mine .staff-msg-line-v246{flex-direction:row-reverse}.staff-msg-content-v246{display:flex;flex-direction:column;min-width:0;max-width:min(76%,680px)}.staff-msg-v245.is-mine .staff-msg-content-v246{align-items:flex-end}.staff-msg-name-v246{font-size:11px;font-weight:800;color:var(--zet-muted,#697386);margin:0 7px 3px}.staff-msg-v245.is-mine .staff-msg-name-v246{text-align:right}.staff-msg-avatar-v246{width:30px;height:30px;border-radius:50%;overflow:hidden;background:var(--zet-surface-alt,#eef2f7);display:grid;place-items:center;flex:0 0 30px}.staff-msg-avatar-v246 img{width:100%;height:100%;object-fit:cover}.staff-msg-avatar-v246 svg{width:18px;height:18px}.staff-msg-content-v246 .staff-msg-bubble-v245{max-width:100%}
@media(max-width:920px){.staff-msg-content-v246{max-width:82%}}
\n/* v2.40.7 support chat */
.support-chat-v247{padding:0;overflow:hidden}.support-chat-head-v247{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #dfe4ea}.support-new-room-v247{display:flex;gap:8px}.support-new-room-v247 select,.support-new-room-v247 button{height:40px;border:1px solid #dfe4ea;border-radius:12px;padding:0 11px;background:var(--card-bg,#fff);color:inherit}.support-chat-grid-v247{display:grid;grid-template-columns:300px 1fr;height:calc(100vh - 180px);min-height:650px}.support-room-list-v247{overflow:auto;border-right:1px solid #dfe4ea;padding:8px}.support-room-v247{display:flex;gap:10px;align-items:center;padding:10px;border-radius:14px;text-decoration:none;color:inherit}.support-room-v247.is-active,.support-room-v247:hover{background:rgba(45,131,239,.12)}.support-avatar-v247,.support-msg-avatar-v247{width:42px;height:42px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#edf1f6;flex:0 0 auto}.support-avatar-v247 img,.support-msg-avatar-v247 img{width:100%;height:100%;object-fit:cover}.support-room-meta-v247{flex:1;min-width:0}.support-room-meta-v247 strong,.support-room-meta-v247 small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.support-room-meta-v247 small{color:#7b8494}.support-unread-v247{min-width:22px;height:22px;border-radius:11px;background:#1677ff;color:#fff;display:grid;place-items:center}.support-thread-v247{display:flex;flex-direction:column;min-width:0;position:relative}.support-thread-head-v247{height:62px;display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid #dfe4ea}.support-thread-head-v247 strong,.support-thread-head-v247 small{display:block}.support-thread-head-v247 small{color:#7b8494}.support-messages-v247{flex:1;overflow:auto;padding:12px 14px 110px}.support-msg-v247{display:flex;align-items:flex-end;gap:8px;max-width:82%;margin:7px 0;position:relative}.support-msg-v247.is-mine{margin-left:auto}.support-msg-stack-v247{min-width:0}.support-msg-name-v247{font-size:12px;color:#7b8494;margin:0 7px 3px}.support-msg-v247.is-mine .support-msg-name-v247{text-align:right}.support-bubble-v247{padding:10px 12px;border-radius:18px 18px 18px 5px;background:#edf0f4}.support-msg-v247.is-mine .support-bubble-v247{background:#1677ff;color:white;border-radius:18px 18px 5px 18px}.support-bubble-v247 p{margin:0}.support-bubble-v247 footer{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:4px;opacity:.75}.support-bubble-v247 footer button{border:0;background:transparent;color:inherit}.support-image-v247{max-width:320px;max-height:320px;border-radius:12px}.support-reply-v247{border-left:3px solid #8bbfff;background:rgba(127,127,127,.1);border-radius:10px;padding:6px 9px;margin-bottom:5px;display:flex;flex-direction:column}.support-reactions-v247{display:flex;gap:4px;margin-top:-4px}.support-reactions-v247 form{margin:0}.support-reactions-v247 button{border:1px solid #dce2ea;border-radius:999px;background:white;padding:2px 7px}.support-msg-menu-v247{position:absolute;right:0;bottom:100%;z-index:40;background:var(--card-bg,#fff);border:1px solid #dfe4ea;border-radius:16px;box-shadow:0 12px 35px rgba(0,0,0,.2);padding:6px;min-width:220px}.support-msg-menu-v247[hidden],.support-emoji-picker-v247[hidden],.support-plus-menu-v247[hidden],.support-reply-compose-v247[hidden]{display:none!important}.support-msg-menu-v247>button,.support-msg-menu-v247>form button{width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:9px}.support-msg-menu-v247 .is-delete{color:#e53935}.support-reaction-bar-v247{display:flex;border-bottom:1px solid #dfe4ea}.support-reaction-bar-v247 form{margin:0}.support-reaction-bar-v247 button{border:0;background:transparent;font-size:20px}.support-compose-v247{position:absolute;left:12px;right:12px;bottom:12px;z-index:20}.support-compose-row-v247{display:flex;gap:8px;align-items:flex-end}.support-plus-v247{position:relative}.support-plus-v247>button,.support-send-v247{width:44px;height:44px;border:0;border-radius:22px;background:#eaf3ff;color:#1677ff;font-size:23px}.support-plus-menu-v247{position:absolute;bottom:52px;left:0;background:var(--card-bg,#fff);border:1px solid #dfe4ea;border-radius:14px;padding:7px;min-width:200px}.support-plus-menu-v247 label,.support-plus-menu-v247 button{display:block;width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:9px}.support-input-v247{flex:1;display:flex;align-items:flex-end;border:1px solid #dfe4ea;border-radius:22px;background:var(--card-bg,#fff);padding:4px 8px 4px 12px}.support-input-v247 textarea{flex:1;border:0!important;background:transparent!important;color:inherit;resize:none;min-height:34px;max-height:110px}.support-input-v247 button{border:0;background:transparent;color:#1677ff;font-size:22px}.support-emoji-picker-v247{position:absolute;right:48px;bottom:55px;z-index:50;background:var(--card-bg,#fff);border:1px solid #dfe4ea;border-radius:16px;padding:9px;display:grid;grid-template-columns:repeat(8,31px);gap:4px}.support-emoji-picker-v247 button{border:0;background:transparent;font-size:20px}.support-reply-compose-v247{margin:0 52px 6px;border-left:3px solid #1677ff;background:var(--card-bg,#fff);border-radius:10px;padding:7px 9px;display:flex;justify-content:space-between}.support-reply-compose-v247 small,.support-reply-compose-v247 span{display:block}.support-reply-compose-v247 button{border:0;background:transparent;color:inherit}@media(max-width:900px){.support-chat-grid-v247{grid-template-columns:1fr;height:auto}.support-room-list-v247{max-height:230px;border-right:0;border-bottom:1px solid #dfe4ea}.support-thread-v247{min-height:600px}.support-new-room-v247{display:none}}\n
/* v2.40.8 chat client autocomplete */
.support-client-search-v248{position:relative;min-width:300px}.support-client-search-v248>input{width:100%;height:44px;border:1px solid var(--border,#dce2ea);border-radius:14px;padding:0 14px;background:var(--card,#fff);color:inherit}.support-client-results-v248{position:absolute;right:0;left:0;top:50px;z-index:90;max-height:280px;overflow:auto;background:var(--card,#fff);border:1px solid var(--border,#dce2ea);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.16);padding:6px}.support-client-results-v248[hidden]{display:none!important}.support-client-results-v248 a{display:block;padding:10px 12px;border-radius:9px;color:inherit;text-decoration:none}.support-client-results-v248 a:hover{background:rgba(45,131,239,.1)}.support-client-results-v248 a[hidden]{display:none!important}@media(max-width:900px){.support-client-search-v248{min-width:0;width:100%}}

.attendance-error-top{margin:12px 0;padding:12px 14px;border:1px solid #ef4444;border-radius:12px;background:#fff1f2;color:#b91c1c;font-weight:800}

.proforma-edit-row{display:grid;grid-template-columns:28px minmax(220px,1fr) 90px 80px 110px 80px 42px 42px 42px;gap:7px;align-items:center;margin-bottom:8px}.proforma-edit-row input,.proforma-edit-row button{min-height:40px}.drag-handle{color:#7b8494;text-align:center}.disabled-product-assign{display:flex;gap:7px;align-items:center}.disabled-product-assign select{min-width:180px}@media(max-width:1000px){.proforma-edit-row{grid-template-columns:28px 1fr 80px 70px 90px 70px 36px 36px 36px}}

/* v2.41.0 billing */
.page-title-inline{display:flex;align-items:center;gap:12px}.page-title-inline h1{margin:0}.page-title-add-icon{width:42px;height:42px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;background:#1769e0;color:#fff;text-decoration:none;font-size:30px;line-height:1;font-weight:500;box-shadow:0 6px 16px rgba(23,105,224,.18)}.invoice-list-search{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.invoice-list-search input{min-width:300px;flex:1;max-width:620px}.proforma-list-table tbody tr{transition:background .16s ease}.proforma-list-table tbody tr:hover{background:rgba(23,105,224,.075)}.proforma-edit-table input,.proforma-edit-table select,.invoice-edit-table input,.invoice-edit-table select{width:100%;min-height:42px;border:1px solid var(--zet-border,#d8dee8);border-radius:10px;background:var(--zet-surface,#fff);color:var(--zet-text,#172033);padding:8px 10px;box-sizing:border-box}.proforma-add-row{display:flex;justify-content:flex-end;margin-top:12px}.company-primary-button{border:0;border-radius:11px;background:#1769e0;color:#fff;min-height:42px;padding:0 18px;font-weight:800;cursor:pointer}.table-action-icon svg{pointer-events:none}.table-action-icon{display:inline-flex;align-items:center;justify-content:center}


/* v2.41.1 UI refinements */
.dashboard-panel-head{align-items:center}
.page-add-fab{margin-left:auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;text-decoration:none;color:#fff;position:relative;min-height:46px}
.page-add-plus{width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#1769e0;color:#fff;font-size:32px;line-height:1;box-shadow:0 7px 18px rgba(23,105,224,.22);transition:transform .28s ease,background .2s ease,box-shadow .2s ease}
.page-add-label{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;color:#20b15a;font-weight:800;transform:translateX(10px);transition:max-width .3s ease,opacity .2s ease,transform .3s ease}
.page-add-fab:hover .page-add-plus,.page-add-fab:focus-visible .page-add-plus{background:#20b15a;transform:rotate(90deg);box-shadow:0 7px 18px rgba(32,177,90,.25)}
.page-add-fab:hover .page-add-label,.page-add-fab:focus-visible .page-add-label{max-width:190px;opacity:1;transform:translateX(0)}
.invoice-list-search input[type=search]{min-height:44px;border:1px solid var(--zet-border,#33445a)!important;border-radius:11px!important;background:var(--zet-surface,#fff)!important;color:var(--zet-text,#172033)!important;padding:0 14px!important;font:inherit!important;box-shadow:none!important}
.invoice-list-search input[type=search]::placeholder{color:#8491a5;opacity:1}
.proforma-edit-table{min-width:1040px;table-layout:fixed}.proforma-edit-table th:nth-child(1){width:42px}.proforma-edit-table th:nth-child(2){width:auto}.proforma-edit-table th:nth-child(3){width:90px}.proforma-edit-table th:nth-child(4){width:110px}.proforma-edit-table th:nth-child(5){width:130px}.proforma-edit-table th:nth-child(6){width:100px}.proforma-edit-table th:nth-child(7){width:145px}.proforma-edit-table td{vertical-align:middle}.proforma-edit-table .table-action-icons{flex-wrap:nowrap}.proforma-edit-table .pf-pos{text-align:center;font-weight:800}
.order-contact-row{grid-column:1/-1;display:grid!important;grid-template-columns:minmax(260px,1.4fr) minmax(150px,.55fr) minmax(230px,.8fr)!important;align-items:end;gap:16px}.contact-icon-field>label:first-child{display:block;margin-bottom:7px;font-weight:800}.contact-icon-toggle{display:block}.contact-icon-toggle input{position:absolute;opacity:0;pointer-events:none}.contact-icon-toggle span{height:50px;border:1px solid var(--zet-border,#33445a);border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--zet-surface,#fff);cursor:pointer;transition:.2s ease}.contact-icon-toggle svg{width:25px;height:25px;fill:currentColor}.contact-icon-toggle input:checked+span{border-color:#20b15a;color:#20b15a;background:rgba(32,177,90,.08);box-shadow:0 0 0 2px rgba(32,177,90,.08)}
@media(max-width:850px){.order-contact-row{grid-template-columns:1fr!important}.page-add-label{display:none}}

.page-list-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}

.pattern-lock-readonly{width:150px;height:150px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:12px;margin-top:8px}.pattern-lock-readonly span{position:relative;z-index:2;width:28px;height:28px;border:2px solid #8291a6;border-radius:50%;display:flex;align-items:center;justify-content:center;justify-self:center;align-self:center;font-size:10px;color:transparent;background:var(--zet-surface,#fff)}.pattern-lock-readonly span.is-selected{border-color:#1769e0;background:#1769e0;box-shadow:0 0 0 5px rgba(23,105,224,.12)}.pattern-lock-readonly svg{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.pattern-lock-readonly svg line{stroke:#1769e0;stroke-width:5;stroke-linecap:round}


/* v2.41.2 brand & list actions */
.admin-brand-logo{position:relative;display:inline-flex;align-items:center;min-width:120px;min-height:38px}
.admin-brand-logo .brand-logo-theme{display:block;max-width:120px;height:auto}
.admin-brand-logo .brand-logo-dark{display:none}
html[data-theme="dark"] .admin-brand-logo .brand-logo-light,html.theme-dark .admin-brand-logo .brand-logo-light{display:none}
html[data-theme="dark"] .admin-brand-logo .brand-logo-dark,html.theme-dark .admin-brand-logo .brand-logo-dark{display:block}
.invoice-list-search{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.invoice-list-search button,.invoice-list-search .companies-edit-link{min-height:42px}
.proforma-edit-table{min-width:1180px;table-layout:fixed}
.proforma-edit-table col.pf-col-pos{width:54px}
.proforma-edit-table col.pf-col-desc{width:46%}
.proforma-edit-table col.pf-col-unit{width:12%}
.proforma-edit-table col.pf-col-qty{width:13%}
.proforma-edit-table col.pf-col-price{width:16%}
.proforma-edit-table col.pf-col-vat{width:10%}
.proforma-edit-table col.pf-col-actions{width:92px}
.proforma-edit-table th{text-align:left;vertical-align:bottom;white-space:nowrap}
.proforma-edit-table td{vertical-align:top}
.proforma-edit-table td:nth-child(2) input{min-width:260px}
.proforma-edit-table .table-action-icons{display:flex;justify-content:center;gap:6px;align-items:center;min-width:84px}
.proforma-edit-table .pf-pos{vertical-align:middle;text-align:center;font-weight:800}


/* v2.41.3 web polish */
.page-add-fab{flex-shrink:0}
.dashboard-panel-head > .page-add-fab,.page-list-head > .page-add-fab{color:#fff!important;font-size:inherit!important;font-weight:inherit!important;text-decoration:none!important}
.page-add-fab .page-add-label{font-size:.95rem;letter-spacing:.01em}
.admin-brand-logo .brand-logo-theme{max-width:132px}
.proforma-edit-table{width:100%!important;min-width:1100px!important;table-layout:fixed!important;border-collapse:separate;border-spacing:0}
.proforma-edit-table thead th{position:sticky;top:0;z-index:2;background:var(--zet-blue-950,#0d213f);color:#fff;text-align:left;padding-top:14px;padding-bottom:14px}
.proforma-edit-table tbody td{padding-top:14px;padding-bottom:14px;vertical-align:middle}
.proforma-edit-table td input,.proforma-edit-table td select{width:100%;min-width:0!important;box-sizing:border-box}
.proforma-edit-table td:nth-child(2) input{min-width:0!important}
.proforma-edit-table col.pf-col-pos{width:48px!important}
.proforma-edit-table col.pf-col-desc{width:36%!important}
.proforma-edit-table col.pf-col-unit{width:12%!important}
.proforma-edit-table col.pf-col-qty{width:12%!important}
.proforma-edit-table col.pf-col-price{width:16%!important}
.proforma-edit-table col.pf-col-vat{width:10%!important}
.proforma-edit-table col.pf-col-actions{width:118px!important}
.proforma-edit-table .table-action-icons{display:flex;justify-content:center;gap:6px;align-items:center;flex-wrap:nowrap}
.proforma-edit-table .pf-pos{font-weight:800;text-align:center}


/* ZET Office v2.41.4 — logo/profile/proforma polish */
.admin-brand{align-items:center}
.admin-brand-logo{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:72px!important;width:72px!important;min-height:72px!important;flex:0 0 72px}
.admin-brand-logo .brand-logo-theme{display:block!important;width:72px!important;max-width:72px!important;height:auto!important;object-fit:contain}
.admin-brand-copy{min-width:0}
.admin-user-photo-link{display:inline-flex;text-decoration:none;flex:0 0 auto}
.admin-user-photo{width:38px;height:38px;border-radius:50%;object-fit:cover;display:block}
.admin-user-button{gap:10px}
.proforma-edit-table{width:100%!important;min-width:980px!important;table-layout:fixed!important;border-collapse:collapse!important}
.proforma-edit-table col.pf-col-pos{width:48px!important}
.proforma-edit-table col.pf-col-desc{width:auto!important}
.proforma-edit-table col.pf-col-unit{width:110px!important}
.proforma-edit-table col.pf-col-qty{width:110px!important}
.proforma-edit-table col.pf-col-price{width:130px!important}
.proforma-edit-table col.pf-col-vat{width:90px!important}
.proforma-edit-table col.pf-col-actions{width:118px!important}
.proforma-edit-table thead th,.proforma-edit-table tbody td{vertical-align:middle!important}
.proforma-edit-table thead th:nth-child(1),.proforma-edit-table tbody td:nth-child(1){text-align:center}
.proforma-edit-table thead th:nth-child(n+3):nth-child(-n+6),.proforma-edit-table tbody td:nth-child(n+3):nth-child(-n+6){text-align:center}
.proforma-edit-table td input,.proforma-edit-table td select{display:block;width:100%!important;max-width:100%!important;min-width:0!important;margin:0}
.proforma-edit-table td:nth-child(2) input{min-width:0!important}
.proforma-edit-table .table-action-icons{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:nowrap}
.proforma-edit-table tbody td{padding:12px 10px!important}
.proforma-edit-table thead th{padding:14px 10px!important}


/* ZET Office v2.41.5 — focused fixes */
.admin-brand-logo .brand-logo-theme{display:none!important}
html:not([data-theme="dark"]):not(.theme-dark) .admin-brand-logo .brand-logo-light,
html[data-theme="light"] .admin-brand-logo .brand-logo-light,
html.theme-light .admin-brand-logo .brand-logo-light{display:block!important}
html[data-theme="dark"] .admin-brand-logo .brand-logo-dark,
html.theme-dark .admin-brand-logo .brand-logo-dark{display:block!important}
.proforma-edit-table tbody tr.proforma-edit-row{display:table-row!important}
.proforma-edit-table tbody tr.proforma-edit-row>td{display:table-cell!important}
.proforma-edit-table{width:100%!important;min-width:1080px!important;table-layout:fixed!important}
.proforma-edit-table col.pf-col-pos{width:52px!important}.proforma-edit-table col.pf-col-desc{width:auto!important}.proforma-edit-table col.pf-col-unit{width:110px!important}.proforma-edit-table col.pf-col-qty{width:120px!important}.proforma-edit-table col.pf-col-price{width:145px!important}.proforma-edit-table col.pf-col-vat{width:105px!important}.proforma-edit-table col.pf-col-actions{width:130px!important}
.proforma-edit-table thead th,.proforma-edit-table tbody td{box-sizing:border-box!important}
.order-contact-fields{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(170px,.65fr) minmax(220px,.8fr);gap:14px;align-items:end}.order-contact-fields .company-field,.order-contact-fields .contact-icon-field{min-width:0}.order-contact-fields .contact-icon-toggle span{height:50px}@media(max-width:1050px){.order-contact-fields{grid-template-columns:1fr 1fr}}@media(max-width:700px){.order-contact-fields{grid-template-columns:1fr}}

/* v2.41.7 client account approval */
.client-account-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:310px}.client-account-actions select{min-width:210px;max-width:320px;min-height:38px;border:1px solid var(--zet-border,#d8dee8);border-radius:9px;background:var(--zet-surface,#fff);color:var(--zet-text,#172033);padding:6px 9px}.client-account-actions button{min-height:36px;border:0;border-radius:9px;background:#1769e0;color:white;padding:0 11px;font-weight:800;cursor:pointer}.client-account-actions button.secondary{background:var(--zet-surface-2,#edf2f8);color:var(--zet-text,#172033);border:1px solid var(--zet-border,#d8dee8)}
