:root { --cell:34px; }
body { background:#f5f6f8; }

/* ===== Логин ===== */
.login-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; }
.login-card { width:100%; max-width:360px; }
.login-brand-logo{display:block;width:190px;max-width:72%;height:auto;margin:3px auto 22px}

/* Рабочие цвета ячеек */
.ts-table .code-С   { background:#ff9d9d; color:#827717; }
.ts-table .code-Я   { background:#e8f5e9; color:#1b5e20; }
.ts-table .code-Н   { background:#d7ccc8; color:#3e2723; }
.ts-table .code-РВ  { background:#c8e6c9; color:#1b5e20; }



.ts-table [class*="code-"] { font-weight:600; }


/* ===== Вкладки ===== */
.nav-tabs-app .nav-link { color:#dbe7ff; }
.nav-tabs-app .nav-link.active { background:#fff; color:#0d6efd; border-radius:6px; }

/* ===== Табель ===== */
/* .ts-wrap { max-height:72vh; overflow:auto; } -это скрол табеля*/
.ts-wrap {
  max-height: none;      /* убираем ограничение высоты */
  overflow-y: visible;   /* убираем вертикальный скролл */
  overflow-x: auto;
}
.ts-table { border-collapse:separate; border-spacing:0; font-size:.8rem; }
.ts-table th, .ts-table td { text-align:center; vertical-align:middle; white-space:nowrap; padding:2px 4px; }
.ts-table thead th { position:sticky; top:0; z-index:5; background:#e9eef5; }
.ts-table .emp-col {
    position:sticky; left:0; z-index:6; background:#fff; text-align:left;
    min-width:200px; max-width:200px; box-shadow:2px 0 3px rgba(0,0,0,.06);
}
.ts-table thead .emp-col { z-index:7; background:#e9eef5; }
.ts-table .day-cell { width:var(--cell); min-width:var(--cell); cursor:pointer; }
.ts-table .day-cell:hover { outline:2px solid #0d6efd; }
.ts-table .total-col { background:#f0f4ff; font-weight:600; }

/* Выходные и праздники */
.ts-table .weekend { background:#fbecec; }
.ts-table th.weekend { background:#f3d6d6; }
.ts-table .holiday { background:#ffe1c2 !important; }

/* Цвета кодов (как в исходной таблице) */
.code-Я   { background:#e8f7e8; }     /* явка — зелёный */
.code-РВ, .code-С { background:#cdeccd; }
.code-К, .code-КВД { background:#fff4b3; }  /* командировка — жёлтый */
.code-ОТ, .code-ОД, .code-У, .code-Р, .code-ОЖ { background:#cfe2ff; } /* отпуск — синий */
.code-Б   { background:#f0d6f7; }     /* больничный */
.code-Н, .code-ПР, .code-НН { background:#f8d7da; } /* нарушения */
.code-В, .code-ОВ { color:#999; }
.code-МО { background:#e8edf5; color:#536277; font-weight:700; }

.cell-note::after { content:'•'; color:#0d6efd; font-size:1.2em; vertical-align:super; }
.code-В.cell-note::after { content:none; }
.code-МО.cell-note::after { content:none; }
.cell-overtime { box-shadow:inset 0 0 0 2px #dc3545; }

/* ===== Алерты медосмотра ===== */
.alert-expire { color:#b02a37; font-weight:600; }
.warn-soon { color:#b8860b; font-weight:600; }

/* ===== Сводка ===== */
.sticky-summary { position:sticky; top:80px; }

/* ===== Адаптив ===== */
@media (max-width:991px){
  .sticky-summary{ position:static; margin-top:1rem; }
  .ts-table .emp-col{ min-width:140px; max-width:140px; font-size:.72rem; }
}
.presets .btn { padding:.1rem .4rem; margin-left:.2rem; }

.cal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:992px){.cal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cal-grid{grid-template-columns:1fr}}
.cal-month{border:1px solid #dee2e6;border-radius:8px;padding:8px}
.cal-mname{font-weight:600;text-align:center;margin-bottom:6px}
.cal-dows,.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.cal-dows span{font-size:11px;color:#888}
.cal-day{padding:6px 0;border-radius:4px;cursor:pointer;font-size:13px;transition:.1s}
.cal-day:hover{outline:2px solid #0d6efd}
.cal-empty{}
.d-weekend{color:#adb5bd}
.d-holiday{background:#ffd6d6;color:#c00;font-weight:600}
.d-pre{background:#fff3cd;color:#856404}
.d-work{background:#d4edda;color:#155724;font-weight:600}
.cal-legend .lg{display:inline-block;width:14px;height:14px;border-radius:3px;margin:0 4px 0 12px;vertical-align:middle}

/* ===== Производственный календарь ===== */
.cal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
}
.cal-month {
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 8px;
  background: #fff;
}
.cal-mname {
  text-align: center;
  font-weight: 600;
  margin-bottom: 4px;
}
.cal-dows, .cal-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}
.cal-dows span {
  text-align: center;
  font-size: 0.75rem;
  color: #6c757d;
  font-weight: 500;
}
.cal-day, .cal-empty {
  text-align: center;
  padding: 4px 0;
  font-size: 0.85rem;
  border-radius: 3px;
  cursor: pointer;
  user-select: none;
}
.cal-day:hover { background: #e7f1ff; outline: 1px solid #0d6efd; }
.cal-empty { visibility: hidden; }

.cal-day.d-holiday { background: #f8d7da; color: #842029; font-weight: 600; }
.cal-day.d-pre     { background: #fff3cd; color: #664d03; }
.cal-day.d-work    { background: #d1e7dd; color: #0f5132; font-weight: 600; }
.cal-day.d-weekend { color: #dc3545; }

.cal-legend { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.cal-legend .lg {
  display: inline-block; width: 14px; height: 14px;
  border-radius: 3px; vertical-align: middle; margin-right: 4px;
}
.cal-legend .d-holiday { background: #f8d7da; }
.cal-legend .d-pre     { background: #fff3cd; }
.cal-legend .d-work    { background: #d1e7dd; }
.cal-legend .d-weekend { background: transparent; border: 1px solid #dc3545; }

/* Отчёты */
.reports-table th, .reports-table td { vertical-align: middle; }
.print-only { display: none; }
.report-print-brand{align-items:center;gap:14px;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #168bff}.report-print-brand img{display:block;width:140px;height:auto}.report-print-brand span{padding-left:14px;border-left:1px solid #dbe3ee;color:#2563eb;font-size:10px;font-weight:800;letter-spacing:.08em}

@media print {
  .navbar, .nav-tabs-app, .no-print, #logoutBtn { display: none !important; }
  .tab-pane-app.d-none { display: none !important; }
  .print-only { display: block !important; }
  .report-print-brand.print-only { display: flex !important; }
  body { background: #fff; }
  .reports-table { font-size: 11px; }
  .reports-table .badge { border: 1px solid #999; color: #000 !important; background: transparent !important; }
  @page { size: landscape; margin: 1cm; }
}

.reports-table .emp-cell { width: 220px; max-width: 220px; }
.reports-table .emp-position {
  font-size: 11px;
  color: #6c757d;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}


/* ТАБЕЛЬ: обрезка должности (узкая колонка) */
.emp-position-ts {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px;
  display: block;
}

/* ОТЧЁТЫ: должность ПОЛНОСТЬЮ, с переносом строк */
.reports-table .emp-position {
  font-size: 12px;
  color: #6c757d;
  white-space: normal;        /* перенос разрешён */
  word-break: break-word;
}
.reports-table .emp-pos-cell {
  min-width: 180px;
  max-width: 280px;
}

/* Разделители строк */
#tsBody td {
  border-bottom: 2px solid #cdd5df;
}
#tsBody tr:last-child td {
  border-bottom: none;
}

/* Подсветка строки при наведении */
#tsBody tr:hover td {
  background-color: #eef4ff !important;
}

/* Рабочие цвета ячеек */
.ts-table .code-К   { background:#bbdefb; color:#0d47a1; }
.ts-table .code-КВД { background:#90caf9; color:#0d47a1; }
/* Отпуска */
.ts-table .code-ОТ  { background:#fcff32; color:#856404; }
.ts-table .code-ОД  { background:#ffe8a1; color:#7a5c00; }
.ts-table .code-У   { background:#d4edda; color:#155724; }
.ts-table .code-Р   { background:#f8d7e3; color:#8a1c45; }
.ts-table .code-ОЖ  { background:#fde0ef; color:#8a1c45; }
.ts-table .code-ОВ  { background:#e2e3ff; color:#3b3f8c; }
/* Болезнь */
.ts-table .code-Б   { background:#d1ecf1; color:#0c5460; }
/* Нарушения */
.ts-table .code-ПР  { background:#f8d7da; color:#721c24; }
.ts-table .code-НН  { background:#ffd6c2; color:#a14a00; }

/* ===== Обновлённая оболочка приложения ===== */
:root { --app-blue:#155eef; --app-ink:#172033; --app-muted:#687386; --app-border:#dfe5ee; --app-surface:#fff; --app-bg:#f3f6fb; }
.app-body { background:var(--app-bg); color:var(--app-ink); }
.app-navbar { background:linear-gradient(110deg,#0d47c7,#1769ee 62%,#287cf5); box-shadow:0 8px 24px rgba(20,55,115,.16); padding:.65rem .9rem; }
.app-brand { display:flex; align-items:center; gap:.65rem; line-height:1.05; }
.app-brand small { display:block; margin-top:.2rem; font-size:.68rem; font-weight:400; opacity:.72; }
.brand-mark { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.24); font-weight:800; }
.nav-tabs-app { gap:.2rem; flex-wrap:nowrap; }
.nav-tabs-app .nav-link { padding:.55rem .7rem; border-radius:8px; font-size:.88rem; white-space:nowrap; }
.nav-tabs-app .nav-link:hover { color:#fff; background:rgba(255,255,255,.1); }
.nav-tabs-app .nav-link.active { box-shadow:0 5px 14px rgba(4,35,92,.18); }
.btn-nav-logout { color:#fff; border:1px solid rgba(255,255,255,.4); white-space:nowrap; }
.btn-nav-logout:hover { background:#fff; color:var(--app-blue); }

.timesheet-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; border:1px solid var(--app-border); border-radius:14px; background:var(--app-surface); box-shadow:0 5px 18px rgba(32,54,89,.05); }
.period-workflow{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:1.25rem;align-items:center;padding:1rem 1.2rem;border:1px solid var(--app-border);border-radius:16px;background:var(--app-surface);box-shadow:0 5px 18px rgba(32,54,89,.05)}.period-workflow small{color:var(--app-muted);font-size:.68rem;letter-spacing:.08em}.period-title{display:flex;align-items:center;gap:.65rem;font-size:1.12rem}.period-workflow p{margin:.2rem 0 0;color:var(--app-muted);font-size:.78rem}.period-status{padding:.3rem .65rem;border-radius:999px;background:#eef2f7;font-size:.72rem;font-weight:700}.period-status.submitted{background:#fff3cd;color:#7a5700}.period-status.returned{background:#ffe5d0;color:#9a4100}.period-status.approved{background:#d9f2e4;color:#176b3a}.period-status.closed{background:#e1e7ef;color:#34465d}.period-progress{display:flex;gap:.55rem}.period-progress span{min-width:72px;padding:.5rem .65rem;border-radius:10px;background:#f6f8fb;text-align:center}.period-progress b,.period-progress small{display:block}.period-progress .bad b{color:#c53030}.period-progress .warn b{color:#b7791f}.period-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.period-locked{position:relative}.period-locked:before{content:'Режим просмотра';position:absolute;z-index:3;right:12px;top:8px;background:#34465d;color:white;border-radius:999px;padding:.25rem .6rem;font-size:.7rem}.validation-summary{display:grid;gap:.5rem;padding:1rem;border-radius:12px;background:#f6f8fb;margin-bottom:1rem}.validation-list{display:grid;gap:.55rem;margin-bottom:1rem}.validation-item{display:grid;gap:.2rem;padding:.7rem .85rem;border-left:3px solid #94a3b8;background:#f8fafc;border-radius:7px}.validation-item.danger{border-color:#dc3545}.validation-item.warning{border-color:#f59e0b}
@media(max-width:900px){.period-workflow{grid-template-columns:1fr}.period-progress{overflow-x:auto}.period-actions{justify-content:flex-start}}
.fleet-center{display:grid;gap:16px}.fleet-table td{vertical-align:middle}.vehicle-identity{display:flex;align-items:center;gap:10px;min-width:220px}.vehicle-identity small{display:block;color:var(--app-muted)}.vehicle-placeholder,.vehicle-photo{display:grid;place-items:center;background:#e8f0ff;color:#2563eb;border-radius:12px;width:42px;height:42px;font-size:20px}.vehicle-status{display:inline-flex;padding:.28rem .55rem;border-radius:999px;background:#eef2f7;font-size:.72rem;font-weight:700}.vehicle-status.in_service,.vehicle-status.valid{background:#dcfce7;color:#166534}.vehicle-status.repair,.vehicle-status.expired,.vehicle-status.accident{background:#fee2e2;color:#991b1b}.vehicle-status.maintenance,.vehicle-status.diagnostics,.vehicle-status.expiring{background:#fef3c7;color:#92400e}.vehicle-status.downtime,.vehicle-status.limited_operation{background:#ffedd5;color:#9a3412}.vehicle-profile-head{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:18px;background:var(--app-surface);border:1px solid var(--app-border);border-radius:16px}.vehicle-photo{width:92px;height:92px;font-size:38px}.vehicle-profile-head h2{margin:.4rem 0 .1rem}.vehicle-profile-head p{color:var(--app-muted)}.vehicle-head-facts{display:flex;gap:18px;flex-wrap:wrap}.vehicle-head-facts span{font-size:.75rem;color:var(--app-muted)}.vehicle-head-facts b{display:block;color:var(--app-text)}.vehicle-quick{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.vehicle-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.vehicle-history{display:grid;gap:10px}.vehicle-history>div{display:grid;grid-template-columns:150px 1fr;gap:3px 15px;border-left:3px solid #3b82f6;padding:10px 14px;background:#f8fafc}.vehicle-history small{grid-column:2}.vehicle-doc{display:grid;grid-template-columns:1fr auto;gap:5px;padding:12px;border-bottom:1px solid var(--app-border)}.vehicle-doc small{grid-column:1}.vehicle-qr{display:grid;place-items:center;gap:14px}.vehicle-qr code{font-size:.7rem}.staff-pagination{display:flex;justify-content:center;align-items:center;gap:12px}@media(max-width:900px){.vehicle-profile-head,.vehicle-overview{grid-template-columns:1fr}.vehicle-photo{width:64px;height:64px}.vehicle-quick{justify-content:flex-start}.fleet-table thead{display:none}.fleet-table,.fleet-table tbody,.fleet-table tr,.fleet-table td{display:block}.fleet-table tr{padding:14px;margin-bottom:10px;border:1px solid var(--app-border);border-radius:14px}.fleet-table td{border:0;padding:4px}.fleet-table td:nth-child(n+4):before{content:attr(data-label);color:var(--app-muted);margin-right:6px}}

/* Fleet registry filters */
.fleet-filter-card{background:#fff;border:1px solid #dfe5ee;border-radius:16px;padding:18px 20px;box-shadow:0 5px 18px rgba(35,45,65,.04)}
.fleet-filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.fleet-filter-head h3{font-size:15px;margin:0 0 3px;color:#182337;font-weight:750}.fleet-filter-head p{font-size:12px;color:#748094;margin:0}
.fleet-filter-reset{border:0;background:transparent;color:#2563eb;font-size:12px;font-weight:650;padding:4px 0;white-space:nowrap}.fleet-filter-reset:hover{color:#174ea6;text-decoration:underline}
.fleet-search-field{margin-bottom:14px}.fleet-filter-field label,.fleet-search-field>label{display:block;margin:0 0 6px;color:#596579;font-size:11px;font-weight:700}
.fleet-search-control{position:relative}.fleet-search-control>span{position:absolute;left:13px;top:50%;z-index:2;transform:translateY(-52%);color:#718096;font-size:22px;line-height:1;pointer-events:none}
.fleet-search-control .form-control{height:43px;padding-left:42px;background:#f8fafc;border-color:#dbe2ec;border-radius:10px;font-size:13px}.fleet-search-control .form-control:focus{background:#fff;border-color:#76a7ff;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.fleet-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:13px 14px}.fleet-filter-field .form-control,.fleet-filter-field .form-select{height:40px;background-color:#fff;border-color:#dbe2ec;border-radius:9px;font-size:12px;color:#263348}.fleet-filter-field .form-control:focus,.fleet-filter-field .form-select:focus{border-color:#76a7ff;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
@media(max-width:1050px){.fleet-filter-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media(max-width:620px){.fleet-filter-card{padding:15px}.fleet-filter-head p{display:none}.fleet-filter-grid{grid-template-columns:1fr}.fleet-filter-reset{font-size:11px}}
.month-switcher { display:flex; align-items:center; gap:.75rem; min-width:285px; }
.month-switcher small,.section-eyebrow { color:var(--app-muted); text-transform:uppercase; letter-spacing:.08em; font-size:.68rem; font-weight:700; }
.month-arrow { width:40px; height:40px; border:1px solid var(--app-border); font-weight:700; }
.toolbar-actions { display:flex; align-items:center; justify-content:flex-end; gap:1rem; flex:1; }
.norm-hours-group { width:290px; flex:0 0 290px; }
.norm-hours-group #normHours { min-width:72px; }
.timesheet-legend { display:flex; flex-wrap:wrap; gap:.9rem; padding:0 .25rem; color:var(--app-muted); font-size:.75rem; }
.timesheet-legend span { display:inline-flex; align-items:center; gap:.35rem; }
.timesheet-legend i { width:10px; height:10px; border-radius:3px; }
.legend-work{background:#bfe4c6}.legend-vacation{background:#ffe66a}.legend-sick{background:#c7e8ee}.legend-trip{background:#90caf9}.legend-weekend{background:#edf0f4;border:1px solid #d4dae3}
.ts-wrap {
  max-height:none;
  overflow-x:auto;
  overflow-y:visible;
  border:1px solid var(--app-border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 18px rgba(32,54,89,.04);
}
.ts-table { margin-bottom:0; }
.ts-table th,.ts-table td { border-color:#e1e6ed; }
.ts-table thead th { background:#edf2f8; color:#3b4659; height:44px; }
.ts-table .emp-col { min-width:220px; max-width:220px; padding-left:.7rem; }
.ts-table .today { box-shadow:inset 2px 0 var(--app-blue),inset -2px 0 var(--app-blue); }
.ts-table thead .today { background:#dce8ff; color:#0d47c7; }
.ts-table .weekend { background:#f2f4f7; }
.ts-table th.weekend { background:#e9edf2; }
.ts-table td.weekend.code-ОТ { background:#fcff32; color:#856404; }
.ts-table .column-hover {
  box-shadow:inset 0 0 0 9999px rgba(21,94,239,.11);
  outline:1px solid rgba(21,94,239,.2);
  outline-offset:-1px;
}
.ts-table thead .column-hover { color:#0d47c7; font-weight:800; }
.ts-floating-header {
  display:none;
  position:fixed;
  z-index:1025;
  overflow:hidden;
  pointer-events:none;
  background:#edf2f8;
  border-bottom:1px solid #cfd7e3;
  box-shadow:0 5px 12px rgba(24,45,80,.14);
}
.ts-floating-header .ts-table { table-layout:fixed; margin:0; }
.ts-floating-header .ts-table th { position:static; height:44px; background:#edf2f8; }
#tsBody td { border-bottom:1px solid #dfe5ec; }
#tsBody tr:hover td { filter:brightness(.97); }
.summary-card { border:1px solid var(--app-border); border-radius:14px; overflow:hidden; box-shadow:0 5px 18px rgba(32,54,89,.05); }
.summary-card .card-header { padding:1rem; background:#fff; border-bottom:1px solid var(--app-border); }
.summary-card .card-header small { display:block; color:var(--app-muted); font-weight:400; margin-top:.15rem; }

.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:1rem; }
.employee-filters { display:grid; grid-template-columns:minmax(240px,1fr) 190px; gap:.75rem; padding:1rem; background:#fff; border:1px solid var(--app-border); border-radius:12px; }
.employee-card { border:1px solid var(--app-border); border-radius:14px; box-shadow:0 4px 16px rgba(32,54,89,.04); transition:transform .16s,box-shadow .16s; }
.employee-card:hover { transform:translateY(-2px); box-shadow:0 9px 24px rgba(32,54,89,.09); }
.employee-card-head { display:flex; gap:.8rem; align-items:flex-start; }
.employee-avatar { flex:0 0 42px; height:42px; display:grid; place-items:center; border-radius:12px; background:#e8f0ff; color:var(--app-blue); font-weight:800; font-size:.8rem; }
.employee-position { color:var(--app-muted); font-size:.82rem; line-height:1.35; min-height:2.2em; }
.employee-meta { display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; margin-top:1rem; font-size:.82rem; }
.employee-meta a { color:var(--app-blue); text-decoration:none; }
.schedule-chip { padding:.3rem .55rem; border-radius:999px; background:#eef3fa; color:#35425a; font-weight:700; }
.employee-statuses { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.8rem; }
.employee-statuses .badge { font-weight:500; }
.employee-card .card-footer { padding-top:0; }

@media (min-width:1200px) { #appNavigation{min-width:0}.nav-tabs-app{overflow-x:auto;scrollbar-width:none}.nav-tabs-app::-webkit-scrollbar{display:none} }
@media (max-width:1199.98px) { #appNavigation{padding-top:.75rem}.nav-tabs-app{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin-bottom:.75rem}.nav-tabs-app .nav-link{color:#fff}.btn-nav-logout{width:100%} }
@media (max-width:767.98px) {
  .app-navbar{padding:.55rem .7rem}.app-brand small{display:none}.brand-mark{width:32px;height:32px}.nav-tabs-app{grid-template-columns:1fr 1fr}
  .timesheet-toolbar{align-items:stretch;flex-direction:column;padding:.75rem}.month-switcher{justify-content:center;min-width:0}.month-switcher h4{font-size:1.15rem}
  .toolbar-actions{display:grid;grid-template-columns:1fr auto;justify-content:stretch;gap:.75rem}.toolbar-actions .input-group{grid-column:1/-1;max-width:none!important}.norm-hours-group{width:100%;flex-basis:auto}
  .timesheet-legend{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.2rem}.timesheet-legend span{white-space:nowrap}.ts-table .emp-col{min-width:155px;max-width:155px}.ts-wrap{max-height:none}
  .section-heading{align-items:center}.section-heading .btn{font-size:.82rem}.employee-filters{grid-template-columns:1fr;padding:.75rem}
}

/* Табель занимает рабочую область целиком и не создаёт нижний горизонтальный скролл. */
#tab-timesheet .ts-wrap {
  width:100%;
  overflow-x:hidden;
}
#tab-timesheet .ts-table {
  width:100%;
  table-layout:fixed;
  font-size:clamp(8px,.62vw,11px);
}
#tab-timesheet .ts-table th,
#tab-timesheet .ts-table td {
  min-width:0;
  padding:2px 1px;
  overflow:hidden;
  text-overflow:ellipsis;
}
#tab-timesheet .ts-table .emp-col {
  width:clamp(125px,14vw,190px);
  min-width:0;
  max-width:none;
  padding-left:6px;
}
#tab-timesheet .ts-table .day-cell {
  width:auto;
  min-width:0;
}
#tab-timesheet .ts-table .total-col {
  width:34px;
  min-width:0;
}
#tab-timesheet .ts-table thead th,
#tab-timesheet .ts-floating-header .ts-table th {
  height:38px;
}
#tab-timesheet .sticky-summary {
  position:static;
  margin-top:.25rem;
}
#tab-timesheet #summaryBody {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:.75rem;
}
@media (max-width:767.98px) {
  #tab-timesheet .ts-table { font-size:7px; }
  #tab-timesheet .ts-table .emp-col { width:90px; padding-left:3px; }
  #tab-timesheet .ts-table .total-col { width:23px; }
  #tab-timesheet .ts-table thead th,
  #tab-timesheet .ts-floating-header .ts-table th { height:34px; }
}

/* ===== NORTHA shell ===== */
:root{--sc-navy:#111827;--sc-navy-2:#172033;--sc-blue:#2563eb;--sc-bg:#f4f6fa;--sc-text:#182034;--sc-muted:#7b8495;--sc-border:#e6e9ef}
body.app-body{margin:0;background:var(--sc-bg);color:var(--sc-text);font-family:Inter,"Segoe UI",Arial,sans-serif}
.sc-layout{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}
.sc-sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#111827,#151e2e);color:#fff;padding:24px 14px 16px;display:flex;flex-direction:column;z-index:1040;overflow-x:hidden;overflow-y:auto}
.sc-brand{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:7px;padding:0 9px 20px;cursor:pointer}.sc-brand-logo{display:block;width:148px;max-width:100%;height:auto;border-radius:5px}.sc-brand-copy{display:block;width:100%;min-width:0}.sc-brand-copy small{display:block;max-width:100%;overflow:hidden;color:#8e99aa;font-size:8px;line-height:1.35;white-space:nowrap;text-overflow:ellipsis}
.sc-workspace{padding:13px 12px;margin-bottom:12px;border:1px solid #2a3547;border-radius:10px;background:#192334}.sc-workspace small{display:block;color:#778397;font-size:8px;letter-spacing:.12em}.sc-workspace b{display:block;margin-top:3px;font-size:12px}
.sc-nav{display:flex!important;flex-direction:column;gap:3px;flex-wrap:nowrap}.sc-nav li{width:100%}.sc-nav .nav-link{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;color:#aeb8c8;border-radius:9px;font-size:13px}.sc-nav .nav-link span{width:17px;text-align:center;font-size:17px}.sc-nav .nav-link:hover{background:#202b3d;color:#fff}.sc-nav .nav-link.active{background:#2563eb;color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.25)}.sc-nav .nav-link em{margin-left:auto;color:#68758a;font-size:8px;font-style:normal;text-transform:uppercase}.sc-nav .sc-disabled{opacity:.66}.sc-sidebar-bottom{margin-top:auto;padding-top:18px;border-top:1px solid #283345}.sc-user{width:100%;display:flex;gap:10px;align-items:center;text-align:left;color:#fff;border:0}.sc-user:hover{background:#202b3d;color:#fff}.sc-user span:last-child{display:flex;flex-direction:column}.sc-user b{font-size:11px}.sc-user small{font-size:9px;color:#7e8a9d}.sc-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#263449;color:#aebdd3;font-size:10px;font-weight:700}
.sc-main{min-width:0}.sc-header{height:76px;padding:0 28px;background:#fff;border-bottom:1px solid var(--sc-border);display:flex;align-items:center;gap:24px;position:sticky;top:0;z-index:1020}.sc-header h1{font-size:20px;margin:0}.sc-header .section-eyebrow{font-size:8px}.sc-menu-toggle{display:none;border:0;background:transparent;font-size:24px}.sc-search{height:40px;max-width:470px;flex:1;margin-left:auto;background:#f5f7fa;border:1px solid #edf0f4;border-radius:10px;display:flex;align-items:center;padding:0 13px;color:#929bab}.sc-search input{width:100%;border:0;outline:0;background:transparent;padding-left:9px;font-size:12px}.sc-header-actions{display:flex;align-items:center;gap:13px}.sc-date{font-size:11px;color:var(--sc-muted);white-space:nowrap}.sc-icon-btn{position:relative;width:38px;height:38px;border:1px solid var(--sc-border);background:#fff;border-radius:10px}.sc-icon-btn i{position:absolute;right:8px;top:7px;width:6px;height:6px;background:#ef4444;border:2px solid #fff;border-radius:50%}.sc-quick{font-size:11px;padding:10px 14px;border-radius:9px}.sc-content{padding:24px 28px 40px;max-width:1700px}.sc-welcome{min-height:148px;border-radius:18px;padding:27px 30px;background:linear-gradient(115deg,#173c91,#2563eb 70%,#4381f1);color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:0 15px 35px rgba(37,99,235,.17)}.sc-welcome h2{font-size:25px;margin:8px 0 5px}.sc-welcome p{margin:0;color:#d4e2ff;font-size:12px}.sc-live{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#dce8ff}.sc-live i{display:inline-block;width:7px;height:7px;margin-right:5px;background:#5ee68b;border-radius:50%;box-shadow:0 0 0 4px rgba(94,230,139,.15)}.sc-welcome .btn{font-size:11px;border-radius:9px}
.sc-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:13px;margin:18px 0}.sc-kpi,.sc-panel{background:#fff;border:1px solid var(--sc-border);border-radius:14px;box-shadow:0 5px 18px rgba(35,45,65,.035)}.sc-kpi{position:relative;padding:17px 16px;min-height:130px}.sc-kpi .kpi-icon{position:absolute;right:14px;top:14px;width:31px;height:31px;display:grid;place-items:center;border-radius:9px;font-weight:800}.kpi-icon.blue{background:#e9f0ff;color:#2563eb}.kpi-icon.orange{background:#fff0e2;color:#f97316}.kpi-icon.violet{background:#f0eafe;color:#7c3aed}.kpi-icon.red{background:#feecec;color:#dc2626}.kpi-icon.green{background:#e9f8ef;color:#16a34a}.kpi-icon.cyan{background:#e5f7fb;color:#0891b2}.sc-kpi small{color:var(--sc-muted);font-size:10px}.sc-kpi strong{display:block;margin-top:14px;font-size:27px;line-height:1}.sc-kpi p{margin:10px 0 0;font-size:9px;color:#98a0ae}.sc-kpi p b{color:#16a34a}
.sc-dashboard-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(400px,1.25fr) minmax(280px,.75fr);gap:16px}.sc-panel{padding:19px;min-height:285px}.sc-panel-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #edf0f4;padding-bottom:14px}.sc-panel-head h3{font-size:15px;margin:3px 0 0}.sc-panel-head .section-eyebrow{font-size:8px}.sc-fleet-body{height:215px;display:flex;align-items:center;justify-content:space-around;gap:20px}.sc-donut{--ktg:0deg;width:142px;height:142px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#22c55e 0 var(--ktg),#e7ebf0 var(--ktg) 360deg);position:relative}.sc-donut:before{content:"";position:absolute;inset:18px;background:#fff;border-radius:50%}.sc-donut span{position:relative;text-align:center}.sc-donut b{display:block;font-size:24px}.sc-donut small{color:var(--sc-muted);font-size:9px}.sc-status-list{min-width:120px}.sc-status-list div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;padding:8px 0;font-size:10px;border-bottom:1px solid #f0f2f5}.sc-status-list i{width:7px;height:7px;border-radius:50%}.sc-status-list .green{background:#22c55e}.sc-status-list .orange{background:#f59e0b}.sc-status-list .red{background:#ef4444}.sc-status-list .gray{background:#9ca3af}.sc-event-filters button{border:0;background:transparent;color:#8b94a3;font-size:9px;padding:5px}.sc-event-filters .active{color:#2563eb}.sc-events{padding-top:8px}.sc-event{display:grid;grid-template-columns:42px 10px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid #f0f2f5;font-size:10px}.sc-event time{color:#8e97a6}.sc-event i{width:8px;height:8px;border-radius:50%;background:#3b82f6;margin-top:3px}.sc-event.warning i,.sc-event.action i{background:#f59e0b}.sc-event.critical i{background:#ef4444}.sc-event p{margin:0}.sc-empty-state{height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9aa3b1;text-align:center}.sc-empty-state span{font-size:28px;color:#c9d0da}.sc-empty-state b{font-size:11px;color:#6f7887;margin:9px 0 3px}.sc-empty-state small{font-size:9px}.sc-critical-count{display:grid;place-items:center;background:#feecec;color:#dc2626;border-radius:999px;width:23px;height:23px;font-size:10px;font-weight:700}.sc-critical-item{padding:12px;margin-top:10px;border:1px solid #fee2e2;border-left:3px solid #ef4444;border-radius:9px;background:#fffafa;font-size:10px}.sc-critical-item b{display:block;margin-bottom:3px}
@media(max-width:1300px){.sc-kpi-grid{grid-template-columns:repeat(3,1fr)}.sc-dashboard-grid{grid-template-columns:1fr 1fr}.sc-critical{grid-column:1/-1}}
@media(max-width:900px){.sc-layout{display:block}.sc-sidebar{position:fixed;left:-270px;width:252px;transition:left .2s}.sc-sidebar.open{left:0;box-shadow:15px 0 40px rgba(0,0,0,.25)}.sc-menu-toggle{display:block}.sc-header{padding:0 15px;gap:12px}.sc-search,.sc-date,.sc-quick{display:none}.sc-content{padding:15px}.sc-welcome{padding:22px}.sc-welcome h2{font-size:20px}.sc-kpi-grid{grid-template-columns:repeat(2,1fr)}.sc-dashboard-grid{grid-template-columns:1fr}.sc-critical{grid-column:auto}}

/* About NORTHA */
.about-project{max-width:1280px;margin:0 auto 40px;color:#172033}.about-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:48px;align-items:center;min-height:390px;padding:54px 62px;border-radius:24px;background:radial-gradient(circle at 80% 15%,rgba(74,128,255,.28),transparent 32%),linear-gradient(135deg,#101827 0%,#17233a 58%,#1d3560 100%);color:#fff;box-shadow:0 22px 55px rgba(15,23,42,.18)}.about-hero:after{content:"";position:absolute;right:-110px;bottom:-170px;width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 84px rgba(255,255,255,.025)}.about-hero-copy{position:relative;z-index:1}.about-domain,.about-statement>small,.about-mission small,.about-section-head small{display:block;margin-bottom:15px;color:#72a0ff;font-size:11px;font-weight:800;letter-spacing:.17em}.about-hero h2{max-width:850px;margin:0 0 21px;font-size:40px;line-height:1.12;letter-spacing:-.035em}.about-hero p{max-width:800px;margin:0;color:#c7d2e4;font-size:16px;line-height:1.75}.about-hero-actions{display:flex;align-items:center;gap:18px;margin-top:30px}.about-hero-actions span{color:#91a0b7;font-size:12px}.about-mark{position:relative;z-index:1;display:grid;place-items:center;justify-self:end;width:190px;height:190px;border:1px solid rgba(255,255,255,.17);border-radius:44px;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.035));box-shadow:inset 0 1px rgba(255,255,255,.18),0 25px 60px rgba(0,0,0,.25);backdrop-filter:blur(8px)}.about-mark span{font-size:76px;font-weight:900;line-height:1;color:#fff}.about-mark small{margin-top:-36px;color:#90aff0;font-size:11px;font-weight:800;letter-spacing:.35em}.about-statement{padding:70px 11% 60px;text-align:center}.about-statement blockquote{max-width:950px;margin:0 auto;font-size:29px;font-weight:650;line-height:1.38;letter-spacing:-.025em}.about-purpose-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.about-purpose-grid article{min-height:255px;padding:29px;border:1px solid #dfe5ee;border-radius:18px;background:#fff;box-shadow:0 9px 25px rgba(15,23,42,.045)}.about-purpose-grid article>span{display:inline-grid;place-items:center;width:35px;height:35px;margin-bottom:30px;border-radius:10px;background:#eef4ff;color:#2563eb;font-size:11px;font-weight:800}.about-purpose-grid h3{margin:0 0 12px;font-size:19px}.about-purpose-grid p,.about-principle-list p{margin:0;color:#607089;line-height:1.65}.about-mission{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center;margin-top:62px;padding:50px 54px;border-radius:22px;background:#edf3fb}.about-mission h3,.about-section-head h3{margin:0 0 15px;font-size:29px;line-height:1.25;letter-spacing:-.025em}.about-mission>div p{color:#5c6c83;line-height:1.75}.about-mission ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}.about-mission li{display:flex;gap:13px;padding:15px 17px;border-radius:13px;background:rgba(255,255,255,.72)}.about-mission li i{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:8px;background:#dcfce7;color:#168044;font-style:normal;font-weight:900}.about-mission li span{display:flex;flex-direction:column;color:#65748a;font-size:12px;line-height:1.5}.about-mission li b{margin-bottom:2px;color:#172033;font-size:13px}.about-principles{padding:70px 5px 60px}.about-section-head{text-align:center}.about-principle-list{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:33px}.about-principle-list>div{padding:22px 18px;border-top:3px solid #2563eb;background:#fff}.about-principle-list b{display:block;margin-bottom:10px;font-size:14px}.about-principle-list p{font-size:12px}.about-footer{display:flex;align-items:center;gap:25px;padding:25px 30px;border-top:1px solid #dbe3ee}.about-footer>div{display:flex;align-items:center;gap:11px}.about-footer-logo{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:#172033;color:#fff;font-weight:900}.about-footer>div>span:last-child{display:flex;flex-direction:column}.about-footer small{color:#75849a;font-size:9px}.about-footer p{margin:0 auto;color:#64748b;font-size:12px}.about-footer a{color:#2563eb;font-weight:750;text-decoration:none}
@media(max-width:1000px){.about-hero{grid-template-columns:1fr;padding:42px}.about-mark{display:none}.about-purpose-grid{grid-template-columns:1fr}.about-purpose-grid article{min-height:auto}.about-mission{grid-template-columns:1fr;gap:28px}.about-principle-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.about-hero{padding:30px 24px;border-radius:18px}.about-hero h2{font-size:29px}.about-hero-actions{align-items:flex-start;flex-direction:column}.about-statement{padding:48px 10px}.about-statement blockquote{font-size:22px}.about-mission{padding:30px 22px}.about-principle-list{grid-template-columns:1fr}.about-footer{align-items:flex-start;flex-direction:column}.about-footer p{margin:0}}
.about-pronunciation{display:inline-flex;align-items:center;gap:9px;margin:0 0 20px;padding:7px 11px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:rgba(255,255,255,.06);font-size:11px}.about-pronunciation b{letter-spacing:.12em}.about-pronunciation span{color:#8fa0b9}.about-pronunciation strong{color:#8fb1ff;letter-spacing:.08em}.about-name-note{margin:22px auto 0!important;color:#718096;font-size:11px;letter-spacing:.035em}.about-name-note b{color:#334155}
.about-footer p{display:flex;flex-direction:column;gap:4px}.about-footer p strong{color:#334155;font-size:11px;font-weight:700}
.about-action-copy{max-width:780px;margin:0 auto;color:#607089;font-size:15px;line-height:1.75}.about-footer p>b{color:#172033;font-size:14px}
.about-direction{padding:14px 5px 70px}.about-principles+.about-direction{padding-top:0}
.about-footer .about-site-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:9px 15px;border:1px solid #c9d9ff;border-radius:11px;background:#eef4ff;color:#1d5fe9;font-size:12px;font-weight:800;letter-spacing:.01em;text-decoration:none;box-shadow:0 3px 10px rgba(37,99,235,.08);transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.about-footer .about-site-link i{display:grid;place-items:center;width:21px;height:21px;border-radius:7px;background:#dce8ff;font-size:13px;font-style:normal;transition:background .18s ease,transform .18s ease}.about-footer .about-site-link:hover{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.22);transform:translateY(-1px)}.about-footer .about-site-link:hover i{background:rgba(255,255,255,.17);transform:translate(1px,-1px)}.about-footer .about-site-link:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}
.about-hero-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:9px 10px 9px 17px;border:1px solid rgba(115,163,255,.45);border-radius:11px;background:#2563eb;color:#fff;font-size:12px;font-weight:800;text-decoration:none;box-shadow:0 8px 22px rgba(20,96,235,.25);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.about-hero-link i{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.14);font-size:13px;font-style:normal;transition:background .18s ease,transform .18s ease}.about-hero-link:hover{border-color:#80adff;background:#3477ef;color:#fff;box-shadow:0 11px 26px rgba(20,96,235,.34);transform:translateY(-1px)}.about-hero-link:hover i{background:rgba(255,255,255,.22);transform:translate(1px,-1px)}.about-hero-link:focus-visible{outline:3px solid rgba(114,160,255,.38);outline-offset:3px}
.about-mark img{display:block;width:100%;height:100%;border-radius:43px}.about-footer img.about-footer-logo{display:block;width:39px;height:39px;border-radius:11px;background:transparent}.about-footer-logo+span{display:flex;flex-direction:column}
@media(max-width:520px){.sc-kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.sc-kpi{min-height:115px;padding:14px}.sc-welcome button{display:none}.sc-fleet-body{flex-direction:column;height:auto;padding-top:20px}.sc-status-list{width:100%}}

/* ===== Administration Center ===== */
.header-popover-wrap{position:relative}.header-profile{display:flex;align-items:center;gap:9px;border:0;background:transparent;text-align:left;padding:3px 6px;border-radius:10px}.header-profile:hover{background:#f4f6fa}.header-profile>span:last-child{display:flex;flex-direction:column}.header-profile b{font-size:10px}.header-profile small{font-size:8px;color:var(--sc-muted)}.notification-badge{position:absolute;right:-5px;top:-6px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#ef4444;color:#fff;font-size:9px;display:grid;place-items:center;font-weight:700}.header-panel{position:absolute;right:0;top:48px;width:360px;max-height:470px;background:#fff;border:1px solid var(--sc-border);border-radius:14px;box-shadow:0 18px 45px rgba(23,32,51,.18);z-index:1080;overflow:auto}.header-panel-head{position:sticky;top:0;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:1px solid var(--sc-border);z-index:1}.header-panel-head b{font-size:12px}.header-panel-head button{border:0;background:transparent;color:var(--sc-blue);font-size:9px}.notification-item{width:100%;display:flex;gap:11px;padding:13px 15px;border:0;border-bottom:1px solid #f0f2f5;background:#fff;text-align:left}.notification-item:hover{background:#f7f9fc}.notification-item>i{width:8px;height:8px;border-radius:50%;background:#3b82f6;margin-top:4px}.notification-item.warning>i{background:#f59e0b}.notification-item.critical>i{background:#ef4444}.notification-item.success>i{background:#22c55e}.notification-item span{display:flex;flex-direction:column;min-width:0}.notification-item b{font-size:10px}.notification-item small{font-size:9px;color:#70798a;margin:3px 0}.notification-item time{font-size:8px;color:#a0a7b3}.popover-empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8b94a3}.popover-empty span{font-size:25px;color:#22c55e}.popover-empty b{font-size:11px;margin:8px 0 3px}.popover-empty small{font-size:9px}.profile-panel{width:230px;padding:15px;display:flex;flex-direction:column}.profile-panel>b{font-size:12px}.profile-panel>small{font-size:9px;color:#727c8d;margin-top:2px}.profile-panel>span{font-size:9px;color:#2563eb;background:#edf3ff;border-radius:6px;padding:5px 7px;margin:10px 0}.profile-panel>button{border:0;border-top:1px solid #edf0f4;background:#fff;text-align:left;font-size:10px;padding:10px 2px}.profile-panel>button:hover{color:#2563eb}
.admin-page{max-width:1450px}.admin-hero{margin-bottom:16px}.admin-hero h2{font-size:24px;margin:4px 0}.admin-hero p,.admin-toolbar p{font-size:10px;color:var(--sc-muted);margin:0}.admin-tabs{display:flex;gap:4px;background:#e9edf4;border-radius:11px;padding:4px;margin-bottom:18px;width:max-content;max-width:100%;overflow:auto}.admin-tabs button{border:0;background:transparent;padding:9px 15px;border-radius:8px;color:#6f7888;font-size:10px;white-space:nowrap}.admin-tabs button.active{background:#fff;color:#2563eb;box-shadow:0 3px 10px rgba(24,38,64,.08)}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.admin-toolbar h3{font-size:17px;margin:0 0 3px}.admin-toolbar .btn{font-size:10px;border-radius:8px}.admin-filters{display:grid;grid-template-columns:minmax(260px,1fr) 190px 190px;gap:10px;margin-bottom:12px}.audit-filters{grid-template-columns:145px 145px 160px 150px minmax(190px,1fr) auto}.admin-filters .form-control,.admin-filters .form-select{font-size:10px;border-color:var(--sc-border);border-radius:8px}.admin-card{background:#fff;border:1px solid var(--sc-border);border-radius:13px;box-shadow:0 5px 18px rgba(35,45,65,.035)}.admin-table{margin:0;font-size:10px}.admin-table th{padding:12px 14px;background:#f8f9fb;color:#7b8494;font-size:8px;text-transform:uppercase;letter-spacing:.05em;border-bottom-color:var(--sc-border)}.admin-table td{padding:11px 14px;vertical-align:middle;border-bottom-color:#eef1f5}.admin-table tbody tr{cursor:pointer}.admin-table tbody tr:hover{background:#f8faff}.table-user{display:flex;align-items:center;gap:8px}.table-user>span,.role-list button>span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#eaf1ff;color:#2563eb;font-size:8px;font-weight:800}.table-user b{font-size:10px}.role-badge,.status-badge,.action-badge{display:inline-flex;padding:4px 7px;border-radius:6px;background:#eff3f8;color:#526073;font-size:8px}.status-badge.active{background:#e8f8ee;color:#15803d}.status-badge.disabled{background:#feecec;color:#dc2626}.action-badge{background:#edf3ff;color:#2563eb}.row-actions{display:flex;gap:4px}.row-actions button{width:29px;height:29px;border:1px solid var(--sc-border);border-radius:7px;background:#fff;color:#637084}.row-actions button:hover{color:#2563eb;border-color:#bcd0f7}.admin-state{min-height:130px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8992a1;text-align:center;font-size:10px}.admin-state span{font-size:23px}.admin-state b{margin-top:6px}.roles-layout{display:grid;grid-template-columns:260px 1fr;gap:13px}.role-list{padding:7px;height:max-content}.role-list button{width:100%;display:grid;grid-template-columns:34px 1fr auto;align-items:center;text-align:left;border:0;background:#fff;padding:9px;border-radius:9px}.role-list button:hover,.role-list button.active{background:#edf3ff}.role-list button b{font-size:10px}.role-list button small{font-size:8px;color:#8992a1}.permission-editor{padding:18px}.permission-title{display:flex;justify-content:space-between;border-bottom:1px solid var(--sc-border);padding-bottom:13px}.permission-title h4{font-size:15px;margin:0}.permission-title p{font-size:9px;color:#8992a1;margin:3px 0}.permission-title>span{font-size:9px;color:#2563eb}.permission-group{border:0;margin-top:16px}.permission-group legend{font-size:9px;text-transform:uppercase;color:#7c8696;letter-spacing:.08em}.permission-group label{display:flex;gap:10px;align-items:flex-start;padding:9px;border-radius:8px}.permission-group label:hover{background:#f7f9fc}.permission-group input{margin-top:3px}.permission-group label span{display:flex;flex-direction:column}.permission-group b{font-size:10px}.permission-group small{font-size:8px;color:#8a93a2}.permission-matrix{margin-top:13px;padding:14px}.permission-matrix summary{cursor:pointer;font-size:11px;font-weight:700}.matrix-table td,.matrix-table th{text-align:center}.matrix-table td:first-child,.matrix-table th:first-child{text-align:left}.matrix-table td small{display:block;color:#9098a6}.matrix-yes{color:#16a34a;font-weight:800}.admin-pagination{display:flex;justify-content:center;align-items:center;gap:12px;padding:13px}.admin-pagination button{border:1px solid var(--sc-border);background:#fff;border-radius:7px;width:30px;height:30px}.admin-pagination span{font-size:9px;color:#737d8d}.audit-meta{display:flex;flex-direction:column;padding-bottom:14px;border-bottom:1px solid var(--sc-border)}.audit-meta b{color:#2563eb}.audit-meta small{color:#8a93a2}.audit-diff{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.audit-diff>div{border:1px solid var(--sc-border);border-radius:10px;padding:12px}.audit-diff p{display:flex;flex-direction:column;padding:7px;border-radius:7px;margin:0 0 4px;font-size:9px}.audit-diff p.changed{background:#fff7e8;border-left:3px solid #f59e0b}.audit-diff p b{font-size:8px;color:#737d8d}.audit-diff p span{white-space:pre-wrap;word-break:break-word}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.settings-group{padding:17px}.settings-group h4{font-size:14px;margin:0}.settings-group>div>p{font-size:9px;color:#8a93a2}.settings-group label{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #edf0f4;padding:13px 0}.settings-group label span{display:flex;flex-direction:column;min-width:0}.settings-group b{font-size:9px}.settings-group small{font-size:7px;color:#9099a7}.settings-group input{width:45%;font-size:9px}
@media(max-width:1000px){.admin-filters,.audit-filters{grid-template-columns:1fr 1fr}.roles-layout{grid-template-columns:1fr}.role-list{display:grid;grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.header-profile>span:last-child{display:none}}
@media(max-width:600px){.admin-tabs{width:100%}.admin-toolbar{align-items:flex-start;gap:8px}.admin-filters,.audit-filters{grid-template-columns:1fr}.header-panel{position:fixed;top:70px;left:10px;right:10px;width:auto}.roles-layout{display:block}.role-list{grid-template-columns:1fr;margin-bottom:10px}.audit-diff{grid-template-columns:1fr}.settings-group label{align-items:flex-start;flex-direction:column}.settings-group input{width:100%}}

/* ===== Staff Center ===== */
.global-search-wrap{position:relative;flex:1;max-width:470px;margin-left:auto}.global-search-wrap .sc-search{max-width:none;margin:0}.global-search-results{position:absolute;left:0;right:0;top:46px;background:#fff;border:1px solid var(--sc-border);border-radius:12px;box-shadow:0 16px 40px rgba(23,32,51,.18);z-index:1090;max-height:390px;overflow:auto}.global-search-results button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:0;border-bottom:1px solid #eef1f5;background:#fff;padding:11px}.global-search-results button:hover{background:#f6f9ff}.global-search-results button>span{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#eaf1ff;color:#2563eb;font-size:8px;font-weight:800}.global-search-results button div{display:flex;flex-direction:column}.global-search-results b{font-size:10px}.global-search-results small{font-size:8px;color:#808999}
.staff-center{max-width:1550px}.staff-hero{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.staff-hero h2{font-size:24px;margin:3px 0}.staff-hero p{font-size:10px;color:var(--sc-muted);margin:0}.staff-hero>div:last-child{display:flex;gap:8px}.staff-hero .btn{font-size:10px;border-radius:8px}.staff-filter-card{display:grid;grid-template-columns:minmax(260px,1fr) repeat(5,minmax(130px,170px));gap:8px;background:#fff;border:1px solid var(--sc-border);border-radius:13px;padding:12px;margin-bottom:12px}.staff-filter-card .form-control,.staff-filter-card .form-select{font-size:9px;border-color:#e4e8ef}.staff-table-card{background:#fff;border:1px solid var(--sc-border);border-radius:13px;box-shadow:0 5px 18px rgba(35,45,65,.035)}.staff-table{margin:0;font-size:9px}.staff-table th{padding:12px;background:#f8f9fb;color:#7c8594;font-size:8px;text-transform:uppercase;border-color:var(--sc-border)}.staff-table td{padding:10px 12px;vertical-align:middle;border-color:#eef1f5}.staff-table tbody tr{cursor:pointer}.staff-table tbody tr:hover{background:#f7faff}.staff-person{display:flex;align-items:center;gap:9px;min-width:190px}.staff-person>span,.employee-profile-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e8f0ff;color:#2563eb;font-weight:800;font-size:9px}.staff-person>div{display:flex;flex-direction:column}.staff-person b{font-size:10px}.staff-person small{font-size:8px;color:#8a93a2}.staff-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:700;background:#eef1f5;color:#5f6978}.staff-status.active{background:#e8f8ee;color:#16803e}.staff-status.vacation{background:#fff7cf;color:#9a6a00}.staff-status.sick{background:#e7f7fb;color:#087b91}.staff-status.business_trip{background:#e8f1ff;color:#1d5fc1}.staff-status.inactive,.staff-status.dismissed{background:#f0f1f3;color:#707783}.staff-row-action{width:28px;height:28px;border:1px solid var(--sc-border);background:#fff;border-radius:7px;color:#2563eb}.staff-back{border:0;background:transparent;color:#2563eb;font-size:10px;padding:0;margin-bottom:12px}.employee-profile-header{display:grid;grid-template-columns:75px 1fr auto;gap:18px;align-items:center;background:linear-gradient(118deg,#fff,#f5f8ff);border:1px solid var(--sc-border);border-radius:16px;padding:22px;margin-bottom:13px}.employee-profile-avatar{width:70px;height:70px;border-radius:18px;font-size:17px}.employee-profile-title h2{font-size:22px;margin:5px 0 1px}.employee-profile-title p{font-size:11px;color:#6f798a;margin:0}.employee-profile-title>div{display:flex;gap:13px;flex-wrap:wrap;margin-top:11px}.employee-profile-title>div span{font-size:8px;color:#737d8d}.employee-profile-actions{display:flex;gap:7px}.employee-profile-actions .btn{font-size:9px}.profile-tabs{display:flex;gap:3px;border-bottom:1px solid var(--sc-border);margin-bottom:13px;overflow:auto}.profile-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:10px 13px;color:#778191;font-size:10px;white-space:nowrap}.profile-tabs button.active{color:#2563eb;border-bottom-color:#2563eb}.profile-overview-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:13px}.profile-card{background:#fff;border:1px solid var(--sc-border);border-radius:13px;padding:17px}.profile-card h3{font-size:13px;margin:0 0 13px}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin:0}.profile-fields div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #eef1f5;font-size:9px}.profile-fields dt{color:#7b8594;font-weight:500}.profile-fields dd{margin:0;text-align:right;font-weight:700}.today-card{background:linear-gradient(135deg,#174498,#2d6de3);color:#fff}.today-card strong{display:block;font-size:20px}.today-card p{font-size:12px;color:#dce8ff;margin:4px 0}.today-card span{font-size:9px}.user-card{grid-column:2}.linked-user{display:flex;align-items:center;gap:10px}.linked-user>div{display:flex;flex-direction:column}.linked-user b{font-size:10px}.linked-user small{font-size:8px;color:#818b9a}.linked-user .btn{margin-left:auto;font-size:8px}.staff-profile-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#eaf1ff;color:#2563eb;font-weight:800}.notes-card p{font-size:9px;color:#6e7888}.profile-card-head{display:flex;align-items:center;justify-content:space-between}.profile-card-head h3{margin:0}.profile-card-head p{font-size:8px;color:#8b94a3}.profile-card-head .btn{font-size:9px}.time-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-top:12px}.time-summary div{background:#f7f9fc;border-radius:9px;padding:13px}.time-summary small{display:block;color:#7e8897;font-size:8px}.time-summary b{font-size:17px}.time-summary b.negative{color:#dc2626}.time-summary b.warning{color:#d97706}.documents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.document-card{position:relative;border:1px solid var(--sc-border);border-left:3px solid #22c55e;border-radius:10px;padding:13px}.document-card.expiring{border-left-color:#f59e0b}.document-card.expired{border-left-color:#ef4444}.document-card.no_expiry{border-left-color:#9ca3af}.document-card h4{font-size:11px;margin:9px 0 2px}.document-card>p,.document-card>small{font-size:8px;color:#7c8695}.document-card dl{display:flex;gap:20px;margin:10px 0}.document-card dl div{display:flex;flex-direction:column}.document-card dt{font-size:7px;color:#929aa7}.document-card dd{font-size:9px;margin:0}.document-card>button{display:block;margin-top:8px;border:0;background:transparent;color:#dc2626;font-size:8px;padding:0}.document-status{position:absolute;right:10px;top:10px;font-size:7px;background:#eef2f6;border-radius:6px;padding:4px}.employee-history div{display:grid;grid-template-columns:10px 135px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid #eef1f5;font-size:9px}.employee-history i{width:7px;height:7px;border-radius:50%;background:#2563eb;margin-top:3px}.employee-history .audit i{background:#9ca3af}.employee-history time{color:#86909f}.org-toolbar{display:flex;gap:8px;justify-content:flex-end;margin-bottom:10px}.org-toolbar input{max-width:300px;font-size:9px}.org-toolbar .btn{font-size:9px}
@media(max-width:1250px){.staff-filter-card{grid-template-columns:repeat(3,1fr)}.time-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.global-search-wrap{display:none}.staff-hero{align-items:flex-start;gap:10px}.staff-filter-card{grid-template-columns:1fr 1fr}.employee-profile-header{grid-template-columns:55px 1fr}.employee-profile-avatar{width:52px;height:52px}.employee-profile-actions{grid-column:1/-1}.profile-overview-grid{grid-template-columns:1fr}.user-card{grid-column:auto}.documents-grid{grid-template-columns:1fr 1fr}.staff-table thead{display:none}.staff-table,.staff-table tbody{display:block}.staff-table tr{display:grid;grid-template-columns:1fr 1fr;background:#fff;margin:9px;border:1px solid var(--sc-border);border-radius:10px;padding:8px}.staff-table td{display:block;border:0;padding:5px}.staff-table td:first-child{grid-column:1/-1}.staff-table td:nth-child(6){display:none}}
@media(max-width:520px){.staff-filter-card{grid-template-columns:1fr}.staff-hero{flex-direction:column}.staff-hero>div:last-child{width:100%}.staff-hero .btn{flex:1}.profile-fields{grid-template-columns:1fr}.time-summary{grid-template-columns:1fr 1fr}.documents-grid{grid-template-columns:1fr}.employee-profile-header{grid-template-columns:1fr;text-align:center}.employee-profile-avatar{margin:auto}.employee-profile-title>div{justify-content:center}.employee-profile-actions{justify-content:center}}
.maintenance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}.maintenance-kpis article{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:1.1rem}.maintenance-kpis small{display:block;color:#64748b}.maintenance-kpis b{font-size:1.8rem}.maintenance-center td{vertical-align:middle}
.maintenance-filter-card{margin-bottom:16px;background:#fff;border:1px solid #dfe5ee;border-radius:16px;padding:18px 20px;box-shadow:0 5px 18px rgba(35,45,65,.04)}
.maintenance-filter-head{margin-bottom:15px}.maintenance-filter-head h3{font-size:15px;margin:0 0 3px;color:#182337;font-weight:750}.maintenance-filter-head p{font-size:12px;color:#748094;margin:0}
.maintenance-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px}.maintenance-filter-field label{display:block;margin:0 0 6px;color:#596579;font-size:11px;font-weight:700}.maintenance-filter-field .form-control,.maintenance-filter-field .form-select{height:41px;border-color:#dbe2ec;border-radius:9px;background-color:#fff;color:#263348;font-size:12px}.maintenance-filter-field .form-control:focus,.maintenance-filter-field .form-select:focus{border-color:#76a7ff;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.maintenance-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid #edf0f5}.maintenance-filter-actions small{color:#7b8697;font-size:11px}.maintenance-filter-actions .btn{min-width:170px;border-radius:9px;font-size:12px;font-weight:700}
@media(max-width:1050px){.maintenance-kpis,.maintenance-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.maintenance-kpis,.maintenance-filter-grid{grid-template-columns:1fr}.maintenance-filter-card{padding:15px}.maintenance-filter-head p,.maintenance-filter-actions small{display:none}.maintenance-filter-actions .btn{width:100%}.maintenance-center .table-responsive{overflow:visible}.maintenance-center table,.maintenance-center tbody,.maintenance-center tr,.maintenance-center td{display:block}.maintenance-center thead{display:none}.maintenance-center tr{background:#fff;border:1px solid #e5e7eb;border-radius:14px;margin:.75rem 0;padding:.85rem}.maintenance-center td{border:0;padding:.25rem}}
.ktg-chart{min-height:190px}.ktg-chart svg{width:100%;height:210px}.analytics-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.7rem 0;border-bottom:1px solid #e5e7eb}.analytics-row small{display:block;color:#64748b}.analytics-row b{color:#1d4ed8}

/* Unified filter panels */
.app-filter-panel{background:#fff!important;border:1px solid #dfe5ee!important;border-radius:16px!important;padding:16px!important;box-shadow:0 5px 18px rgba(35,45,65,.04)!important;margin-bottom:16px}
.app-filter-panel .form-control,.app-filter-panel .form-select{min-height:41px;border-color:#dbe2ec;border-radius:9px;background-color:#fff;color:#263348;font-size:12px!important}
.app-filter-panel .form-control::placeholder{color:#8490a2}.app-filter-panel .form-control:focus,.app-filter-panel .form-select:focus{border-color:#76a7ff;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.app-filter-panel .form-label{margin-bottom:6px!important;color:#596579;font-size:11px!important;font-weight:700}.app-filter-panel .btn{min-height:41px;border-radius:9px;font-size:12px;font-weight:700;white-space:nowrap}
.tasks-filters.app-filter-panel{display:grid;grid-template-columns:minmax(280px,1fr) 210px 210px;gap:12px}.tasks-filters.app-filter-panel input{width:100%}.tasks-filters.app-filter-panel select{max-width:none}
.admin-filters.app-filter-panel{margin-bottom:16px}.employee-filters.app-filter-panel{border-radius:16px}.report-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.report-filters>.ms-auto{margin-left:auto}.compact-filter-panel{align-items:end;margin-left:0;margin-right:0}.compact-filter-panel>.col-auto:first-child{padding-left:0}
.staff-filter-card.app-filter-panel .form-control,.staff-filter-card.app-filter-panel .form-select{font-size:12px!important}
@media(max-width:1000px){.tasks-filters.app-filter-panel{grid-template-columns:1fr 1fr}.tasks-filters.app-filter-panel input{grid-column:1/-1}.report-filters>.ms-auto{margin-left:0!important}}
@media(max-width:600px){.app-filter-panel{padding:13px!important;border-radius:13px!important}.tasks-filters.app-filter-panel{grid-template-columns:1fr}.tasks-filters.app-filter-panel input{grid-column:auto}.report-filters>div,.report-filters input,.report-filters select,.report-filters button,.compact-filter-panel>.col-auto{width:100%!important;max-width:none!important}.report-filters>.ms-auto{display:grid!important;grid-template-columns:1fr 1fr}.compact-filter-panel{gap:10px}}

/* Unified back navigation */
.staff-back,.timesheet-subpage-head>.btn-link,#vehicleProfile>.btn-link{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:38px;margin:0 0 16px;padding:8px 14px;border:1px solid #dbe3ee!important;border-radius:10px;background:#fff!important;color:#34435a!important;font-size:12px!important;font-weight:700;text-decoration:none!important;line-height:1;box-shadow:0 2px 7px rgba(35,45,65,.04);transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}
.staff-back:hover,.timesheet-subpage-head>.btn-link:hover,#vehicleProfile>.btn-link:hover{border-color:#a9c6fa!important;background:#f3f7ff!important;color:#1d5fd1!important;box-shadow:0 4px 12px rgba(37,99,235,.09);transform:translateX(-2px)}
.staff-back:focus-visible,.timesheet-subpage-head>.btn-link:focus-visible,#vehicleProfile>.btn-link:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(37,99,235,.16)}
.staff-back:active,.timesheet-subpage-head>.btn-link:active,#vehicleProfile>.btn-link:active{transform:translateX(-1px);background:#eaf1ff!important}
@media(max-width:600px){.staff-back,.timesheet-subpage-head>.btn-link,#vehicleProfile>.btn-link{min-height:40px;margin-bottom:13px}}

/* Quick vehicle status */
.fleet-table .quick-status-trigger{position:relative;cursor:pointer;padding-right:1.55rem;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;user-select:none}
.fleet-table .quick-status-trigger:after{content:'✎';position:absolute;right:.5rem;top:50%;transform:translateY(-50%);font-size:.68rem;opacity:.62}
.fleet-table .quick-status-trigger:hover{filter:saturate(1.08);box-shadow:0 3px 9px rgba(30,41,59,.12);transform:translateY(-1px)}
.fleet-table .quick-status-trigger:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(37,99,235,.2)}
.fleet-center .fleet-table tbody tr{position:relative;cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}
.fleet-center .fleet-table tbody tr:hover{background:#f1f6ff;box-shadow:inset 4px 0 0 #2563eb,0 5px 15px rgba(37,99,235,.07);transform:translateY(-1px)}
.fleet-center .fleet-table tbody tr:hover td{background:transparent}.fleet-center .fleet-table tbody tr:focus-within{background:#f5f8ff;box-shadow:inset 4px 0 0 #76a7ff}
.fleet-center .fleet-table tbody tr:hover .vehicle-identity b{color:#1d5fd1}.fleet-center .fleet-table tbody tr:hover td:last-child .btn{background:#2563eb;color:#fff;border-color:#2563eb}
.quick-status-form{display:grid;gap:5px}.quick-status-form>label,.quick-status-form #actionEstimateWrap>label{margin:10px 0 2px;color:#526074;font-size:11px;font-weight:750}.quick-status-form .form-control,.quick-status-form .form-select{min-height:42px;border-color:#dbe2ec;border-radius:9px;font-size:12px}.quick-status-form textarea{min-height:74px}.quick-status-form .form-text{display:block;margin-top:5px;color:#7a8698;font-size:10px}
.quick-status-vehicle{display:flex;align-items:center;gap:12px;margin:-2px 0 8px;padding:13px;border:1px solid #dce6f6;border-radius:12px;background:linear-gradient(120deg,#f7faff,#eef4ff)}
.quick-status-vehicle>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#2563eb;color:#fff;font-size:18px}.quick-status-vehicle>div{display:flex;min-width:0;flex-direction:column}.quick-status-vehicle small{color:#2563eb;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.quick-status-vehicle b{margin:2px 0;color:#182337;font-size:14px}.quick-status-vehicle em{color:#6d798c;font-size:10px;font-style:normal}
#vehicleActionModal .modal-content{border:0;border-radius:16px;box-shadow:0 22px 60px rgba(15,23,42,.2)}#vehicleActionModal .modal-header{padding:17px 20px;border-bottom-color:#edf0f4}#vehicleActionModal .modal-title{font-size:16px;font-weight:800}#vehicleActionModal .modal-body{padding:18px 20px}#vehicleActionModal .modal-footer{padding:13px 20px;border-top-color:#edf0f4}#vehicleActionModal .modal-footer .btn{min-width:105px;border-radius:9px;font-size:12px;font-weight:700}
.timesheet-events-hub{display:grid;gap:1rem;padding:1.15rem;border:1px solid #dbe5f2;border-radius:16px;background:linear-gradient(135deg,#f8fbff,#fff);box-shadow:0 5px 18px rgba(32,54,89,.05)}
.timesheet-events-hub>div{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-items:end}
.timesheet-events-hub>div small{grid-column:1/-1;color:#2563eb;font-weight:800;letter-spacing:.08em}
.timesheet-events-hub h3{font-size:1.05rem;margin:.2rem 0 0}
.timesheet-events-hub p,.timesheet-subpage-head p{margin:0;color:#64748b}
.timesheet-event-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(210px,1.25fr);gap:.65rem}
.timesheet-event-action{min-width:0;min-height:64px;display:flex;align-items:center;gap:.7rem;padding:.65rem .8rem;border:1px solid #dce4ef;border-radius:12px;background:#fff;color:#172033;text-align:left;box-shadow:0 2px 8px rgba(31,45,72,.04);transition:border-color .16s,box-shadow .16s,transform .16s,background .16s}
.timesheet-event-action:hover{border-color:#93b4f8;background:#f8fbff;box-shadow:0 7px 18px rgba(37,99,235,.11);transform:translateY(-1px)}
.timesheet-event-action:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}
.event-action-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:10px;background:#edf3ff;color:#2563eb;font-size:1rem;font-weight:800}
.event-action-text{min-width:0;display:flex;flex-direction:column;line-height:1.15}
.event-action-text strong{font-size:.82rem;white-space:normal}
.event-action-text small{margin-top:.25rem;color:#7b8495;font-size:.67rem;font-weight:500;letter-spacing:0;white-space:normal}
.event-action-primary{border-color:#2563eb;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.2)}
.event-action-primary:hover{border-color:#1d4ed8;background:linear-gradient(135deg,#2d6bec,#1e46ba);box-shadow:0 10px 22px rgba(37,99,235,.28)}
.event-action-primary .event-action-icon{background:rgba(255,255,255,.17);color:#fff}
.event-action-primary .event-action-text small{color:#dbeafe}
.timesheet-subpage-head{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.timesheet-subpage-head small{color:#2563eb;font-weight:800;letter-spacing:.08em}.timesheet-subpage-head h2{font-size:1.45rem;margin:.15rem 0}
@media(max-width:1150px){.timesheet-event-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.event-action-primary{grid-column:span 2}}
@media(max-width:850px){.timesheet-events-hub>div{display:block}.timesheet-events-hub h3{margin:.2rem 0}.timesheet-event-actions{grid-template-columns:1fr 1fr}.event-action-primary{grid-column:1/-1}.timesheet-subpage-head{align-items:flex-start;flex-direction:column;gap:.25rem}}
@media(max-width:520px){.timesheet-event-actions{grid-template-columns:1fr}.event-action-primary{grid-column:auto}}
/* Tasks Center */
.tasks-center{max-width:1600px;margin:auto}.tasks-hero{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;margin-bottom:18px;border-radius:20px;background:linear-gradient(120deg,#0f172a,#1e3a8a);color:#fff}.tasks-hero small{color:#93c5fd;font-weight:800;letter-spacing:.1em}.tasks-hero h2{margin:4px 0;font-weight:800}.tasks-hero p{margin:0;color:#cbd5e1}.tasks-focus{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.tasks-focus article{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px 18px}.tasks-focus small{color:#64748b}.tasks-focus b{display:block;font-size:25px}.tasks-focus .danger b{color:#dc2626}.tasks-focus .warning b{color:#d97706}.tasks-toolbar,.tasks-filters{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.tasks-scopes,.tasks-view-switch,.calendar-nav>div{display:flex;gap:4px;background:#eef2f7;border-radius:11px;padding:4px}.tasks-scopes button,.tasks-view-switch button,.calendar-nav button{border:0;background:transparent;border-radius:8px;padding:7px 12px;color:#475569}.tasks-scopes button.active,.tasks-view-switch button.active,.calendar-nav button.active{background:#fff;color:#1d4ed8;box-shadow:0 1px 4px #cbd5e1}.tasks-filters input{flex:1}.tasks-filters select{max-width:190px}.task-list{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}.task-row{display:grid;grid-template-columns:5px minmax(260px,1fr) 140px 190px;gap:16px;align-items:center;padding:14px 18px;border-bottom:1px solid #edf2f7;cursor:pointer}.task-row:hover{background:#f8fafc}.task-row i{height:46px;border-radius:8px}.task-row div{display:grid}.task-row div>span,.task-number{font-size:11px;color:#64748b;font-weight:800;letter-spacing:.04em}.task-row small{color:#64748b}.priority-critical{border-color:#dc2626!important}.task-row i.priority-critical{background:#dc2626}.task-row i.priority-high{background:#f97316}.task-row i.priority-normal{background:#2563eb}.task-row i.priority-low{background:#94a3b8}.task-status{width:max-content;padding:4px 9px;border-radius:20px;font-size:12px;font-weight:700;background:#e2e8f0}.status-in_progress{background:#dbeafe;color:#1d4ed8}.status-waiting{background:#fef3c7;color:#92400e}.status-review{background:#ede9fe;color:#6d28d9}.status-completed{background:#dcfce7;color:#166534}.status-cancelled{background:#fee2e2;color:#991b1b}.task-board{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:12px;overflow:auto}.task-board>section{background:#eef2f7;border-radius:14px;padding:10px;min-height:360px}.task-board>section>header{display:flex;justify-content:space-between;padding:6px}.task-card{display:block;text-align:left;width:100%;border:1px solid #e2e8f0;border-left:4px solid #2563eb;background:#fff;border-radius:11px;padding:12px;margin:8px 0}.task-card>div,.task-card footer{display:flex;justify-content:space-between}.task-card>b,.task-card>small{display:block;margin:6px 0}.task-card small,.task-card footer{color:#64748b;font-size:12px}.task-card.overdue{background:#fff7f7}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin:18px 0}.calendar-nav h3{text-transform:capitalize;font-size:19px;margin:0}.task-calendar{display:grid;gap:8px}.task-calendar.mode-month{grid-template-columns:repeat(7,1fr)}.task-calendar.mode-week{grid-template-columns:repeat(7,1fr)}.task-calendar.mode-day{grid-template-columns:1fr}.task-day{background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-height:135px;padding:8px}.mode-day .task-day{min-height:420px}.task-day.today{box-shadow:0 0 0 2px #2563eb}.task-day>header{display:flex;justify-content:space-between;color:#64748b;text-transform:capitalize}.cal-task{display:block;width:100%;border:0;border-left:3px solid #2563eb;border-radius:5px;background:#eff6ff;text-align:left;font-size:11px;padding:5px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-task time{font-weight:800;margin-right:5px}.task-drawer{position:fixed;inset:0;z-index:1080}.task-drawer-backdrop{position:absolute;inset:0;background:#0f172a88}.task-drawer>aside{position:absolute;right:0;top:0;height:100%;width:min(720px,95vw);overflow:auto;background:#f8fafc;padding:30px;box-shadow:-10px 0 30px #0f172a33}.task-close{position:absolute;right:18px;top:12px;border:0;background:transparent;font-size:30px}.task-profile h2{margin:8px 40px 12px 0}.task-profile-meta,.task-profile-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.task-profile dl,.task-profile section{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px;margin-top:14px}.task-profile dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.task-profile dt{font-size:11px;color:#64748b}.task-profile dd{margin:3px 0}.task-profile h4{font-size:16px}.check-row{display:flex;gap:9px;align-items:center;padding:7px 0}.check-row em{margin-left:auto;color:#64748b;font-size:11px}.task-profile form{display:flex;gap:8px;margin-top:10px}.task-comments article,.history-row{padding:9px 0;border-bottom:1px solid #e2e8f0}.task-comments time{float:right;font-size:11px;color:#64748b}.task-comments p,.history-row p{margin:4px 0}.history-row small{display:block;color:#64748b}.task-column-empty{display:block;text-align:center;color:#94a3b8;padding:25px 4px}
@media(max-width:1000px){.tasks-focus{grid-template-columns:repeat(2,1fr)}.tasks-toolbar,.tasks-filters{flex-wrap:wrap}.task-board{grid-template-columns:repeat(5,260px)}.task-calendar.mode-month{grid-template-columns:repeat(7,150px);overflow:auto}.task-row{grid-template-columns:5px 1fr 120px}.task-row time{display:none}}@media(max-width:600px){.tasks-hero{align-items:flex-start;gap:14px}.tasks-focus{grid-template-columns:repeat(2,1fr)}.tasks-scopes{overflow:auto}.tasks-view-switch{width:100%}.task-calendar.mode-week{grid-template-columns:repeat(7,180px);overflow:auto}.task-profile dl{grid-template-columns:1fr}.task-drawer>aside{padding:24px 15px}}
.tasks-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.task-control-panel{grid-column:1/-1}.task-control-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.task-control-grid>div{padding:14px;border-radius:12px;background:#f8fafc}.task-control-grid b{display:block;font-size:25px}.task-control-grid span{font-size:12px;color:#64748b}.task-control-grid>div:nth-child(2) b{color:#dc2626}.task-control-grid>div:nth-child(3) b{color:#7c3aed}.task-control-grid>div:nth-child(4) b{color:#d97706}.task-control-rate{background:#eff6ff!important}.task-control-rate b{color:#1d4ed8}.automation-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.automation-head p{margin:0;color:#64748b}.automation-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.automation-grid>section{border:1px solid #e2e8f0;border-radius:14px;padding:14px;background:#f8fafc}.automation-card{display:block;position:relative;width:100%;border:1px solid #e2e8f0;border-radius:11px;background:#fff;text-align:left;padding:12px;margin:8px 0}.automation-card>span,.automation-card>small{display:block;color:#64748b;font-size:11px}.automation-card>b{display:block;margin:3px 0}.automation-card .form-switch{position:absolute;right:10px;top:9px;font-size:11px}.schedule-weekdays #scheduleWeekdays{display:flex;gap:6px;flex-wrap:wrap}.schedule-weekdays label{padding:7px 10px;background:#f1f5f9;border-radius:8px}.cal-task[draggable=true]{cursor:grab}.task-day.drag-over{box-shadow:0 0 0 2px #2563eb}.task-day-blank{display:block}
@media(max-width:800px){.task-control-grid{grid-template-columns:repeat(2,1fr)}.automation-grid{grid-template-columns:1fr}.automation-head{align-items:flex-start;flex-direction:column}.tasks-hero{flex-direction:column}.tasks-hero-actions{justify-content:flex-start}}
/* Tire Center */
.tires-heading{align-items:flex-start}.tires-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tire-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px;margin:20px 0}.tire-kpi-grid article{position:relative;background:#fff;border:1px solid #dfe5ef;border-radius:14px;padding:16px 16px 16px 20px;overflow:hidden;box-shadow:0 3px 10px rgba(15,23,42,.025)}.tire-kpi-grid article i{position:absolute;left:0;top:0;bottom:0;width:4px}.tire-kpi-grid i.blue{background:#2563eb}.tire-kpi-grid i.green{background:#16a34a}.tire-kpi-grid i.violet{background:#7c3aed}.tire-kpi-grid i.cyan{background:#0891b2}.tire-kpi-grid i.orange{background:#ea580c}.tire-kpi-grid i.red{background:#dc2626}.tire-kpi-grid span{display:block;color:#64748b;font-size:12px}.tire-kpi-grid b{font-size:27px;color:#0f172a}.tire-tabs{display:flex;gap:4px;border-bottom:1px solid #d8e0ec;margin-bottom:16px;overflow-x:auto}.tire-tabs button{border:0;background:transparent;padding:12px 16px;font-weight:600;color:#64748b;white-space:nowrap;border-bottom:3px solid transparent}.tire-tabs button:hover{color:#1d4ed8}.tire-tabs button.active{color:#1d4ed8;border-color:#2563eb}.tire-filter-row{display:grid;grid-template-columns:minmax(280px,1fr) 190px 170px auto;gap:10px}.tire-list{background:#fff;border:1px solid #dfe5ef;border-radius:14px;overflow:hidden}.tire-table{margin:0}.tire-table th{background:#f8fafc;color:#475569;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:12px}.tire-table td{vertical-align:middle;padding:13px 12px}.tire-table tbody tr{cursor:pointer;transition:background .15s}.tire-table tbody tr:hover{background:#f1f6ff}.tire-table td small{display:block;color:#64748b;margin-top:3px}.tire-season,.tire-status{display:inline-flex;align-items:center;border-radius:20px;padding:5px 9px;font-size:12px;font-weight:700;white-space:nowrap}.tire-season.winter{color:#1d4ed8;background:#dbeafe}.tire-season.summer{color:#b45309;background:#fef3c7}.tire-season.all_season{color:#475569;background:#e2e8f0}.tire-status.in_warehouse{color:#166534;background:#dcfce7}.tire-status.installed{color:#5b21b6;background:#ede9fe}.tire-status.reserved{color:#92400e;background:#fef3c7}.tire-status.written_off{color:#991b1b;background:#fee2e2}.tire-count{display:inline-block;border-radius:8px;padding:5px 9px}.tire-count.complete{color:#166534;background:#dcfce7}.tire-count.incomplete{color:#9a3412;background:#ffedd5}.tire-link{border:0;background:none;color:#2563eb;font-weight:700;padding:0}.tire-row-actions button{border:0;background:#f1f5f9;border-radius:8px;font-size:20px;line-height:20px}.tire-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tire-detail-grid article{border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:14px}.tire-detail-grid small{display:block;color:#64748b}.tire-detail-grid b{display:block;margin-top:5px}.tire-set-members{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.tire-set-members button{text-align:left;border:1px solid #dbe3ef;border-radius:12px;padding:13px;background:#fff}.tire-set-members button:hover{border-color:#60a5fa;background:#eff6ff}.tire-set-members span,.tire-set-members small{display:block;margin-top:4px}.tire-set-members small{color:#64748b}
@media(max-width:1100px){.tire-kpi-grid{grid-template-columns:repeat(3,1fr)}.tire-filter-row{grid-template-columns:1fr 1fr}.tire-detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.tire-kpi-grid{grid-template-columns:repeat(2,1fr)}.tire-filter-row{grid-template-columns:1fr}.tire-detail-grid{grid-template-columns:1fr}.tires-actions{justify-content:flex-start}}
.tire-compose-tools{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:10px}.tire-compose-tools .fleet-search-control{flex:1}.tire-compose-tools strong{white-space:nowrap;color:#1d4ed8}.tire-compose-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:330px;overflow:auto;padding:2px}.tire-compose-list>label{display:flex;gap:11px;align-items:flex-start;border:1px solid #dbe3ef;border-radius:11px;padding:11px;background:#fff;cursor:pointer;transition:.15s}.tire-compose-list>label:hover{border-color:#60a5fa;background:#eff6ff}.tire-compose-list>label:has(input:checked){border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px #2563eb}.tire-compose-list input{margin-top:4px;width:17px;height:17px}.tire-compose-list span span,.tire-compose-list span small,.tire-manager-current span span,.tire-manager-current span small{display:block}.tire-compose-list small,.tire-manager-current small{color:#64748b;margin-top:3px}.tire-set-manager{margin-top:24px;border-top:1px solid #dbe3ef;padding-top:20px}.tire-manager-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tire-manager-head h6{font-size:18px;margin:3px 0}.tire-manager-current{display:grid;gap:7px}.tire-manager-current>div{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;padding:10px 12px}.tire-manager-current>div>span{flex:1}@media(max-width:700px){.tire-compose-list{grid-template-columns:1fr}.tire-compose-tools{align-items:stretch;flex-direction:column}.tire-compose-tools strong{align-self:flex-end}}
