/* Compatibility layer: existing production modules retain their behavior. */
body.has-app-shell .company-mark {
  display: inline-grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: var(--teal-soft);
  color: var(--teal-dark);
  font-weight: 850;
  font-size: 13px;
  letter-spacing: -.04em;
}
body.has-app-shell .sidebar-brand:has(.company-mark) .brand-symbol { display: none; }
body.has-app-shell #topbar-company-button { text-align: left; cursor: pointer; }
body.has-app-shell .calendar-controls {
  display: grid;
  gap: 18px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}
body.has-app-shell .calendar-nav,
body.has-app-shell .calendar-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
}
body.has-app-shell .calendar-controls label {
  display: grid;
  gap: 6px;
  color: var(--ink-soft);
  font-size: 12px;
  font-weight: 650;
}
body.has-app-shell .calendar-controls :is(input, select) { max-width: 100%; min-width: 145px; }
body.has-app-shell .calendar-nav > strong { font-size: 13px; padding: 10px 0; }
body.has-app-shell .calendar-panel { margin-top: 20px; }
body.has-app-shell :is(.calendar-agenda, .calendar-day-focus) { display: grid; gap: 14px; }
body.has-app-shell .calendar-entry {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  padding: 22px;
  min-width: 0;
  border: 1px solid var(--line);
  border-left: 4px solid var(--teal);
  border-radius: 20px;
  background: var(--surface);
  box-shadow: var(--shadow-sm);
  transition: transform 170ms var(--ease-out), opacity 170ms var(--ease-out);
}
body.has-app-shell .calendar-entry:hover { transform: translateY(-2px); }
body.has-app-shell .calendar-entry.status-in_progress { border-left-color: var(--status-progress); }
body.has-app-shell .calendar-entry.status-returned { border-left-color: var(--status-returned); }
body.has-app-shell .calendar-entry.status-submitted { border-left-color: var(--status-review); }
body.has-app-shell .calendar-entry.status-completed { border-left-color: var(--status-closed); }
body.has-app-shell .calendar-entry.status-cancelled { border-left-color: var(--status-cancelled); }
body.has-app-shell .calendar-entry h3 { font-size: 16px; margin: 6px 0 8px; }
body.has-app-shell .calendar-entry .muted { font-size: 12px; }
body.has-app-shell .calendar-month-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
body.has-app-shell .calendar-day { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
body.has-app-shell .calendar-day h2 { font-size: 15px; }
body.has-app-shell .calendar-chip { width: 100%; text-align: left; margin-top: 8px; padding: 12px; border-radius: 12px; background: var(--teal-soft); color: var(--teal-dark); font-size: 12px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
body.has-app-shell .calendar-chip.in_progress { background: var(--status-progress-soft); color: var(--status-progress); }
body.has-app-shell .calendar-chip.returned { background: var(--status-returned-soft); color: var(--status-returned); }
body.has-app-shell .calendar-chip.submitted { background: var(--status-review-soft); color: var(--status-review); }
body.has-app-shell .calendar-chip.completed { background: var(--status-closed-soft); color: var(--status-closed); }
body.has-app-shell .calendar-week-grid { display: grid; grid-template-columns: repeat(7, minmax(180px, 1fr)); overflow-x: auto; gap: 12px; padding-bottom: 10px; }
body.has-app-shell .calendar-week-grid .calendar-entry { display: grid; padding: 14px; gap: 12px; }
body.has-app-shell .calendar-week-grid .calendar-entry .button { width: 100%; }
body.has-app-shell [data-operational-panels] { margin-top: 22px; }
body.has-app-shell .production-shortcuts { margin: 22px 0; }
body.has-app-shell .production-shortcuts > h2 { font-size: 16px; margin-bottom: 12px; }
body.has-app-shell .production-shortcuts-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
body.has-app-shell .production-shortcuts-grid > .panel { margin: 0; }
body.has-app-shell .production-shortcuts-grid h2 { font-size: 15px; }
body.has-app-shell .production-shortcuts-grid p { font-size: 12px; }
@media (max-width: 700px) {
  body.has-app-shell .calendar-controls { padding: 16px; }
  body.has-app-shell .calendar-controls :is(input, select) { width: 100%; min-width: 0; }
  body.has-app-shell .calendar-filters > label { flex: 1 1 130px; }
  body.has-app-shell .calendar-nav > label { flex: 1 1 130px; }
  body.has-app-shell .calendar-nav > strong { flex-basis: 100%; }
  body.has-app-shell .calendar-entry { display: grid; padding: 18px; gap: 12px; }
  body.has-app-shell .calendar-entry > .button { width: 100%; }
  body.has-app-shell .calendar-month-grid { grid-template-columns: 1fr; }
  body.has-app-shell .sidebar-brand { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  body.has-app-shell .calendar-entry { transition: none; }
  body.has-app-shell .calendar-entry:hover { transform: none; }
}
