/* GEPO — uporządkowany plik bazowy V8.15.6.
   Scalono kaskadę: wcześniejsze deklaracje tego samego selektora, właściwości
   i warunku @media zostały usunięte, gdy późniejsze je zastępują.
   Zachowano kolejność pozostałych reguł oraz wszystkie punkty responsywne.
   Kalendarz i moduły inne niż Biuro zachowują istniejące reguły. */

:root {
  --red: #E60012;
  --dark: #121214;
  --dark-card: #27272A;
  --bg: #F4F5F7;
  --surface: #fff;
  --text: #171719;
  --muted: #6E6E73;
  --green: #168A48;
  --orange: #D97706;
  --danger: #B91C1C;
  --shadow: 0 6px 18px rgba(0,0,0,.10);
}
* { box-sizing: border-box; }
html,body {
  margin: 0;
  min-height: 100%;
  font-family: Arial,Helvetica,sans-serif;
  background: var(--bg);
  color: var(--text);
}
body { min-height: 100vh; }
button,input,select,textarea { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }
.webapp { min-height: 100vh; background: var(--bg); }
.page {
  width: min(760px,100%);
  margin: 0 auto;
  padding: 14px 18px 34px;
}
.small { font-size: 12px; }
.muted { color: var(--muted); }
.center { text-align: center; }
.row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.row-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.grow { flex: 1; min-width: 0; }
.logo {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  font-weight: 1000;
  letter-spacing: -1px;
  line-height: 1;
}
.logo .gepo { color: var(--red); font-size: 40px; }
.logo .tech {
  color: var(--dark);
  font-size: 27px;
  margin-left: 2px;
  font-weight: 900;
}
.logo.white .tech { color: #fff; }
.logo.white .gepo { font-size: 48px; }
.logo.white .tech { font-size: 31px; }
.header-card {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 5px 15px rgba(0,0,0,.10);
  padding: 14px 16px;
  text-align: center;
}
.header-logo {
  height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-card h1 {
  margin: 0;
  font-size: 21px;
  font-weight: 1000;
}
.header-card p {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 12px;
}
.user-pill {
  display: inline-block;
  margin-top: 8px;
  background: #F1F1F3;
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
}
.summary-card {
  background: var(--dark-card);
  color: #fff;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
.summary-card .eyebrow {
  font-size: 10px;
  letter-spacing: 1.8px;
  color: #BDBDC2;
}
.summary-card .value {
  font-size: 27px;
  font-weight: 1000;
  margin-top: 6px;
}
.summary-card .caption {
  font-size: 12px;
  color: #D0D0D3;
  margin-top: 4px;
}
.menu-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.menu-card {
  height: 132px;
  border: 0;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 3px 10px rgba(0,0,0,.09);
  padding: 14px;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--text);
}
.menu-icon {
  font-size: 27px;
  color: var(--red);
  line-height: 1;
}
.menu-title { font-size: 14px; font-weight: 800; }
.menu-sub {
  font-size: 10px;
  color: var(--muted);
  margin-top: 3px;
}
.banner {
  min-height: 86px;
  border-radius: 16px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  text-align: center;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  background: linear-gradient(110deg,rgba(0,0,0,.22),rgba(0,0,0,.0)),
    repeating-linear-gradient(135deg,#202024 0,#202024 12px,#2d2d31 12px,#2d2d31 24px);
  position: relative;
  overflow: hidden;
}
.banner:before {
  content: "";
  position: absolute;
  left: -10%;
  bottom: -45px;
  width: 65%;
  height: 80px;
  background: var(--red);
  transform: skewX(-24deg);
  opacity: .78;
}
.banner span { position: relative; z-index: 1; }
.btn {
  border: 0;
  border-radius: 12px;
  padding: 12px 16px;
  font-weight: 800;
  min-height: 46px;
}
.btn-primary { background: var(--red); color: #fff; }
.btn-dark { background: #2A2A2D; color: #fff; }
.btn-light {
  background: #fff;
  color: #111;
  border: 1px solid #ddd;
}
.btn-danger { background: var(--danger); color: #fff; }
.btn-full { width: 100%; }
.btn-small {
  padding: 8px 11px;
  min-height: 36px;
  font-size: 12px;
}
.logout { margin-top: 18px; }
.screen-header {
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 6px 16px rgba(0,0,0,.10);
  padding: 18px;
}
.screen-header-top {
  display: flex;
  align-items: center;
  gap: 12px;
}
.screen-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: rgba(230,0,18,.10);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex: 0 0 auto;
}
.screen-header h2 {
  margin: 0;
  font-size: 22px;
  font-weight: 1000;
}
.screen-header p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 16px;
}
.red-line {
  height: 4px;
  border-radius: 999px;
  margin-top: 14px;
  background: linear-gradient(90deg,var(--red),rgba(230,0,18,.25),transparent);
}
.month-select {
  display: grid;
  grid-template-columns: 52px 1fr 52px;
  gap: 10px;
  align-items: center;
  margin: 16px 0;
}
.month-select button {
  height: 44px;
  border: 0;
  background: #fff;
  border-radius: 14px;
  font-weight: 800;
}
.month-name {
  text-align: center;
  font-size: 16px;
  font-weight: 800;
}
.metric-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.metric-card,.admin-metric {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  padding: 16px;
}
.metric-label {
  font-size: 11px;
  color: var(--muted);
  font-weight: 700;
}
.metric-value {
  font-size: 24px;
  font-weight: 1000;
  margin-top: 8px;
}
.metric-sub {
  font-size: 11px;
  color: var(--muted);
  line-height: 15px;
  margin-top: 6px;
}
.info-card {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
  padding: 16px;
  margin-bottom: 12px;
}
.info-head {
  display: flex;
  align-items: center;
  gap: 12px;
}
.info-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(230,0,18,.09);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  flex: 0 0 auto;
}
.info-title { font-weight: 800; font-size: 16px; }
.chip {
  display: inline-block;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 800;
  margin-top: 8px;
}
.chip-red { background: rgba(230,0,18,.12); color: var(--red); }
.chip-green { background: rgba(22,138,72,.12); color: var(--green); }
.chip-orange { background: rgba(217,119,6,.12); color: var(--orange); }
.chip-danger { background: rgba(185,28,28,.12); color: var(--danger); }
.info-body {
  margin-top: 14px;
  font-size: 12px;
  color: var(--muted);
  line-height: 17px;
}
.info-body div { margin: 4px 0; }
.back-wrap { margin-top: 18px; }
.category-card,.product-card,.admin-list-card {
  width: 100%;
  border: 0;
  background: #fff;
  border-radius: 14px;
  padding: 14px;
  text-align: left;
  color: var(--text);
  box-shadow: 0 2px 8px rgba(0,0,0,.07);
}
.category-card { margin-bottom: 10px; }
.category-title { font-weight: 800; }
.category-count {
  font-size: 12px;
  color: var(--muted);
  margin-top: 4px;
}
.product-card {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}
.product-thumb {
  width: 76px;
  height: 76px;
  object-fit: contain;
  border-radius: 12px;
  background: #fafafa;
  border: 1px solid #eee;
}
.placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  color: #aaa;
}
.product-name { font-size: 15px; font-weight: 800; }
.product-meta {
  font-size: 12px;
  color: var(--muted);
  margin-top: 4px;
  line-height: 17px;
}
.stock { font-weight: 900; color: var(--text); }
.stock.zero { color: var(--red); }
.search,input,select,textarea {
  width: 100%;
  border: 1px solid #cfd1d5;
  border-radius: 12px;
  background: #fff;
  color: #111;
  padding: 12px 13px;
  outline: none;
}
.search:focus,input:focus,select:focus,textarea:focus {
  border-color: var(--red);
  box-shadow: 0 0 0 2px rgba(230,0,18,.10);
}
label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #444;
  margin: 12px 0;
}
label input,label select,label textarea { margin-top: 6px; }
.action-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 14px 0;
}
.action-toggle .active { outline: 3px solid rgba(230,0,18,.22); }
.selected-box {
  background: #fff;
  border-radius: 18px;
  padding: 12px;
  box-shadow: 0 3px 10px rgba(0,0,0,.08);
}
.admin-title {
  font-size: 24px;
  font-weight: 1000;
  margin: 4px 0 14px;
}
.admin-action {
  width: 100%;
  background: var(--red);
  color: #fff;
  border: 0;
  border-radius: 12px;
  padding: 13px;
  font-weight: 900;
}
.admin-list-card {
  margin-bottom: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.admin-list-title { font-weight: 800; }
.admin-list-lines {
  font-size: 12px;
  color: var(--muted);
  margin-top: 4px;
  line-height: 17px;
}
.admin-status {
  background: #fff;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 3px 10px rgba(0,0,0,.08);
}
.admin-status-label {
  font-size: 10px;
  color: var(--muted);
  letter-spacing: 1.2px;
}
.admin-status-value {
  font-size: 20px;
  font-weight: 1000;
  margin-top: 5px;
}
.admin-metrics {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 10px;
}
.admin-metric {
  text-align: center;
  cursor: pointer;
  border: 0;
}
.admin-metric .metric-value { font-size: 20px; }
.section-label {
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 1.2px;
  font-weight: 800;
  margin: 18px 0 10px;
}
.form-card {
  background: #fff;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 3px 10px rgba(0,0,0,.08);
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 12px;
}
.notice {
  background: #fff;
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 12px;
  line-height: 17px;
  color: var(--muted);
  box-shadow: 0 2px 7px rgba(0,0,0,.06);
}
.notice.error { color: var(--danger); border-left: 4px solid var(--danger); }
.notice.success { color: var(--green); border-left: 4px solid var(--green); }
.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  z-index: 999;
}
.modal {
  width: min(500px,100%);
  max-height: 88vh;
  overflow: auto;
  background: #fff;
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 22px 60px rgba(0,0,0,.32);
}
.modal h3 {
  font-size: 20px;
  margin: 0;
  font-weight: 1000;
}
.ship-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 16px;
}
.ship-btn {
  border: 1px solid #ddd;
  border-radius: 14px;
  padding: 14px;
  background: #fff;
  font-weight: 900;
  font-size: 16px;
}
.ship-btn:hover { border-color: var(--red); }
.login-page {
  background: linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.20) 48%,rgba(0,0,0,.70)),
    url("/images/gepo_login_bg.png") center center/cover no-repeat,
    #121214;
  color: #fff;
  display: flex;
  justify-content: center;
}
.login-logo { margin-bottom: 20px; }
.login-title { font-weight: 800; }
.login-sub {
  font-size: 12px;
  color: #BFC0C2;
  margin-top: 3px;
}
.dark-field { margin-top: 10px; text-align: left; }
.dark-field input {
  height: 55px;
  border: 1px solid #55555A;
  color: #fff;
  border-radius: 7px;
}
.dark-field span {
  display: block;
  font-size: 11px;
  color: #ddd;
  margin: 0 0 5px 2px;
}
.login-btn {
  height: 50px;
  border-radius: 7px;
  margin-top: 11px;
}
.login-forgot {
  font-size: 9px;
  color: #D7D7D7;
  margin-top: 10px;
}
.login-bottom-line {
  width: 42px;
  height: 2px;
  background: var(--red);
  border-radius: 2px;
  margin: 34px auto 11px;
}
.login-motto {
  font-size: 8px;
  line-height: 13px;
  letter-spacing: 2px;
  color: #C9C9C9;
}
.spinner {
  padding: 25px;
  text-align: center;
  color: var(--muted);
}
hr.sep {
  border: 0;
  border-top: 1px solid #eee;
  margin: 14px 0;
}
.clickable { cursor: pointer; }
.top-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
@media (max-width:620px) {
  .page { padding-left: 14px; padding-right: 14px; }
  .menu-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .menu-card { height: 124px; padding: 12px; }
  .menu-title { font-size: 13px; }
  .admin-metrics { grid-template-columns: 1fr 1fr 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .product-card { grid-template-columns: 66px 1fr; }
  .product-thumb { width: 66px; height: 66px; }
}
@media (max-width:390px) {
  .menu-grid { grid-template-columns: 1fr; }
  .menu-card { height: 105px; }
  .metric-row { grid-template-columns: 1fr; }
  .admin-metrics { grid-template-columns: 1fr; }
}
.gepo-logo-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.gepo-mark {
  display: block;
  width: auto;
  height: auto;
  object-fit: contain;
}
.gepo-wordmark {
  display: block;
  width: auto;
  height: auto;
  object-fit: contain;
}
.header-card .gepo-logo-stack { gap: 0; }
.header-card .gepo-mark {
  width: 78px;
  max-height: 68px;
  margin-bottom: -3px;
}
.header-card .gepo-wordmark { width: min(260px,72vw); max-height: 52px; }
.header-card .header-logo { height: 118px; }
.login-page {
  min-height: 100svh;
  align-items: flex-start;
  overflow: auto;
  padding: max(22px,env(safe-area-inset-top))
    22px
    max(28px,env(safe-area-inset-bottom));
}
.login-inner {
  width: min(610px,100%);
  margin: 0 auto;
  min-height: calc(100svh - 50px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  padding: 16px 0 26px;
}
.login-brand {
  display: flex;
  justify-content: center;
  margin: 0 auto 20px;
  width: 100%;
}
.login-brand .gepo-logo-stack { width: 100%; gap: 2px; }
.login-brand .gepo-mark { width: clamp(145px,27vw,215px); max-height: 235px; }
.login-brand .gepo-wordmark {
  width: clamp(280px,72vw,475px);
  max-width: 94%;
  margin-top: -8px;
}
.login-title { margin-top: 6px; font-size: 20px; }
.login-sub { margin-bottom: 8px; }
.dark-field { width: 100%; }
.dark-field input { background: rgba(22,22,25,.80); backdrop-filter: blur(3px); }
.login-bottom-line { margin-top: 32px; }
@media (min-width:760px) {
  .login-page { align-items: center; padding: 34px; }
  .login-inner {
    width: min(560px,92vw);
    min-height: auto;
    justify-content: flex-start;
    padding: 18px 28px 24px;
    border-radius: 24px;
    background: rgba(15,15,17,.28);
  }
  .login-brand { margin-bottom: 12px; }
  .login-brand .gepo-mark { width: 165px; }
  .login-brand .gepo-wordmark { width: 400px; max-width: 100%; }
  .dark-field input { height: 60px; }
}
@media (max-height:760px) and (max-width:759px) {
  .login-inner { justify-content: flex-start; padding-top: 8px; }
  .login-brand { margin-bottom: 8px; }
  .login-brand .gepo-mark { width: 118px; }
  .login-brand .gepo-wordmark { width: 270px; margin-top: -10px; }
  .login-title { margin-top: 0; }
  .dark-field { margin-top: 7px; }
  .dark-field input { height: 50px; }
  .login-bottom-line { margin-top: 22px; }
}
.metric-click {
  border: 0;
  text-align: left;
  cursor: pointer;
  width: 100%;
  color: var(--text);
}
.metric-click:hover { box-shadow: 0 6px 18px rgba(0,0,0,.13); }
.metric-hint {
  margin-top: 8px;
  color: var(--red);
  font-size: 9px;
  font-weight: 800;
}
.calendar-modal h3 {
  margin: 0;
  font-size: 19px;
  font-weight: 1000;
}
.calendar-employee {
  color: var(--muted);
  font-size: 13px;
  margin-top: 4px;
}
.calendar-month {
  font-size: 14px;
  font-weight: 800;
  margin-top: 4px;
}
.calendar-weekdays,
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7,1fr);
  gap: 4px;
}
.calendar-weekdays {
  margin-top: 16px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-align: center;
}
.calendar-grid { margin-top: 8px; }
.calendar-cell {
  aspect-ratio: 1/1;
  width: 100%;
  max-width: 42px;
  justify-self: center;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #111;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.calendar-cell.active {
  background: #FFE9EB;
  border: 1px solid var(--red);
  font-weight: 900;
  cursor: pointer;
}
.calendar-cell.active.selected { background: var(--red); color: #fff; }
.calendar-cell:disabled { opacity: 1; }
.calendar-cell.empty { pointer-events: none; }
.calendar-legend {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 11px;
  margin-top: 14px;
}
.calendar-legend span {
  width: 14px;
  height: 14px;
  border-radius: 4px;
  background: #FFE9EB;
  border: 1px solid var(--red);
}
.calendar-details-title {
  margin-top: 16px;
  font-size: 13px;
  font-weight: 900;
}
.calendar-entry {
  margin-top: 7px;
  font-size: 12px;
  color: var(--muted);
}
@media (max-width:759px) {
  .login-page {
    background: linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.10) 52%,rgba(0,0,0,.36)),
      url("/images/gepo_login_bg.png") center top/cover no-repeat,
      #121214 !important;
  }
  .desktop-only-brand { display: none !important; }
  .login-title { margin-top: 0 !important; }
}
@media (max-width:759px) and (max-height:800px) {
  .login-inner { padding-top: 430px !important; }
}
@media (min-width:760px) {
  .desktop-only-brand { margin-bottom: 16px !important; }
  .login-inner { backdrop-filter: blur(3px); }
  .desktop-only-brand .gepo-logo-stack { width: 100%; }
  .desktop-only-brand .gepo-mark { width: 135px !important; max-height: 150px !important; }
  .desktop-only-brand .gepo-wordmark {
    width: 350px !important;
    max-width: 90% !important;
    margin-top: -10px !important;
  }
  .login-title { margin-top: 0 !important; }
}
.gepo-logo-full {
  display: block;
  width: auto;
  height: auto;
}
.header-card .gepo-logo-stack { height: 116px; width: 100%; }
.header-card .gepo-logo-full { width: min(290px,78vw); max-height: 108px; }
@media (max-width:759px) {
  html,body { min-height: 100%; overflow-x: hidden; }
  .login-page {
    min-height: 100svh !important;
    height: 100svh !important;
    overflow: hidden !important;
    padding: max(8px,env(safe-area-inset-top))
      18px
      max(8px,env(safe-area-inset-bottom)) !important;
  }
  .desktop-only-brand,
  .login-title,
  .login-sub { display: none !important; }
  .login-inner {
    min-height: 100% !important;
    height: 100% !important;
    padding-bottom: 4px !important;
    justify-content: flex-start !important;
  }
  .dark-field { margin-top: 7px !important; }
  .dark-field span { margin-bottom: 4px !important; }
  .dark-field input { height: 52px !important; }
  .login-btn { height: 52px !important; margin-top: 9px !important; }
  .login-forgot { margin-top: 8px !important; }
  .login-bottom-line { margin: 20px auto 8px !important; }
  .login-motto { font-size: 7px !important; line-height: 11px !important; }
}
@media (max-width:759px) and (max-height:780px) {
  .dark-field input { height: 48px !important; }
  .login-btn { height: 48px !important; }
  .login-bottom-line { margin-top: 14px !important; }
}
.gepo-logo-full { object-fit: contain; }
@media (min-width:760px) {
  .login-page {
    background: linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.30) 55%,rgba(0,0,0,.70)),
      url("/images/gepo_login_desktop_clean_v855.png") center center/cover no-repeat,
      #121214 !important;
  }
  .desktop-only-brand {
    display: flex !important;
    justify-content: center !important;
    margin: 0 auto 14px !important;
  }
  .desktop-only-brand .gepo-logo-stack {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .desktop-only-brand .gepo-logo-full {
    content: url("/images/gepo_android_logo_exact_v855.png") !important;
    width: 430px !important;
    max-width: 92% !important;
    max-height: 185px !important;
    height: auto !important;
    object-fit: contain !important;
  }
  .desktop-only-brand .gepo-mark,
  .desktop-only-brand .gepo-wordmark { display: none !important; }
  .login-inner {
    width: min(560px,92vw) !important;
    height: auto !important;
    min-height: auto !important;
    padding: 24px 30px 28px !important;
    margin: auto !important;
    background: rgba(18,18,20,.34) !important;
    backdrop-filter: blur(3px) !important;
  }
  .login-title { display: block !important; }
  .login-sub { display: block !important; }
}
@media (max-width:759px) {
  .login-inner { padding-top: calc(48svh + 58px) !important; }
}
@media (max-width:759px) and (max-height:780px) {
  .login-inner { padding-top: calc(43svh + 42px) !important; }
}
@media (max-width:759px) and (min-height:1000px) {
  .login-inner { padding-top: calc(51svh + 58px) !important; }
}
.movement-process,.movement-result { text-align: center; }
.movement-spinner {
  width: 58px;
  height: 58px;
  margin: 2px auto 16px;
  border: 6px solid #eee;
  border-top-color: var(--red);
  border-radius: 50%;
  animation: movementSpin .85s linear infinite;
}
@keyframes movementSpin {to{transform:rotate(360deg)}}
.movement-process h3,.movement-result h3 {
  margin: 0;
  font-size: 21px;
  font-weight: 1000;
}
.movement-product {
  margin-top: 13px;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.25;
}
.movement-details {
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
}
.movement-status {
  margin-top: 18px;
  font-weight: 800;
  color: var(--red);
}
.movement-warning {
  margin-top: 12px;
  background: #f4f4f5;
  border-radius: 12px;
  padding: 10px 12px;
  color: #5e5e63;
  font-size: 11px;
  line-height: 1.45;
}
.movement-result-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  margin: 0 auto 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  font-weight: 1000;
}
.movement-result.success .movement-result-icon { background: rgba(22,138,72,.13); color: var(--green); }
.movement-result.error .movement-result-icon { background: rgba(185,28,28,.12); color: var(--danger); }
.movement-new-stock {
  margin-top: 16px;
  background: #f4f5f7;
  border-radius: 12px;
  padding: 12px;
  font-size: 14px;
}
.movement-error-text {
  margin-top: 14px;
  color: var(--danger);
  font-size: 13px;
  line-height: 1.5;
}
.movement-error-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}
.movement-error-actions .btn { min-width: 120px; }
.ship-btn:disabled { opacity: .55; cursor: not-allowed; }
.operation-alert { text-align: center; }
.operation-alert-icon {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  margin: 0 auto 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  font-weight: 1000;
  color: var(--danger);
  background: rgba(185,28,28,.12);
  border: 2px solid rgba(185,28,28,.22);
}
.operation-alert h3 {
  margin: 0;
  font-size: 21px;
  font-weight: 1000;
}
.operation-alert-message {
  margin-top: 14px;
  padding: 14px;
  border-radius: 12px;
  background: #fff2f2;
  color: var(--danger);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 700;
}
.office-welcome {
  background: var(--dark-card);
  color: #fff;
  border-radius: 18px;
  padding: 22px;
  margin: 14px 0;
  box-shadow: 0 5px 16px rgba(0,0,0,.12);
}
.office-welcome .eyebrow {
  font-size: 10px;
  letter-spacing: 1.8px;
  color: #bdbdc2;
}
.office-welcome-title {
  font-size: 26px;
  font-weight: 1000;
  margin-top: 7px;
}
.office-welcome-sub {
  font-size: 12px;
  color: #d0d0d3;
  margin-top: 5px;
  line-height: 1.5;
}
.office-menu {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 14px;
  margin-bottom: 14px;
}
.office-menu .menu-card { width: 100%; height: 150px; }
.office-employee-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
.office-employee-row {
  width: 100%;
  border: 0;
  background: #fff;
  border-radius: 16px;
  padding: 15px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  box-shadow: 0 3px 10px rgba(0,0,0,.07);
}
.office-employee-name { font-size: 15px; font-weight: 900; }
.office-employee-meta {
  font-size: 11px;
  color: var(--muted);
  margin-top: 4px;
}
.office-arrow {
  font-size: 28px;
  color: var(--red);
  font-weight: 800;
}
.office-profile-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 12px;
  margin: 14px 0;
}
.office-stat-card {
  background: #fff;
  border-radius: 17px;
  padding: 16px;
  box-shadow: 0 3px 10px rgba(0,0,0,.08);
}
.office-big-value {
  font-size: 20px;
  font-weight: 1000;
  margin-top: 8px;
  line-height: 1.15;
}
.office-big-value.green { color: var(--green); }
.office-actions-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
}
.office-action-card {
  border: 0;
  background: #fff;
  border-radius: 17px;
  padding: 18px;
  text-align: left;
  box-shadow: 0 3px 10px rgba(0,0,0,.08);
  color: var(--text);
}
.office-action-card span {
  font-size: 26px;
  display: block;
  margin-bottom: 18px;
}
.office-action-card b { display: block; font-size: 13px; }
.office-action-card small {
  display: block;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.4;
  margin-top: 5px;
}
.office-history-list { display: grid; gap: 9px; }
.office-history-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  background: #fff;
  border-radius: 14px;
  padding: 14px 16px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  font-size: 12px;
}
.office-history-row b { font-size: 13px; }
.office-history-row div div { color: var(--muted); margin-top: 4px; }
.office-hours-table {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 3px 10px rgba(0,0,0,.08);
}
.office-hours-head,.office-hours-row {
  display: grid;
  grid-template-columns: 1fr 100px 150px;
  gap: 12px;
  align-items: center;
  padding: 13px 16px;
}
.office-hours-head {
  background: var(--dark-card);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
}
.office-hours-row { border-bottom: 1px solid #eee; font-size: 13px; }
.office-hours-row:last-child { border-bottom: 0; }
.office-hours-row strong { text-align: right; }
.office-project-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 14px;
  margin-top: 16px;
}
.office-project-card {
  background: #fff;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 3px 10px rgba(0,0,0,.08);
}
.office-project-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.office-project-card .eyebrow {
  font-size: 9px;
  letter-spacing: 1.4px;
  color: var(--muted);
}
.office-project-number {
  font-size: 29px;
  font-weight: 1000;
  margin-top: 2px;
}
.office-project-progress {
  height: 8px;
  background: #ececef;
  border-radius: 99px;
  overflow: hidden;
  margin: 16px 0 9px;
}
.office-project-progress div { height: 100%; background: var(--red); }
.office-project-status,.office-project-meta {
  font-size: 11px;
  color: var(--muted);
  margin-top: 7px;
}
.office-project-placeholder {
  font-size: 10px;
  line-height: 1.4;
  margin-top: 14px;
  padding-top: 11px;
  border-top: 1px solid #eee;
  color: #999;
}
@media (min-width:900px) {
  .office-page {
    width: min(1500px,calc(100% - 40px));
    max-width: none;
    padding: 18px 20px 38px;
  }
  .office-webapp .header-card {
    display: grid;
    grid-template-columns: 180px 1fr auto;
    align-items: center;
    text-align: left;
    gap: 18px;
    padding: 12px 18px;
  }
  .office-webapp .header-logo { height: 64px; justify-content: flex-start; }
  .office-webapp .header-card h1 { font-size: 24px; }
  .office-webapp .header-card p { font-size: 12px; }
  .office-webapp .user-pill { margin-top: 0; }
}
@media (max-width:899px) {
  .office-menu { grid-template-columns: 1fr 1fr; }
  .office-profile-grid { grid-template-columns: 1fr 1fr; }
  .office-actions-grid { grid-template-columns: 1fr 1fr; }
  .office-project-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width:620px) {
  .office-menu { grid-template-columns: 1fr 1fr; }
  .office-menu .menu-card { height: 128px; }
  .office-profile-grid { grid-template-columns: 1fr 1fr; }
  .office-actions-grid { grid-template-columns: 1fr; }
  .office-project-grid { grid-template-columns: 1fr; }
  .office-hours-head,.office-hours-row {
    grid-template-columns: 1fr 54px 95px;
    padding-left: 12px;
    padding-right: 12px;
  }
}
@media (max-width:390px) {
  .office-menu { grid-template-columns: 1fr; }
}
.password-reset-modal { text-align: center; }
.password-reset-icon { font-size: 42px; margin: 2px 0 8px; }
.password-reset-modal h3 {
  margin: 0;
  font-size: 21px;
  font-weight: 1000;
}
.password-reset-label {
  display: block;
  text-align: left;
  margin-top: 14px;
  font-size: 12px;
  font-weight: 800;
}
.password-reset-label input { margin-top: 6px; }
.password-reset-actions {
  display: flex;
  gap: 10px;
  margin-top: 18px;
}
.password-reset-actions .btn { flex: 1; }
@media (max-width:560px) {
  .top-actions { display: grid; grid-template-columns: 1fr; }
}
.office-calendar-modal { max-width: 760px; }
.office-day-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 12px 0;
  padding: 12px 14px;
  background: #f4f5f7;
  border-radius: 12px;
}
.office-day-summary span {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .7px;
  color: var(--muted);
}
.office-day-summary strong { font-size: 17px; }
.office-day-timeline {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.office-day-event {
  display: grid;
  grid-template-columns: 54px 34px 1fr;
  gap: 9px;
  align-items: center;
  text-align: left;
  background: #fff;
  border: 1px solid #ececef;
  border-radius: 12px;
  padding: 10px 12px;
}
.office-day-time {
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}
.office-day-event-icon {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f4f5f7;
  font-size: 15px;
}
.office-day-event-body b { display: block; font-size: 12px; }
.office-day-event-body div {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}
.office-day-event.tool .office-day-event-icon { background: #fff1f1; color: var(--red); }
.office-day-event.drawing .office-day-event-icon { background: #f1f1ff; }
.office-day-event.attendance .office-day-event-icon { background: #eff9f2; color: var(--green); }
.project-preview-note {
  margin-top: 14px;
  background: #fff7f7;
  border: 1px solid #f0caca;
  border-radius: 16px;
  padding: 13px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.project-preview-note div {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.project-preview-note b { font-size: 12px; }
.project-preview-note span:not(.chip) { font-size: 10px; color: var(--muted); }
.project-summary-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
  margin-top: 14px;
}
.office-project-card.office-project-open {
  appearance: none;
  border: 0;
  text-align: left;
  width: 100%;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
.office-project-card.office-project-open:focus-visible { outline: 3px solid rgba(198,0,0,.2); outline-offset: 2px; }
.office-project-total {
  margin-top: 12px;
  border-top: 1px solid #ececef;
  padding-top: 10px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-end;
  font-size: 10px;
  color: var(--muted);
}
.office-project-total b {
  font-size: 13px;
  color: #111;
  white-space: nowrap;
}
.office-project-updated {
  font-size: 9px;
  color: #999;
  margin-top: 8px;
}
.project-modal { max-width: 760px; margin: 0 auto; }
.project-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.project-modal-head h3 { font-size: 31px; margin: 2px 0 0; }
.project-source-info {
  margin-top: 10px;
  border-radius: 12px;
  padding: 10px 12px;
  background: #f6f6f7;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.project-source-info b { font-size: 10px; }
.project-source-info span {
  font-size: 9px;
  color: var(--muted);
  line-height: 1.4;
}
.project-detail-section {
  margin-top: 13px;
  border: 1px solid #e4e4e7;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.project-detail-title {
  padding: 10px 12px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .8px;
  background: #f7f7f8;
  border-bottom: 1px solid #e4e4e7;
}
.project-kpi-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.project-kpi-grid>div {
  padding: 11px 12px;
  border-right: 1px solid #eee;
  border-bottom: 1px solid #eee;
  min-width: 0;
}
.project-kpi-grid>div:nth-child(3n) { border-right: 0; }
.project-kpi-grid span {
  display: block;
  font-size: 9px;
  color: var(--muted);
  margin-bottom: 3px;
}
.project-kpi-grid strong {
  display: block;
  font-size: 13px;
  overflow-wrap: anywhere;
}
.project-dates {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 12px;
  font-size: 10px;
  color: var(--muted);
}
.project-period-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  background: #f7f7f8;
  border-bottom: 1px solid #e4e4e7;
}
.project-period-head>div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.project-period-head b { font-size: 11px; }
.project-period-head span { font-size: 9px; color: var(--muted); }
.project-check-badge,.project-live-badge {
  flex: 0 0 auto;
  font-size: 8px !important;
  font-weight: 900;
  letter-spacing: .5px;
  padding: 5px 7px;
  border-radius: 99px;
}
.project-check-badge { background: #fff1c7; color: #7c5200 !important; }
.project-live-badge { background: #dff6e6; color: #166534 !important; }
.project-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 8px 12px;
  border-bottom: 1px solid #f0f0f1;
  font-size: 10px;
}
.project-line:last-child { border-bottom: 0; }
.project-line span { color: var(--muted); }
.project-line b { font-size: 11px; white-space: nowrap; }
.project-line.accent { background: #fff7f7; }
.project-line.accent b { color: var(--red); }
.project-line.total { background: #f5f5f6; font-weight: 900; }
.project-line.total span,.project-line.total b { color: #111; }
.project-line.total b { font-size: 13px; }
@media (max-width:900px) {
  .project-summary-grid { grid-template-columns: 1fr; }
}
@media (max-width:620px) {
  .project-preview-note { align-items: flex-start; flex-direction: column; }
  .project-kpi-grid { grid-template-columns: 1fr 1fr; }
  .project-kpi-grid>div:nth-child(3n) { border-right: 1px solid #eee; }
  .project-kpi-grid>div:nth-child(2n) { border-right: 0; }
  .project-dates { flex-direction: column; gap: 4px; }
}
.project-invoice-action {
  padding: 12px;
  background: #fafafa;
  border-top: 1px solid #ececef;
}
.project-invoice-expand {
  width: 100%;
  border: 0;
  background: #f7f7f8;
  color: #111;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.project-invoice-expand>div:first-child {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.project-invoice-expand b { font-size: 11px; }
.project-invoice-expand span { font-size: 9px; color: var(--muted); }
.invoice-collapsed-right {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  gap: 2px;
  flex: 0 0 auto;
}
.invoice-collapsed-right strong { font-size: 13px; }
.invoice-collapsed-right span {
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .5px;
  color: var(--red);
}
.invoice-summary-collapsed { overflow: hidden; }
@media (min-width:901px) {
  .office-project-grid {
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 18px;
    margin-top: 18px;
  }
  .office-project-card { border-radius: 18px; }
  .office-project-status { margin-top: 14px; }
  .office-project-meta { margin-top: 7px; }
  .office-project-total { margin-top: 16px; padding-top: 13px; }
  .office-project-updated { margin-top: 11px; }
}
@media (min-width:901px) {
  .modal:has(.project-modal) {
    width: min(1080px,calc(100vw - 110px));
    max-height: 90vh;
    padding: 28px 30px;
    border-radius: 24px;
  }
  .project-modal { max-width: none; width: 100%; }
  .project-modal-head h3 { font-size: 46px; }
  .project-modal-head .eyebrow { font-size: 12px; }
  .project-source-info { padding: 16px 18px; margin-top: 14px; }
  .project-source-info b { font-size: 14px; }
  .project-source-info span { font-size: 13px; line-height: 1.45; }
  .project-detail-section { margin-top: 18px; border-radius: 18px; }
  .project-detail-title { padding: 15px 18px; font-size: 14px; }
  .project-kpi-grid>div { padding: 19px 18px; }
  .project-kpi-grid span { font-size: 13px; margin-bottom: 6px; }
  .project-kpi-grid strong { font-size: 21px; }
  .project-dates { padding: 14px 18px; font-size: 14px; }
  .project-period-head { padding: 16px 18px; }
  .project-period-head b { font-size: 15px; }
  .project-period-head span { font-size: 12px; }
  .project-check-badge,.project-live-badge { font-size: 10px !important; padding: 7px 10px; }
  .project-line { padding: 14px 18px; font-size: 14px; }
  .project-line b { font-size: 16px; }
  .project-line.total b { font-size: 19px; }
  .project-invoice-action { padding: 16px 18px; }
  .project-invoice-action .btn { min-height: 52px; font-size: 15px; }
  .project-invoice-expand { padding: 18px; }
  .project-invoice-expand b { font-size: 15px; }
  .project-invoice-expand span { font-size: 12px; }
  .invoice-collapsed-right strong { font-size: 19px; }
  .office-project-card { min-height: 290px; padding: 24px; }
  .office-project-number { font-size: 40px; }
  .office-project-status { font-size: 15px; }
  .office-project-meta { font-size: 14px; line-height: 1.45; }
  .office-project-total { font-size: 14px; }
  .office-project-total b { font-size: 19px; }
  .office-project-updated { font-size: 11px; }
}
.desktop-sidebar,
.desktop-topbar,
.desktop-home { display: none; }
.mobile-home-only { display: block; }
@media (min-width:901px) {
  html,body,#app { min-height: 100%; }
  body {
    margin: 0;
    background: #f3f4f6;
    overflow: hidden;
  }
  .desktop-layout {
    height: 100vh;
    min-height: 0;
    display: grid;
    grid-template-columns: clamp(225px,13.4vw,258px) minmax(0,1fr);
    background: #f3f4f6;
  }
  .desktop-workspace {
    min-width: 0;
    min-height: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }
  .desktop-sidebar {
    display: flex;
    position: relative;
    height: 100vh;
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
    padding: 116px 10px 12px;
    color: #fff;
    background: url("/images/desktop_reference_sidebar_top.jpg?v=890") top center/100% 118px no-repeat,
      url("/images/desktop_reference_sidebar_bottom.jpg?v=890") bottom center/100% auto no-repeat,
      linear-gradient(180deg,#171a1d 0%,#1d2024 62%,#151719 100%);
    box-shadow: 8px 0 24px rgba(0,0,0,.08);
    z-index: 20;
  }
  .desktop-side-role {
    margin: 0 0 10px;
    min-height: 30px;
    padding: 7px 12px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.085);
    color: #fff;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .8px;
  }
  .desktop-nav {
    display: grid;
    gap: 4px;
    padding: 0;
    background: transparent;
  }
  .desktop-nav-item {
    width: 100%;
    min-height: 47px;
    border: 0;
    border-radius: 9px;
    padding: 0 11px;
    display: grid;
    grid-template-columns: 28px minmax(0,1fr) 16px;
    gap: 8px;
    align-items: center;
    background: transparent;
    color: #f5f5f6;
    text-align: left;
    font: inherit;
    font-size: 14px;
    font-weight: 750;
    cursor: pointer;
  }
  .desktop-nav-item:hover { background: rgba(255,255,255,.065); }
  .desktop-nav-item.active {
    color: #fff;
    background: #ed071a;
    box-shadow: 0 4px 14px rgba(230,0,18,.18);
  }
  .desktop-nav-icon { font-size: 18px; text-align: center; }
  .desktop-nav-arrow { color: #c9cbcf; text-align: right; }
  .desktop-nav-placeholder { cursor: default; }
  .desktop-side-spacer { flex: 1; min-height: 80px; }
  .desktop-side-footer-brand,
  .desktop-side-caption { display: none !important; }
  .desktop-side-logout {
    position: relative;
    z-index: 2;
    min-height: 38px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 8px;
    margin-top: auto;
    background: rgba(23,25,28,.78);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .3px;
  }
  .desktop-topbar {
    display: grid;
    flex: 0 0 78px;
    min-height: 78px;
    grid-template-columns: minmax(300px,1fr) minmax(340px,455px) auto;
    align-items: center;
    gap: 24px;
    padding: 10px 30px;
    background: #fff;
    border-bottom: 1px solid #e8e9ec;
  }
  .desktop-top-title {
    font-size: 32px;
    line-height: 1;
    font-weight: 1000;
    letter-spacing: -.8px;
    color: #121316;
  }
  .desktop-top-sub {
    margin-top: 6px;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 3.8px;
    color: #17181b;
  }
  .desktop-search-fake {
    height: 42px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #f2f3f5;
    color: #686b70;
    font-size: 12px;
  }
  .desktop-user-box {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 165px;
  }
  .desktop-avatar {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #17181b;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
  }
  .desktop-user-box b {
    display: block;
    font-size: 13px;
    line-height: 1.15;
  }
  .desktop-user-box span {
    display: block;
    margin-top: 3px;
    color: #777b81;
    font-size: 10px;
  }
  .desktop-workspace .page,
  .desktop-workspace .office-page,
  .desktop-workspace .employee-page {
    width: 100%;
    max-width: none;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    margin: 0;
    padding: 12px 16px 10px;
    overflow: hidden;
  }
  .desktop-workspace .header-card { display: none !important; }
  .desktop-home {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 0;
    grid-template-rows: minmax(255px,31%)
      minmax(112px,14%)
      minmax(0,1fr)
      74px;
    gap: 12px;
  }
  .mobile-home-only { display: none !important; }
  .desktop-hero {
    position: relative;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    border-radius: 16px;
    padding: 0 !important;
    background: url("/images/desktop_reference_hero.jpg?v=890") center center/100% 100% no-repeat !important;
    box-shadow: 0 4px 14px rgba(0,0,0,.10);
  }
  .desktop-hero:before,
  .desktop-hero:after,
  .desktop-hero-copy,
  .desktop-hero-right { display: none !important; }
  .desktop-quick-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
    height: 100%;
    margin: 0;
  }
  .desktop-quick-card {
    min-width: 0;
    height: 100%;
    border: 0;
    border-radius: 15px;
    padding: 14px 15px;
    display: grid;
    grid-template-columns: 50px minmax(0,1fr) 30px;
    gap: 12px;
    align-items: center;
    background: #fff;
    color: #151619;
    text-align: left;
    box-shadow: 0 3px 12px rgba(24,28,34,.085);
  }
  .desktop-quick-card.metric-only { grid-template-columns: 50px minmax(0,1fr); }
  .desktop-quick-card:hover { box-shadow: 0 6px 18px rgba(24,28,34,.105); }
  .desktop-quick-icon {
    width: 46px;
    height: 46px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 23px;
  }
  .desktop-quick-icon.people { background: #f0ebff; }
  .desktop-quick-icon.time { background: #fff0f1; color: #e60012; }
  .desktop-quick-icon.project { background: #fff0f1; color: #e60012; }
  .desktop-quick-icon.report { background: #eef3fa; color: #243e6e; }
  .desktop-quick-card b {
    display: block;
    font-size: 17px;
    line-height: 1.05;
    font-weight: 950;
  }
  .desktop-quick-card small {
    display: block;
    margin-top: 4px;
    color: #6d7177;
    font-size: 11px;
    line-height: 1.25;
  }
  .desktop-quick-card strong {
    display: inline-block;
    margin-top: 8px;
    color: #111215;
    font-size: 31px;
    line-height: 1;
    font-weight: 950;
  }
  .desktop-quick-card em {
    margin-left: 7px;
    color: #73777d;
    font-size: 10px;
    font-style: normal;
  }
  .desktop-quick-card i {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f2f4;
    color: #18191c;
    font-size: 20px;
    font-style: normal;
  }
  .desktop-dashboard-grid {
    display: grid;
    min-height: 0;
    height: 100%;
    grid-template-columns: 1.06fr 1fr 1.18fr;
    gap: 12px;
    margin: 0;
  }
  .desktop-panel {
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow: hidden;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(24,28,34,.085);
  }
  .desktop-panel-title {
    min-height: 52px;
    padding: 0 15px;
    border-bottom: 1px solid #eceef1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
  .desktop-panel-title b {
    font-size: 16px;
    line-height: 1;
    font-weight: 950;
  }
  .desktop-panel-title span,
  .desktop-panel-title button {
    border: 0;
    padding: 6px;
    background: transparent;
    color: #6e7278;
    font-size: 10px;
  }
  .desktop-people-list { padding: 6px 14px 8px; }
  .desktop-person-row {
    min-height: 49px;
    border-bottom: 1px solid #f0f1f3;
    display: grid;
    grid-template-columns: 36px minmax(0,1fr) auto;
    gap: 10px;
    align-items: center;
  }
  .desktop-person-row:last-child { border-bottom: 0; }
  .person-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ece8ff;
    color: #4b2a92;
    font-size: 11px;
    font-weight: 900;
  }
  .person-avatar.a1 { background: #ffe9eb; color: #b21726; }
  .person-avatar.a2 { background: #e9f0ff; color: #2456a8; }
  .person-avatar.a3 { background: #e9f8ed; color: #24703c; }
  .person-avatar.a4 { background: #fff0dd; color: #ae6200; }
  .desktop-person-row b {
    display: block;
    color: #111215;
    font-size: 13px;
    line-height: 1.1;
  }
  .desktop-person-row small {
    display: block;
    margin-top: 3px;
    color: #757980;
    font-size: 10px;
  }
  .desktop-person-row strong { color: #111215; font-size: 12px; }
  .desktop-hours-summary {
    height: calc(100% - 52px);
    min-height: 0;
    padding: 14px 16px;
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 14px;
    align-items: center;
  }
  .desktop-donut {
    width: min(168px,52%);
    aspect-ratio: 1/1;
    margin: auto;
    border-radius: 50%;
    position: relative;
    background: conic-gradient(#e60012 0 calc(var(--p)*1%),#17191c calc(var(--p)*1%) 74%,#b9bdc4 74% 100%);
  }
  .desktop-donut:after {
    content: "";
    position: absolute;
    inset: 25px;
    border-radius: 50%;
    background: #fff;
  }
  .desktop-donut>div {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .desktop-donut strong { font-size: 28px; line-height: 1; }
  .desktop-donut span {
    margin-top: 4px;
    color: #777b81;
    font-size: 9px;
  }
  .desktop-hours-kpis { display: grid; gap: 15px; }
  .desktop-hours-kpis span {
    display: block;
    color: #767a80;
    font-size: 10px;
  }
  .desktop-hours-kpis b {
    display: block;
    margin-top: 2px;
    color: #111215;
    font-size: 21px;
  }
  .desktop-project-list { padding: 6px 14px 8px; }
  .desktop-project-row {
    width: 100%;
    min-height: 34px;
    border: 0;
    border-bottom: 1px solid #f0f1f3;
    padding: 0;
    display: grid;
    grid-template-columns: 36px minmax(85px,1fr) 40px 90px 15px;
    gap: 8px;
    align-items: center;
    background: #fff;
    color: #111215;
    text-align: left;
  }
  .desktop-project-row:last-child { border-bottom: 0; }
  .desktop-project-row b { font-size: 11px; }
  .desktop-project-row strong { font-size: 10px; }
  .desktop-project-row em {
    padding: 4px 6px;
    border-radius: 5px;
    background: #e7f6ea;
    color: #23723a;
    text-align: center;
    font-size: 9px;
    font-style: normal;
  }
  .desktop-project-row i {
    color: #777b81;
    font-size: 15px;
    font-style: normal;
  }
  .desktop-progress {
    height: 7px;
    overflow: hidden;
    border-radius: 99px;
    background: #e7e9ed;
  }
  .desktop-progress span {
    display: block;
    height: 100%;
    border-radius: 99px;
    background: #e60012;
  }
  .desktop-bottom-strip {
    height: 74px;
    min-height: 74px;
    margin: 0;
    padding: 10px 19px;
    border-radius: 13px;
    border-bottom: 7px solid #e60012;
    display: grid;
    grid-template-columns: 1.55fr repeat(3,.58fr);
    gap: 16px;
    align-items: center;
    color: #fff;
    background: linear-gradient(90deg,rgba(153,0,12,.40),transparent 42%),
      repeating-linear-gradient(135deg,#17191c 0,#17191c 11px,#22252a 11px,#22252a 22px);
  }
  .desktop-bottom-strip>div:first-child b {
    display: block;
    font-size: 13px;
    letter-spacing: 1.6px;
  }
  .desktop-bottom-strip>div:first-child span {
    display: block;
    margin-top: 4px;
    color: #c7c9cd;
    font-size: 9px;
  }
  .desktop-bottom-stat { padding-left: 17px; border-left: 1px solid rgba(255,255,255,.25); }
  .desktop-bottom-stat strong {
    display: block;
    font-size: 21px;
    line-height: 1;
  }
  .desktop-bottom-stat span {
    display: block;
    margin-top: 4px;
    color: #cfd1d4;
    font-size: 9px;
  }
  .desktop-inner-screen { overflow: auto; }
  .desktop-inner-screen .desktop-workspace { overflow: auto; }
  .desktop-inner-screen .page { overflow: auto; }
  .desktop-workspace .office-employee-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
}
@media (min-width:1700px) {
  .desktop-top-title { font-size: 34px; }
  .desktop-top-sub { font-size: 13px; }
  .desktop-nav-item { font-size: 15px; }
  .desktop-quick-card b { font-size: 18px; }
  .desktop-quick-card small { font-size: 11.5px; }
  .desktop-panel-title b { font-size: 17px; }
  .desktop-person-row b { font-size: 13.5px; }
  .desktop-person-row small { font-size: 10.5px; }
  .desktop-project-row b { font-size: 11.5px; }
}
.modal { position: relative; }
.modal-close-x {
  position: absolute;
  z-index: 50;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  border: 1px solid #dde0e5;
  border-radius: 50%;
  background: #fff;
  color: #17191c;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 25px;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(0,0,0,.10);
}
.modal-close-x:hover { background: #f1f2f4; }
@media (min-width:901px) {
  .desktop-sidebar {
    padding: 10px 10px 12px !important;
    background: url("/images/desktop_reference_sidebar_bottom.jpg?v=890") bottom center/100% auto no-repeat,
      linear-gradient(180deg,#171a1d 0%,#1d2024 62%,#151719 100%) !important;
  }
  .desktop-side-brand {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 104px;
    padding: 2px 6px 8px;
  }
  .desktop-side-logo-img {
    display: block !important;
    width: 145px;
    max-width: 92%;
    height: auto;
    object-fit: contain;
  }
  .desktop-side-role { margin-top: 0 !important; }
  .desktop-side-logout { display: none !important; }
  .desktop-user-menu { position: relative; justify-self: end; }
  .desktop-user-box {
    border: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
  }
  .desktop-user-chevron {
    margin-left: 5px;
    color: #555a61;
    font-size: 16px;
  }
  .desktop-user-dropdown {
    display: none;
    position: absolute;
    z-index: 100;
    top: calc(100% + 10px);
    right: 0;
    min-width: 160px;
    padding: 7px;
    border: 1px solid #e2e4e8;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(0,0,0,.15);
  }
  .desktop-user-dropdown.open { display: block; }
  .desktop-user-dropdown button {
    width: 100%;
    min-height: 38px;
    border: 0;
    border-radius: 7px;
    background: #17191c;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
  }
  .desktop-user-dropdown button:hover { background: #e60012; }
  .desktop-dashboard-grid > .desktop-panel:first-child .desktop-panel-title b,
  .desktop-dashboard-grid > .desktop-panel:last-child .desktop-panel-title b {
    font-size: 24px !important;
  }
  .desktop-dashboard-grid > .desktop-panel:first-child .desktop-person-row b { font-size: 19px !important; }
  .desktop-dashboard-grid > .desktop-panel:first-child .desktop-person-row small { font-size: 13px !important; }
  .desktop-dashboard-grid > .desktop-panel:first-child .desktop-person-row strong { font-size: 16px !important; }
  .desktop-dashboard-grid > .desktop-panel:first-child .person-avatar {
    width: 38px !important;
    height: 38px !important;
    font-size: 12px !important;
  }
  .desktop-dashboard-grid > .desktop-panel:first-child .desktop-person-row {
    min-height: 54px !important;
    grid-template-columns: 42px minmax(0,1fr) auto !important;
  }
  .desktop-dashboard-grid > .desktop-panel:last-child .desktop-project-list {
    height: calc(100% - 52px);
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    padding-bottom: 10px;
  }
  .desktop-dashboard-grid > .desktop-panel:last-child .desktop-project-row {
    min-height: 40px !important;
    grid-template-columns: 42px minmax(95px,1fr) 48px 94px 18px !important;
  }
  .desktop-dashboard-grid > .desktop-panel:last-child .desktop-project-row b { font-size: 15px !important; }
  .desktop-dashboard-grid > .desktop-panel:last-child .desktop-project-row strong { font-size: 13px !important; }
  .desktop-dashboard-grid > .desktop-panel:last-child .desktop-project-row em { font-size: 12px !important; }
  .desktop-dashboard-grid > .desktop-panel:last-child .desktop-progress { height: 8px !important; }
  .desktop-dashboard-grid > .desktop-panel:last-child .desktop-project-list::-webkit-scrollbar { width: 7px; }
  .desktop-dashboard-grid > .desktop-panel:last-child .desktop-project-list::-webkit-scrollbar-thumb {
    background: #c7cbd1;
    border-radius: 99px;
  }
}
.project-sync-bar {
  margin: 14px 0 16px;
  padding: 13px 15px;
  border: 1px solid #e0e3e8;
  border-radius: 12px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  box-shadow: 0 3px 10px rgba(20,24,30,.05);
}
.project-sync-bar>div { min-width: 0; }
.project-sync-bar b {
  display: block;
  color: #17191c;
  font-size: 12px;
  font-weight: 900;
}
.project-sync-bar span {
  display: block;
  margin-top: 4px;
  color: #6f747b;
  font-size: 11px;
}
.project-sync-bar span strong { color: #17191c; }
.project-sync-bar .btn {
  width: auto;
  min-width: 125px;
  margin: 0;
  flex: 0 0 auto;
}
@media (max-width:700px) {
  .project-sync-bar { align-items: stretch; flex-direction: column; }
  .project-sync-bar .btn { width: 100%; }
}
.finance-positive { color: #14883d !important; }
.finance-negative { color: #d21427 !important; }
.desktop-report-card { cursor: pointer; }
.desktop-project-row em.project-profit { background: #e8f7ed !important; color: #17723a !important; }
.desktop-project-row em.project-loss { background: #fdebed !important; color: #bd1627 !important; }
.finance-modal h3 { margin: 5px 0 4px; font-size: 24px; }
.finance-main {
  margin: 12px 0 18px;
  font-size: 38px;
  font-weight: 950;
}
.finance-kpis {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.finance-kpis>div {
  padding: 12px;
  border-radius: 10px;
  background: #f5f6f8;
}
.finance-kpis span {
  display: block;
  color: #73777d;
  font-size: 10px;
}
.finance-kpis b {
  display: block;
  margin-top: 5px;
  font-size: 16px;
}
.finance-range {
  display: flex;
  gap: 7px;
  margin: 8px 0 8px;
}
.finance-range button {
  border: 1px solid #dfe2e7;
  border-radius: 7px;
  padding: 6px 10px;
  background: #fff;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.finance-chart {
  width: 100%;
  height: auto;
  max-height: 260px;
  background: #fff;
}
.finance-zero {
  stroke: #cfd3d9;
  stroke-width: 1.2;
  stroke-dasharray: 5 5;
}
.finance-line {
  fill: none;
  stroke: currentColor;
  color: #e60012;
  stroke-width: 3;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.finance-dot { fill: #17191c; }
@media (max-width:700px) {
  .finance-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
.activity-panel-title { gap: 12px; }
.activity-panel-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  min-width: 0;
}
.activity-panel-actions span {
  white-space: nowrap;
  color: #777b81;
  font-size: 10px !important;
}
.activity-panel-actions button {
  min-height: 30px;
  border: 1px solid #dfe2e7 !important;
  border-radius: 7px;
  padding: 5px 9px !important;
  background: #fff !important;
  color: #17191c !important;
  font-size: 10px !important;
  font-weight: 900;
  cursor: pointer;
}
.activity-panel-actions button:hover { border-color: #c6cad0 !important; background: #f5f6f8 !important; }
.activity-panel-actions button:disabled { opacity: .6; cursor: wait; }
.office-report-years {
  display: grid;
  gap: 18px;
  margin-top: 14px;
}
.office-year-block {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 3px 12px rgba(24,28,34,.07);
  overflow: hidden;
}
.office-year-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  border-bottom: 1px solid #eceef1;
}
.office-year-title b { font-size: 22px; }
.office-year-title span { font-size: 11px; color: #747980; }
.office-report-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  padding: 14px;
}
.office-report-folder {
  min-height: 82px;
  border: 1px solid #e6e8ec;
  border-radius: 11px;
  padding: 12px;
  display: flex;
  gap: 10px;
  align-items: center;
  background: #fafbfc;
}
.report-folder-icon { font-size: 28px; color: #d7091d; }
.office-report-folder b { display: block; font-size: 14px; }
.office-report-folder span {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  color: #797d83;
}
.report-month-add {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border: 1px solid #dce1e8;
  border-radius: 10px;
  background: #fff;
  color: #1b2637;
  font-size: 28px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.office-report-folder { cursor: pointer; }
.office-report-folder:hover .report-month-add { background: #f2f5f9; border-color: #bfc9d5; }
.office-report-folder:focus-visible { outline: 3px solid #6684ab; outline-offset: 2px; }
.office-placeholder-upload {
  margin-top: 16px;
  border: 2px dashed #d7dae0;
  border-radius: 12px;
  min-height: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #6d7278;
}
.office-placeholder-upload>b { font-size: 14px; color: #17191c; }
.office-placeholder-upload>span { font-size: 11px; }
.office-calendar-toolbar {
  display: grid;
  grid-template-columns: 42px minmax(180px,1fr) 42px auto;
  gap: 8px;
  align-items: center;
  margin: 14px 0 10px;
}
.office-calendar-toolbar>button:not(.btn) {
  height: 38px;
  border: 1px solid #dfe2e7;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}
.office-calendar-toolbar>b { text-align: center; font-size: 19px; }
.office-calendar-toolbar .btn { width: auto; margin: 0; }
.office-calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 10px;
  font-size: 10px;
  color: #656a71;
}
.office-calendar-legend span {
  display: flex;
  align-items: center;
  gap: 6px;
}
.office-calendar-legend i {
  width: 12px;
  height: 12px;
  border-radius: 3px;
}
.legend-pl { background: #fde8eb; }
.legend-de { background: #e8eefb; }
.legend-both { background: linear-gradient(135deg,#fde8eb 50%,#e8eefb 50%); }
.legend-event { background: #17191c; }
.office-calendar-weekdays,.office-calendar-main-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.office-calendar-weekdays {
  background: #17191c;
  color: #fff;
  border-radius: 9px 9px 0 0;
  overflow: hidden;
}
.office-calendar-weekdays div {
  text-align: center;
  padding: 8px;
  font-size: 10px;
  font-weight: 900;
}
.office-calendar-main-grid { border-left: 1px solid #e1e4e8; border-top: 1px solid #e1e4e8; }
.office-calendar-cell {
  position: relative;
  min-height: 108px;
  border: 0;
  border-right: 1px solid #e1e4e8;
  border-bottom: 1px solid #e1e4e8;
  padding: 8px;
  background: #fff;
  text-align: left;
  overflow: hidden;
  cursor: pointer;
}
.office-calendar-cell.empty { background: #f6f7f8; cursor: default; }
.office-calendar-cell.pl { background: #fff2f4; }
.office-calendar-cell.de { background: #f2f5ff; }
.office-calendar-cell.both { background: linear-gradient(135deg,#fff2f4 50%,#f2f5ff 50%); }
.office-calendar-cell.has-event { box-shadow: inset 0 -4px #17191c; }
.office-calendar-cell .day-number {
  display: block;
  font-size: 14px;
  font-weight: 950;
  margin-bottom: 5px;
}
.office-calendar-cell small,.office-calendar-cell em {
  display: block;
  margin: 3px 0;
  font-size: 8.5px;
  line-height: 1.2;
  font-style: normal;
}
.office-calendar-cell small { color: #7a2b35; }
.office-calendar-cell em {
  padding: 3px 4px;
  border-radius: 4px;
  background: #17191c;
  color: #fff;
}
.office-calendar-cell i {
  font-size: 9px;
  color: #666;
  font-style: normal;
}
.calendar-day-holidays {
  display: grid;
  gap: 6px;
  margin: 10px 0;
}
.calendar-day-holidays div {
  padding: 8px 10px;
  border-radius: 7px;
  background: #f3f4f6;
  font-size: 11px;
}
.calendar-day-events {
  display: grid;
  gap: 8px;
  margin: 12px 0;
}
.calendar-event-detail {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px;
  border: 1px solid #e3e5e9;
  border-radius: 9px;
}
.calendar-event-detail b,.calendar-event-detail span,.calendar-event-detail small { display: block; }
.calendar-event-detail span {
  font-size: 10px;
  color: #70757b;
  margin-top: 3px;
}
.calendar-event-detail small { font-size: 10px; margin-top: 5px; }
.calendar-delete-event {
  border: 0;
  background: #fdebee;
  color: #bb1225;
  border-radius: 7px;
  padding: 7px 9px;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
}
.office-settings-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
  margin-top: 14px;
}
.office-settings-card {
  background: #fff;
  border-radius: 13px;
  padding: 17px;
  box-shadow: 0 3px 12px rgba(24,28,34,.07);
}
.settings-card-title {
  font-size: 14px;
  font-weight: 950;
  margin-bottom: 14px;
}
.office-settings-card label {
  display: block;
  margin: 10px 0;
  font-size: 11px;
  font-weight: 800;
}
.office-settings-card input,.office-settings-card select,.office-settings-card textarea {
  width: 100%;
  margin-top: 5px;
  border: 1px solid #dfe2e7;
  border-radius: 8px;
  padding: 10px;
  background: #fff;
}
.settings-profile {
  padding: 11px;
  border-radius: 9px;
  background: #f4f5f7;
}
.settings-profile b,.settings-profile span { display: block; }
.settings-profile span {
  font-size: 10px;
  color: #747980;
  margin-top: 3px;
}
.settings-line {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 10px 0;
  border-bottom: 1px solid #eceef1;
}
.settings-line span { font-size: 10px; color: #73787f; }
.settings-line b { font-size: 11px; text-align: right; }
.settings-toggle {
  display: flex !important;
  align-items: center;
  gap: 9px;
}
.settings-toggle input { width: auto !important; margin: 0 !important; }
.settings-note {
  margin-top: 12px;
  font-size: 10px;
  line-height: 1.45;
  color: #6e737a;
}
.office-simple-modal h3 { font-size: 22px; margin: 6px 0 12px; }
.form-grid .full { grid-column: 1/-1; }
@media (max-width:1100px) {
  .office-report-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .office-report-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .office-settings-grid { grid-template-columns: 1fr; }
  .office-calendar-toolbar { grid-template-columns: 38px 1fr 38px; }
  .office-calendar-toolbar .btn { grid-column: 1/-1; width: 100%; }
  .office-calendar-cell { min-height: 82px; padding: 5px; }
  .office-calendar-cell small { display: none; }
}
.office-calendar-legend { font-size: 13px !important; gap: 18px !important; }
.office-calendar-legend i { width: 14px !important; height: 14px !important; }
.office-calendar-cell .day-number { font-size: 17px !important; }
.office-calendar-cell small {
  font-size: 11.5px !important;
  line-height: 1.28 !important;
  font-weight: 650;
}
.office-calendar-cell em {
  font-size: 11px !important;
  line-height: 1.25 !important;
  padding: 4px 6px !important;
}
.office-calendar-cell i { font-size: 11px !important; }
.office-calendar-cell { min-height: 118px !important; }
.settings-menu-list {
  margin-top: 14px;
  display: grid;
  gap: 9px;
}
.settings-menu-row {
  width: 100%;
  min-height: 78px;
  border: 1px solid #e2e5e9;
  border-radius: 13px;
  padding: 11px 15px;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) 20px;
  gap: 13px;
  align-items: center;
  background: #fff;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(24,28,34,.045);
}
.settings-menu-row:hover { border-color: #cdd1d7; box-shadow: 0 5px 15px rgba(24,28,34,.075); }
.settings-menu-icon {
  width: 44px;
  height: 44px;
  border-radius: 11px;
  background: #f2f3f5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
.settings-menu-copy b { display: block; font-size: 15px; }
.settings-menu-copy small {
  display: block;
  margin-top: 4px;
  color: #747980;
  font-size: 11px;
}
.settings-menu-row i {
  font-size: 24px;
  font-style: normal;
  color: #777c82;
}
.settings-section-back {
  margin: 14px 0 0;
  min-height: 36px;
  border: 1px solid #dde0e5;
  border-radius: 8px;
  padding: 0 12px;
  background: #fff;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}
.settings-detail-card,.settings-users-card {
  margin-top: 12px;
  padding: 17px;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(24,28,34,.07);
}
.settings-detail-card.narrow { max-width: 760px; }
.settings-detail-card label {
  display: block;
  margin: 12px 0;
  font-size: 11px;
  font-weight: 800;
}
.settings-detail-card input {
  width: 100%;
  margin-top: 5px;
  border: 1px solid #dfe2e7;
  border-radius: 8px;
  padding: 10px;
}
.settings-profile-large {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding: 13px;
  border-radius: 10px;
  background: #f4f5f7;
}
.settings-profile-large b,.settings-profile-large span { display: block; }
.settings-profile-large span {
  margin-top: 3px;
  color: #747980;
  font-size: 10px;
}
.settings-users-card { padding: 0; overflow: hidden; }
.settings-user-row {
  min-height: 62px;
  padding: 10px 14px;
  border-bottom: 1px solid #eceef1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.settings-user-row:last-child { border-bottom: 0; }
.settings-user-row b { display: block; font-size: 13px; }
.settings-user-row span {
  display: block;
  margin-top: 3px;
  color: #73787e;
  font-size: 10px;
}
.settings-user-password {
  min-width: 118px;
  min-height: 34px;
  border: 1px solid #daddE2;
  border-radius: 7px;
  background: #fff;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}
.settings-user-password:hover:not(:disabled) { background: #17191c; color: #fff; }
.settings-user-password:disabled { opacity: .4; cursor: not-allowed; }
.settings-user-selected {
  margin: 10px 0 14px;
  padding: 11px;
  border-radius: 8px;
  background: #f4f5f7;
}
.settings-user-selected b,.settings-user-selected span { display: block; }
.settings-user-selected span {
  font-size: 10px;
  color: #73787e;
  margin-top: 3px;
}
.settings-choice-row {
  min-height: 64px;
  border-bottom: 1px solid #eceef1;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 !important;
}
.settings-choice-row:last-child { border-bottom: 0; }
.settings-choice-row span b,.settings-choice-row span small { display: block; }
.settings-choice-row span small {
  margin-top: 3px;
  color: #747980;
  font-size: 10px;
  font-weight: 400;
}
.settings-choice-row input {
  width: 20px !important;
  height: 20px;
  margin: 0 !important;
}
.settings-future-row {
  min-height: 66px;
  border-bottom: 1px solid #eceef1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.settings-future-row:last-child { border-bottom: 0; }
.settings-future-row b,.settings-future-row span { display: block; }
.settings-future-row span {
  margin-top: 3px;
  color: #747980;
  font-size: 10px;
}
.settings-future-row em {
  padding: 5px 7px;
  border-radius: 6px;
  background: #f1f2f4;
  color: #777b81;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
}
@media (min-width:901px) {
  .employee-desktop-layout.desktop-inner-screen { height: 100vh; overflow: hidden; }
  .employee-desktop-layout.desktop-inner-screen .desktop-workspace {
    height: 100vh;
    min-height: 0;
    overflow: hidden !important;
  }
  .employee-desktop-layout.desktop-inner-screen .employee-page {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 16px 22px 48px !important;
    scrollbar-width: thin;
  }
  .employee-desktop-layout.desktop-inner-screen .employee-page::-webkit-scrollbar { width: 8px; }
  .employee-desktop-layout.desktop-inner-screen .employee-page::-webkit-scrollbar-thumb {
    background: #c3c7cd;
    border-radius: 99px;
  }
  .employee-desktop-backbar {
    flex: 0 0 46px;
    min-height: 46px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 6px 22px;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    z-index: 20;
  }
  .employee-desktop-backbar button {
    min-height: 32px;
    border: 0;
    border-radius: 8px;
    padding: 0 14px;
    background: #17191c;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
  }
  .employee-desktop-backbar button:hover { background: #e60012; }
  .employee-desktop-backbar span {
    color: #73787f;
    font-size: 10px;
    font-weight: 850;
  }
  .employee-desktop-home-v2 {
    display: grid;
    height: 100%;
    min-height: 0;
    grid-template-rows: minmax(185px,30%) minmax(245px,40%) minmax(180px,1fr);
    gap: 14px;
  }
  .employee-welcome-card {
    position: relative;
    min-height: 185px;
    overflow: hidden;
    border-radius: 16px;
    padding: 30px 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    background: linear-gradient(100deg,rgba(17,20,23,.99) 0%,rgba(17,20,23,.90) 48%,rgba(17,20,23,.30) 100%),
      url("/images/desktop_reference_hero.jpg?v=890") center center/cover no-repeat;
    box-shadow: 0 4px 14px rgba(0,0,0,.10);
  }
  .employee-welcome-card:after {
    content: "";
    position: absolute;
    right: 120px;
    top: -75px;
    width: 120px;
    height: 360px;
    transform: skewX(-15deg);
    background: #e60012;
    opacity: .95;
  }
  .employee-welcome-copy { position: relative; z-index: 2; }
  .employee-welcome-copy h1 {
    margin: 13px 0 8px;
    font-size: 43px;
    line-height: 1;
    letter-spacing: -.9px;
  }
  .employee-welcome-copy p {
    margin: 0;
    color: #d9dbde;
    font-size: 15px;
  }
  .employee-welcome-badge {
    position: relative;
    z-index: 3;
    width: 76px;
    height: 76px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #17191c;
    font-size: 22px;
    font-weight: 950;
    box-shadow: 0 8px 24px rgba(0,0,0,.22);
  }
  .employee-desktop-menu-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    grid-template-rows: repeat(2,minmax(0,1fr));
    gap: 14px;
  }
  .employee-menu-card {
    min-width: 0;
    border: 0;
    border-radius: 15px;
    padding: 18px 20px;
    display: grid;
    grid-template-columns: 58px minmax(0,1fr) 30px;
    gap: 15px;
    align-items: center;
    background: #fff;
    color: #17191c;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 3px 12px rgba(24,28,34,.08);
  }
  .employee-menu-card:hover { transform: translateY(-2px); box-shadow: 0 7px 18px rgba(24,28,34,.11); }
  .employee-menu-icon {
    width: 54px;
    height: 54px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f2f4;
    font-size: 25px;
  }
  .employee-menu-card:nth-child(1) .employee-menu-icon,
  .employee-menu-card:nth-child(3) .employee-menu-icon {
    background: #fff0f2;
    color: #d6091d;
  }
  .employee-menu-card b {
    display: block;
    font-size: 18px;
    font-weight: 950;
  }
  .employee-menu-card small {
    display: block;
    margin-top: 4px;
    color: #6f747b;
    font-size: 11px;
    line-height: 1.3;
  }
  .employee-menu-card strong {
    display: inline-block;
    margin-top: 9px;
    font-size: 24px;
    line-height: 1;
  }
  .employee-menu-card em {
    margin-left: 7px;
    color: #767b82;
    font-size: 10px;
    font-style: normal;
  }
  .employee-menu-card>i {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f2f4;
    font-size: 21px;
    font-style: normal;
  }
  .employee-desktop-lower-grid {
    display: grid;
    grid-template-columns: 1.12fr .88fr;
    gap: 14px;
    min-height: 0;
  }
  .employee-info-panel {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(24,28,34,.08);
  }
  .employee-info-title {
    min-height: 50px;
    padding: 0 16px;
    border-bottom: 1px solid #eceef1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
  .employee-info-title b { font-size: 14px; }
  .employee-info-title button,
  .employee-info-title span {
    border: 0;
    background: transparent;
    color: #71767d;
    font-size: 10px;
  }
  .employee-recent-list { padding: 4px 14px 8px; }
  .employee-recent-row {
    min-height: 47px;
    border-bottom: 1px solid #f0f1f3;
    display: grid;
    grid-template-columns: 34px minmax(0,1fr) auto;
    gap: 10px;
    align-items: center;
  }
  .employee-recent-row:last-child { border-bottom: 0; }
  .employee-recent-row b { display: block; font-size: 12px; }
  .employee-recent-row small {
    display: block;
    margin-top: 3px;
    color: #747980;
    font-size: 9px;
  }
  .employee-recent-row strong { font-size: 11px; }
  .employee-shortcut-grid {
    height: calc(100% - 50px);
    padding: 12px;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 9px;
  }
  .employee-shortcut-grid button {
    border: 1px solid #e1e4e8;
    border-radius: 10px;
    padding: 11px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    background: #fafbfc;
    text-align: left;
    cursor: pointer;
  }
  .employee-shortcut-grid button:hover { background: #17191c; color: #fff; }
  .employee-shortcut-grid button>span { font-size: 22px; margin-bottom: 8px; }
  .employee-shortcut-grid b { font-size: 11px; }
  .employee-shortcut-grid small {
    margin-top: 4px;
    font-size: 9px;
    color: #777c82;
  }
  .employee-shortcut-grid button:hover small { color: #d7d9dc; }
  .employee-desktop-layout .employee-page > * { max-width: none; }
  .employee-desktop-layout.desktop-inner-screen .employee-page .card,
  .employee-desktop-layout.desktop-inner-screen .employee-page .panel,
  .employee-desktop-layout.desktop-inner-screen .employee-page .section,
  .employee-desktop-layout.desktop-inner-screen .employee-page .list {
    max-width: none !important;
  }
}
@media (min-width:1500px) {
  .employee-welcome-copy h1 { font-size: 47px; }
  .employee-menu-card b { font-size: 19px; }
  .employee-menu-card small { font-size: 12px; }
}
@media (min-width:901px) {
  .employee-desktop-home-v2 {
    grid-template-rows: minmax(145px,22%) minmax(210px,34%) minmax(250px,1fr) !important;
    gap: 12px !important;
  }
  .employee-welcome-card { min-height: 145px !important; padding: 22px 28px !important; }
  .employee-welcome-copy h1 { margin: 9px 0 6px !important; font-size: 34px !important; }
  .employee-welcome-copy p { font-size: 13px !important; }
  .employee-welcome-badge {
    width: 62px !important;
    height: 62px !important;
    font-size: 18px !important;
  }
  .employee-welcome-card:after { top: -82px !important; height: 320px !important; }
  .employee-desktop-menu-grid { gap: 12px !important; }
  .employee-menu-card {
    padding: 14px 16px !important;
    grid-template-columns: 50px minmax(0,1fr) 28px !important;
    gap: 12px !important;
    border-radius: 13px !important;
  }
  .employee-menu-icon {
    width: 46px !important;
    height: 46px !important;
    font-size: 22px !important;
  }
  .employee-menu-card b { font-size: 16px !important; }
  .employee-menu-card small { font-size: 10.5px !important; }
  .employee-menu-card strong { margin-top: 7px !important; font-size: 21px !important; }
  .employee-menu-card em { font-size: 9.5px !important; }
  .employee-desktop-lower-grid { gap: 12px !important; }
  .employee-info-title { min-height: 54px !important; padding: 0 16px !important; }
  .employee-info-title b { font-size: 16px !important; }
  .employee-info-title button,
  .employee-info-title span { font-size: 11px !important; font-weight: 800 !important; }
  .employee-recent-list { padding: 6px 14px 10px !important; }
  .employee-recent-row {
    min-height: 58px !important;
    grid-template-columns: 38px minmax(0,1fr) auto !important;
    gap: 12px !important;
  }
  .employee-recent-row .person-avatar {
    width: 34px !important;
    height: 34px !important;
    font-size: 11px !important;
  }
  .employee-recent-row b { font-size: 14px !important; }
  .employee-recent-row small { margin-top: 4px !important; font-size: 11px !important; }
  .employee-recent-row strong { font-size: 13px !important; }
  .employee-shortcut-grid { padding: 12px !important; gap: 10px !important; }
  .employee-shortcut-grid button { padding: 14px !important; }
  .employee-shortcut-grid button>span { font-size: 25px !important; margin-bottom: 10px !important; }
  .employee-shortcut-grid b { font-size: 13px !important; }
  .employee-shortcut-grid small {
    margin-top: 5px !important;
    font-size: 10.5px !important;
    line-height: 1.3 !important;
  }
}
@media (min-width:1500px) {
  .employee-welcome-copy h1 { font-size: 36px !important; }
  .employee-menu-card b { font-size: 17px !important; }
  .employee-menu-card small { font-size: 11px !important; }
  .employee-info-title b { font-size: 17px !important; }
  .employee-recent-row b { font-size: 14.5px !important; }
  .employee-recent-row small { font-size: 11.5px !important; }
  .employee-shortcut-grid b { font-size: 13.5px !important; }
  .employee-shortcut-grid small { font-size: 11px !important; }
}
@media (min-width:901px) {
  .employee-welcome-card {
    background: linear-gradient(100deg,rgba(17,20,23,.96) 0%,rgba(17,20,23,.84) 38%,rgba(17,20,23,.30) 72%,rgba(17,20,23,.12) 100%),
      url("/images/employee_hero_clean.jpg?v=8114") center 52% / cover no-repeat !important;
  }
  .employee-welcome-card:after {
    right: 92px !important;
    width: 74px !important;
    opacity: .92 !important;
  }
  .employee-welcome-badge { right: auto !important; margin-right: 8px; }
}
@media (min-width:901px) {
  .employee-concept-home {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: 174px 194px minmax(250px,1fr);
    gap: 12px;
  }
  .employee-concept-hero {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    background: linear-gradient(90deg,rgba(8,12,18,.90) 0%,rgba(8,12,18,.76) 34%,rgba(8,12,18,.18) 70%,rgba(8,12,18,.08) 100%),
      url("/images/employee_hero_clean.jpg?v=8114") center 53% / cover no-repeat;
    box-shadow: 0 3px 10px rgba(20,24,30,.08);
  }
  .employee-concept-hero:after {
    content: "";
    position: absolute;
    right: 34px;
    top: -55px;
    width: 80px;
    height: 285px;
    transform: skewX(-15deg);
    background: #ed0018;
    opacity: .96;
  }
  .employee-concept-hero-copy {
    position: absolute;
    left: 34px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    max-width: 640px;
  }
  .employee-concept-hero-copy h1 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 46px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -1.1px;
  }
  .employee-concept-hero-copy h1 span { color: #ff142c; }
  .employee-concept-hero-copy p {
    margin: 0;
    color: #edf0f3;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 500;
  }
  .employee-concept-stats {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
  }
  .employee-concept-stat {
    min-width: 0;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 18px 18px 16px;
    display: grid;
    grid-template-columns: 52px minmax(0,1fr);
    gap: 14px;
    background: #fff;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 2px 9px rgba(20,24,30,.055);
  }
  .employee-concept-stat:hover { box-shadow: 0 6px 18px rgba(20,24,30,.10); transform: translateY(-1px); }
  .employee-concept-stat-icon {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
  }
  .employee-concept-stat-icon.red { background: #fff0f2; color: #e70019; }
  .employee-concept-stat-copy b {
    display: block;
    font-size: 17px;
    font-weight: 950;
  }
  .employee-concept-stat-copy small {
    display: block;
    margin-top: 3px;
    color: #6f747b;
    font-size: 10.5px;
  }
  .employee-concept-stat-copy strong {
    display: inline-block;
    margin-top: 10px;
    font-size: 27px;
    line-height: 1;
  }
  .employee-concept-stat-copy em {
    margin-left: 7px;
    color: #747980;
    font-size: 9.5px;
    font-style: normal;
  }
  .employee-concept-link {
    display: block;
    margin-top: 18px;
    color: #ee0019;
    font-size: 11px;
    font-weight: 850;
  }
  .employee-concept-bottom {
    min-height: 0;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 12px;
  }
  .employee-concept-panel {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid #e4e7eb;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 2px 9px rgba(20,24,30,.055);
  }
  .employee-concept-panel-title {
    height: 50px;
    padding: 0 16px;
    border-bottom: 1px solid #edf0f2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
  .employee-concept-panel-title>div {
    display: flex;
    align-items: center;
    gap: 9px;
  }
  .employee-concept-panel-title b { font-size: 15px; font-weight: 950; }
  .employee-concept-panel-title button {
    border: 0;
    background: transparent;
    color: #ef0019;
    font-size: 10px;
    font-weight: 850;
    cursor: pointer;
  }
  .red-mark { color: #ef0019; font-size: 19px; }
  .employee-concept-table { padding: 10px 14px 12px; }
  .employee-concept-table-head,
  .employee-concept-table-row {
    display: grid;
    grid-template-columns: 1.05fr 1.35fr .9fr .8fr;
    gap: 10px;
    align-items: center;
  }
  .employee-concept-table-head {
    min-height: 32px;
    padding: 0 10px;
    border-radius: 7px;
    background: #f1f3f5;
    color: #49505a;
    font-size: 10px;
    font-weight: 900;
  }
  .employee-concept-table-row {
    min-height: 42px;
    padding: 0 10px;
    border-bottom: 1px solid #edf0f2;
    font-size: 11px;
  }
  .employee-concept-table-row:last-child { border-bottom: 0; }
  .employee-concept-table-row .present { color: #20a454; font-weight: 850; }
  .employee-concept-table-row .working { color: #e08a00; font-weight: 850; }
  .employee-concept-shortcuts {
    height: calc(100% - 50px);
    padding: 10px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    grid-template-rows: repeat(3,minmax(0,1fr));
    gap: 8px;
  }
  .employee-concept-shortcuts button {
    min-width: 0;
    border: 1px solid #e2e5e9;
    border-radius: 9px;
    padding: 10px 11px;
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) 18px;
    gap: 9px;
    align-items: center;
    background: #fbfcfd;
    text-align: left;
    cursor: pointer;
  }
  .employee-concept-shortcuts button:hover { border-color: #ffc3ca; background: #fff7f8; }
  .employee-concept-shortcuts button>span {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff0f2;
    color: #e50018;
    font-size: 18px;
  }
  .employee-concept-shortcuts b { display: block; font-size: 11px; }
  .employee-concept-shortcuts small {
    display: block;
    margin-top: 3px;
    color: #747980;
    font-size: 8.5px;
    line-height: 1.25;
  }
  .employee-concept-shortcuts i {
    color: #e60019;
    font-size: 20px;
    font-style: normal;
  }
}
@media (min-width:1500px) {
  .employee-concept-home { grid-template-rows: 184px 202px minmax(260px,1fr); }
  .employee-concept-hero-copy h1 { font-size: 50px; }
  .employee-concept-hero-copy p { font-size: 18px; }
  .employee-concept-stat-copy b { font-size: 18px; }
  .employee-concept-stat-copy strong { font-size: 29px; }
  .employee-concept-panel-title b { font-size: 16px; }
  .employee-concept-table-row { font-size: 11.5px; }
  .employee-concept-shortcuts b { font-size: 11.5px; }
  .employee-concept-shortcuts small { font-size: 9px; }
}
@media (min-width:901px) {
  .employee-desktop-layout.desktop-home-screen .employee-page { overflow: hidden !important; }
  .employee-concept-match .employee-concept-hero { border-radius: 13px !important; }
  .employee-concept-match .employee-concept-hero:after {
    right: 22px !important;
    top: -58px !important;
    width: 86px !important;
    height: 290px !important;
  }
  .employee-concept-match .employee-concept-hero-copy { left: 30px !important; max-width: 610px !important; }
  .employee-concept-match .employee-concept-hero-copy h1 { margin-bottom: 7px !important; }
  .employee-concept-match .employee-concept-hero-copy p { font-size: 15.5px !important; line-height: 1.28 !important; }
  .employee-concept-match .employee-concept-stats { gap: 10px !important; }
  .employee-concept-match .employee-concept-stat {
    border-radius: 12px !important;
    padding: 14px 15px 12px !important;
    grid-template-columns: 46px minmax(0,1fr) !important;
    gap: 11px !important;
  }
  .employee-concept-match .employee-concept-stat-icon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 10px !important;
    font-size: 20px !important;
  }
  .employee-concept-match .employee-concept-stat-copy b { font-size: 15px !important; }
  .employee-concept-match .employee-concept-stat-copy small { font-size: 9.5px !important; margin-top: 2px !important; }
  .employee-concept-match .employee-concept-stat-copy strong { margin-top: 7px !important; font-size: 24px !important; }
  .employee-concept-match .employee-concept-stat-copy em { font-size: 8.8px !important; margin-left: 6px !important; }
  .employee-concept-match .employee-concept-link { margin-top: 11px !important; font-size: 10px !important; }
  .employee-concept-match .employee-concept-bottom { gap: 10px !important; }
  .employee-concept-match .employee-concept-panel { border-radius: 12px !important; }
  .employee-concept-match .employee-concept-panel-title { padding: 0 14px !important; }
  .employee-concept-match .employee-concept-panel-title b { font-size: 14px !important; }
  .employee-concept-match .employee-concept-panel-title button { font-size: 9.5px !important; }
  .employee-concept-match .employee-concept-table-head {
    min-height: 30px !important;
    font-size: 10px !important;
    padding: 0 9px !important;
  }
  .employee-concept-match .employee-concept-table-row { font-size: 11px !important; padding: 0 9px !important; }
  .employee-concept-match .employee-concept-shortcuts button {
    border-radius: 8px !important;
    grid-template-columns: 34px minmax(0,1fr) 16px !important;
    gap: 8px !important;
  }
  .employee-concept-match .employee-concept-shortcuts button>span {
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px !important;
    font-size: 16px !important;
  }
  .employee-concept-match .employee-concept-shortcuts small { margin-top: 2px !important; }
  .employee-concept-match .employee-concept-shortcuts i { font-size: 17px !important; }
}
@media (min-width:1500px) {
  .employee-concept-match .employee-concept-hero-copy h1 { font-size: 46px !important; }
  .employee-concept-match .employee-concept-hero-copy p { font-size: 16px !important; }
  .employee-concept-match .employee-concept-stat-copy b { font-size: 15.5px !important; }
  .employee-concept-match .employee-concept-stat-copy strong { font-size: 25px !important; }
  .employee-concept-match .employee-concept-table-row { font-size: 11.3px !important; }
  .employee-concept-match .employee-concept-shortcuts { grid-template-rows: repeat(3,64px) !important; }
}
@media (min-width:901px) {
  .employee-desktop-layout.desktop-home-screen { height: 100vh; overflow: hidden; }
  .employee-desktop-layout.desktop-home-screen .desktop-workspace {
    height: 100vh;
    min-height: 0;
    overflow: hidden;
  }
  .employee-desktop-layout.desktop-home-screen .employee-page { flex: 1 1 auto; min-height: 0; }
  .employee-concept-match {
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: 168px 148px auto !important;
    gap: 10px !important;
    align-content: start !important;
  }
  .employee-concept-match .employee-concept-bottom {
    min-height: 0 !important;
    height: auto !important;
    align-items: start !important;
    grid-template-columns: 1.18fr .82fr !important;
  }
  .employee-concept-match .employee-concept-panel {
    min-height: 0 !important;
    height: auto !important;
    align-self: start !important;
  }
  .employee-concept-match .employee-concept-table { padding: 8px 12px 12px !important; }
  .employee-concept-match .employee-concept-table-row { min-height: 40px !important; }
  .employee-concept-match .employee-concept-shortcuts {
    height: auto !important;
    min-height: 0 !important;
    padding: 9px !important;
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows: 64px !important;
    grid-template-rows: none !important;
    align-content: start !important;
    gap: 8px !important;
  }
  .employee-concept-match .employee-concept-shortcuts button {
    height: 64px !important;
    min-height: 64px !important;
    padding: 9px 10px !important;
  }
  .employee-concept-match .employee-concept-shortcuts b { font-size: 12px !important; line-height: 1.15 !important; }
  .employee-concept-match .employee-concept-shortcuts small { font-size: 9.5px !important; line-height: 1.25 !important; }
  .employee-concept-match .employee-concept-stat { min-height: 0 !important; height: 148px !important; }
  .employee-concept-match .employee-concept-hero {
    background: linear-gradient(90deg,rgba(8,12,18,.92) 0%,rgba(8,12,18,.76) 30%,rgba(8,12,18,.18) 58%,rgba(8,12,18,.03) 100%),
      url("/images/employee_hero_clean.jpg?v=8117") 70% 52% / cover no-repeat !important;
  }
  .employee-concept-match .employee-concept-hero-copy h1 { font-size: 45px !important; }
  .employee-concept-match .employee-concept-panel-title { height: 46px !important; }
}
@media (min-width:1500px) {
  .employee-concept-match { grid-template-rows: 172px 154px auto !important; }
  .employee-concept-match .employee-concept-stat { height: 154px !important; }
  .employee-concept-match .employee-concept-shortcuts { grid-auto-rows: 68px !important; }
  .employee-concept-match .employee-concept-shortcuts button { height: 68px !important; min-height: 68px !important; }
  .employee-concept-match .employee-concept-shortcuts b { font-size: 12.5px !important; }
  .employee-concept-match .employee-concept-shortcuts small { font-size: 10px !important; }
}
@media (min-width:901px) {
  .employee-desktop-layout.desktop-home-screen .employee-page {
    padding: 14px 16px 18px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  .employee-v12-home {
    width: 100%;
    max-width: none;
    display: grid;
    grid-template-rows: 210px 168px auto;
    gap: 14px;
    align-content: start;
  }
  .employee-v12-hero {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    background: url("/images/employee_hero_clean.jpg?v=8120") 66% 48% / cover no-repeat;
    box-shadow: 0 3px 12px rgba(20,24,30,.08);
  }
  .employee-v12-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
      90deg,
      rgba(8,12,18,.96) 0%,
      rgba(8,12,18,.86) 31%,
      rgba(8,12,18,.50) 50%,
      rgba(8,12,18,.16) 72%,
      rgba(8,12,18,.05) 100%
    );
  }
  .employee-v12-hero-copy {
    position: absolute;
    left: 38px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
  }
  .employee-v12-hero-copy h1 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 50px;
    line-height: .98;
    font-weight: 950;
    letter-spacing: -1.6px;
  }
  .employee-v12-hero-copy h1 span { color: #ef1028; }
  .employee-v12-hero-copy p {
    margin: 0;
    color: #f0f2f4;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 500;
  }
  .employee-v12-hero-slash {
    position: absolute;
    top: -35px;
    bottom: -35px;
    width: 84px;
    transform: skewX(-16deg);
    z-index: 2;
  }
  .employee-v12-hero-slash.slash-one { right: 70px; background: #ef0019; }
  .employee-v12-hero-slash.slash-two {
    right: 12px;
    width: 28px;
    background: #17191c;
    opacity: .92;
  }
  .employee-v12-kpis {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 14px;
  }
  .employee-v12-kpi {
    min-width: 0;
    height: 168px;
    border: 1px solid #e5e8ec;
    border-radius: 15px;
    padding: 17px 18px;
    display: grid;
    grid-template-columns: 54px minmax(0,1fr);
    gap: 14px;
    align-items: start;
    background: #fff;
    color: #17191c;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 2px 9px rgba(20,24,30,.055);
  }
  .employee-v12-kpi:hover { transform: translateY(-2px); box-shadow: 0 7px 18px rgba(20,24,30,.10); }
  .employee-v12-kpi-icon {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff0f2;
    color: #e70019;
    font-size: 24px;
  }
  .employee-v12-kpi-main b {
    display: block;
    font-size: 17px;
    font-weight: 950;
  }
  .employee-v12-kpi-main small {
    display: block;
    margin-top: 4px;
    color: #6f747b;
    font-size: 10.5px;
  }
  .employee-v12-kpi-value {
    display: inline-block;
    margin-top: 10px;
    font-size: 29px;
    line-height: 1;
    font-weight: 950;
  }
  .employee-v12-kpi-meta {
    display: inline-block;
    margin-left: 8px;
    color: #747980;
    font-size: 9.5px;
  }
  .employee-v12-kpi-link {
    margin-top: 18px;
    color: #ef0019;
    font-size: 11px;
    font-weight: 850;
  }
  .employee-v12-lower {
    display: grid;
    grid-template-columns: 1.17fr .83fr;
    gap: 14px;
    align-items: start;
  }
  .employee-v12-panel {
    min-width: 0;
    border: 1px solid #e5e8ec;
    border-radius: 15px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 9px rgba(20,24,30,.055);
  }
  .employee-v12-panel-head {
    height: 52px;
    padding: 0 16px;
    border-bottom: 1px solid #edf0f2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
  .employee-v12-panel-title {
    display: flex;
    align-items: center;
    gap: 9px;
  }
  .employee-v12-panel-title span { color: #ef0019; font-size: 20px; }
  .employee-v12-panel-title b { font-size: 16px; font-weight: 950; }
  .employee-v12-panel-head>button {
    border: 0;
    background: transparent;
    color: #ef0019;
    font-size: 10px;
    font-weight: 850;
    cursor: pointer;
  }
  .employee-v12-table { padding: 11px 14px 14px; }
  .employee-v12-table-head,
  .employee-v12-table-row {
    display: grid;
    grid-template-columns: 1fr 1.28fr .86fr .78fr;
    gap: 12px;
    align-items: center;
  }
  .employee-v12-table-head {
    min-height: 34px;
    padding: 0 11px;
    border-radius: 8px;
    background: #f0f2f4;
    color: #47505a;
    font-size: 10.5px;
    font-weight: 900;
  }
  .employee-v12-table-row {
    min-height: 45px;
    padding: 0 11px;
    border-bottom: 1px solid #edf0f2;
    font-size: 11.5px;
  }
  .employee-v12-table-row:last-child { border-bottom: 0; }
  .employee-v12-status-present { color: #1e9f52; font-weight: 850; }
  .employee-v12-status-working { color: #df8b00; font-weight: 850; }
  .employee-v12-empty {
    padding: 18px 10px;
    color: #747980;
    font-size: 11px;
  }
  .employee-v12-shortcuts {
    padding: 11px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px;
  }
  .employee-v12-shortcuts button {
    min-width: 0;
    min-height: 72px;
    border: 1px solid #e1e4e8;
    border-radius: 10px;
    padding: 10px 11px;
    display: grid;
    grid-template-columns: 40px minmax(0,1fr) 18px;
    gap: 10px;
    align-items: center;
    background: #fbfcfd;
    color: #17191c;
    text-align: left;
    cursor: pointer;
  }
  .employee-v12-shortcuts button:hover { border-color: #ffc7ce; background: #fff7f8; }
  .employee-v12-shortcut-icon {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff0f2;
    color: #e70019;
    font-size: 18px;
  }
  .employee-v12-shortcuts b {
    display: block;
    font-size: 12px;
    font-weight: 900;
  }
  .employee-v12-shortcuts small {
    display: block;
    margin-top: 4px;
    color: #747980;
    font-size: 9.5px;
    line-height: 1.25;
  }
  .employee-v12-shortcuts i {
    color: #ef0019;
    font-size: 19px;
    font-style: normal;
  }
}
@media (min-width:1500px) {
  .employee-v12-home { grid-template-rows: 220px 176px auto; gap: 15px; }
  .employee-v12-kpi { height: 176px; }
  .employee-v12-hero-copy h1 { font-size: 54px; }
  .employee-v12-hero-copy p { font-size: 18px; }
  .employee-v12-kpi-main b { font-size: 18px; }
  .employee-v12-kpi-value { font-size: 31px; }
  .employee-v12-panel-title b { font-size: 17px; }
  .employee-v12-table-row { font-size: 12px; }
  .employee-v12-shortcuts b { font-size: 12.5px; }
  .employee-v12-shortcuts small { font-size: 10px; }
}
@media (min-width:901px) {
  .employee-v12-hero-copy h1 { letter-spacing: -1.7px !important; }
  .employee-v12-kpis { gap: 13px !important; }
  .employee-v12-lower { gap: 13px !important; }
}
@media (min-width:1500px) {
  .employee-v12-home { gap: 14px !important; }
}
@media (min-width:901px) {
  .employee-v12-hero-copy h1 { line-height: 1 !important; }
}
@media (min-width:901px) {
  .employee-v12-hero-copy { max-width: 640px !important; }
  .employee-v12-hero-copy h1 { margin-bottom: 10px !important; }
  .employee-v12-hero-copy p { line-height: 1.32 !important; }
  .employee-v12-hero-slash.slash-one {
    right: 54px !important;
    width: 78px !important;
    background: #ef0019 !important;
    opacity: .96 !important;
  }
  .employee-v12-hero-slash.slash-two {
    right: 9px !important;
    width: 24px !important;
    background: #16191d !important;
    opacity: .96 !important;
  }
  .employee-v12-kpi { grid-template-columns: 58px minmax(0,1fr) !important; gap: 14px !important; }
  .employee-v12-kpi-icon {
    width: 56px !important;
    height: 56px !important;
    font-size: 26px !important;
  }
  .employee-v12-kpi-main b { font-size: 19px !important; }
  .employee-v12-kpi-main small { font-size: 11.5px !important; }
  .employee-v12-kpi-value { font-size: 32px !important; margin-top: 10px !important; }
  .employee-v12-kpi-meta { font-size: 10.5px !important; }
  .employee-v12-kpi-link { font-size: 11.5px !important; margin-top: 16px !important; }
  .employee-v12-lower {
    height: 330px !important;
    grid-template-columns: 1.18fr .82fr !important;
    align-items: stretch !important;
  }
  .employee-v12-panel {
    height: 330px !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .employee-v12-panel-title b { font-size: 18px !important; }
  .employee-v12-panel-head>button { font-size: 11px !important; }
  .employee-v12-table { flex: 1 1 auto !important; }
  .employee-v12-table-head { font-size: 11.5px !important; }
  .employee-v12-table-row { font-size: 13px !important; }
  .employee-v12-status-present,
  .employee-v12-status-working { font-size: 12.5px !important; }
  .employee-v12-shortcuts {
    flex: 1 1 auto !important;
    height: auto !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    grid-template-rows: repeat(3,1fr) !important;
  }
  .employee-v12-shortcuts button {
    height: auto !important;
    grid-template-columns: 44px minmax(0,1fr) 18px !important;
    gap: 11px !important;
  }
  .employee-v12-shortcut-icon {
    width: 42px !important;
    height: 42px !important;
    font-size: 20px !important;
  }
  .employee-v12-shortcuts b { font-size: 13.5px !important; }
  .employee-v12-shortcuts small { font-size: 10.5px !important; line-height: 1.25 !important; }
  .employee-v12-shortcuts i { font-size: 20px !important; }
}
@media (min-width:1500px) {
  .employee-v12-kpi { height: 184px !important; }
  .employee-v12-hero-copy h1 { font-size: 56px !important; }
  .employee-v12-hero-copy p { font-size: 19px !important; }
  .employee-v12-kpi-main b { font-size: 20px !important; }
  .employee-v12-kpi-value { font-size: 34px !important; }
  .employee-v12-panel-title b { font-size: 19px !important; }
  .employee-v12-table-row { font-size: 13.5px !important; }
  .employee-v12-shortcuts b { font-size: 14px !important; }
  .employee-v12-shortcuts small { font-size: 11px !important; }
}
@media (min-width:901px) {
  .desktop-employee-footer-cover,
  .desktop-admin-footer-cover {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 30;
    min-height: 67px;
    padding: 10px 12px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg,rgba(20,23,26,.95),#15181b 38%);
    color: #fff;
    text-align: center;
    border-top: 1px solid rgba(255,255,255,.08);
  }
  .desktop-employee-footer-cover b,
  .desktop-admin-footer-cover b { font-size: 12px; letter-spacing: .9px; }
  .desktop-employee-footer-cover span,
  .desktop-admin-footer-cover span {
    margin-top: 5px;
    color: #bfc3c8;
    font-size: 9px;
  }
  .admin-desktop-layout.desktop-inner-screen,
  .admin-desktop-layout.desktop-home-screen {
    height: 100vh;
    overflow: hidden;
  }
  .admin-desktop-layout .desktop-workspace {
    height: 100vh;
    min-height: 0;
    overflow: hidden;
  }
  .admin-desktop-layout .admin-page {
    width: 100%;
    max-width: none;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    margin: 0;
    padding: 12px 16px 30px;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  .admin-desktop-layout.desktop-home-screen .admin-page { overflow: hidden !important; }
  .admin-role-pill { background: rgba(230,0,18,.18) !important; border: 1px solid rgba(255,255,255,.09); }
  .admin-desktop-nav {
    gap: 2px !important;
    overflow-y: auto;
    scrollbar-width: thin;
    padding-bottom: 72px !important;
  }
  .admin-desktop-nav .desktop-nav-item { min-height: 39px !important; font-size: 12px !important; }
  .admin-desktop-nav .desktop-nav-icon { font-size: 15px !important; }
  .admin-nav-label {
    padding: 10px 10px 5px;
    color: #8f959c;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1.4px;
  }
  .admin-nav-label-tools { margin-top: 4px; }
  .admin-home-v13 {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: 190px 130px minmax(0,1fr);
    gap: 12px;
  }
  .admin-home-hero {
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    display: flex;
    align-items: center;
    padding: 28px 34px;
    color: #fff;
    background: linear-gradient(100deg,rgba(7,10,15,.98) 0%,rgba(7,10,15,.83) 43%,rgba(7,10,15,.22) 72%,rgba(7,10,15,.05) 100%),
      url("/images/office_dashboard_hero_final.png?v=8130") center center / cover no-repeat;
  }
  .admin-home-hero-copy { position: relative; z-index: 2; }
  .admin-home-hero-copy h1 {
    margin: 11px 0 7px;
    font-size: 42px;
    line-height: 1;
    font-weight: 1000;
    letter-spacing: -1px;
  }
  .admin-home-hero-copy p {
    margin: 0;
    color: #e2e4e7;
    font-size: 14px;
  }
  .admin-home-badge {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 92px;
    height: 92px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ed071a;
    color: #fff;
    font-size: 16px;
    font-weight: 1000;
    letter-spacing: 1px;
    box-shadow: 0 10px 25px rgba(0,0,0,.25);
  }
  .admin-home-kpis {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
  }
  .admin-home-kpis button {
    min-width: 0;
    border: 0;
    border-radius: 14px;
    padding: 14px 16px;
    display: grid;
    grid-template-columns: 48px minmax(0,1fr) 24px;
    gap: 11px;
    align-items: center;
    background: #fff;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 3px 11px rgba(24,28,34,.08);
  }
  .admin-home-kpis button>span {
    width: 44px;
    height: 44px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff0f2;
    color: #e60018;
    font-size: 20px;
  }
  .admin-home-kpis b { display: block; font-size: 14px; }
  .admin-home-kpis small {
    display: block;
    margin-top: 3px;
    color: #73787f;
    font-size: 9px;
  }
  .admin-home-kpis strong {
    display: inline-block;
    margin-top: 6px;
    font-size: 23px;
  }
  .admin-home-kpis strong.positive { color: #119345; }
  .admin-home-kpis strong.negative { color: #d41429; }
  .admin-home-kpis em {
    margin-left: 6px;
    color: #767b82;
    font-size: 8.5px;
    font-style: normal;
  }
  .admin-home-kpis i {
    font-size: 20px;
    font-style: normal;
    color: #7a7f85;
  }
  .admin-home-sections {
    min-height: 0;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 12px;
  }
  .admin-home-panel {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 3px 11px rgba(24,28,34,.08);
  }
  .admin-home-panel-title {
    height: 48px;
    padding: 0 15px;
    border-bottom: 1px solid #eceef1;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .admin-home-panel-title b { font-size: 14px; }
  .admin-home-panel-title span { font-size: 9px; color: #747980; }
  .admin-action-grid {
    height: calc(100% - 48px);
    padding: 10px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    grid-template-rows: repeat(3,minmax(0,1fr));
    gap: 8px;
  }
  .admin-action-grid button {
    border: 1px solid #e1e4e8;
    border-radius: 9px;
    padding: 10px;
    display: grid;
    grid-template-columns: 36px minmax(0,1fr);
    gap: 9px;
    align-content: center;
    background: #fbfcfd;
    text-align: left;
    cursor: pointer;
  }
  .admin-action-grid button>span {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff0f2;
    color: #e60018;
    font-size: 16px;
    grid-row: 1/3;
  }
  .admin-action-grid b { font-size: 11px; }
  .admin-action-grid small {
    font-size: 8.5px;
    color: #747980;
    line-height: 1.2;
  }
  .admin-office-grid {
    height: calc(100% - 48px);
    padding: 10px;
    display: grid;
    grid-template-rows: repeat(4,minmax(0,1fr));
    gap: 8px;
  }
  .admin-office-grid button {
    border: 1px solid #e1e4e8;
    border-radius: 9px;
    padding: 9px 11px;
    display: grid;
    grid-template-columns: minmax(0,1fr) 18px;
    align-items: center;
    background: #fbfcfd;
    text-align: left;
    cursor: pointer;
  }
  .admin-office-grid b { display: block; font-size: 11px; }
  .admin-office-grid span {
    display: block;
    margin-top: 3px;
    font-size: 8.5px;
    color: #747980;
  }
  .admin-office-grid i {
    grid-column: 2;
    grid-row: 1/3;
    font-size: 18px;
    font-style: normal;
    color: #e60018;
  }
  .admin-desktop-layout.desktop-inner-screen .admin-page > .header-card { display: none !important; }
  .admin-desktop-layout .admin-list-card { border: 1px solid #e3e6e9; box-shadow: none !important; }
  .admin-desktop-layout .form-card,
  .admin-desktop-layout .info-card,
  .admin-desktop-layout .admin-status {
    max-width: none !important;
    border: 1px solid #e5e7ea;
    box-shadow: 0 2px 8px rgba(24,28,34,.055) !important;
  }
  .admin-desktop-layout .menu-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .admin-desktop-layout .menu-card { height: 120px !important; }
}
@media (min-width:901px) {
  .employee-v12-hero {
    height: 205px !important;
    border-radius: 15px !important;
    overflow: hidden !important;
  }
  .employee-v12-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
  }
  .employee-v12-hero-copy { z-index: 3 !important; left: 38px !important; }
  .employee-v12-hero-copy h1 { font-size: 52px !important; margin: 0 0 9px !important; }
  .employee-v12-hero-copy p { font-size: 18px !important; }
  .admin-home-hero {
    min-height: 205px !important;
    padding: 30px 36px !important;
    border-radius: 15px !important;
  }
  .admin-home-hero-copy h1 { letter-spacing: -1.2px !important; }
  .admin-home-badge { font-size: 15px !important; }
  .admin-desktop-layout .desktop-sidebar { width: 230px !important; min-width: 230px !important; }
  .admin-desktop-layout .desktop-topbar-title b { font-size: 31px !important; }
  .admin-desktop-layout .desktop-topbar-title span { font-size: 11px !important; }
  .admin-home-v13 {
    height: auto !important;
    display: grid !important;
    align-content: start !important;
  }
  .admin-home-sections { grid-template-columns: 1.15fr .85fr !important; align-items: start !important; }
  .admin-home-panel { height: auto !important; min-height: 0 !important; }
  .admin-action-grid {
    height: auto !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    grid-template-rows: none !important;
  }
  .admin-office-grid { height: auto !important; grid-template-rows: none !important; }
  .admin-desktop-layout.desktop-inner-screen .admin-page {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 18px 24px 48px !important;
  }
  .admin-desktop-layout .admin-title {
    font-size: 30px !important;
    line-height: 1.1 !important;
    margin: 8px 0 18px !important;
  }
  .admin-desktop-layout .admin-action {
    min-height: 46px !important;
    padding: 0 18px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
  }
  .admin-desktop-layout .admin-list-card {
    min-height: 78px !important;
    padding: 14px 16px !important;
    margin-bottom: 8px !important;
    border-radius: 11px !important;
  }
  .admin-desktop-layout .admin-list-title { font-size: 14px !important; }
  .admin-desktop-layout .admin-list-lines {
    margin-top: 4px !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
  }
  .admin-desktop-layout .chip { font-size: 10px !important; padding: 6px 9px !important; }
  .admin-desktop-layout .form-card { max-width: 980px !important; padding: 22px !important; }
  .admin-desktop-layout .form-card label { font-size: 12px !important; }
  .admin-desktop-layout .form-card input,
  .admin-desktop-layout .form-card select,
  .admin-desktop-layout .form-card textarea {
    min-height: 44px !important;
    font-size: 13px !important;
    padding: 10px 12px !important;
  }
  .admin-desktop-layout .btn { min-height: 42px; font-size: 12px; }
  .admin-desktop-layout .admin-metrics { gap: 12px !important; }
  .admin-desktop-layout .admin-metric { min-height: 110px !important; }
  .admin-desktop-layout .metric-label { font-size: 11px !important; }
  .admin-desktop-layout .metric-value { font-size: 25px !important; }
  .admin-desktop-layout .info-card { min-height: 100px !important; padding: 16px !important; }
}
@media (min-width:1500px) {
  .admin-home-hero { min-height: 215px !important; }
  .admin-home-hero-copy h1 { font-size: 54px !important; }
}
@media (min-width:901px) {
  .employee-v12-hero-slash { display: none !important; }
  .admin-home-hero {
    background: linear-gradient(90deg,
        rgba(6,10,16,.97) 0%,
        rgba(6,10,16,.91) 31%,
        rgba(6,10,16,.46) 50%,
        rgba(6,10,16,.07) 68%,
        rgba(6,10,16,0) 80%),
      url("/images/employee_hero_v8133_unique.jpg") center center / cover no-repeat !important;
  }
  .admin-desktop-layout.desktop-home-screen .admin-page { overflow-x: hidden !important; }
}
@media (min-width:901px) {
  .admin-home-v13 { grid-template-rows: 205px 136px auto !important; gap: 12px !important; }
  .admin-home-kpis button { grid-template-columns: 46px minmax(0,1fr) 18px !important; gap: 10px !important; }
  .admin-home-kpis b { line-height: 1.15 !important; }
  .admin-home-kpis small { margin-top: 4px !important; }
  .admin-home-kpis strong { line-height: 1.1 !important; }
  .admin-home-kpis i { font-size: 20px !important; }
  .admin-home-sections { gap: 12px !important; }
  .admin-home-panel-title { height: 48px !important; padding: 0 15px !important; }
  .admin-home-panel-title b { font-size: 17px !important; }
  .admin-home-panel-title span { font-size: 11px !important; }
  .admin-action-grid {
    grid-auto-rows: 99px !important;
    padding: 10px !important;
    gap: 8px !important;
  }
  .admin-action-grid button {
    padding: 10px 12px !important;
    grid-template-columns: 38px minmax(0,1fr) !important;
    gap: 9px !important;
  }
  .admin-action-grid button>span {
    width: 36px !important;
    height: 36px !important;
    font-size: 18px !important;
  }
  .admin-action-grid b { font-size: 17px !important; line-height: 1.15 !important; }
  .admin-action-grid small {
    font-size: 12px !important;
    line-height: 1.3 !important;
    margin-top: 3px !important;
  }
  .admin-office-grid {
    grid-auto-rows: 73px !important;
    padding: 10px !important;
    gap: 8px !important;
  }
  .admin-office-grid button { padding: 10px 14px !important; }
  .admin-office-grid b { font-size: 17px !important; line-height: 1.15 !important; }
  .admin-office-grid span {
    font-size: 12px !important;
    line-height: 1.25 !important;
    margin-top: 4px !important;
  }
  .admin-office-grid i { font-size: 20px !important; }
}
@media (min-width:1500px) {
  .admin-home-v13 { grid-template-rows: 215px 136px auto !important; }
  .admin-action-grid { grid-auto-rows: 99px !important; }
  .admin-office-grid { grid-auto-rows: 73px !important; }
}
@media (min-width:901px) {
  .admin-dashboard-grid-v14 {
    display: grid !important;
    grid-template-columns: 1.05fr .95fr 1.05fr !important;
    align-items: start !important;
  }
  .admin-performance-panel { display: flex !important; flex-direction: column !important; }
  .admin-performance-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding-top: 4px !important;
  }
  .admin-performance-main {
    border: 1px solid #e7eaef !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg,#fbfcfd 0%, #f5f7fa 100%) !important;
  }
  .admin-performance-main strong {
    display: block !important;
    line-height: 1.05 !important;
    color: #0f141d !important;
    letter-spacing: .04em !important;
  }
  .admin-performance-main small {
    display: block !important;
    color: #69707a !important;
    line-height: 1.45 !important;
  }
  .admin-performance-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .admin-performance-grid>div {
    border: 1px solid #eceff3 !important;
    border-radius: 16px !important;
    background: #fff !important;
  }
  .admin-performance-grid span {
    display: block !important;
    color: #6e7580 !important;
    line-height: 1.25 !important;
  }
  .admin-performance-grid b {
    display: block !important;
    margin-top: 6px !important;
    line-height: 1.05 !important;
    color: #10141c !important;
  }
  .admin-performance-grid small {
    display: block !important;
    margin-top: 7px !important;
    color: #7b828c !important;
    line-height: 1.35 !important;
  }
  .admin-performance-panel .notice { margin: 0 !important; }
}
@media (min-width:901px) {
  .employee-v12-hero-overlay {
    background: linear-gradient(90deg,
      rgba(6,10,16,.96) 0%,
      rgba(6,10,16,.91) 28%,
      rgba(6,10,16,.60) 45%,
      rgba(6,10,16,.18) 62%,
      rgba(6,10,16,0) 79%) !important;
  }
  .admin-bottom-strip { margin-top: 10px !important; }
}
@media (min-width:901px) {
  .employee-v12-hero {
    background: url("/images/employee_hero_banner_v8137.png?v=8137") center center / cover no-repeat !important;
  }
  .admin-home-hero-v14 {
    background: linear-gradient(90deg,
        rgba(6,10,16,.93) 0%,
        rgba(6,10,16,.85) 29%,
        rgba(6,10,16,.50) 48%,
        rgba(6,10,16,.16) 66%,
        rgba(6,10,16,.03) 100%),
      url("/images/admin_hero_banner_v8137.png?v=8137") center center / cover no-repeat !important;
  }
}
@media (min-width:901px) {
  .employee-v12-home { grid-template-rows: 190px 160px 470px !important; gap: 12px !important; }
  .employee-v12-hero { min-height: 190px !important; }
  .employee-v12-kpi { height: 160px !important; padding: 16px 16px !important; }
  .employee-v12-lower,
  .employee-v12-panel { height: 470px !important; }
  .employee-v12-panel-head { height: 50px !important; flex: 0 0 50px !important; }
  .employee-v12-table { padding: 14px 16px 18px !important; }
  .employee-v12-table-head { min-height: 34px !important; }
  .employee-v12-table-row { min-height: 58px !important; }
  .employee-v12-shortcuts { padding: 14px !important; gap: 12px !important; }
  .employee-v12-shortcuts button { min-height: 118px !important; padding: 16px 15px !important; }
  .admin-home-v14 { gap: 8px !important; }
  .admin-home-hero,
  .admin-home-hero-v14 { min-height: 182px !important; border-radius: 18px !important; }
  .admin-home-hero-copy h1 {
    font-size: 50px !important;
    line-height: 1.0 !important;
    margin-bottom: 8px !important;
  }
  .admin-home-hero-copy p { font-size: 13px !important; line-height: 1.28 !important; }
  .admin-home-badge {
    width: 78px !important;
    height: 78px !important;
    right: 18px !important;
  }
  .admin-home-kpis { gap: 8px !important; }
  .admin-home-kpis button { padding: 11px 13px !important; }
  .admin-home-kpis button>span {
    width: 40px !important;
    height: 40px !important;
    font-size: 18px !important;
  }
  .admin-home-kpis b { font-size: 16px !important; }
  .admin-home-kpis small { font-size: 11px !important; line-height: 1.18 !important; }
  .admin-home-kpis strong { font-size: 23px !important; margin-top: 4px !important; }
  .admin-home-kpis em { font-size: 9px !important; }
  .admin-dashboard-grid-v14 { gap: 8px !important; }
  .desktop-panel-title,
  .admin-home-panel-title { height: 44px !important; padding: 0 14px !important; }
  .desktop-panel-title b { font-size: 15px !important; }
  .desktop-panel-title span,
  .desktop-panel-title button,
  .activity-panel-actions span,
  .activity-panel-actions button {
    font-size: 10.5px !important;
  }
  .desktop-people-list .desktop-person-row { min-height: 46px !important; padding: 9px 10px !important; }
  .desktop-person-row b { font-size: 12px !important; }
  .desktop-person-row small { font-size: 10.5px !important; }
  .desktop-project-list .desktop-project-row { min-height: 36px !important; padding: 7px 10px !important; }
  .desktop-project-row b,
  .desktop-project-row strong,
  .desktop-project-row em { font-size: 12px !important; }
  .admin-performance-main { padding: 15px 17px !important; }
  .admin-performance-main strong { font-size: 24px !important; }
  .admin-performance-main small { font-size: 12px !important; margin-top: 8px !important; }
  .admin-performance-grid { gap: 10px !important; }
  .admin-performance-grid>div { min-height: 82px !important; padding: 12px 13px !important; }
  .admin-performance-grid b { font-size: 22px !important; }
  .admin-performance-grid span { font-size: 11px !important; }
  .admin-performance-grid small { font-size: 10px !important; }
  .admin-performance-panel .notice { font-size: 11px !important; line-height: 1.35 !important; }
  .desktop-bottom-strip,
  .admin-bottom-strip {
    margin-top: 8px !important;
    min-height: 58px !important;
    padding: 10px 14px !important;
  }
  .desktop-bottom-strip b { font-size: 12px !important; }
  .desktop-bottom-strip span { font-size: 9px !important; }
  .desktop-bottom-stat strong { font-size: 14px !important; }
  .desktop-bottom-stat span { font-size: 8.5px !important; }
  .admin-desktop-layout.desktop-home-screen .admin-page { overflow-y: auto !important; }
}
@media (min-width:1500px) {
  .employee-v12-home { grid-template-rows: 198px 166px 500px !important; }
  .employee-v12-lower,
  .employee-v12-panel { height: 500px !important; }
  .employee-v12-shortcuts button { min-height: 124px !important; }
  .admin-home-kpis button { min-height: 124px !important; }
}
.asset-transfer-box {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 15px;
  background: #f6f7f9;
  border: 1px solid #dfe2e6;
  margin: 12px 0;
}
.asset-transfer-box>b { font-size: 15px; }
.asset-transfer-box>small,.asset-transfer-hint { font-size: 12px; color: #606978; }
@media (min-width:901px) {
  .employee-workstation-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    grid-template-rows: repeat(2,minmax(0,1fr));
    gap: 12px;
    padding: 14px;
    flex: 1;
    min-height: 0;
  }
  .employee-workstation-cell {
    background: #fafbfc;
    border: 1px solid #e5e8ed;
    border-radius: 12px;
    padding: 13px 16px;
    display: flex;
    flex-direction: column;
    min-width: 0;
  }
  .employee-workstation-cell>span { font-size: 22px; color: #e60020; }
  .employee-workstation-cell>small {
    font-size: 12px;
    color: #626d7a;
    margin-top: 7px;
  }
  .employee-workstation-cell>strong { font-size: 25px; margin-top: 7px; }
  .employee-workstation-cell>em {
    font-size: 11px;
    color: #7c8794;
    font-style: normal;
    margin-top: auto;
  }
  .employee-workstation-note {
    color: #81858e;
    font-size: 11px;
    padding: 0 16px 13px;
  }
  .workstation-current { font-size: 11px; color: #737a85; }
  .admin-home-v14 { grid-template-rows: minmax(175px,21vh) minmax(116px,14vh) auto !important; }
  .admin-home-hero-v14 { min-height: 0 !important; }
  .admin-home-kpis button { min-height: 0 !important; }
  .admin-dashboard-grid-v14 .desktop-panel { min-height: clamp(335px,43vh,425px) !important; }
  .admin-desktop-layout.desktop-home-screen .admin-page { padding-bottom: 10px !important; }
}
@media (min-width:1500px) {
  .admin-home-v14 { grid-template-rows: minmax(175px,21vh) minmax(116px,14vh) auto !important; }
  .admin-dashboard-grid-v14 .desktop-panel { min-height: clamp(335px,43vh,425px) !important; }
}
.fleet-module { margin: 14px auto 20px; }
.fleet-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 15px;
}
.fleet-toolbar .btn {
  width: auto;
  min-height: 38px;
  padding: 8px 16px;
}
.fleet-list {
  display: grid;
  gap: 10px;
  margin-top: 15px;
}
.fleet-item {
  border: 1px solid #e0e7ec;
  border-radius: 14px;
  padding: 17px;
  display: flex;
  align-items: center;
  gap: 15px;
  width: 100%;
  background: #fff;
  color: #1b2633;
  text-align: left;
  cursor: pointer;
}
.fleet-item:hover { border-color: #4f97ad; box-shadow: 0 3px 12px #10354714; }
.fleet-car { font-size: 24px; }
.fleet-info {
  flex: 1;
  display: grid;
  gap: 7px;
  min-width: 0;
}
.fleet-info b { font-size: 17px; }
.fleet-info small { color: #667685; }
.fleet-pill {
  display: inline-block;
  background: #e8f4f5;
  color: #276479;
  border-radius: 16px;
  padding: 5px 8px;
  margin: 1px 4px 1px 0;
  font-size: 11px;
  font-weight: 700;
}
.fleet-warn { background: #fff1d5; color: #955200; }
.fleet-danger { background: #ffe2e2; color: #ad2020; }
.fleet-edit {
  background: white;
  border: 1px solid #e1e6ec;
  padding: 22px;
  border-radius: 16px;
}
.fleet-title {
  font-weight: 800;
  font-size: 18px;
  margin: 0 0 16px;
}
.fleet-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(215px,1fr));
  gap: 14px;
}
.fleet-field {
  display: grid;
  gap: 6px;
  margin: 9px 0;
  color: #405366;
  font-size: 12px;
  font-weight: 700;
}
.fleet-field input:not([type=checkbox]),.fleet-field textarea {
  width: 100%;
  border: 1px solid #d2dee5;
  padding: 10px 12px;
  border-radius: 10px;
  background: white;
  color: #172431;
  font-size: 14px;
  box-sizing: border-box;
}
.fleet-edit h3 { font-size: 15px; margin: 22px 0 10px; }
.fleet-buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.fleet-buttons .btn { width: auto; }
.fleet-edit input[type=checkbox] { margin-right: 7px; }
.fleet-detail-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.fleet-detail-section { border-top: 1px solid #e7edf2; padding: 16px 0; }
.fleet-detail-section h3 { margin: 4px 0 15px; color: #263e50; }
.fleet-read-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(190px,1fr));
  gap: 14px;
}
.fleet-read-item {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.fleet-read-item span { font-size: 12px; color: #637788; }
.fleet-read-item b {
  font-size: 15px;
  color: #213448;
  overflow-wrap: anywhere;
}
.fleet-quick { margin: 10px 0 18px; }
.fleet-timeline { display: grid; gap: 12px; }
.fleet-log {
  padding: 13px;
  border: 1px solid #e0e8ef;
  border-radius: 11px;
  background: #f9fbfd;
  display: grid;
  gap: 8px;
}
.fleet-log small {
  display: block;
  color: #64778a;
  margin-top: 4px;
}
.fleet-log>div:last-child {
  display: grid;
  gap: 4px;
  font-size: 13px;
}
.fleet-display { margin: auto; box-shadow: 0 8px 28px #13253c0a; }
.fleet-display .fleet-title { letter-spacing: -.02em; margin-bottom: 6px; }
.fleet-display .fleet-detail-section h3 {
  display: flex;
  align-items: center;
  color: #23374d;
}
.fleet-section-icon {
  display: inline-grid;
  place-items: center;
  width: 25px;
  height: 25px;
  font-size: 18px;
  color: #1b334e;
}
.fleet-oil-highlight {
  background: #fff0ee;
  padding: 12px;
  border-radius: 12px;
}
.fleet-history-disclosure {
  border: 1px solid #dfe5ed;
  border-radius: 13px;
  margin-top: 18px;
  overflow: hidden;
  background: #fff;
}
.fleet-history-disclosure summary {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 17px;
  list-style: none;
}
.fleet-history-disclosure summary::-webkit-details-marker { display: none; }
.fleet-history-disclosure summary small { color: #718094; }
.fleet-history-mark { font-size: 23px; color: #df1633; }
.fleet-history-chevron { margin-left: auto; font-size: 20px; }
.fleet-history-disclosure[open] .fleet-history-chevron { transform: rotate(180deg); }
.fleet-history-inner { padding: 0 16px 16px; }
.fleet-log b { font-weight: 700; }
.fleet-computed-oil {
  grid-column: 1/-1;
  background: #fff2e8;
  border: 1px solid #ffdccc;
  padding: 12px;
  border-radius: 10px;
  font-weight: 700;
}
.fleet-alert-list {
  display: flex;
  flex-direction: column;
  padding: 6px 11px 13px;
}
.fleet-alert-row {
  align-items: center;
  gap: 10px;
  text-align: left;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #e5e9ee;
  cursor: pointer;
  color: #1e2c40;
  width: 100%;
}
.fleet-alert-row:last-child { border-bottom: 0; }
.fleet-alert-row:hover { background: #f8fafc; }
.fleet-alert-icon { border-radius: 50%; background: #eaf0fc; }
.fleet-alert-text {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 3px;
}
.fleet-alert-text b {
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fleet-alert-text small { font-size: 11px; color: #69788a; }
.fleet-alert-status {
  display: grid;
  gap: 3px;
  text-align: center;
  background: #fff2dd;
  color: #a75c00;
  border-radius: 11px;
}
.fleet-alert-status.danger { background: #ffe4e5; color: #bd1730; }
.fleet-alert-status strong { font-size: 12px; }
.fleet-alert-status small { font-size: 10px; }
.fleet-alert-arrow { font-size: 22px; color: #637181; }
@media (max-width:600px) {
  .fleet-history-disclosure summary small { display: none; }
  .fleet-alert-status { min-width: 90px; }
  .fleet-display .fleet-read-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
.office-desktop-home .fleet-alert-panel .fleet-alert-list {
  height: 315px;
  max-height: 315px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #a9b2c0 #edf0f3;
}
.fleet-alert-row {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) 155px 16px;
  column-gap: 9px;
  min-height: 66px;
  padding: 8px 5px;
  box-sizing: border-box;
}
.fleet-alert-icon {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  min-width: 43px;
  line-height: 1;
  font-size: 26px;
  justify-self: center;
  align-self: center;
  flex: none;
}
.fleet-alert-text { align-self: center; }
.fleet-alert-status {
  width: 155px;
  min-width: 0;
  min-height: 43px;
  box-sizing: border-box;
  align-content: center;
  justify-self: stretch;
  padding: 8px 6px;
}
.fleet-alert-arrow { justify-self: center; }
.fleet-display {
  max-width: 1320px;
  width: 100%;
  padding: 24px 27px;
}
.fleet-display .fleet-title { font-size: 25px; }
.fleet-display .fleet-detail-section { padding: 19px 0; }
.fleet-display .fleet-detail-section h3 {
  font-size: 17px;
  gap: 14px;
  margin-bottom: 19px;
}
.fleet-display .fleet-section-icon {
  width: 37px;
  height: 37px;
  border-radius: 11px;
  background: #f0f4fa;
  color: #173c62;
  font-size: 24px;
  line-height: 1;
}
.fleet-display .fleet-read-grid { grid-template-columns: repeat(auto-fit,minmax(185px,1fr)); gap: 19px 15px; }
.fleet-display .fleet-read-item span { font-size: 13px; }
.fleet-display .fleet-read-item b { font-size: 16px; line-height: 1.4; }
.fleet-display .fleet-oil-highlight,.fleet-display .fleet-read-item:has(b):is(.fleet-timing-highlight) {
  padding: 14px;
  background: #fff0eb;
  border-radius: 11px;
}
.gepo-employee-alert-list {
  height: 315px;
  max-height: 315px;
  overflow-y: auto;
  scrollbar-width: thin;
  padding: 7px 12px;
}
.gepo-employee-alert {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) 110px;
  gap: 9px;
  align-items: center;
  width: 100%;
  text-align: left;
  background: white;
  border: 0;
  border-bottom: 1px solid #e7ebef;
  min-height: 68px;
  cursor: pointer;
}
.gepo-doc-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f0f2fb;
  font-size: 22px;
}
.gepo-alert-name {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.gepo-alert-name b {
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gepo-alert-name small { font-size: 11px; color: #677485; }
.gepo-employee-alert strong {
  padding: 9px 7px;
  text-align: center;
  border-radius: 10px;
  font-size: 12px;
}
.gepo-employee-alert strong.danger { background: #ffe2e3; color: #bb1433; }
.gepo-employee-alert strong.warn { background: #fff1d9; color: #9e5f00; }
.gepo-employee-docs {
  border: 1px solid #e4eaf1;
  border-radius: 16px;
  background: #fff;
  padding: 21px;
  margin: 15px 0;
}
.gepo-employee-docs h3 { margin: 0 0 17px; }
.gepo-doc-edit-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(170px,1fr));
  gap: 14px;
  margin-bottom: 17px;
}
.gepo-doc-edit-fields label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-weight: 600;
}
.gepo-doc-edit-fields input {
  border: 1px solid #d8e0e9;
  border-radius: 9px;
  padding: 10px;
  font: inherit;
  width: 100%;
  box-sizing: border-box;
}
.gepo-employee-docs small {
  display: block;
  margin-top: 12px;
  color: #718093;
}
@media (max-width:650px) {
  .fleet-alert-row { grid-template-columns: 41px minmax(0,1fr) 102px 12px; gap: 4px; }
  .fleet-alert-status { width: 102px; }
  .fleet-alert-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    font-size: 22px;
  }
  .fleet-display { padding: 15px; }
  .fleet-display .fleet-read-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
.fleet-detail-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.fleet-detail-actions #fleetDeleteBtn { color: #b82538; border-color: #f3cbd2; }
.fleet-detail-actions #fleetDeleteBtn:hover { background: #ffeff2; }
@media (min-width:901px) {
  .desktop-workspace:has(.office-desktop-home) .page,
  .desktop-workspace:has(.office-desktop-home) .office-page {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    min-height: 0 !important;
  }
  .office-desktop-home .desktop-hero { aspect-ratio: 5.8/1; max-height: 270px; }
  .office-desktop-home .desktop-quick-grid { align-items: stretch !important; }
  .office-desktop-home .desktop-quick-card {
    height: auto !important;
    min-height: 118px !important;
    grid-template-columns: 42px minmax(0,1fr) 18px !important;
    gap: 10px !important;
    align-content: center !important;
    padding: 14px !important;
    overflow: visible !important;
  }
  .office-desktop-home .desktop-quick-card.metric-only { grid-template-columns: 42px minmax(0,1fr) !important; }
  .office-desktop-home .desktop-quick-card>div { min-width: 0 !important; overflow-wrap: anywhere !important; }
  .office-desktop-home .desktop-quick-card b { line-height: 1.16 !important; font-size: clamp(13px,1.15vw,18px) !important; }
  .office-desktop-home .desktop-quick-card small,.office-desktop-home .desktop-quick-card em {
    line-height: 1.35 !important;
    white-space: normal !important;
  }
  .office-desktop-home .desktop-quick-card strong {
    font-size: clamp(19px,2vw,29px) !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }
  .office-desktop-home .desktop-dashboard-grid { align-items: stretch !important; }
  .office-desktop-home .desktop-panel {
    height: auto !important;
    min-height: 360px !important;
    max-height: none !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .office-desktop-home .desktop-panel-title {
    height: auto !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
  }
  .office-desktop-home .desktop-panel-title b { line-height: 1.2 !important; overflow-wrap: anywhere !important; }
  .office-desktop-home .fleet-alert-list,.office-desktop-home .gepo-employee-alert-list {
    height: 310px !important;
    max-height: 310px !important;
    overflow-y: auto !important;
  }
  .office-desktop-home .fleet-alert-row {
    grid-template-columns: 39px minmax(0,1fr) minmax(100px,130px) 12px !important;
    gap: 6px !important;
  }
  .office-desktop-home .fleet-alert-status { width: 100% !important; min-width: 0 !important; }
  .office-desktop-home .desktop-project-row {
    grid-template-columns: 30px minmax(40px,1fr) 30px minmax(65px,80px) 10px !important;
    gap: 5px !important;
  }
  .office-desktop-home .desktop-bottom-strip {
    grid-template-columns: minmax(0,1.5fr) repeat(3,minmax(0,.55fr)) !important;
  }
}
@media (min-width:901px) and (max-width:1550px) {
  .office-desktop-home .desktop-quick-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .office-desktop-home .desktop-dashboard-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows: minmax(360px,auto) !important;
  }
  .office-desktop-home .desktop-dashboard-grid>.desktop-panel:last-child { grid-column: 1/-1; }
}
@media (min-width:901px) and (max-width:1150px) {
  .office-desktop-home .desktop-dashboard-grid>.desktop-panel:last-child { grid-column: auto; }
  .office-desktop-home .desktop-bottom-strip { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .office-desktop-home .desktop-bottom-strip>div:first-child { grid-column: 1/-1; }
}
@media (max-width:900px) {
  .office-desktop-home .desktop-home { height: auto !important; }
  .fleet-display { width: 100% !important; max-width: 100% !important; }
}
.fleet-module {
  width: min(100%,1400px);
  max-width: 1400px;
  box-sizing: border-box;
}
.fleet-display {
  max-width: 1400px !important;
  width: 100% !important;
  box-sizing: border-box;
}
.fleet-display .fleet-detail-section .fleet-read-grid {
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  align-items: start !important;
}
.fleet-display .fleet-read-item { min-width: 0 !important; overflow-wrap: anywhere !important; }
.fleet-display .fleet-read-item span { line-height: 1.3 !important; }
.fleet-display .fleet-service-oil .fleet-read-item:nth-child(6),
.fleet-display .fleet-service-timing .fleet-read-item:nth-child(5) {
  grid-column: auto !important;
}
.fleet-display .fleet-oil-highlight,.fleet-display .fleet-timing-highlight {
  align-self: stretch !important;
  min-height: 76px !important;
  box-sizing: border-box;
}
@media (max-width:1250px) {
  .fleet-display .fleet-detail-section .fleet-read-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width:800px) {
  .fleet-display .fleet-detail-section .fleet-read-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .fleet-display { padding: 16px !important; }
}
@media (max-width:430px) {
  .fleet-display .fleet-detail-section .fleet-read-grid { grid-template-columns: minmax(0,1fr) !important; }
}
@media (min-width:1401px) and (max-width:1550px) {
  .office-desktop-home .desktop-quick-grid { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
  .office-desktop-home .desktop-dashboard-grid {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    grid-auto-rows: minmax(360px,auto) !important;
  }
  .office-desktop-home .desktop-dashboard-grid>.desktop-panel:last-child { grid-column: auto !important; }
  .office-desktop-home .desktop-quick-card {
    grid-template-columns: 36px minmax(0,1fr) 15px !important;
    gap: 7px !important;
    padding: 11px !important;
  }
  .office-desktop-home .desktop-quick-card.metric-only { grid-template-columns: 36px minmax(0,1fr) !important; }
  .office-desktop-home .desktop-quick-card b { font-size: clamp(12px,1vw,16px) !important; }
  .office-desktop-home .desktop-quick-card strong { font-size: clamp(19px,1.65vw,26px) !important; }
}
@media (min-width:901px) and (max-width:1150px) {
  .office-desktop-home .desktop-quick-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .office-desktop-home .desktop-dashboard-grid { grid-template-columns: 1fr !important; }
}
@media (min-width:1401px) {
  .office-desktop-home .desktop-quick-card,
  .office-desktop-home .desktop-quick-card.metric-only {
    border-radius: 13px !important;
  }
  .office-desktop-home .desktop-quick-icon { border-radius: 9px !important; }
  .office-desktop-home .desktop-quick-card b { font-size: 14px !important; line-height: 1.15 !important; }
  .office-desktop-home .desktop-quick-card small { font-size: 10px !important; line-height: 1.25 !important; }
  .office-desktop-home .desktop-quick-card strong {
    font-size: 23px !important;
    line-height: 1.15 !important;
    margin-top: 5px !important;
  }
  .office-desktop-home .desktop-quick-card em { font-size: 9px !important; margin-left: 4px !important; }
  .office-desktop-home .desktop-quick-card i {
    width: 23px !important;
    height: 23px !important;
    font-size: 16px !important;
  }
  .office-desktop-home .desktop-panel { min-height: 325px !important; border-radius: 13px !important; }
  .office-desktop-home .desktop-panel-title { gap: 6px !important; }
  .office-desktop-home .desktop-panel-title b { font-size: 16px !important; line-height: 1.12 !important; }
  .office-desktop-home .desktop-panel-title span { font-size: 9px !important; }
  .office-desktop-home .fleet-alert-list,.office-desktop-home .gepo-employee-alert-list {
    height: 270px !important;
    max-height: 270px !important;
  }
  .office-desktop-home .fleet-alert-row { padding: 6px 5px !important; }
  .office-desktop-home .fleet-alert-icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    font-size: 20px !important;
  }
  .office-desktop-home .fleet-alert-text b {
    font-size: 12px !important;
    white-space: normal !important;
    overflow: visible !important;
    line-height: 1.15 !important;
  }
  .office-desktop-home .fleet-alert-text small { font-size: 10px !important; }
  .office-desktop-home .fleet-alert-status { min-height: 38px !important; padding: 6px 5px !important; }
  .office-desktop-home .gepo-doc-avatar {
    width: 34px !important;
    height: 34px !important;
    font-size: 19px !important;
  }
  .office-desktop-home .gepo-alert-name b { font-size: 12px !important; }
}
@media (min-width: 901px) {
  .office-desktop-home .desktop-dashboard-grid > .desktop-panel .desktop-panel-title b,
  .office-desktop-home .desktop-dashboard-grid > .desktop-panel:first-child .desktop-panel-title b,
  .office-desktop-home .desktop-dashboard-grid > .desktop-panel:last-child .desktop-panel-title b {
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1.23 !important;
    letter-spacing: 0 !important;
  }
  .office-desktop-home .desktop-panel-title {
    height: auto !important;
    min-height: 54px !important;
    padding: 9px 13px !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }
  .office-desktop-home .desktop-panel-title span,
  .office-desktop-home .desktop-panel-title button {
    font-size: 10px !important;
    line-height: 1.25 !important;
  }
  .office-desktop-home .desktop-quick-grid .desktop-quick-card b {
    font-size: 14px !important;
    line-height: 1.22 !important;
    font-weight: 900 !important;
  }
  .office-desktop-home .desktop-quick-grid .desktop-quick-card strong {
    font-size: 24px !important;
    line-height: 1.16 !important;
  }
  .office-desktop-home .desktop-quick-grid .desktop-quick-card small {
    font-size: 10px !important;
    line-height: 1.28 !important;
  }
  .office-desktop-home .desktop-quick-grid .desktop-quick-card {
    align-items: center !important;
    min-width: 0 !important;
    min-height: 100px !important;
    padding: 11px 12px !important;
  }
  .office-desktop-home .desktop-quick-grid .desktop-quick-card > div { min-width: 0 !important; }
  .office-desktop-home .desktop-dashboard-grid .desktop-panel { min-width: 0 !important; }
  .office-desktop-home .desktop-panel-title b { min-width: 0 !important; }
}
@media (min-width: 901px) and (max-width: 1370px) {
  .office-desktop-home .desktop-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .office-desktop-home .desktop-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .office-desktop-home .desktop-dashboard-grid > .desktop-panel:last-child { grid-column: 1 / -1 !important; }
}
@media (max-width: 900px) {
  .office-desktop-home .desktop-dashboard-grid > .desktop-panel .desktop-panel-title b,
  .office-desktop-home .desktop-dashboard-grid > .desktop-panel:first-child .desktop-panel-title b,
  .office-desktop-home .desktop-dashboard-grid > .desktop-panel:last-child .desktop-panel-title b {
    font-size: 16px !important;
    line-height: 1.25 !important;
  }
}
@media (min-width:1401px) {
  .office-desktop-home.desktop-home {
    display: grid !important;
    grid-template-rows: clamp(128px, 18vh, 175px) auto minmax(265px, 1fr) auto !important;
    grid-auto-rows: auto !important;
    gap: 8px !important;
    align-content: start !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .office-desktop-home .desktop-hero {
    height: clamp(128px, 18vh, 175px) !important;
    min-height: 0 !important;
    max-height: 175px !important;
    aspect-ratio: auto !important;
    background-size: 100% 100% !important;
    background-position: center center !important;
  }
  .office-desktop-home .desktop-quick-grid {
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 8px !important;
    height: auto !important;
  }
  .office-desktop-home .desktop-quick-card,
  .office-desktop-home .desktop-quick-card.metric-only {
    height: auto !important;
    min-height: 82px !important;
    padding: 8px 10px !important;
    gap: 8px !important;
    grid-template-columns: 30px minmax(0,1fr) 16px !important;
  }
  .office-desktop-home .desktop-quick-card.metric-only { grid-template-columns: 30px minmax(0,1fr) !important; }
  .office-desktop-home .desktop-quick-icon {
    width: 30px !important;
    height: 30px !important;
    font-size: 16px !important;
  }
  .office-desktop-home .desktop-quick-grid .desktop-quick-card b { font-size: 13px !important; }
  .office-desktop-home .desktop-quick-grid .desktop-quick-card strong {
    font-size: 21px !important;
    margin-top: 2px !important;
  }
  .office-desktop-home .desktop-dashboard-grid {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    grid-auto-rows: minmax(265px,auto) !important;
    min-height: 265px !important;
    gap: 8px !important;
    height: auto !important;
  }
  .office-desktop-home .desktop-dashboard-grid>.desktop-panel:last-child { grid-column: auto !important; }
  .office-desktop-home .desktop-dashboard-grid .desktop-panel { height: auto !important; min-height: 265px !important; }
  .office-desktop-home .desktop-panel-title { min-height: 42px !important; padding: 7px 11px !important; }
  .office-desktop-home .desktop-dashboard-grid .desktop-panel-title b { font-size: 15px !important; }
  .office-desktop-home .fleet-alert-list,
  .office-desktop-home .gepo-employee-alert-list {
    height: 240px !important;
    max-height: 240px !important;
    overflow-y: auto !important;
  }
  .office-desktop-home .fleet-alert-row { min-height: 54px !important; }
  .office-desktop-home .gepo-employee-alert { min-height: 54px !important; }
  .office-desktop-home .desktop-bottom-strip {
    height: auto !important;
    min-height: 42px !important;
    padding: 6px 12px !important;
    gap: 9px !important;
    border-bottom-width: 4px !important;
  }
}
@media (min-width:901px) and (max-width:1400px) {
  .office-desktop-home .desktop-hero { background-size: 100% 100% !important; }
  .office-desktop-home.desktop-home { height: auto !important; min-height: 0 !important; }
}
@media (min-width:901px) {
  .office-desktop-home .desktop-hero {
    background-image: url("/images/gepo_biuro_hero_propozycja.jpg?v=8150") !important;
    background-position: center center !important;
    height: clamp(180px, 16vw, 215px) !important;
    min-height: 180px !important;
    max-height: 215px !important;
    width: 100% !important;
    padding: 0 !important;
  }
  .desktop-sidebar {
    background-image: linear-gradient(to bottom,#151a1f 0%,#151a1f 41%,rgba(17,22,28,.96) 51%,rgba(17,22,28,.64) 75%,rgba(17,22,28,.36) 100%),
      url("/images/gepo_biuro_sidebar_propozycja.jpg?v=8150") !important;
    background-repeat: no-repeat !important;
  }
}
@media (min-width:901px) {
  .office-desktop-home .desktop-hero { background-size: 100% 100% !important; background-repeat: no-repeat !important; }
  .desktop-sidebar {
    background-size: 100% 100%,cover !important;
    background-position: center center,bottom center !important;
  }
}
@media (min-width:901px) {
  body:has(.office-desktop-home) { background: #f3f6fa !important; }
  body:has(.office-desktop-home) .desktop-sidebar {
    background: #ffffff !important;
    background-image: none !important;
    border-right: 1px solid #e6edf4 !important;
    box-shadow: none !important;
    color: #17253a !important;
  }
  body:has(.office-desktop-home) .desktop-side-brand { background: #fff !important; }
  body:has(.office-desktop-home) .desktop-side-logo-img {
    width: min(185px,88%) !important;
    height: 116px !important;
    max-height: 116px !important;
    object-fit: contain !important;
    filter: none !important;
  }
  body:has(.office-desktop-home) .desktop-side-role { background: #f2f5f9 !important; color: #17253a !important; }
  body:has(.office-desktop-home) .desktop-nav-item { color: #17253a !important; background: transparent !important; }
  body:has(.office-desktop-home) .desktop-nav-item:hover { background: #f4f6f9 !important; }
  body:has(.office-desktop-home) .desktop-nav-item.active,
  body:has(.office-desktop-home) .desktop-nav-item.is-active,
  body:has(.office-desktop-home) .desktop-nav-item[aria-current="page"] {
    background: #ec001b !important;
    color: white !important;
  }
  body:has(.office-desktop-home) .desktop-side-footer-brand { background: #fff !important; color: #15243b !important; }
  body:has(.office-desktop-home) .desktop-side-footer-brand span { display: none !important; }
  .office-desktop-home .desktop-hero.gepo-light-hero {
    display: flex !important;
    position: relative !important;
    isolation: isolate !important;
    width: 100% !important;
    border: 1px solid #e4eaf2 !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    background: #f9fbfd !important;
    box-shadow: 0 7px 24px rgba(25,42,66,.06) !important;
  }
  .office-desktop-home .desktop-hero.gepo-light-hero::before {
    content: "";
    position: absolute;
    z-index: -2;
    right: 0;
    top: 0;
    bottom: 0;
    width: 60%;
    background-image: url("/images/gepo_biuro_hero_technika.jpg?v=8150");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
  }
  .office-desktop-home .desktop-hero.gepo-light-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(90deg,#fbfdff 0%,#fbfdff 32%,rgba(251,253,255,.93) 47%,rgba(251,253,255,.28) 75%,rgba(251,253,255,.04) 100%);
  }
  .office-desktop-home .gepo-light-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    max-width: 72%;
    position: relative;
    z-index: 1;
  }
  .office-desktop-home .gepo-light-eyebrow {
    font-size: 11px !important;
    letter-spacing: .21em !important;
    color: #56677c !important;
    font-weight: 800 !important;
  }
  .office-desktop-home .gepo-light-eyebrow::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 3px;
    background: #e60020;
    vertical-align: middle;
    margin-right: 9px;
  }
  .office-desktop-home .gepo-light-hero-copy h2 {
    color: #12243c !important;
    line-height: 1.05 !important;
    letter-spacing: -.025em !important;
    font-weight: 900 !important;
    white-space: normal !important;
  }
  .office-desktop-home .gepo-light-hero-copy h2 span { color: #e60020 !important; }
  .office-desktop-home .gepo-light-hero-copy p {
    font-size: clamp(11px,.97vw,15px) !important;
    color: #50617a !important;
    line-height: 1.3 !important;
    margin: 0 !important;
  }
  .office-desktop-home .gepo-light-hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(8px,1.5vw,25px);
    margin-top: 22px;
    font-size: clamp(10px,.78vw,12px);
    font-weight: 800;
    color: #162d4c;
  }
  .office-desktop-home .gepo-light-hero-points span { white-space: nowrap; }
  .office-desktop-home .gepo-light-hero-features {
    position: absolute;
    right: 15px;
    top: 17px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
    font-size: 10px;
    font-weight: 800;
    color: #21364d;
    max-width: 28%;
    text-align: right;
    text-shadow: 0 1px 3px #fff;
  }
  .office-desktop-home .desktop-quick-card,.office-desktop-home .desktop-panel,.office-desktop-home .desktop-bottom-strip {
    background: #fff !important;
    box-shadow: 0 5px 20px rgba(24,40,66,.045) !important;
    border: 1px solid #e8edf4 !important;
  }
  .office-desktop-home .desktop-panel-title { border-bottom: 1px solid #e8edf4 !important; }
  .office-desktop-home .desktop-bottom-strip { background: #fff !important; border-bottom: 3px solid #df1430 !important; }
}
@media (max-width:900px) {
  .office-desktop-home .desktop-hero.gepo-light-hero {
    display: flex !important;
    min-height: 165px !important;
    height: auto !important;
    padding: 18px !important;
    box-sizing: border-box !important;
    background: linear-gradient(90deg,#fff 45%,rgba(255,255,255,.7)),url("/images/gepo_biuro_hero_technika.jpg?v=8150") center/cover !important;
  }
  .office-desktop-home .gepo-light-hero-copy h2 {
    font-size: clamp(21px,5vw,33px) !important;
    line-height: 1.08 !important;
    color: #14243a !important;
  }
  .office-desktop-home .gepo-light-hero-copy h2 span { color: #e60020 !important; }
  .office-desktop-home .gepo-light-hero-copy p { font-size: 12px !important; color: #50617a !important; }
  .office-desktop-home .gepo-light-hero-features { display: none !important; }
  .office-desktop-home .gepo-light-hero-points {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px;
    font-size: 10px;
  }
}
@media (min-width:901px) {
  .office-desktop-home .desktop-hero.gepo-light-hero::before {
    z-index: 0 !important;
    width: 60% !important;
    opacity: 1 !important;
    background-image: url("/images/gepo_biuro_hero_technika.jpg?v=8151") !important;
    background-size: cover !important;
    background-position: center !important;
  }
  .office-desktop-home .desktop-hero.gepo-light-hero::after {
    z-index: 1 !important;
    background: linear-gradient(90deg,#f9fbfd 0%,#f9fbfd 37%,rgba(249,251,253,.92) 45%,rgba(249,251,253,.18) 62%,transparent 78%) !important;
    pointer-events: none !important;
  }
  .office-desktop-home .gepo-light-hero-copy { z-index: 2 !important; max-width: 65% !important; }
  .office-desktop-home .gepo-light-hero-features { display: none !important; }
}
@media (min-width:901px) {
  body:has(.office-webapp) .desktop-sidebar {
    background: #fff !important;
    background-image: none !important;
    color: #17243b !important;
    border-right: 1px solid #e4eaf2 !important;
    box-shadow: none !important;
  }
  body:has(.office-webapp) .desktop-side-brand { background: #fff !important; color: #14243a !important; }
  body:has(.office-webapp) .desktop-side-logo-img { filter: none !important; object-fit: contain !important; }
  body:has(.office-webapp) .desktop-side-role { color: #13243d !important; }
  body:has(.office-webapp) .desktop-nav-item:hover { background: #f1f5f9 !important; }
  body:has(.office-webapp) .desktop-side-footer-brand { background: #fff !important; color: #17243b !important; }
  body:has(.office-webapp) .desktop-side-footer-brand,
  body:has(.office-webapp) .desktop-side-footer-brand * {
    text-shadow: none !important;
  }
  body:has(.office-webapp) .desktop-side-footer-brand span { display: block !important; }
  .office-desktop-home.desktop-home {
    display: grid !important;
    grid-template-rows: auto auto auto auto !important;
    grid-auto-rows: auto !important;
    align-content: start !important;
    gap: 8px !important;
    min-height: 0 !important;
    height: auto !important;
  }
  .office-desktop-home .desktop-hero.gepo-light-hero {
    box-sizing: border-box !important;
    min-height: 128px !important;
    height: clamp(128px,17vh,164px) !important;
    max-height: 164px !important;
    padding: 12px 20px !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
  }
  .office-desktop-home .gepo-light-hero-copy h2 { font-size: clamp(22px,2vw,32px) !important; margin: 7px 0 4px !important; }
  .office-desktop-home .gepo-light-hero-points { margin-top: 12px !important; }
  .office-desktop-home .desktop-quick-grid {
    height: auto !important;
    min-height: 0 !important;
    gap: 8px !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  }
  .office-desktop-home .desktop-quick-card,
  .office-desktop-home .desktop-quick-card.metric-only {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 76px !important;
    padding: 9px 10px !important;
    gap: 8px !important;
  }
  .office-desktop-home .desktop-dashboard-grid {
    height: auto !important;
    min-height: 0 !important;
    grid-auto-rows: minmax(250px,auto) !important;
    gap: 8px !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
  .office-desktop-home .desktop-dashboard-grid>.desktop-panel:last-child { grid-column: auto !important; }
  .office-desktop-home .desktop-dashboard-grid .desktop-panel { height: auto !important; min-height: 250px !important; }
  .office-desktop-home .desktop-panel-title { min-height: 38px !important; padding: 7px 10px !important; }
  .office-desktop-home .desktop-dashboard-grid .desktop-panel-title b { font-size: 15px !important; }
  .office-desktop-home .desktop-bottom-strip {
    height: auto !important;
    min-height: 38px !important;
    padding: 5px 10px !important;
    color: #14243a !important;
  }
  .office-desktop-home .desktop-bottom-strip,
  .office-desktop-home .desktop-bottom-strip * { opacity: 1 !important; }
  .office-desktop-home .desktop-bottom-strip small,
  .office-desktop-home .desktop-bottom-strip .muted {
    color: #526177 !important;
  }
}
@media (min-width:901px) and (max-width:1300px) {
  .office-desktop-home .desktop-quick-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .office-desktop-home .desktop-dashboard-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .office-desktop-home .desktop-dashboard-grid>.desktop-panel:last-child { grid-column: 1/-1 !important; }
}
@media (min-width:901px) and (max-width:1050px) {
  .office-desktop-home .desktop-dashboard-grid { grid-template-columns: minmax(0,1fr) !important; }
  .office-desktop-home .desktop-dashboard-grid>.desktop-panel:last-child { grid-column: auto !important; }
}
@media (min-width:901px) {
  .office-webapp .office-desktop-home .desktop-hero.gepo-light-hero {
    background-color: #f8fafc !important;
    background-image: linear-gradient(90deg,#f8fafc 0%,#f8fafc 38%,rgba(248,250,252,.92) 48%,rgba(248,250,252,.10) 77%,rgba(248,250,252,0) 100%),
      url("/images/gepo_biuro_hero_technika.jpg?v=8153") !important;
    background-repeat: no-repeat,no-repeat !important;
    background-size: 100% 100%, auto 100% !important;
    background-position: center,right center !important;
    isolation: auto !important;
  }
  .office-webapp .office-desktop-home .desktop-hero.gepo-light-hero::before,
  .office-webapp .office-desktop-home .desktop-hero.gepo-light-hero::after {
    content: none !important;
    display: none !important;
  }
  .office-webapp .office-desktop-home .gepo-light-hero-copy {
    max-width: 67% !important;
    position: relative !important;
    z-index: 1 !important;
  }
  .office-webapp .desktop-inner-screen .office-page {
    padding: 10px 14px 20px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
  .office-webapp .desktop-inner-screen .office-page .screen-header {
    border-radius: 17px !important;
    box-shadow: 0 3px 12px rgba(0,0,0,.055) !important;
  }
  .office-webapp .desktop-inner-screen .office-page .screen-header-top { gap: 10px !important; }
  .office-webapp .desktop-inner-screen .office-page .screen-icon {
    font-size: 20px !important;
    border-radius: 11px !important;
  }
  .office-webapp .desktop-inner-screen .office-page .screen-header h2 { line-height: 1.1 !important; }
  .office-webapp .desktop-inner-screen .office-page .screen-header p {
    font-size: 11px !important;
    line-height: 1.35 !important;
    margin-top: 3px !important;
  }
  .office-webapp .desktop-inner-screen .office-page .screen-header .red-line {
    margin-top: 9px !important;
    height: 3px !important;
  }
  .office-webapp .desktop-inner-screen .office-page .office-project-grid {
    gap: 10px !important;
    margin-top: 10px !important;
  }
  .office-webapp .desktop-inner-screen .office-page .office-project-card {
    padding: 12px !important;
    border-radius: 14px !important;
  }
  .office-webapp .desktop-inner-screen .office-page .office-project-number { font-size: 25px !important; }
  .office-webapp .desktop-inner-screen .office-page .office-project-progress { margin: 11px 0 7px !important; }
  .office-webapp .desktop-inner-screen .office-page .month-select { margin: 10px 0 !important; }
  .office-webapp .desktop-inner-screen .office-page .month-select button { height: 38px !important; }
}
@media (max-width:900px) {
  .office-webapp .office-desktop-home .desktop-hero.gepo-light-hero {
    background-image: linear-gradient(90deg,#f8fafc 0%,rgba(248,250,252,.93) 62%,rgba(248,250,252,.45) 100%),url("/images/gepo_biuro_hero_technika.jpg?v=8153") !important;
    background-size: 100% 100%,auto 100% !important;
    background-position: center,right center !important;
  }
  .office-webapp .office-desktop-home .desktop-hero.gepo-light-hero::before,
  .office-webapp .office-desktop-home .desktop-hero.gepo-light-hero::after {
    content: none !important;
    display: none !important;
  }
}
@media (min-width:901px) {
  body:has(.office-webapp) .desktop-sidebar,
  .office-webapp .desktop-sidebar {
    background: #fff !important;
    background-image: none !important;
    border-right: 1px solid #e5eaf2 !important;
    color: #17243b !important;
  }
  body:has(.office-webapp) .desktop-side-brand,
  body:has(.office-webapp) .desktop-side-role,
  body:has(.office-webapp) .desktop-side-footer-brand {
    background-color: #fff !important;
    background-image: none !important;
    color: #17243b !important;
  }
  body:has(.office-webapp) .desktop-side-role { background: #f1f4f8 !important; }
  body:has(.office-webapp) .desktop-nav-item { color: #17243b !important; background: transparent !important; }
  body:has(.office-webapp) .desktop-nav-item.active,
  body:has(.office-webapp) .desktop-nav-item.is-active,
  body:has(.office-webapp) .desktop-nav-item[aria-current="page"] {
    color: #fff !important;
    background: #ed001c !important;
  }
  body:has(.office-webapp) .desktop-side-footer-brand,
  body:has(.office-webapp) .desktop-side-footer-brand * {
    color: #17243b !important;
    opacity: 1 !important;
  }
  .office-webapp .office-desktop-home.desktop-home {
    grid-template-rows: auto auto auto auto !important;
    align-content: start !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 7px !important;
  }
  .office-webapp .office-desktop-home .desktop-hero.gepo-light-hero {
    height: clamp(108px,14vh,145px) !important;
    min-height: 108px !important;
    max-height: 145px !important;
    padding: 10px 18px !important;
  }
  .office-webapp .office-desktop-home .gepo-light-hero-copy h2 { font-size: clamp(20px,1.85vw,29px) !important; }
  .office-webapp .office-desktop-home .gepo-light-hero-points { margin-top: 7px !important; }
  .office-webapp .office-desktop-home .desktop-quick-card { min-height: 66px !important; padding: 7px 10px !important; }
  .office-webapp .office-desktop-home .desktop-dashboard-grid .desktop-panel { min-height: 220px !important; }
  .office-webapp .office-desktop-home .desktop-dashboard-grid { grid-auto-rows: minmax(220px,auto) !important; }
  .office-webapp .office-desktop-home .desktop-bottom-strip { min-height: 30px !important; padding: 4px 9px !important; }
  .office-webapp .office-calendar-toolbar { margin: 6px 0 !important; gap: 6px !important; }
  .office-webapp .office-calendar-weekdays div { padding: 5px !important; }
  .office-webapp .office-calendar-cell {
    box-sizing: border-box !important;
    min-height: clamp(52px,9.1vh,76px) !important;
    height: clamp(52px,9.1vh,76px) !important;
    padding: 5px !important;
  }
  .office-webapp .office-calendar-cell .day-number { font-size: 13px !important; margin-bottom: 3px !important; }
  .office-webapp .office-calendar-cell small,
  .office-webapp .office-calendar-cell em {
    font-size: 9px !important;
    line-height: 1.15 !important;
    margin: 2px 0 !important;
    padding: 2px 3px !important;
  }
  .office-webapp .office-calendar-legend { font-size: 11px !important; gap: 9px !important; }
  .office-webapp .desktop-inner-screen .office-page .screen-header {
    padding: 9px 13px !important;
    margin-bottom: 8px !important;
  }
  .office-webapp .desktop-inner-screen .office-page .screen-icon {
    width: 35px !important;
    height: 35px !important;
    flex-basis: 35px !important;
  }
  .office-webapp .desktop-inner-screen .office-page .screen-header h2 { font-size: 18px !important; }
}


/* === GEPO V8.15.7 | SPÓJNA SKALA INTERFEJSU BIURO ===
   Jeden zestaw wymiarów dla wszystkich zakładek Biuro.
   Nie obejmuje kalendarza, panelu administratora ani pracownika.
   Nie modyfikuje wysokości głównego kontenera ani widoczności treści. */
body:has(.office-webapp) {
  --office-font-base: 13px;
  --office-font-muted: 11px;
  --office-font-section: 16px;
  --office-font-page: 21px;
  --office-control-height: 35px;
  --office-card-radius: 12px;
  --office-card-gap: 10px;
}
@media (min-width:901px) {
  body:has(.office-webapp) .desktop-top-title { font-size: 27px !important; letter-spacing: -.5px !important; }
  body:has(.office-webapp) .desktop-top-sub { font-size: 10px !important; letter-spacing: 2.5px !important; }
  body:has(.office-webapp) .desktop-nav-item { min-height: 37px !important; padding: 8px 11px !important; font-size: 12px !important; }
  body:has(.office-webapp) .desktop-side-role { font-size: 12px !important; }
  body:has(.office-webapp) .desktop-sidebar { background-color: #fff !important; background-image: none !important; }
  body:has(.office-webapp) .desktop-search-fake { height: 36px !important; font-size: 11px !important; }
  body:has(.office-webapp) .desktop-user-box b { font-size: 12px !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page { font-size: var(--office-font-base) !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page .screen-header h2 { font-size: var(--office-font-page) !important; line-height: 1.16 !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page .screen-header p { font-size: var(--office-font-muted) !important; line-height: 1.4 !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page .screen-header { padding: 9px 13px !important; margin-bottom: 9px !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page .screen-icon { width: 34px !important; height: 34px !important; flex-basis: 34px !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page h3:not(.office-calendar-cell h3),
  body:has(.office-webapp) .desktop-inner-screen .office-page .section-title { font-size: var(--office-font-section) !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page .office-employee-list { gap: var(--office-card-gap) !important; margin-top: 10px !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page .office-employee-row { min-height: 65px !important; padding: 10px 13px !important; border-radius: var(--office-card-radius) !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page .office-employee-name { font-size: 13px !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page .office-employee-meta { font-size: var(--office-font-muted) !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page .office-arrow { font-size: 21px !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page .office-project-grid { gap: var(--office-card-gap) !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page .office-project-card { border-radius: var(--office-card-radius) !important; padding: 13px !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page .office-project-number { font-size: 23px !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page input:not([type=checkbox]):not([type=radio]),
  body:has(.office-webapp) .desktop-inner-screen .office-page select { min-height: var(--office-control-height) !important; font-size: 13px !important; }
  body:has(.office-webapp) .desktop-inner-screen .office-page button:not(.office-calendar-toolbar button):not(.office-calendar-cell button) { font-size: 12px !important; }
  body:has(.office-webapp) .office-desktop-home .desktop-quick-grid { gap: 9px !important; }
  body:has(.office-webapp) .office-desktop-home .desktop-quick-card { border-radius: 12px !important; }
  body:has(.office-webapp) .office-desktop-home .desktop-dashboard-grid { gap: 9px !important; }
  body:has(.office-webapp) .office-desktop-home .desktop-dashboard-grid .desktop-panel { border-radius: 12px !important; }
  body:has(.office-webapp) .office-desktop-home .desktop-panel-title b { font-size: var(--office-font-section) !important; }
}
/* === KONIEC SKALI BIURO V8.15.7 === */

/* GEPO V8.15.9 — panel boczny Biuro: bez pustego offsetu i bez zależności od aktywnej podstrony. */
@media (min-width:901px) {
  body:has(.office-webapp) .desktop-sidebar,
  .office-webapp .desktop-sidebar {
    box-sizing: border-box !important;
    padding: 10px 10px 12px !important;
    background: #fff !important;
    background-image: none !important;
    border-right: 1px solid #e5eaf2 !important;
    box-shadow: none !important;
    color: #17243b !important;
    justify-content: flex-start !important;
  }
  body:has(.office-webapp) .desktop-side-brand,
  .office-webapp .desktop-side-brand {
    min-height: 104px !important;
    margin-top: 0 !important;
    padding-top: 2px !important;
    background: #fff !important;
  }
  body:has(.office-webapp) .desktop-side-logo-img,
  .office-webapp .desktop-side-logo-img {
    filter: none !important;
    object-fit: contain !important;
  }
  body:has(.office-webapp) .desktop-side-role,
  .office-webapp .desktop-side-role {
    background: #f1f4f8 !important;
    color: #17243b !important;
  }
  body:has(.office-webapp) .desktop-nav-item,
  .office-webapp .desktop-nav-item {
    color: #17243b !important;
    background: transparent !important;
  }
  body:has(.office-webapp) .desktop-nav-item:hover:not(.active),
  .office-webapp .desktop-nav-item:hover:not(.active) { background: #f1f5f9 !important; }
  body:has(.office-webapp) .desktop-nav-item.active,
  .office-webapp .desktop-nav-item.active {
    color: #fff !important;
    background: #ed001c !important;
  }
  body:has(.office-webapp) .desktop-nav-item.active .desktop-nav-arrow,
  .office-webapp .desktop-nav-item.active .desktop-nav-arrow { color: #fff !important; }
  /* Pulpit: wykorzystaj całą dostępną wysokość, z panelem alertów jako elastycznym wierszem. */
  .office-webapp > .desktop-layout.desktop-home-screen .office-page {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
  }
  .office-webapp > .desktop-layout.desktop-home-screen .office-desktop-home.desktop-home {
    flex: 1 0 auto !important;
    display: grid !important;
    width: 100% !important;
    min-height: 100% !important;
    height: auto !important;
    grid-template-rows: auto auto minmax(220px,1fr) auto !important;
    align-content: stretch !important;
    gap: 8px !important;
  }
  .office-webapp > .desktop-layout.desktop-home-screen .office-desktop-home .desktop-dashboard-grid {
    min-height: 0 !important;
    align-items: stretch !important;
  }
  .office-webapp > .desktop-layout.desktop-home-screen .office-desktop-home .desktop-dashboard-grid > .desktop-panel {
    min-height: 220px !important;
    height: 100% !important;
    max-height: none !important;
  }
  .office-webapp > .desktop-layout.desktop-home-screen .office-desktop-home .desktop-bottom-strip {
    align-self: end !important;
    margin-top: auto !important;
  }
}

/* GEPO V8.16.0: stała, identyczna nawigacja Biuro bez zależności od home/inner. */
@media (min-width:901px) {
  .office-webapp > .desktop-layout > .desktop-sidebar {
    box-sizing: border-box !important;
    height: 100vh !important;
    padding: 10px 10px 12px !important;
    margin: 0 !important;
    align-self: stretch !important;
    justify-content: flex-start !important;
    background: #fff !important;
    background-image: none !important;
    color: #17243b !important;
    border-right: 1px solid #e5eaf2 !important;
    box-shadow: none !important;
  }
  .office-webapp > .desktop-layout > .desktop-sidebar > .desktop-side-brand {
    display: flex !important;
    min-height: 104px !important;
    height: 104px !important;
    padding: 2px 6px 8px !important;
    margin: 0 !important;
    background: #fff !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .office-webapp > .desktop-layout > .desktop-sidebar .desktop-side-logo-img {
    display: block !important;
    height: 100px !important;
    max-height: 100px !important;
    width: 145px !important;
    max-width: 92% !important;
    object-fit: contain !important;
    filter: none !important;
  }
  .office-webapp > .desktop-layout > .desktop-sidebar > .desktop-side-role {
    min-height: 30px !important;
    margin: 0 0 10px !important;
    background: #f1f4f8 !important;
    color: #17243b !important;
  }
  .office-webapp > .desktop-layout > .desktop-sidebar .desktop-nav-item {
    color: #17243b !important;
    background: transparent !important;
  }
  .office-webapp > .desktop-layout > .desktop-sidebar .desktop-nav-item.active {
    color: #fff !important;
    background: #ed001c !important;
  }
  .office-webapp > .desktop-layout > .desktop-sidebar .desktop-nav-item.active .desktop-nav-arrow {
    color: #fff !important;
  }
}


/* GEPO V8.16.2 — jasny Administrator; wyłącznie klasa admin-webapp.
   Nie zmienia Biura, Pracownika ani kalendarza. */
@media (min-width: 901px) {
  .admin-webapp > .desktop-layout { background: #f1f3f6 !important; color: #17243b !important; }
  .admin-webapp > .desktop-layout > .desktop-sidebar {
    padding: 10px 10px 12px !important; margin: 0 !important;
    display: flex !important; flex-direction: column !important; justify-content: flex-start !important;
    background: #fff !important; background-image: none !important;
    border-right: 1px solid #e4e8ef !important; box-shadow: none !important; color: #17243b !important;
  }
  .admin-webapp .desktop-side-brand {
    height: 104px !important; min-height: 104px !important; padding: 2px 6px 8px !important;
    margin: 0 !important; display: flex !important; align-items: center !important;
    justify-content: center !important; background: #fff !important;
  }
  .admin-webapp .desktop-side-logo-img {
    display: block !important; height: 100px !important; width: 145px !important;
    max-width: 92% !important; object-fit: contain !important; filter: none !important;
  }
  .admin-webapp .desktop-side-role,
  .admin-webapp .admin-role-pill {
    background: #f1f4f8 !important; color: #17243b !important;
    border: 0 !important; margin: 0 0 10px !important;
    min-height: 30px !important; border-radius: 18px !important;
  }
  .admin-webapp .desktop-nav { background: transparent !important; }
  .admin-webapp .desktop-nav-item {
    color: #17243b !important; background: transparent !important;
    border: 0 !important; box-shadow: none !important; border-radius: 9px !important;
  }
  .admin-webapp .desktop-nav-item .desktop-nav-icon,
  .admin-webapp .desktop-nav-item .desktop-nav-arrow { color: #17243b !important; }
  .admin-webapp .desktop-nav-item.active {
    background: #ed001c !important; color: #fff !important;
    box-shadow: 0 4px 10px rgba(237,0,28,.12) !important;
  }
  .admin-webapp .desktop-nav-item.active .desktop-nav-icon,
  .admin-webapp .desktop-nav-item.active .desktop-nav-arrow { color: #fff !important; }
  .admin-webapp .admin-nav-label { color: #6f7c90 !important; }
  .admin-webapp .desktop-side-spacer { background: transparent !important; }
  .admin-webapp .desktop-admin-footer-cover {
    background: #fff !important; color: #17243b !important;
    border-top: 1px solid #e6e9f0 !important;
  }
  .admin-webapp .desktop-admin-footer-cover span { color: #65768b !important; }
  .admin-webapp .desktop-topbar {
    background: #fff !important; color: #17243b !important; border-bottom: 1px solid #e8ecf2 !important;
  }
  .admin-webapp .admin-home-hero,
  .admin-webapp .admin-home-hero-v14 {
    background: linear-gradient(90deg,#f8fafd 0%,#f8fafd 47%,rgba(248,250,253,.87) 68%,rgba(248,250,253,.16) 100%),
      url('/images/gepo_biuro_hero_technika.jpg') right center / auto 100% no-repeat !important;
    color: #17243b !important; border: 1px solid #e5eaf1 !important;
    box-shadow: 0 4px 14px rgba(25,39,57,.06) !important;
  }
  .admin-webapp .admin-home-hero-copy h1 {
    font-size: clamp(26px,2.5vw,38px) !important; letter-spacing: -.5px !important;
    line-height: 1.07 !important; background: none !important; color: #142841 !important;
    -webkit-text-fill-color: #142841 !important;
  }
  .admin-webapp .admin-home-hero-copy p { color: #4a5e79 !important; font-size: 13px !important; }
  .admin-webapp .admin-home-hero .desktop-hero-eyebrow { color: #51647e !important; }
  .admin-webapp .admin-home-badge {
    background: #ed001c !important; color: #fff !important; border: none !important;
    width: 68px !important; height: 68px !important; font-size: 13px !important;
  }
  .admin-webapp .admin-home-kpis button,
  .admin-webapp .admin-home-panel,
  .admin-webapp .admin-dashboard-grid-v14 > .desktop-panel {
    background: #fff !important; color: #17243b !important;
    border: 1px solid #e9edf3 !important; box-shadow: 0 3px 12px rgba(25,39,57,.06) !important;
  }
  .admin-webapp .admin-home-kpis b,
  .admin-webapp .admin-home-panel-title b { color: #17243b !important; }
  .admin-webapp .admin-home-kpis small,
  .admin-webapp .admin-home-kpis em { color: #63758d !important; }
  .admin-webapp .admin-page { background: #f1f3f6 !important; }
}

/* GEPO V8.16.3 – employee mobile/desktop separation.
   The employee home renders two alternatives. Keep the desktop dashboard
   hidden at mobile widths; only show it in the existing desktop breakpoint. */
@media (max-width: 900px) {
  .employee-webapp .employee-v12-home { display: none !important; }
  .employee-webapp .mobile-home-only { display: block !important; }
}
@media (min-width: 901px) {
  .employee-webapp .employee-v12-home { display: grid; }
  .employee-webapp .mobile-home-only { display: none !important; }
}

/* GEPO UJEDNOLICENIE 22-10: kalendarz, pojazdy i katalogi */
.office-calendar-toolbar {display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;}
.gepo-month-nav{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;min-width:210px;}
.gepo-month-nav b{font-size:16px;white-space:nowrap;text-align:center;min-width:155px;}
.gepo-month-nav button{display:inline-flex!important;align-items:center;justify-content:center;width:42px!important;height:40px!important;min-width:42px!important;border:1px solid #aab4bf!important;background:#fff!important;color:#132039!important;border-radius:10px!important;font-size:20px!important;font-weight:900!important;cursor:pointer!important;}
.office-calendar-toolbar #calendarAddBtn{flex:0 0 auto;}
.fleet-module,.office-webapp .fleet-module,.admin-webapp .fleet-module{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;}
.fleet-list,.fleet-toolbar,.fleet-module>.search{width:100%!important;max-width:none!important;box-sizing:border-box!important;}
.gepo-folder{margin:6px 0!important;min-height:62px!important;}
.gepo-catalog-caption{padding:10px 14px;margin:8px 0;background:#fff;border:1px solid #e3e7ee;border-radius:11px;color:#667085;font-size:12px;font-weight:750;}
@media(max-width:650px){.office-calendar-toolbar{justify-content:center!important}.gepo-month-nav{width:100%;flex-basis:100%}.office-calendar-toolbar #calendarAddBtn{margin-left:auto}}

/* GEPO V8.16 – poprawki zbiorcze: nawigacja miesieczna i szczegoly floty */
.month-select {display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;margin:14px auto!important;width:100%!important;}
.month-select .month-name{flex:0 0 auto!important;min-width:148px!important;font-size:17px!important;white-space:nowrap!important;}
.month-select button,.gepo-month-nav button{flex:0 0 42px!important;width:42px!important;min-width:42px!important;height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid #cdd4df!important;border-radius:12px!important;background:white!important;color:#182135!important;font-size:29px!important;line-height:1!important;font-weight:700!important;cursor:pointer!important;box-shadow:0 1px 2px #14203614!important;}
.month-select button:hover,.gepo-month-nav button:hover{background:#f4f6fa!important;border-color:#69798d!important;}
.gepo-month-nav{flex:0 1 auto!important;width:auto!important;min-width:0!important;margin:0 auto!important;gap:10px!important;}
.gepo-month-nav b{flex:0 0 auto!important;min-width:148px!important;}
.office-calendar-toolbar{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;}
.office-calendar-toolbar .gepo-month-nav{grid-column:2!important;grid-row:1!important;}
.office-calendar-toolbar #calendarAddBtn{grid-column:3!important;grid-row:1!important;justify-self:end!important;}
.fleet-module,.fleet-module .fleet-edit,.fleet-module .fleet-display{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;}
@media(max-width:650px){.office-calendar-toolbar{display:flex!important;flex-direction:column!important;align-items:stretch!important;}.office-calendar-toolbar .gepo-month-nav{align-self:center!important;}.office-calendar-toolbar #calendarAddBtn{align-self:stretch!important;width:100%!important;}.month-select .month-name,.gepo-month-nav b{min-width:125px!important;font-size:14px!important;}.fleet-display .fleet-read-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}

/* GEPO: jednolity NAGŁÓWEK MODUŁU, nie kategorie ani pozycje listy. */
.screen-header{margin-bottom:16px!important;}
.screen-header .screen-header-top{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:8px!important;}
.screen-header .screen-header-top>.grow{width:100%!important;text-align:center!important;}
.screen-header .screen-icon{margin:0 auto!important;}
.screen-header h2,.screen-header p{text-align:center!important;}
.admin-desktop-layout .screen-header,.office-webapp .screen-header{width:100%!important;box-sizing:border-box!important;}
@media(min-width:700px){.admin-desktop-layout .screen-header,.office-webapp .screen-header{padding:20px 22px!important;}}
/* Wyłącznie strzałki zmiany miesiąca z poprzedniej wersji. */

.month-select button,.gepo-month-nav button{
  font-size:0!important;position:relative!important;
  width:44px!important;height:44px!important;min-width:44px!important;
  border-radius:12px!important;border:1px solid #cfd8e3!important;
}
.month-select button:before,.gepo-month-nav button:before{display:block;font-size:29px!important;line-height:1!important;font-weight:800!important;color:#17233b!important;}
#prevMonth:before,#calendarPrev:before{content:'❮'}
#nextMonth:before,#calendarNext:before{content:'❯'}

.office-webapp .desktop-inner-screen .office-page .screen-header .screen-header-top{flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;}
.office-webapp .desktop-inner-screen .office-page .screen-header .screen-header-top>.grow{text-align:center!important;width:100%!important;}

/* Centrum powiadomien — link administratora */
a.menu-card,a.desktop-nav-item{color:inherit;text-decoration:none;cursor:pointer;box-sizing:border-box;}
a.menu-card{display:flex;align-items:center;}
a.desktop-nav-item{display:flex;align-items:center;width:100%;}
.gepo-notifications-home-link{margin:0 0 14px;}
.gepo-notifications-home-link .desktop-nav-item{border:1px solid rgba(127,127,127,.22);border-radius:14px;padding:14px 18px;}

/* Google Drive reports - GEPO office */
.gepo-report-file{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e7e9ec;min-width:0}.gepo-report-file .grow{min-width:0;overflow-wrap:anywhere}.gepo-report-file b{display:block;font-size:13px}.gepo-report-file small{display:block;color:#667085;margin-top:4px}.gepo-report-upload-label{display:block;cursor:pointer;text-align:center;padding:15px;border:1px dashed #b6c1cb;background:#f6f8fa;border-radius:12px;font-weight:800;margin:18px 0 10px}.gepo-report-modal{max-width:100%}.gepo-report-download{flex-shrink:0}
