.side-logo {
  width: 190px;
  max-height: 105px;
  object-fit: contain;
  object-position: left center;
  background: transparent;
  padding: 0;
}

/* v1.17 — PWA, scanner, settings tabs and calendar views */
.mobile-logout { grid-column:3; justify-self:end!important; width:44px; height:44px!important; display:grid!important; place-items:center; color:#fff; border:1px solid #ffffff38; border-radius:10px; background:#ffffff12; font-size:25px; text-decoration:none; }
.settings-tabs,.calendar-view-switch { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.settings-tabs button { width:auto; padding:10px 15px; background:#e8f0ff; color:#0a3673; }
.settings-tabs button.active,.calendar-view-switch .active { background:#1468e8; color:white; }
.scan-panel { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr); gap:28px; }
.scan-camera { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
.scan-camera .scan-capture { text-align:center; }
#vehicle-preview { width:100%; max-height:360px; object-fit:contain; border-radius:12px; background:#eef3fa; }
.week-calendar { display:grid; grid-template-columns:repeat(7,minmax(150px,1fr)); gap:10px; overflow-x:auto; padding-bottom:10px; }
.week-day { min-height:200px; padding:14px; }
.week-day>a:first-child { display:flex; justify-content:space-between; gap:8px; margin-bottom:12px; text-transform:capitalize; }
.plan-badge { display:inline-block; padding:5px 9px; border-radius:999px; background:#e8effa; color:#174376; font-weight:800; }
.plan-badge.pro,.upgrade-card.pro-active { background:#ddf8e9; color:#087443; }
.superadmin-main { max-width:1400px; margin:auto; padding:32px; }
.superadmin-main form { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }

@media (max-width:1050px) {
  .scan-panel { grid-template-columns:1fr; }
}

@media (max-width:640px) {
  .settings-tabs { flex-wrap:nowrap; overflow-x:auto; padding-bottom:5px; }
  .settings-tabs button { flex:0 0 auto; white-space:nowrap; }
  .calendar-view-switch { display:grid; grid-template-columns:repeat(3,1fr); }
  .calendar-view-switch .button { text-align:center; padding:10px 5px; }
  .calendar { padding:6px; }
  .calendar-weekdays,.calendar-grid { min-width:0; width:100%; }
  .calendar-weekdays strong { font-size:10px; padding:7px 1px; }
  .calendar-day { min-height:74px; padding:4px 2px; overflow:hidden; }
  .calendar-day .day-number { font-size:12px; margin:0 0 3px 2px; }
  .calendar-day .appointment-chip { padding:3px; margin-top:2px; font-size:8px; line-height:1.15; }
  .calendar-day .appointment-chip small { display:none; }
  .week-calendar { grid-template-columns:1fr; overflow:visible; }
  .week-day { min-height:0; }
  .superadmin-main { padding:16px; overflow-x:auto; }
}

.login-logo {
  display: block;
  width: min(290px, 100%);
  max-height: 155px;
  object-fit: contain;
  margin: -22px auto 0;
}
.garagecy-login-logo { width:min(330px,100%); max-height:125px; margin:-10px auto 8px; }

.search-form {
  max-width: none;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
}

.search-form input {
  max-width: 520px;
}

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

.notice-error {
  color: #991b1b;
  background: #fef2f2;
  border: 1px solid #fecaca;
  padding: 12px 14px;
  border-radius: 8px;
  margin-bottom: 16px;
}

.row-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px; white-space:nowrap; }
.row-actions>* { margin:0; }
.row-actions a { color: #1264e8; font-weight: 700; text-decoration: none; }
.row-actions .edit-small { color: white; }
.row-actions .pay-button,.row-actions .receipt-small { color:white; }

.document-iban {
  margin-top: 22px;
  padding: 12px 16px;
  border: 1px solid #cbdcf5;
  border-radius: 10px;
  background: #f4f8ff;
  color: #0a3673;
  display: flex;
  align-items: center;
  gap: 12px;
  overflow-wrap: anywhere;
}
.document-iban strong { min-width: 52px; }
.document-iban>div { display:flex; flex-wrap:wrap; gap:8px 22px; align-items:center; }
.document-iban>div span { display:inline-flex; gap:5px; white-space:normal; }
.receipt-share-whatsapp { background:#168f5b; color:#fff; }
.receipt-share-viber { background:#665cac; color:#fff; }

@media print {
  .document-iban { break-inside: avoid; }
}
.invoices-table td small,.invoices-table td strong { display:block; }
.invoices-table td small { margin-top:5px; color:#77859a; }
.invoices-table .row-actions { display:flex; gap:8px; align-items:center; }
.invoices-table .row-actions .receipt-small { margin-left:0; }
.receipts-table { overflow-x:auto; }
.receipts-table table { min-width:1040px; }
.receipts-table td { vertical-align:top; line-height:1.35; }
.receipts-table td strong,.receipts-table td small { display:block; }
.receipts-table td small { margin-top:5px; color:#77859a; white-space:normal; }
.receipts-table th:first-child,.receipts-table td:first-child { min-width:190px; }
.receipts-table th:nth-child(2),.receipts-table td:nth-child(2) { min-width:125px; }
.receipts-table th:nth-child(3),.receipts-table td:nth-child(3) { min-width:170px; }
.receipts-table th:nth-child(4),.receipts-table td:nth-child(4) { min-width:190px; }
.receipts-table .row-actions { min-width:190px; }
.receipts-table .row-actions .button { white-space:nowrap; min-width:170px; text-align:center; }
.receipt-filter { display:grid; grid-template-columns:minmax(280px,1fr) minmax(210px,300px) auto auto; max-width:none; }
.date-filter { display:grid; gap:4px; min-width:190px; color:#60708a; font-size:12px; font-weight:700; }
.date-filter input { min-height:48px; }
.inline-form { display: inline; margin-left: 12px; }
.edit-small, .danger-small { padding: 7px 10px; font-size: 12px; }
.danger-small { background: #dc2626; }
.card-link { color: inherit; text-decoration: none; display: block; }
.card-link article { height: 100%; transition: transform .15s ease, box-shadow .15s ease; }
.card-link:hover article { transform: translateY(-2px); box-shadow: 0 12px 30px #1b345018; }

@media (max-width: 800px) {
  .side-logo { width: 150px; max-height: 70px; }
  .search-form { align-items: stretch; flex-direction: column; }
  .search-form input { max-width: none; }
  .grid .full { grid-column: auto; }
}

/* Dashboard redesign based on the approved GarageCy reference */
body.app { grid-template-columns: 230px minmax(0,1fr); background: #f6f8fc; }
aside { position: sticky; top: 0; height: 100vh; min-height: 100vh; max-height: 100vh; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; scrollbar-color: #ffffff35 transparent; padding: 18px; background: linear-gradient(160deg,#071d40,#032c5d); gap: 8px; }
.sidebar-logo { height: 82px; display: grid; place-items: center; margin-bottom: 4px; }
.sidebar-logo { text-decoration:none; cursor:pointer; background:transparent!important; box-shadow:none!important; }
.sidebar-logo:hover,.sidebar-logo:focus,.sidebar-logo:active { background:transparent!important; color:inherit!important; box-shadow:none!important; transform:none!important; }
.sidebar-logo:hover .side-logo,.sidebar-logo:focus .side-logo { transform:none!important; filter:none!important; opacity:1!important; }
aside a.sidebar-logo:hover,aside a.sidebar-logo:focus,aside a.sidebar-logo:active { background:none!important; background-color:transparent!important; box-shadow:none!important; outline:none; }
aside > a.sidebar-logo,aside > a.sidebar-logo:hover,aside > a.sidebar-logo:focus-visible,aside > a.sidebar-logo:active { background:transparent!important; background-image:none!important; box-shadow:none!important; filter:none!important; outline:0!important; }
aside > a.sidebar-logo::before,aside > a.sidebar-logo::after { display:none!important; content:none!important; }
.side-logo { width: 165px; max-height: 78px; object-position: center; }
.garage-label { display: block; text-align: center; color: #a9bdd9; margin-bottom: 15px; }
aside nav { margin-top: 0; gap: 5px; }
aside nav a { display: flex; align-items: center; gap: 12px; padding: 13px 14px; color: #f1f6ff; }
aside nav a { font-weight:700; }
aside nav a i { width: 20px; text-align: center; color: white; font-style: normal; font-size: 18px; }
aside nav a i svg { display: block; width: 20px; height: 20px; }
aside nav a i { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 20px; }
aside nav a.active { background: linear-gradient(135deg,#1684ff,#086cff); color: white; box-shadow: 0 8px 22px #0066ff45; font-weight:800; }
aside nav a.muted { color: #8fa3bf; }
.sidebar-spacer { flex: 1; }
.sidebar-user { border-top: 1px solid #ffffff18; padding: 16px 8px 10px; display: flex; gap: 10px; align-items: center; }
.sidebar-user .avatar { flex: 0 0 38px; }
.sidebar-user strong,.sidebar-user small { display: block; }
.sidebar-user small { font-size: 11px; color: #9db0ca; margin-top: 3px; }
aside .logout { padding: 10px 12px; color: #bac9dc; }
.app-version { display:block; text-align:center; color:#fff!important; opacity:.72; font-size:10px; letter-spacing:.3px; padding:3px 0 1px; }
.garagecy-credit {
  display:flex; align-items:center; justify-content:center; gap:8px; width:100%; margin:8px 0 0;
  padding:9px 10px; border:1px solid rgba(55,180,255,.58); border-radius:11px;
  background:rgba(4,25,57,.58)!important; color:#fff!important; text-decoration:none;
  box-shadow:none!important; transition:border-color .15s ease,background .15s ease;
}
.garagecy-credit:hover,.garagecy-credit:focus { transform:none!important; background:rgba(16,70,126,.52)!important; border-color:#5ac8ff; }
.garagecy-credit img { width:35px; height:31px; object-fit:cover; object-position:left center; flex:0 0 35px; }
.garagecy-credit span { display:block; min-width:0; line-height:1.02; }
.garagecy-credit small { display:block; color:#b9cee7; font-size:9px; font-weight:600; margin-bottom:3px; }
.garagecy-credit strong { display:block; color:#fff; font-size:13px; letter-spacing:-.15px; white-space:nowrap; }
.garagecy-credit strong span { display:inline; color:#29c5ff; }
.count-badge { display:inline-grid; place-items:center; min-width:32px; height:28px; padding:0 9px; margin-left:7px; border-radius:20px; background:#e4efff; color:#086cff; font-size:15px; vertical-align:middle; }
.page-subtitle { color:#6b7a90; margin:5px 0 0; font-size:13px; }
.settings-form { max-width:none; }
.settings-section { margin-bottom:18px; }
.settings-section h2 { font-size:19px; margin-bottom:18px; }
.settings-section h3 { margin:22px 0 12px; }
.settings-section label small { color:#77859a; font-weight:500; }
.working-days { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.working-days label,.check-label { display:flex!important; align-items:center; gap:7px; padding:9px 12px; border:1px solid #dce5f2; border-radius:8px; background:#f8faff; }
.working-days input,.check-label input { width:auto; }
.settings-save { position:sticky; bottom:16px; z-index:6; display:flex; justify-content:flex-end; padding:12px; background:#ffffffeb; border:1px solid #dce5f2; border-radius:12px; box-shadow:0 8px 28px #10284d20; }
.users-settings table { margin-bottom:18px; }
.user-edit-links { display:flex; flex-wrap:wrap; gap:8px; margin:-4px 0 18px; }
.user-edit-links .button { font-size:12px; padding:8px 11px; }
.user-create-form { max-width:none; padding-top:12px; border-top:1px solid #e1e7f0; }
.settings-data-actions { display:flex; gap:10px; margin-bottom:18px; }
.password-form { max-width:none; padding-top:14px; border-top:1px solid #e1e7f0; }
main { max-width: 1500px; padding: 24px 28px 88px; }
.topbar { align-items: center; margin-bottom: 22px; }
.topbar h1 { font-size: 22px; }
.topbar p { margin: 6px 0 0; color: #64748b; }
.top-actions { display: flex; align-items: center; gap: 14px; }
.top-actions form { display: block; }
.top-actions input { width: 340px; box-shadow: 0 5px 18px #253b5a10; }
.dashboard-cards { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; }
.dashboard-cards article { display: flex; gap: 13px; align-items: flex-start; padding: 18px; min-height: 112px; }
.dashboard-cards article div>span { font-weight: 700; font-size: 13px; color: #263750; }
.dashboard-cards article strong { display: block; margin-top: 8px; font-size: 27px; }
.dash-panel,.chart-panel,.schedule-panel,.services-panel { font-weight:600; }
.dash-panel td,.service-row,.chart-summary span { font-weight:600; }
.finance-donut-wrap { display:flex; align-items:center; justify-content:center; gap:34px; min-height:205px; padding:15px; }
.finance-donut { --cost:0; width:150px; height:150px; border-radius:50%; background:conic-gradient(#ef9b25 0 calc(var(--cost)*1%),#086cff calc(var(--cost)*1%) 100%); display:grid; place-items:center; position:relative; }
.finance-donut:after { content:""; position:absolute; inset:24px; background:#fff; border-radius:50%; }
.finance-donut span { position:relative; z-index:1; display:grid; text-align:center; color:#65758d; font-size:11px; }
.finance-donut b { color:#10264a; font-size:20px; }
.donut-legend { display:grid; gap:13px; font-size:13px; font-weight:700; }
.donut-legend span { display:flex; align-items:center; gap:8px; }
.donut-legend i { width:11px; height:11px; border-radius:50%; background:#086cff; }
.donut-legend i.cost { background:#ef9b25; }
.stat-icon { width: 40px; height: 40px; border-radius: 10px; display: grid!important; place-items: center; background: #eaf2ff; color: #086cff!important; font-size: 19px; flex: 0 0 40px; }
.dashboard-grid { display: grid; grid-template-columns: 1fr 1.25fr; gap: 16px; }
.overview-grid { display: grid; grid-template-columns: 1.55fr 1fr; gap: 16px; margin-bottom: 16px; }
.lower-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.chart-panel,.schedule-panel,.services-panel { min-width: 0; }
.bar-chart { height: 200px; display: flex; align-items: end; gap: 6px; padding: 18px 5px 25px; border-bottom: 1px solid #e8edf5; background: repeating-linear-gradient(to bottom,#fff 0,#fff 49px,#edf1f6 50px); }
.bar-wrap { flex: 1; height: 100%; position: relative; display: flex; align-items: end; }
.bar { width: 100%; min-height: 3px; border-radius: 3px 3px 0 0; background: linear-gradient(#086cff,#1e5ed2); }
.bar-wrap small { position: absolute; top: calc(100% + 7px); left: 50%; transform: translateX(-50%); color: #75839a; font-size: 9px; }
.chart-summary { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 15px; }
.chart-summary div { padding: 0 16px; border-right: 1px solid #e7ebf2; }
.chart-summary div:last-child { border-right: 0; }
.chart-summary span,.chart-summary strong { display: block; }
.chart-summary span { color: #748197; font-size: 11px; margin-bottom: 7px; }
.chart-summary strong { font-size: 16px; }
.green { color: #059669; }
.service-row { display: grid; grid-template-columns: 140px 1fr 35px 75px; gap: 12px; align-items: center; padding: 12px 0; font-size: 12px; }
.service-row>div { height: 5px; background: #edf1f6; border-radius: 9px; }
.service-row i { display: block; height: 100%; background: #086cff; border-radius: 9px; }
.service-row b,.service-row strong { text-align: right; }
.status.completed { color: #047857; background: #e7f8ef; }
.scan-button { color: #263750; background: white; border: 1px solid #dce4ef; white-space: nowrap; }
.upgrade-card { background: linear-gradient(145deg,#104a8b,#0a356b); border: 1px solid #ffffff18; border-radius: 12px; padding: 15px; color: white; }
.upgrade-card strong { font-size: 13px; }
.upgrade-card p { color: #c1d1e7; font-size: 11px; line-height: 1.55; }
.upgrade-card button { width: 100%; background: white; color: #086cff; font-size: 11px; padding: 9px; opacity: 1; }
.quick-bar>span { padding: 14px 24px; font-weight: 700; color: #5d6c82; border-right: 1px solid #e6ebf3; }
.dash-panel { min-width: 0; padding: 20px; }
.panel-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.panel-title h2 { font-size: 17px; margin: 0; }
.panel-title a,.panel-title span { font-size: 12px; color: #086cff; text-decoration: none; }
.dash-panel td small { display: block; color: #7a889d; margin-top: 4px; }
.empty-state { color: #8491a5; text-align: center; padding: 36px 10px!important; }
.status { display: inline-block; padding: 6px 9px; border-radius: 7px; color: #d97706; background: #fff5dc; font-size: 12px; }
.quick-bar { position: fixed; left: calc(230px + 14%); right: 14%; bottom: 18px; background: white; border: 1px solid #e4eaf3; border-radius: 15px; box-shadow: 0 10px 35px #172b4d18; display: flex; justify-content: center; z-index: 5; }
.quick-bar a { padding: 14px 36px; color: #14233f; text-decoration: none; font-weight: 700; border-right: 1px solid #e6ebf3; }
.quick-bar a:last-child { border-right: 0; }
.phone-status { margin-top: 5px; font-size: 12px; font-weight: 700; }
.phone-status.error { color: #dc2626; }
.phone-status.success { color: #059669; }
button:disabled { opacity: .45; cursor: not-allowed; }
.job-form { max-width: 950px; }
.job-form fieldset { border: 1px solid #dfe6f1; border-radius: 10px; padding: 16px; }
.job-form legend { font-weight: 800; padding: 0 7px; }
.service-picker { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 14px; }
.service-picker label { grid-template-columns: 20px 1fr 90px; align-items: center; gap: 8px; font-weight: 500; padding: 7px; border-radius: 7px; }
.service-picker label:hover { background: #f5f8fd; }
.service-picker input[type="checkbox"] { width: 17px; height: 17px; }
.status-form { margin: 0; }
.status-form select { min-width: 145px; padding: 7px 28px 7px 9px; font-size: 12px; font-weight: 700; }
.jobs-filter { display:grid; grid-template-columns:minmax(220px,1fr) minmax(190px,260px) minmax(190px,240px) auto auto; }
.jobs-filter select { margin:0; }
.list-sort-form { display:grid; grid-template-columns:minmax(240px,1fr) minmax(190px,250px) auto auto; }
.list-sort-form select { margin:0; }
.invoice-status { display:inline-block; border-radius:7px; padding:6px 9px; font-size:12px; font-weight:700; }
.invoice-status.unpaid { color:#b45309; background:#fff4d8; }
.invoice-status.draft { color:#475569; background:#eef2f7; }
.invoice-status.partial { color:#1d4ed8; background:#e7f0ff; }
.invoice-status.paid { color:#047857; background:#e7f8ef; }
.invoice-status.overdue,.invoice-status.cancelled { color:#b91c1c; background:#feecec; }
.pay-button { padding:8px 11px; font-size:12px; white-space:nowrap; }
.receipt-small { padding:8px 11px; font-size:12px; margin-left:7px; background:#059669; }
.invoice-document .receipt-total span { font-weight:800; }
.calendar-toolbar { display:flex; justify-content:flex-end; gap:8px; margin-bottom:12px; }
.calendar { padding:0; overflow:hidden; }
.calendar-weekdays,.calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-weekdays { background:#f3f6fb; border-bottom:1px solid #dfe6f0; }
.calendar-weekdays strong { text-align:center; padding:12px 6px; color:#64748b; font-size:12px; }
.calendar-day { min-height:125px; padding:9px; border-right:1px solid #e5eaf2; border-bottom:1px solid #e5eaf2; background:white; }
.calendar-day:nth-child(7n) { border-right:0; }
.calendar-day.blank { background:#fafbfd; }
.calendar-day.today { background:#f0f6ff; box-shadow:inset 0 0 0 2px #086cff; }
.calendar-day.clickable-day { cursor:pointer; transition:background .15s ease; }
.calendar-day.clickable-day:hover { background:#f4f8ff; }
.day-number { display:block; font-weight:800; color:#263750; margin-bottom:7px; }
.appointment-chip { display:block; padding:6px 7px; margin:5px 0; border-radius:7px; background:#eaf2ff; color:#1257c7; text-decoration:none; font-size:11px; overflow:hidden; }
.appointment-chip b { margin-right:4px; }
.appointment-chip small { display:block; margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.appointment-chip.status-completed { background:#e7f8ef; color:#047857; }
.appointment-chip.status-cancelled { background:#feecec; color:#b91c1c; text-decoration:line-through; }
.appointment-chip.status-on_hold { background:#f2eafe; color:#7c3aed; }
.day-appointments td small { display:block; margin-top:4px; color:#77859a; }
.payment-panel { max-width:620px; }
.payment-amount { font-size:38px; font-weight:900; color:#086cff; margin:22px 0; }
.payment-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:20px 0; }
.payment-summary span { padding:14px; border-radius:9px; background:#f5f8fd; color:#64748b; }
.payment-summary strong { display:block; margin-top:5px; color:#14233f; font-size:20px; }
.bank-transfer-fields { padding:15px; margin:12px 0; border:1px solid #cfe0fa; border-radius:10px; background:#f5f9ff; }
.bank-transfer-fields[hidden] { display:none; }
.bank-details { display:grid; gap:5px; margin-top:18px; padding:14px 16px; border-radius:9px; background:#f5f8fd; color:#32445f; }
.bank-details strong { margin-bottom:4px; }
.appointment-picker { display:grid; gap:8px; padding:16px; border:1px solid #cfe0fa; border-radius:10px; background:#f7faff; }
.appointment-picker select[size] { min-height:132px; padding:5px; }
.appointment-picker select[size] option { padding:10px; border-radius:6px; }
.appointment-picker select[size] option:checked { background:#1264e8 linear-gradient(#1264e8,#1264e8); color:white; }
.appointment-search-count { color:#64748b; font-weight:650; }
.appointment-search-count.error { color:#b91c1c; }
.receipt { max-width:850px; margin:0 auto; background:white; border:1px solid #e1e7f0; border-radius:14px; padding:38px; box-shadow:0 12px 35px #18315314; }
.receipt-actions { display:flex; justify-content:flex-end; gap:10px; margin-bottom:25px; }
.share-icon { width:42px; height:42px; padding:0!important; border-radius:10px; display:inline-grid!important; place-items:center; color:#fff!important; font-size:19px; text-decoration:none; flex:0 0 42px!important; }
.share-icon { font-size:0!important; background-repeat:no-repeat!important; background-position:center!important; background-size:23px 23px!important; }
.share-icon.email { background-color:#1769e8!important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")!important; }
.share-icon.whatsapp { background-color:#25D366!important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2a9.7 9.7 0 0 0-8.4 14.6L2 22l5.6-1.5A9.8 9.8 0 1 0 12 2Zm0 17.7a8 8 0 0 1-4.1-1.1l-.3-.2-3.3.9.9-3.2-.2-.3A8 8 0 1 1 12 19.7Zm4.4-6c-.2-.1-1.4-.7-1.6-.8-.2-.1-.4-.1-.6.1l-.8 1c-.1.2-.3.2-.5.1-1.4-.7-2.4-1.6-3.1-2.9-.2-.3.2-.5.6-1 .1-.2.1-.3 0-.5l-.7-1.7c-.2-.5-.5-.4-.7-.4h-.5c-.2 0-.5.1-.7.3-.8.9-1.2 1.9-.6 3.4 1.1 2.8 3.4 5 6.2 6 .7.2 1.3.4 1.8.3.8-.1 1.4-.6 1.6-1.2.2-.6.2-1 .1-1.1-.2-.2-.3-.3-.5-.4Z'/%3E%3C/svg%3E")!important; }
.share-icon.viber { background-color:#7360F2!important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2C6.7 2 3 5.3 3 10c0 3 1.5 5.4 4 6.8V21l4-2.5h1c5.3 0 9-3.3 9-8.5S17.3 2 12 2Zm4.8 12.1-.8.9c-.4.4-1.1.5-1.7.2-1.5-.8-2.9-1.9-4-3.2-1-1.2-1.8-2.5-2.2-3.8-.2-.6 0-1.2.4-1.6l.8-.7c.3-.3.8-.2 1 .2l1 1.9c.2.4.1.8-.2 1l-.5.4c-.2.2-.2.4-.1.6.6 1.1 1.5 2 2.6 2.7.2.1.4.1.6-.1l.5-.6c.3-.3.7-.4 1.1-.2l1.5 1c.4.3.5.9 0 1.3ZM14 6c2 .4 3.6 2 4 4l-1 .2a4 4 0 0 0-3.2-3.2L14 6Zm-.4 2c1.2.2 2.1 1.1 2.3 2.3l-1 .2a2 2 0 0 0-1.5-1.5l.2-1Z'/%3E%3C/svg%3E")!important; }
.invoice-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 16px; }
.invoice-tabs a { padding:9px 13px; border-radius:9px; background:#eaf2ff; color:#1456bf; font-weight:800; text-decoration:none; }
.invoice-tabs a.active { background:#086cff; color:#fff; }
.language-switch { display:flex!important; align-items:center; justify-content:center; gap:7px!important; }
.language-switch .flag { display:inline-block; width:27px; height:18px; border-radius:3px; font-size:0; opacity:.55; background-size:cover; background-position:center; box-shadow:0 0 0 1px #ffffff55; }.language-switch .flag:first-child { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 18'%3E%3Cpath fill='%230d5eaf' d='M0 0h27v18H0z'/%3E%3Cpath stroke='white' stroke-width='2' d='M0 3h27M0 7h27M0 11h27M0 15h27'/%3E%3Cpath fill='%230d5eaf' stroke='white' stroke-width='2' d='M0 0h11v10H0zM5.5 0v10M0 5h11'/%3E%3C/svg%3E"); }.language-switch .flag:last-child { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 18'%3E%3Cpath fill='%23012169' d='M0 0h27v18H0z'/%3E%3Cpath stroke='white' stroke-width='4' d='m0 0 27 18M27 0 0 18'/%3E%3Cpath stroke='%23c8102e' stroke-width='2' d='m0 0 27 18M27 0 0 18'/%3E%3Cpath stroke='white' stroke-width='6' d='M13.5 0v18M0 9h27'/%3E%3Cpath stroke='%23c8102e' stroke-width='3.5' d='M13.5 0v18M0 9h27'/%3E%3C/svg%3E"); }.language-switch .flag.selected { opacity:1; }
.switch-track { width:31px; height:17px; background:#4775ab; border-radius:20px; padding:2px; }.switch-track b { display:block; width:13px; height:13px; border-radius:50%; background:#fff; transform:translateX(0); }.language-switch .flag:first-child:not(.selected)~.switch-track b { transform:translateX(14px); }
.pro-lock { margin-left:auto; font-size:9px!important; border-radius:5px; padding:3px 5px; background:#ffffff20; color:#a9c4ea; }
.locked-feature { cursor:not-allowed; opacity:.75; }.locked-feature b { margin-left:5px; font-size:10px; }
.parts-summary { grid-template-columns:repeat(3,1fr); margin-bottom:16px; }.parts-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:16px; margin-bottom:16px; }
.supplier-list { display:grid; gap:8px; }.supplier-list>div { display:flex; justify-content:space-between; gap:10px; padding:11px; background:#f5f8fd; border-radius:8px; }.supplier-list span { color:#64748b; font-size:12px; }
.purchase-item-head,.purchase-item-row { display:grid; grid-template-columns:1fr 90px 150px; gap:8px; margin-bottom:8px; }.purchase-item-head { font-size:11px; font-weight:800; color:#65758d; }
.pro-part-row,.job-item-head.pro { display:grid; grid-template-columns:1fr 85px 130px 140px; gap:8px; margin-bottom:8px; }.job-item-head.pro { font-size:11px; font-weight:800; color:#65758d; }
.linked-purchase-notice { margin:10px 0 14px; padding:11px 13px; border-radius:9px; background:#e7f8ef; color:#047857; font-weight:800; }
.linked-purchases { margin-bottom:16px; }.linked-purchases>div { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid #e6ebf3; }.linked-purchases span { color:#64748b; }
.job-item-row { grid-template-columns:130px 1fr 85px 120px 140px!important; }
.receipt-head { display:flex; align-items:center; justify-content:space-between; border-bottom:2px solid #086cff; padding-bottom:22px; }
.receipt-head img { width:170px; max-height:90px; object-fit:contain; }
.receipt-head h1 { font-size:22px; margin:0 0 8px; }
.receipt-head div { text-align:right; }
.receipt-meta { display:flex; justify-content:space-between; gap:30px; padding:22px 0; }
.receipt-meta div { display:flex; flex-direction:column; gap:5px; }
.receipt-meta div:last-child { text-align:right; }
.receipt-meta>div:first-child>strong { font-size:17px; color:#0b2346; margin-bottom:3px; }
.document-address,.document-phone,.document-vat { color:#45566f; }
.document-phone { display:flex !important; flex-direction:row !important; align-items:center; gap:7px; font-weight:700; color:#17365f; }
.document-phone i { display:inline-grid; place-items:center; width:22px; height:22px; border-radius:6px; background:#e9f2ff; color:#086cff; font-style:normal; }
.document-socials { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px !important; margin-top:13px; padding-top:12px; border-top:1px solid #dfe7f2; text-align:left !important; }
.document-contact { display:grid !important; grid-template-columns:26px 1fr; grid-template-rows:auto auto; column-gap:7px; align-items:center; padding:7px 9px; border:1px solid #e1e9f5; border-radius:8px; background:#f8fbff; text-align:left !important; }
.document-contact i { grid-row:1/3; display:grid; place-items:center; width:26px; height:26px; border-radius:7px; background:#086cff; color:#fff; font-size:14px; font-style:normal; font-weight:900; }
.document-contact b { color:#60708a; font-size:9px; line-height:1; text-transform:uppercase; letter-spacing:.04em; }
.document-contact em { color:#122846; font-size:11px; font-style:normal; overflow-wrap:anywhere; }
.receipt-customer { background:#f5f8fd; padding:15px; border-radius:9px; margin-bottom:20px; line-height:1.7; }
.receipt-total { display:flex; align-items:center; justify-content:space-between; border-top:2px solid #172b4d; margin-top:15px; padding-top:18px; }
.receipt-total strong { font-size:20px; }
.invoice-totals { margin:20px 0 0 auto; width:min(380px,100%); display:grid; gap:8px; }
.invoice-totals span { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid #e5eaf2; }
.invoice-totals .grand-total { font-size:18px; border-top:2px solid #172b4d; border-bottom:0; margin-top:4px; padding-top:13px; }
.payment-history { margin-top:24px; padding:16px; border-radius:10px; background:#f7f9fc; }
.payment-history h3 { margin:0 0 10px; }
.payment-history>div { display:grid; grid-template-columns:1fr auto auto; gap:14px; align-items:center; padding:9px 0; border-bottom:1px solid #e4e9f1; }
.payment-history>div:last-child { border-bottom:0; }
.payment-history a { color:#086cff; font-weight:700; }
.invoice-edit-panel { max-width:900px; }
.invoice-calculation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.invoice-preview-total { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }
.invoice-preview-total span { padding:12px 14px; border-radius:9px; background:#f2f7ff; }
.invoice-preview-total span:last-child { color:#086cff; font-size:18px; }
.issue-form { margin-top:12px; padding-top:16px; border-top:1px solid #e2e8f0; }
.issue-button { background:#059669; }
.mixed-payment-fields { margin:16px 0; padding:16px; border:1px solid #d8e4f3; border-radius:10px; background:#f7faff; }
.mixed-payment-fields h3 { margin:0 0 12px; }
.mixed-payment-fields p { margin:12px 0 0; color:#44546a; }
.role-access-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 18px; }
.role-access-grid article { padding:14px; border:1px solid #dce5f2; border-radius:10px; background:#f8faff; }
.role-access-grid strong { color:#0b5ed7; }
.role-access-grid p { margin:7px 0 0; color:#64748b; font-size:12px; line-height:1.5; }
.role-description { display:block; min-height:34px; margin-top:6px; color:#64748b; font-weight:500; line-height:1.4; }
.receipt-thanks { text-align:center; color:#64748b; margin-top:35px; }
.jobs-table td small { display:block; margin-top:4px; color:#7a889d; }
.jobs-table .row-actions { min-width: 205px; }
.job-item-head,.job-item-row { display: grid; grid-template-columns: 140px minmax(220px,1fr) 85px 120px 140px; gap: 8px; align-items: center; margin-bottom: 8px; }
.job-item-head { color: #718096; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.job-item-row input,.job-item-row select { margin: 0; }
.job-total-preview { padding: 13px 15px; border-radius: 8px; background: #f2f7ff; color: #32445f; }
.status-scheduled { color:#2563eb; background:#eaf2ff; }
.status-in_progress { color:#d97706; background:#fff5dc; }
.status-on_hold { color:#7c3aed; background:#f2eafe; }
.status-completed { color:#047857; background:#e7f8ef; }
.status-cancelled { color:#b91c1c; background:#feecec; }

@media (max-width: 1100px) {
  .dashboard-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .overview-grid,.lower-grid { grid-template-columns: 1fr; }
  .top-actions input { width: 250px; }
}
@media print {
  @page { size:A4; margin:12mm; }
  body.app { display:block; background:white; }
  body.app aside,.no-print { display:none!important; }
  body.app main { padding:0; max-width:none; }
  .receipt { border:0; box-shadow:none; max-width:none; }
}

@media (max-width: 800px) {
  body.app { display: block; }
  aside { position: static; height: auto; min-height:0; max-height:none; overflow:visible; }
  .sidebar-logo,.garage-label,.sidebar-user,.sidebar-spacer { display: none; }
  .app-version { display:none; }
  aside nav { display: flex; overflow-x: auto; }
  aside nav a { flex: 0 0 auto; }
  main { padding: 20px 16px 90px; }
  .topbar,.top-actions { align-items: stretch; flex-direction: column; }
  .top-actions input { width: 100%; }
  .dashboard-cards { grid-template-columns: 1fr; }
  .quick-bar { left: 10px; right: 10px; overflow-x: auto; justify-content: flex-start; }
  .quick-bar a { white-space: nowrap; padding: 13px 18px; }
  .service-picker { grid-template-columns: 1fr; }
  .job-item-head { display:none; }
  .job-item-row { grid-template-columns: 1fr 1fr; }
  .jobs-filter { display:flex; }
  .list-sort-form { display:flex; }
  .receipt-filter { display:flex; }
  .payment-summary,.invoice-calculation,.role-access-grid { grid-template-columns:1fr; }
}

/* Responsive application shell — v1.16 */
.mobile-app-header,.menu-overlay { display:none; }

@media (max-width:1050px) {
  body.app { display:block; min-width:0; }
  body.menu-open { overflow:hidden; }
  .mobile-app-header {
    position:sticky; top:0; z-index:50; height:66px; margin:0; padding:8px 16px;
    display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center;
    background:linear-gradient(135deg,#071d40,#07366e); box-shadow:0 4px 18px #061b3b2b;
  }
  .mobile-app-header a { grid-column:2; justify-self:center; display:flex; align-items:center; justify-content:center; height:100%; }
  .mobile-app-header img { width:118px; height:48px; object-fit:contain; object-position:center; }
  .mobile-header-spacer { grid-column:3; width:44px; height:44px; }
  .menu-toggle {
    grid-column:1; position:relative; z-index:2; touch-action:manipulation; cursor:pointer;
    width:44px; height:44px; padding:10px; display:grid; align-content:center; gap:5px;
    border:1px solid #ffffff38; border-radius:10px; background:#ffffff12;
  }
  .menu-toggle span { display:block; width:22px; height:2px; margin:auto; border-radius:5px; background:white; transition:.2s ease; }
  body.menu-open .menu-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  body.menu-open .menu-toggle span:nth-child(2) { opacity:0; }
  body.menu-open .menu-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .menu-overlay {
    position:fixed; inset:66px 0 0; z-index:39; width:100%; height:calc(100dvh - 66px);
    padding:0; border:0; border-radius:0; background:#07152c99; backdrop-filter:blur(2px);
  }
  body.menu-open .menu-overlay { display:block; }
  body.app aside {
    position:fixed; z-index:40; top:66px; left:0; bottom:0; width:min(86vw,320px);
    height:calc(100dvh - 66px); min-height:0; max-height:none; padding:18px;
    overflow-y:auto; transform:translateX(-105%); transition:transform .24s ease; box-shadow:12px 0 35px #04152d4d;
  }
  body.app aside.mobile-open { transform:translateX(0); }
  body.app aside .sidebar-logo { display:none; }
  body.app aside .garage-label { display:block; text-align:left; margin:2px 12px 12px; color:#d3e1f3; font-size:13px; }
  body.app aside nav { display:grid; overflow:visible; flex:none; margin:0; gap:5px; }
  body.app aside nav a { flex:none; width:100%; min-height:46px; }
  body.app aside .sidebar-spacer { display:block; min-height:20px; }
  body.app aside .sidebar-user { display:flex; }
  body.app aside .app-version { display:block; }
  body.app aside .garagecy-credit { display:flex; }
  body.app aside .upgrade-card { display:block; }
  body.app main { width:100%; max-width:none; min-width:0; margin:0; padding:24px 22px 92px; }
  .topbar { align-items:flex-start; gap:16px; }
  .top-actions { flex-wrap:wrap; justify-content:flex-end; }
  .top-actions input { width:min(340px,42vw); }
  .overview-grid,.lower-grid,.dashboard-grid { grid-template-columns:1fr; }
  .dashboard-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .chart-summary { grid-template-columns:repeat(2,1fr); gap:16px 0; }
  .chart-summary div:nth-child(2) { border-right:0; }
  .quick-bar { left:22px; right:22px; }
  .quick-bar a { padding:13px 24px; }
  .calendar { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .calendar-weekdays,.calendar-grid { min-width:760px; }
  .calendar-day { min-height:112px; }
  .panel,.cards article { max-width:100%; }
  .jobs-table,.invoices-table,.receipts-table,.day-appointments,.users-settings { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .jobs-table table,.invoices-table table,.receipts-table table,.day-appointments table,.users-settings table { min-width:860px; }
  .receipt-filter,.jobs-filter,.list-sort-form { grid-template-columns:1fr 1fr auto; }
}

@media (max-width:640px) {
  .date-filter { width:100%; min-width:0; }
  .mobile-app-header { height:60px; padding:6px 12px; }
  .mobile-app-header img { width:106px; height:44px; }
  .menu-overlay { inset:60px 0 0; height:calc(100dvh - 60px); }
  body.app aside { top:60px; height:calc(100dvh - 60px); width:min(88vw,310px); }
  body.app main { padding:18px 12px 32px; }
  h1 { font-size:25px; line-height:1.2; }
  h2 { font-size:19px; }
  header:not(.mobile-app-header),.topbar { align-items:stretch; flex-direction:column; gap:12px; margin-bottom:18px; }
  header:not(.mobile-app-header)>.button { width:100%; text-align:center; }
  .top-actions { display:grid; grid-template-columns:1fr; width:100%; gap:9px; }
  .top-actions form,.top-actions input,.top-actions .button,.top-actions button { width:100%; max-width:none; }
  .dashboard-cards { grid-template-columns:1fr; gap:10px; }
  .dashboard-cards article { min-height:92px; padding:15px; }
  .cards strong,.dashboard-cards article strong { font-size:25px; }
  .panel,.cards article { padding:15px; border-radius:11px; }
  .grid,.invoice-calculation,.payment-summary,.role-access-grid { grid-template-columns:1fr; }
  .search-form,.jobs-filter,.list-sort-form,.receipt-filter { display:grid; grid-template-columns:1fr; align-items:stretch; gap:9px; }
  .search-form input,.search-form select,.search-form button,.search-form .button { width:100%; max-width:none; text-align:center; }
  .actions,.receipt-actions,.calendar-toolbar,.settings-data-actions,.user-edit-links { flex-wrap:wrap; }
  .actions>* { flex:1 1 150px; text-align:center; }
  .receipt-actions>* { flex:1 1 100%; margin:0; text-align:center; }
  .inline-form { margin-left:0; }
  .service-picker { grid-template-columns:1fr; }
  .service-picker label { grid-template-columns:20px 1fr 78px; padding:6px 2px; }
  .job-item-row { grid-template-columns:1fr; padding:12px; border:1px solid #dfe6f1; border-radius:9px; }
  .appointment-picker { padding:12px; }
  .appointment-picker select[size] { min-height:170px; }
  .quick-bar { position:static; margin-top:18px; width:100%; overflow-x:auto; justify-content:flex-start; border-radius:12px; }
  .quick-bar>span { display:none; }
  .quick-bar a { flex:0 0 auto; white-space:nowrap; padding:12px 16px; }
  .chart-panel { overflow:hidden; }
  .bar-chart { height:165px; gap:3px; }
  .chart-summary { grid-template-columns:1fr 1fr; }
  .chart-summary div { padding:0 10px; }
  .service-row { grid-template-columns:105px 1fr 28px 58px; gap:7px; }
  .calendar-toolbar { display:grid; grid-template-columns:1fr 1fr 1fr; }
  .calendar-toolbar .button { padding:10px 7px; font-size:12px; text-align:center; }
  .calendar-weekdays,.calendar-grid { min-width:700px; }
  .calendar-day { min-height:105px; }
  .receipt { padding:18px 14px; border-radius:10px; }
  .receipt-head { align-items:flex-start; gap:14px; }
  .receipt-head img { width:115px; max-height:65px; }
  .receipt-head h1 { font-size:17px; }
  .receipt-meta { display:grid; grid-template-columns:1fr; gap:14px; }
  .receipt-meta div:last-child { text-align:left; }
  .receipt-total { align-items:flex-start; flex-direction:column; gap:8px; }
  .invoice-totals { width:100%; }
  .payment-history>div { grid-template-columns:1fr auto; }
  .payment-history>div a { grid-column:1/-1; }
  .settings-save { bottom:8px; }
  .settings-save button { width:100%; }
  .login { margin:24px 12px; padding:26px 20px; }
}

@media (max-width:380px) {
  body.app main { padding-inline:9px; }
  .panel,.cards article { padding:12px; }
  .service-picker label { grid-template-columns:18px 1fr 70px; font-size:12px; }
  .calendar-toolbar { grid-template-columns:1fr; }
}

@media (max-width:640px) {
  .calendar { padding:6px; overflow:visible; }
  .calendar-weekdays,.calendar-grid { min-width:0; width:100%; }
  .calendar-weekdays strong { font-size:10px; padding:7px 1px; }
  .calendar-day { min-height:74px; padding:4px 2px; overflow:hidden; }
  .calendar-day .day-number { font-size:12px; margin:0 0 3px 2px; }
  .calendar-day .appointment-chip { padding:3px; margin-top:2px; font-size:8px; line-height:1.15; }
  .calendar-day .appointment-chip small { display:none; }
}
.scan-source-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.scan-source-actions .button { display:flex; align-items:center; justify-content:center; text-align:center; }
@media (max-width:640px) { .scan-source-actions { grid-template-columns:1fr; } }

.upgrade-card.pro-active { background:#fff !important; border:1px solid #d8e6fb !important; color:#0b55b7 !important; }
.upgrade-card.pro-active strong,.upgrade-card.pro-active p { color:#0b55b7 !important; }
.menu-logout { margin-top:6px; border-top:1px solid rgba(255,255,255,.13); padding-top:15px !important; color:#fff !important; }
.mobile-header-spacer { width:48px; }
.pro-ai-box { padding:18px; margin-bottom:18px; border:1px solid #bdd5fb; border-radius:14px; background:#f4f8ff; color:#082750; }
.pro-ai-box p { margin:6px 0 12px; }
.ai-tool { max-width:920px; }
.ai-tool form { display:grid; gap:14px; }
.viber-button { background:#7360f2 !important; border-color:#7360f2 !important; color:#fff !important; }
.ai-result-list { display:grid; gap:8px; margin-top:18px; }
.ai-result-list a { display:flex; justify-content:space-between; gap:15px; padding:14px; border:1px solid #dce5f2; border-radius:10px; color:#082750; text-decoration:none; background:#fff; }
.ai-result-list a:hover { border-color:#1f6fec; background:#f5f9ff; }
.nav-history { margin:2px 0; }
.nav-history summary { display:flex; align-items:center; gap:13px; padding:12px 16px; border-radius:8px; color:#fff; font-weight:700; cursor:pointer; list-style:none; }
.nav-history summary::-webkit-details-marker { display:none; }
.nav-history summary:hover,.nav-history[open] summary { background:rgba(30,111,238,.23); }
.nav-history summary i { width:20px; text-align:center; font-style:normal; }
.nav-history summary span { flex:1; }
.nav-history summary b { transition:transform .18s ease; }
.nav-history[open] summary b { transform:rotate(180deg); }
.nav-history>div { display:grid; gap:2px; padding:3px 0 5px 17px; }
aside nav .nav-history>div>a { padding:9px 12px; font-size:13px; }
aside nav .nav-history>div>a.active { background:#1f6fec; color:#fff; }
.history-search-results,.history-links,.history-timeline { display:grid; gap:9px; }
.history-search-results>a,.history-links>a,.history-timeline article { display:flex; justify-content:space-between; gap:14px; padding:14px; border:1px solid #dce5f2; border-radius:10px; color:#082750; text-decoration:none; }
.history-search-results>a:hover,.history-links>a:hover { border-color:#1f6fec; background:#f5f9ff; }
.history-summary { grid-template-columns:repeat(4,minmax(0,1fr)); }
.report-filters { display:flex; align-items:end; gap:14px; margin-bottom:18px; }
.report-filters label { display:grid; gap:7px; min-width:190px; color:#536581; font-size:14px; font-weight:850; }
.report-filters input { min-height:50px; padding:11px 14px; font-size:16px; font-weight:700; }
.report-cards { grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:18px; }
.report-cards article { display:grid; gap:8px; }
.report-cards strong { font-size:25px; color:#082750; }
.report-cards small { color:#087b53; font-weight:750; }
.report-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.report-export { display:grid; width:100%; max-width:none; gap:14px; align-items:end; margin-bottom:18px; box-sizing:border-box; }
.report-export h2,.report-export p { margin-top:0; margin-bottom:4px; }
.report-create-form { grid-template-columns:minmax(260px,1.5fr) minmax(175px,1fr) minmax(175px,1fr) auto; }
.report-create-form>div:first-child { grid-column:1/-1; }
.report-create-form label { display:grid; min-width:0; gap:7px; color:#536581; font-size:14px; font-weight:850; }
.report-create-form select,.report-create-form input { width:100%; min-height:52px; padding:11px 14px; font-size:16px; font-weight:700; }
.report-create-form button { min-height:52px; padding-inline:22px; font-size:15px; white-space:nowrap; }
.report-email-form { display:flex; align-items:center; gap:8px; margin:0; }
.report-email-form input { width:220px; min-height:42px; }
.global-search-form { max-width:850px; }
.global-results { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:18px; }
.report-document table { font-size:12px; }
@media(max-width:760px){.history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.history-search-results>a,.history-links>a,.history-timeline article{flex-direction:column}}
@media(max-width:760px){.document-socials{grid-template-columns:1fr}.report-filters,.report-export,.report-create-form{display:grid;grid-template-columns:1fr}.report-filters label{min-width:0}.report-cards,.report-grid,.global-results{grid-template-columns:1fr}.report-email-form{width:100%;flex-direction:column}.report-email-form input,.report-email-form button{width:100%}}
@media(max-width:760px){.parts-summary,.parts-grid{grid-template-columns:1fr}.purchase-item-head{display:none}.purchase-item-row,.pro-part-row,.job-item-head.pro{grid-template-columns:1fr}.finance-donut-wrap{flex-direction:column;gap:16px}.receipt-actions .share-icon{flex:0 0 42px!important}.job-item-row{grid-template-columns:1fr!important}}
@media(max-width:1100px) and (min-width:761px){.report-create-form{grid-template-columns:1fr 1fr}.report-create-form>div:first-child{grid-column:1/-1}.report-create-form button{grid-column:1/-1}}
.purchase-picker { display:grid; gap:7px; margin:14px 0; font-weight:800; }
.purchase-picker select { min-height:48px; font-size:15px; }
.purchase-reference { display:grid; gap:8px; }
.purchase-row-actions { display:flex; align-items:center; gap:8px; }
.purchase-row-actions a,.purchase-row-actions button { border:0; background:none; color:#1767df; font-size:12px; font-weight:800; padding:0; cursor:pointer; text-decoration:none; }
.purchase-row-actions button { color:#d51d2c; }
.purchase-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.finance-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); margin:0 0 18px; }
.finance-kpis a { color:inherit; text-decoration:none; }
.finance-kpis article { height:100%; box-sizing:border-box; }
.finance-kpis .green { color:#07865b; }
.finance-kpis .red { color:#d51d2c; }
@media(max-width:900px){.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.finance-kpis{grid-template-columns:1fr}}
.superadmin-main { max-width:1280px; margin:0 auto; padding:32px 22px; }
.superadmin-main .panel { margin-bottom:20px; }
.superadmin-main td small { display:block; margin-top:5px; color:#6c7b93; }
.super-create form { display:grid; gap:16px; }
.super-plan-form { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.super-danger-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid #e2e8f2; }
.super-danger-actions form { margin:0; }
.super-danger-actions button { padding:8px 10px; font-size:12px; }
.super-danger-actions .danger { background:#d82030; color:#fff; }
.table-wrap { overflow-x:auto; }
.super-login { margin-top:8px; background:#0d66e8; color:#fff; width:100%; }
.language-switch .flag { width:32px; height:21px; border:1px solid rgba(255,255,255,.75); box-shadow:0 2px 7px rgba(0,0,0,.24); background-repeat:no-repeat; }
.language-switch .flag>b { display:none; }
.language-switch .flag-gr { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='54' height='36' viewBox='0 0 27 18'%3E%3Cpath fill='%230d5eaf' d='M0 0h27v18H0z'/%3E%3Cpath stroke='%23fff' stroke-width='2' d='M0 3h27M0 7h27M0 11h27M0 15h27'/%3E%3Cpath fill='%230d5eaf' d='M0 0h10v10H0z'/%3E%3Cpath stroke='%23fff' stroke-width='2' d='M5 0v10M0 5h10'/%3E%3C/svg%3E")!important; }
.language-switch .flag-gb { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 36'%3E%3Cpath fill='%23012169' d='M0 0h60v36H0z'/%3E%3Cpath stroke='%23fff' stroke-width='7' d='m0 0 60 36M60 0 0 36'/%3E%3Cpath stroke='%23c8102e' stroke-width='4' d='m0 0 60 36M60 0 0 36'/%3E%3Cpath stroke='%23fff' stroke-width='12' d='M30 0v36M0 18h60'/%3E%3Cpath stroke='%23c8102e' stroke-width='7' d='M30 0v36M0 18h60'/%3E%3C/svg%3E")!important; }
@media(max-width:700px){.superadmin-main{padding:18px 10px}.superadmin-main table{min-width:900px}}
