/* IDOLVER UI ONLY. No text, asset changes or visibility rules.
   Action colours and state indicators remain owned by the existing application. */
:root {
  --ui-bg: #f5f6f8;
  --ui-surface: #fff;
  --ui-subtle: #f8f9fb;
  --ui-text: #1d2433;
  --ui-muted: #596374;
  --ui-border: #dbe0e8;
  --ui-accent: #6941c6;
  --ui-shadow: 0 3px 8px rgb(24 39 62 / 4%), 0 12px 28px rgb(24 39 62 / 4%);
}
body.dark-theme {
  --ui-bg: #171b23;
  --ui-surface: #232a35;
  --ui-subtle: #293241;
  --ui-text: #f2f4f8;
  --ui-muted: #bdc6d4;
  --ui-border: #465267;
  --ui-accent: #c0a5ff;
  --ui-shadow: 0 5px 20px rgb(0 0 0 / 15%);
}
html, body {
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}
body, body.dark-theme, body .app, body.dark-theme .app,
body .login-page, body.dark-theme .login-page {
  background: var(--ui-bg);
  color: var(--ui-text);
}
button, input, select, textarea { font-family: inherit; }
button { line-height: 1.4; }
button:not(.logo-home-button):not(.profile-button) { border-radius: 10px; }
button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible, a:focus-visible {
  outline: 3px solid var(--ui-accent);
  outline-offset: 3px;
}
button:disabled { opacity: .6; }
body :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]), select, textarea) {
  border-color: var(--ui-border);
  border-radius: 10px;
  background: var(--ui-surface);
  color: var(--ui-text);
  min-height: 46px;
  padding: 11px 13px;
  max-width: 100%;
  box-shadow: 0 1px 2px rgb(24 39 62 / 3%);
}
body.dark-theme :where(input, select, textarea) { border-color: var(--ui-border); }
textarea { resize: vertical; line-height: 1.6; }
input::placeholder, textarea::placeholder { color: #737e90; opacity: 1; }
input[type=checkbox], input[type=radio] { min-height: 0; flex-shrink: 0; }
label { line-height: 1.5; }
body .hint, body.dark-theme .hint, .fc-hint,
.doc-note, .doc-empty, body.dark-theme .doc-note, body.dark-theme .doc-empty {
  color: var(--ui-muted);
}
.top, .foot {
  background: var(--ui-surface);
  border-color: var(--ui-border);
}
.top { box-shadow: 0 2px 12px rgb(24 39 62 / 3%); }
.main { width: min(100% - 48px, 1120px); padding: 36px 0 44px; }
.welcome { margin-bottom: 28px; gap: 16px; flex-wrap: wrap; }
.welcome h1 { font-size: clamp(24px, 3vw, 32px); letter-spacing: -.025em; line-height: 1.2; }
.category { margin-bottom: 30px; }
.category h2 { font-size: 19px; text-decoration: none; margin-bottom: 14px; letter-spacing: -.015em; }
.tiles { gap: 16px; }
/* Decorative icons stay outside the accessible button name. */
#categories .tile {
  --ui-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='3'/%3E%3Cpath d='M8 8h8M8 12h8M8 16h5'/%3E%3C/svg%3E");
  display: flex;
  align-items: center;
  gap: 14px;
}
#categories .tile::before {
  content: "";
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  background-color: #426793;
  mask: var(--ui-icon) center / contain no-repeat;
}
#categories .tile::after {
  content: "";
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  margin-left: auto;
  border-top: 1.5px solid var(--ui-muted);
  border-right: 1.5px solid var(--ui-muted);
  transform: rotate(45deg);
}
#categories [data-module=vehicleStatus], #categories [data-module=vehicleCheck] {
  --ui-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 16V9h12v7M15 11h3l3 4v3H3v-2M6 9V5h7v4'/%3E%3Ccircle cx='6.5' cy='18' r='2'/%3E%3Ccircle cx='17.5' cy='18' r='2'/%3E%3C/svg%3E");
}
#categories [data-module=schedule], #categories [data-module=leavePlan], #categories [data-module=leaveRequest] {
  --ui-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18M7 14h2M15 14h2M7 18h2'/%3E%3C/svg%3E");
}
#categories [data-module=hours] {
  --ui-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
}
#categories [data-module=safe] {
  --ui-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='15' cy='8' r='5'/%3E%3Cpath d='m11 12-8 8v1h4v-3h3v-3l2-2M16 7h.01'/%3E%3C/svg%3E");
}
#categories [data-module=fuel] {
  --ui-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h12M5 21V4h8v17M5 10h8M13 13h3v4a2 2 0 0 0 4 0V8l-3-3M18 6v4h2'/%3E%3C/svg%3E");
}
body.dark-theme #categories .tile::before { background-color: #9bbbe6; }
body #categories .category .tile,
body.dark-theme #categories .category .tile {
  background: var(--ui-surface);
  color: var(--ui-text);
  border: 1px solid var(--ui-border);
  border-radius: 16px;
  min-height: 94px;
  padding: 22px;
  font-size: 17px;
  line-height: 1.45;
  box-shadow: var(--ui-shadow);
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
  transform: none;
}
body #categories .category .tile:hover,
body.dark-theme #categories .category .tile:hover {
  background: var(--ui-subtle);
  border-color: #a7b0c2;
  box-shadow: 0 5px 18px rgb(24 39 62 / 9%);
}
body .detail, body.dark-theme .detail,
body .my-card, body.dark-theme .my-card,
body .my-metric, body.dark-theme .my-metric,
body .my-action, body.dark-theme .my-action,
body .modal-box, body.dark-theme .modal-box,
.fc-head, .fc-section, .staff-section, .staff-role-row,
.shared-editor, .shared-entry, .doc-folder, .doc-entry,
.fuel-entry, .fuel-editor, .card, .row {
  background: var(--ui-surface);
  color: var(--ui-text);
  border: 1px solid var(--ui-border);
  border-radius: 16px;
  box-shadow: var(--ui-shadow);
}
.detail { max-width: 960px; padding: 28px; }
.detail h2, .modal-box h2 { font-size: 24px; letter-spacing: -.02em; line-height: 1.3; }
.detail h3, .my-card h3 { line-height: 1.4; letter-spacing: -.01em; }
.my-card, .my-metric { padding: 20px; }
.my-readonly div, .my-info { border-color: var(--ui-border); }
.my-readonly span { color: var(--ui-muted); }
.my-metric strong { font-variant-numeric: tabular-nums; }
.modal-box { padding: 28px; box-shadow: 0 24px 80px rgb(12 20 35 / 20%); }
.scrim, .modal-cover { background: rgb(19 27 43 / 42%); }
body .detail .back, body.dark-theme .detail .back,
.global-back, .close, .login-utility-button {
  background: var(--ui-surface);
  color: var(--ui-text);
  border: 1px solid var(--ui-border);
  min-height: 46px;
  padding: 11px 16px;
}
.green, .logout, .modal-close, .fc-save,
.fc-navigation button, .shared-actions button,
.shared-toolbar button, .doc-admin-actions button {
  min-height: 46px;
  padding: 12px 18px;
}
.drawer { background: var(--ui-surface); color: var(--ui-text); box-shadow: -12px 0 48px rgb(15 25 45 / 16%); }
.drawer-header, .drawer-bottom { border-color: var(--ui-border); padding: 20px; }
.drawer-scroll { padding: 18px 20px; }
.drawer-group h3, .drawer-note { color: var(--ui-muted); text-decoration: none; }
.drawer .drawer-item { color: var(--ui-text); background: var(--ui-subtle); border-color: var(--ui-border); padding: 13px 14px; min-height: 48px; margin-bottom: 8px; }
.drawer .close { color: var(--ui-text); }
.drawer .logout { color: #fff; }
.drawer .drawer-item.has-unread { border-color: #d71931; }
.login-box { max-width: 420px; }
.login-box h1 { font-size: 25px; letter-spacing: -.02em; margin: 24px 0; }
.login-page { padding: 36px 24px; }
.login-lang { margin-bottom: 24px; }
.login-version, .foot .copyright .version { color: var(--ui-muted); }
.foot { font-size: 14px; padding: 20px 24px; }
.fc-wrap { font-family: inherit; }
.fc-head, .fc-section { padding: 20px; }
.fc-section > h3 { background: var(--ui-subtle); border-bottom: 1px solid var(--ui-border); margin: -20px -20px 20px !important; padding: 16px 20px; border-radius: 15px 15px 0 0; }
.fc-question { border-radius: 12px; background: var(--ui-subtle); border-color: var(--ui-border) !important; }
.fc-question .fc-title { line-height: 1.5; margin-bottom: 12px; }
.fc-meta input, .fc-meta select, .fc-question input:not([type=range]):not([type=checkbox]):not([type=file]),
.fc-question select, .fc-question textarea, .shared-editor input, .shared-editor textarea {
  border-radius: 10px;
  border-color: var(--ui-border);
  min-height: 46px;
  padding: 11px 13px;
}
.fc-step { background: var(--ui-surface); border-color: var(--ui-border); min-height: 44px; padding: 10px 12px; }
.fc-step[aria-current=step] { background: #167c3c; color: #fff; border-color: #167c3c; }
.fc-steps { gap: 8px; }
.fc-upload-choice, .fc-camera-choice { border-color: var(--ui-border); border-radius: 12px; padding: 14px; }
.fc-navigation { gap: 14px; }
.fc-progress { font-variant-numeric: tabular-nums; }
.calendar-toolbar { background: var(--ui-surface); border-color: var(--ui-border); padding: 14px; }
.calendar-day { background: var(--ui-surface); border-color: var(--ui-border); }
.calendar-weekday { background: var(--ui-subtle); color: var(--ui-muted); }
.shared-editor, .shared-entry, .staff-role-row { gap: 16px; padding: 18px; }
.doc-folder summary { min-height: 44px; align-content: center; }
.doc-entry { box-shadow: none; padding: 14px; }
table { border-collapse: separate; border-spacing: 0; font-variant-numeric: tabular-nums; }
th { background: var(--ui-subtle); text-align: left; }
th, td { border-color: var(--ui-border); padding: 12px; }
.wrap { padding: 24px; }
.card { padding: 28px; }
.company-row, .module-toggle, .tile-button {
  border-color: var(--ui-border);
  border-radius: 12px;
  background: var(--ui-surface);
}
@media (max-width: 650px) {
  html, body { font-size: 17px; }
  button, input, select, textarea { font-size: 17px; }
  .main { width: calc(100% - 28px); padding: 26px 0 32px; }
  .top { padding: 12px 14px; gap: 8px; }
  .top-right { gap: 8px; }
  .global-back { padding: 10px; }
  .welcome h1 { font-size: 26px; }
  .tiles { gap: 12px; }
  body #categories .category .tile { min-height: 94px; padding: 16px 14px; font-size: 17px; }
  .detail, .modal-box, .card { padding: 20px 16px; }
  .detail h2, .modal-box h2 { font-size: 23px; }
  .my-card, .my-metric { padding: 16px; }
  .fc-head, .fc-section { padding: 16px; }
  .fc-section > h3 { margin: -16px -16px 16px !important; padding: 14px 16px; }
  .fc-question { padding: 13px; }
  .fc-navigation { gap: 10px; }
  .fc-navigation .fc-hint { flex-basis: 100%; }
  .shared-entry, .shared-editor, .staff-role-row { padding: 16px; }
  .foot { gap: 8px; padding: 18px 14px; }
  .wrap { margin: 20px auto; padding: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  body #categories .category .tile { transition: none; }
}
@media print {
  body, body .app { background: #fff; }
  .detail, .my-card, .fc-section, .fc-head { box-shadow: none; }
}

/* All internal modules: the same white cards and soft blue-grey heading bands
   as the approved dashboard and inspection references. Existing DOM order,
   hidden states, checkbox sizes, canvas geometry and action colours are kept. */
.detail {
  width: 100%;
  max-width: 100%;
  border-radius: 20px;
  padding: 28px;
}
#module-title {
  padding: 18px 20px;
  margin: 0 0 24px;
  background: linear-gradient(110deg, var(--ui-subtle), var(--ui-surface));
  border: 1px solid var(--ui-border);
  border-radius: 14px;
  font-size: clamp(23px, 2.8vw, 30px);
  line-height: 1.3;
}
#module-body { min-width: 0; }
#module-body > * + * { margin-top: 18px; }
#module-body :is(p, small, strong, label, summary) { overflow-wrap: anywhere; }
#module-body :is(h3, h4) { line-height: 1.4; }
#module-body h3 { font-size: 20px; letter-spacing: -.02em; }
#module-body h4 { font-size: 17px; }
#module-body > h3 {
  padding: 14px 18px;
  background: var(--ui-subtle);
  border: 1px solid var(--ui-border);
  border-radius: 12px;
  margin: 28px 0 16px;
}
/* Shared by personal data, invitations, requests, worktime corrections,
   company settings, shared vehicle entries and schedule editing. */
#module-body .detail-form,
.wrap .company-form,
.wrap :is(#loginForm, #activateForm, #passwordForm, #mfaEnrollForm, #mfaChallengeForm) {
  width: 100%;
  max-width: 720px;
  padding: 22px !important;
  border: 1px solid var(--ui-border) !important;
  border-radius: 16px !important;
  background: var(--ui-subtle);
  box-shadow: 0 2px 6px rgb(24 39 62 / 3%);
}
#module-body .detail-form { gap: 14px; margin: 20px 0; }
#module-body .detail-form > h3 { margin: 0 0 4px; }
#module-body .detail-form label { font-weight: 600; color: var(--ui-text); }
#module-body .detail-form button { max-width: 100%; justify-self: start; }
#module-body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]), select, textarea),
.wrap :is(input:not([type=checkbox]):not([type=radio]), select, textarea) {
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
  color: var(--ui-text);
  background-color: var(--ui-surface);
  border: 1px solid var(--ui-border);
  border-radius: 10px;
  padding: 11px 13px;
  min-height: 46px;
  max-width: 100%;
}
#module-body :is(input[readonly], textarea[readonly]) {
  background: var(--ui-subtle);
  border-style: dashed;
}
#module-body textarea { min-height: 100px; }
/* Browser-native date pickers retain their native controls and behaviour. */
#module-body input:is([type=date], [type=datetime-local], [type=time]) {
  min-width: 0;
  font-variant-numeric: tabular-nums;
}
#module-body button,
.wrap button {
  min-height: 46px;
  padding: 11px 16px;
  border-radius: 10px;
  font-family: inherit;
  line-height: 1.45;
  white-space: normal;
  overflow-wrap: anywhere;
}
#module-body button:not([class]):not([style*="background"]) {
  background: var(--ui-surface);
  color: var(--ui-text);
  border: 1px solid var(--ui-border);
}
#module-body .red-link {
  color: #b51f32;
  border: 1px solid #ecd0d5;
  background: #fff7f8;
  border-radius: 10px;
  text-underline-offset: 3px;
}
#module-body .red { background: #bb3434; color: #fff; border: 1px solid #a92d2d; }
#module-body canvas { border-radius: 12px; border-color: var(--ui-border) !important; }
/* Personal overview, profile and every nested information panel. */
#module-body :is(.my-card, .my-action, .my-metric, .admin-edit-section) {
  background: var(--ui-surface);
  border: 1px solid var(--ui-border);
  border-radius: 16px;
}
#module-body .my-card { padding: 24px; }
#module-body .my-card > h3:first-child {
  margin: -24px -24px 20px;
  padding: 16px 24px;
  background: linear-gradient(110deg, var(--ui-subtle), var(--ui-surface));
  border-bottom: 1px solid var(--ui-border);
  border-radius: 15px 15px 0 0;
}
#module-body .my-metrics { gap: 14px; margin: 20px 0; }
#module-body .my-metric { box-shadow: none; background: var(--ui-subtle); }
#module-body .my-metric span { color: var(--ui-muted); font-size: 15px; }
#module-body .my-metric strong { color: var(--ui-text); font-size: 26px; }
#module-body .my-readonly { gap: 16px 24px; }
#module-body .my-readonly div { padding: 14px 0; }
#module-body .my-action { padding: 20px; }
#module-body .admin-edit-banner {
  border: 1px solid #c5d8cb;
  border-left: 4px solid #16833f;
  border-radius: 14px;
  background: var(--ui-surface);
  padding: 18px 20px;
  box-shadow: var(--ui-shadow);
}
#module-body .admin-edit-banner strong { font-size: 20px; }
/* Documents, archive, notifications, activity, employee invitations,
   uploaded schedules/leave plans, fuel limits and safe-code entries. */
#module-body :is(.doc-layout, .doc-list, .shared-list) { gap: 14px; }
#module-body .doc-folder { padding: 20px; margin: 14px 0; }
#module-body .doc-folder > summary {
  min-height: 46px;
  font-size: 17px;
  line-height: 1.5;
  color: var(--ui-text);
  padding: 10px 12px;
  background: var(--ui-subtle);
  border-radius: 10px;
}
#module-body .doc-folder[open] > summary { margin-bottom: 14px; }
#module-body .doc-folder .doc-folder { box-shadow: none; }
#module-body .doc-folder-content { padding-top: 8px; }
#module-body :is(.doc-entry, .shared-entry, .fuel-entry) {
  border: 1px solid var(--ui-border);
  border-radius: 12px;
  padding: 18px;
  margin: 12px 0;
  background: var(--ui-surface);
  line-height: 1.6;
}
#module-body .doc-entry strong { font-size: 17px; }
#module-body .doc-entry small { color: var(--ui-muted); }
#module-body .doc-entry p { margin: 10px 0; }
#module-body :is(.doc-admin-tools, .shared-toolbar, .shared-recipient-list) {
  background: var(--ui-subtle);
  border: 1px solid var(--ui-border);
  border-radius: 12px;
  padding: 14px;
}
#module-body :is(.shared-actions, .doc-admin-actions, .staff-end-controls) { gap: 10px; }
#module-body .shared-recipient-list label { padding: 10px 8px; }
#module-body .doc-broadcast {
  padding: 22px;
  border: 1px solid #dcaeb7;
  border-left: 4px solid #b52b36;
  background: var(--ui-surface);
  border-radius: 16px;
}
/* Staff access, roles and the employee-specific action rows. */
#module-body .staff-section { padding: 22px; margin: 24px 0; }
#module-body .staff-section > h3:first-child { margin-top: 0; }
#module-body .staff-role-row { padding: 20px; margin: 14px 0; }
#module-body .staff-role-row small { color: var(--ui-muted); }
#module-body .staff-role-choice { gap: 16px; }
#module-body .staff-role-choice label { margin: 0; padding: 8px 0; }
/* Schedule: retain seven columns and the existing mobile expand/collapse. */
#module-body .calendar-toolbar { border-radius: 14px; padding: 16px; }
#module-body .calendar-toolbar strong { font-size: 23px; }
#module-body .calendar-toolbar .logout { width: auto; }
#module-body .calendar-day { border-radius: 10px; }
#module-body .calendar-shift { padding: 10px; border-radius: 8px; }
#module-body .calendar-editor { max-width: 100%; }
/* All existing modal types, including safe-code and inactivity windows. */
.modal-box { border: 1px solid var(--ui-border); border-radius: 20px; }
.modal-box :is(input, select, textarea) { max-width: 100%; }
#code-title { margin-bottom: 18px; line-height: 1.4; }
#code-content {
  background: var(--ui-subtle);
  border: 1px solid var(--ui-border);
  padding: 20px;
  border-radius: 12px;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}
.alert { border-radius: 16px; padding: 24px; }
/* Super Admin: company editors, invitations, role switches and audit lists. */
.wrap .card { border-radius: 20px; }
.wrap .card > .top { padding: 0 0 20px; box-shadow: none; border-bottom: 1px solid var(--ui-border); }
.wrap :is(.company-row, .row) { padding: 20px; border-radius: 14px; box-shadow: none; }
.wrap .company-row small { color: var(--ui-muted); line-height: 1.6; }
.wrap .company-list { gap: 16px; margin-top: 22px; }
.wrap :is(.tile, button.tile-button) { background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: 16px; padding: 22px; box-shadow: var(--ui-shadow); }
.wrap .company-note, .wrap .mfa-info, .wrap .warn { padding: 16px 18px; border-radius: 12px; line-height: 1.6; }
.wrap .company-note { background: var(--ui-subtle); color: var(--ui-muted); border: 1px solid var(--ui-border); }
.wrap .module-panel { border-color: var(--ui-border); padding-top: 20px; }
.wrap .module-grid { gap: 12px; }
.wrap .module-toggle { padding: 14px; background: var(--ui-subtle); }
.wrap .company-actions { gap: 12px; padding-top: 16px; }
.wrap hr { border: 0; border-top: 1px solid var(--ui-border); margin: 26px 0; }
body.dark-theme #module-body .red-link { background: #3b2530; border-color: #8b4e5a; color: #ffb8c2; }
/* Preserve the inspection's existing semantic state colours after field rules. */
#module-body .fc-question[data-state=ok] select { background: #ddf5e6; color: #135c31; }
#module-body .fc-question[data-state=warn] select { background: #fff1c1; color: #4a3600; }
#module-body .fc-question[data-state=bad] select { background: #ffe0e0; color: #7e1717; }
@media (max-width: 650px) {
  .detail { padding: 18px 14px; border-radius: 18px; }
  #module-title { font-size: 23px; padding: 16px; margin-bottom: 20px; }
  #module-body .detail-form,
  .wrap .company-form,
  .wrap :is(#loginForm, #activateForm, #passwordForm, #mfaEnrollForm, #mfaChallengeForm) { padding: 16px !important; }
  #module-body .my-card { padding: 18px 16px; }
  #module-body .my-card > h3:first-child { margin: -18px -16px 18px; padding: 14px 16px; }
  #module-body :is(.doc-folder, .staff-section, .staff-role-row, .doc-broadcast) { padding: 16px; }
  #module-body :is(.doc-entry, .shared-entry, .fuel-entry) { padding: 14px; }
  #module-body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]), select, textarea),
  .wrap :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { font-size: 17px; }
  #module-body .calendar-toolbar { padding: 10px; gap: 6px; }
  #module-body .calendar-toolbar strong { font-size: clamp(13px, 4vw, 18px); }
  #module-body .calendar-toolbar button { min-width: 44px; padding: 8px; }
  #module-body .calendar-shift { padding: 6px; }
  .wrap :is(.company-row, .row) { padding: 16px; }
  .wrap :is(.tile, button.tile-button) { padding: 18px; }
}
