/* Atmos shared presentation. Load after module styles, including standalone access/settings. */
:root {
  --qs-surface: #fff;
  --qs-action: #2563eb;
  --qs-action-hover: #1d4ed8;
  --qs-danger-action: #b83939;
  --qs-success-action: #257a55;
  --qs-bg: #f3f6fb;
  --qs-soft: #f7f9fc;
  --qs-text: #17243a;
  --qs-muted: #526175;
  --qs-border: #dbe3ed;
  --qs-primary: #2563eb;
  --qs-primary-dark: #1d4ed8;
  --qs-primary-soft: #edf3ff;
  --qs-sidebar: #101c31;
  --qs-sidebar-muted: #b0bed1;
  --qs-shadow: 0 3px 14px rgba(20, 38, 68, .04);
}
body { font-size: 14px; line-height: 1.55; }
[hidden] { display: none !important; }
a { text-decoration: none; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
:where(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--qs-primary);
  outline-offset: 3px;
}
button:disabled { cursor: not-allowed; opacity: .55; }
input, select, textarea { color: var(--qs-text); accent-color: var(--qs-primary); }
:where(input, select, textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]) {
  min-height: 44px;
  font-size: 14px;
  line-height: 1.5;
}
textarea { resize: vertical; }
:where(h1, h2, h3, p, strong, span, label, dd) { overflow-wrap: anywhere; }
:where(h1, h2, h3) { line-height: 1.3; }
:where(.page-content, .sales-page) { padding: 30px clamp(18px, 3vw, 36px) 56px; }
:where(.page-heading, .fleet-heading, .home-heading, .sales-header) h1 {
  font-size: clamp(26px, 2.5vw, 34px);
  letter-spacing: -.035em;
  line-height: 1.2;
}
:where(.page-heading, .fleet-heading, .home-heading, .sales-header) p:not(.eyebrow) {
  max-width: 70ch;
  font-size: 14px;
  line-height: 1.6;
}
.eyebrow { color: var(--qs-primary); font-size: 12px; font-weight: 700; letter-spacing: .09em; }
.sidebar { background: var(--qs-sidebar); }
.brand__mark { background: var(--qs-action); box-shadow: 0 4px 12px rgba(37, 99, 235, .25); }
.brand__name { font-size: 20px; letter-spacing: -.03em; }
.brand__product { font-size: 11px; letter-spacing: .04em; }
.sidebar__section-label { color: var(--qs-sidebar-muted); font-size: 11px; letter-spacing: .08em; }
.nav-link { min-height: 46px; color: #c4cfe0; font-size: 14px; }
.nav-link--active { background: #203b66; color: #fff; box-shadow: inset 3px 0 #70a1ff; }
.nav-link--active .nav-link__icon { color: #a9c8ff; }
.user-card__copy strong { font-size: 13px; }
.user-card__copy span, .sidebar__version { font-size: 12px; }
.topbar { gap: 16px; min-height: 76px; background: rgba(255,255,255,.97); }
.topbar__title { min-width: 0; }
.topbar__title strong { font-size: 16px; }
.topbar__title span { font-size: 12px; line-height: 1.5; }
.global-search { font-size: 14px; }
.button { min-height: 44px; padding: 10px 16px; font-size: 14px; line-height: 1.4; text-decoration: none; }
.button--small { min-height: 44px; font-size: 13px; }
.button--secondary:hover { background: var(--qs-soft); border-color: #b5c4d8; }
.icon-button { width: 44px; height: 44px; flex-shrink: 0; }
.panel { border-radius: 14px; }
.panel__header { align-items: center; padding: 20px; }
.panel__header h2 { font-size: 17px; line-height: 1.4; }
.panel__header p { font-size: 13px; line-height: 1.5; }
:where(.fleet-metrics, .home-stats, .stats-grid) article { padding: 20px; }
:where(.fleet-metrics, .home-stats, .stats-grid) small { font-size: 12px; line-height: 1.6; }
:where(.fleet-panel, .issue-detail-panel) { padding: 22px; }
:where(.fleet-actions, .fleet-inline-form, .fleet-form, .fleet-panel, .issue-detail-panel, .modal-dialog__body) button:not([class]) {
  min-height: 44px;
  border: 1px solid var(--qs-border);
  border-radius: 9px;
  background: var(--qs-surface);
  padding: 9px 13px;
  color: var(--qs-text);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
}
:where(.fleet-actions, .fleet-form, .fleet-panel, .modal-dialog__body) button:not([class]):hover:not(:disabled) {
  background: var(--qs-primary-soft);
  border-color: #aac3f5;
  color: var(--qs-primary-dark);
}
.fleet-actions { gap: 10px; }
.fleet-section-heading { flex-wrap: wrap; margin-bottom: 18px; }
.fleet-section-heading h2 { margin: 0; font-size: 19px; }
.fleet-toolbar { flex-wrap: wrap; }
.fleet-toolbar input { min-width: 180px; }
.fleet-tr { font-size: 14px; padding-block: 17px; }
.fleet-th { font-size: 12px; letter-spacing: .04em; }
.fleet-badge { font-size: 12px; line-height: 1.4; }
.fleet-tabs { gap: 8px; padding: 4px 0; }
.fleet-tabs button { min-height: 44px; padding: 10px 14px; border-radius: 8px 8px 0 0; font-size: 14px; }
.fleet-tabs button.active { background: var(--qs-primary-soft); border-color: var(--qs-primary); color: var(--qs-primary-dark); }
.fleet-empty, .home-empty { padding: 44px 24px; background: var(--qs-soft); border-radius: 12px; }
:where(.fleet-empty, .home-empty) strong { font-size: 17px; }
:where(.fleet-empty, .home-empty) p { font-size: 14px; line-height: 1.6; }
.fleet-workspace-list article { padding: 16px 0; }
.fleet-form { gap: 18px; }
.fleet-form > :where(section, fieldset, p, .fleet-actions) { grid-column: 1 / -1; min-width: 0; }
:where(.fleet-form, .fleet-inline-form) label { color: var(--qs-text); font-size: 13px; font-weight: 600; }
.fleet-form :where(input, select, textarea) { font-weight: 400; }
.modal-dialog__body section > article { margin-top: 16px; border: 1px solid var(--qs-border); border-radius: 12px; padding: 18px; }
.modal-dialog { width: min(900px, 100%); }
.modal-dialog__header, .modal-dialog__footer { padding: 18px 24px; }
.modal-dialog__body { padding: 24px; }
.modal-dialog__header p { font-size: 13px !important; }
.toast__copy strong { font-size: 14px; }
.toast__copy span { font-size: 13px; line-height: 1.5; }
.toast__close { min-width: 44px; min-height: 44px; }
:where(.sales-actions, .sales-header, .sales-form) button { min-height: 44px; border-radius: 9px; background: var(--qs-action); font-size: 14px; }
.sales-filters > *, .detail-grid > *, .sales-form > *, .opportunity-summary > * { min-width: 0; }
.auth-page { background: var(--qs-bg); }
.auth-shell { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
.auth-brand-panel { background: linear-gradient(150deg, #142642, #0b1528); }
.auth-brand-panel .eyebrow { color: #98baff; }
.auth-brand-panel__copy h1 { font-size: clamp(32px, 4vw, 52px); line-height: 1.12; letter-spacing: -.035em; }
.auth-brand-panel__footer { color: #bac8dc; }
.auth-feature-list strong { font-size: 14px; }
.auth-brand span { color: #bac8dc; }
.auth-form-card { max-width: 460px; padding: 36px; box-shadow: 0 18px 50px rgba(20,38,68,.08); }
.auth-form-card__heading > p:not(.eyebrow) { font-size: 14px; }
.form-field > span { font-size: 13px; }
.password-field input { padding-right: 70px; }
.password-field button { min-width: 50px; min-height: 44px; font-size: 13px; }
.login-error { gap: 4px; border: 1px solid #edc6c6; line-height: 1.6; }
.login-error strong { font-size: 14px; }
.login-error span { font-size: 13px; }
.sidebar-backdrop { display: none; }
@media (max-width: 920px) {
  .auth-shell { grid-template-columns: 1fr; }
  .auth-brand-panel { display: none; }
  .topbar { padding: 12px 18px; }
  .topbar__menu { display: inline-grid; }
  body.sidebar-open { overflow: hidden; }
  body.sidebar-open .sidebar-backdrop {
    display: block; position: fixed; inset: 0; z-index: 49;
    border: 0; background: rgba(10,21,40,.55);
  }
  .mobile-workflow-nav { gap: 10px; padding: 10px 18px; }
  .mobile-workflow-nav a { min-height: 44px; padding: 10px 14px; font-size: 13px; }
}
@media (max-width: 700px) {
  :where(.page-content, .sales-page) { padding: 22px 16px 40px; }
  .topbar__title span { max-width: 36ch; }
  :where(.fleet-panel, .issue-detail-panel) { padding: 16px; }
  .fleet-tabs { margin-inline: -4px; }
  .fleet-actions { width: 100%; }
  .fleet-actions > * { flex: 1 1 auto; }
  .fleet-form { grid-template-columns: minmax(0, 1fr); }
  .modal-dialog__header, .modal-dialog__footer, .modal-dialog__body { padding: 16px; }
  .modal-dialog__footer { flex-wrap: wrap; padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
  .modal-dialog__footer .button { min-width: 100px; }
  .auth-form-card { padding: 28px 22px; }
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]), select, textarea { font-size: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .sidebar, button, a, input, select, textarea { transition: none; }
}
