/* Mobile presentation is isolated from the existing desktop stylesheet. */
.mobile-only, .mobile-menu-backdrop, .mobile-filter-dialog, .mobile-order-review { display: none; }
.mobile-forward { transform: rotate(180deg); }
.mobile-chevron { transform: rotate(-90deg); }

@media screen and (max-width: 767px), screen and (max-width: 1023px) and (hover: none) and (pointer: coarse) {
  :root { --mobile-nav-height: 66px; --mobile-ink: #18222e; --mobile-muted: #5b6b7d; --mobile-line: #e2e7ed; }
  html { scroll-padding-top: 94px; }
  body.app-shell, body.platform-shell { background: #f5f7fa; color: var(--mobile-ink); }
  .mobile-only { display: block; }
  .mobile-menu-backdrop[hidden], [hidden] { display: none !important; }
  .main-panel, .platform-main { min-width: 0; margin-left: 0; padding-bottom: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 18px); }
  .topbar, .platform-topbar {
    position: sticky; top: 0; z-index: 40; min-height: 60px; padding: calc(10px + env(safe-area-inset-top)) 16px 10px;
    gap: 10px; background: #fff; border-bottom: 1px solid var(--mobile-line); box-shadow: none;
  }
  .topbar h1, .platform-topbar h1 { font-size: 20px; line-height: 1.3; overflow-wrap: anywhere; }
  .topbar .eyebrow, .platform-topbar .eyebrow, .topbar-icon { display: none; }
  .topbar-title { flex: 1; min-width: 0; }
  #sidebarToggle { display: inline-flex; width: 44px; height: 44px; flex-shrink: 0; border: 0; background: #f3f6fa; }
  .branch-switcher { margin: 0; padding: 0; gap: 8px; }
  .branch-switcher label { font-size: 12px; }
  .branch-switcher select { font-size: 14px; }
  .branch-switcher .btn { min-height: 40px; }
  .page-body, .platform-page-body { padding: 16px 12px; gap: 12px; min-width: 0; grid-template-columns: minmax(0, 1fr); }
  .page-body > *, .panel-head > * { min-width: 0; }
  .page-body > .panel, .page-body > details.panel, .staff-section-panel, .staff-detail-hero-panel {
    border: 0; border-radius: 0; box-shadow: none; background: #fff; padding: 16px;
    margin: 0 -12px; max-width: none;
  }
  .panel-head { align-items: start; gap: 12px; padding-bottom: 12px; }
  .panel-head h2, .page-body h2 { font-size: 19px; line-height: 1.4; }
  .panel-head p, .order-builder-head p { font-size: 13px; line-height: 1.55; }
  .add-panel > summary > div { display: none; }
  .add-panel > summary { margin: 0; padding: 0; border: 0; }
  .add-panel > summary > .btn { width: 100%; }
  .add-panel[open] > summary { margin-bottom: 16px; }
  .orders-toolbar-panel { gap: 12px; }
  .panel-head-actions, .button-row { flex-wrap: wrap; min-width: 0; gap: 8px; }
  .panel-head-actions .btn { flex: 1 1 auto; }
  .form-grid, .order-header-grid, .order-item-grid, .form-stack, .quick-customer-fields,
  .field-row, .bulk-field-row, .builder-field-row, .platform-form-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .form-grid > *, .field-block, .field-row > *, .builder-field-row > *, .bulk-field-row > * { min-width: 0; }
  .span-2 { grid-column: auto; }
  label, .field-block > label { font-size: 13px; line-height: 1.45; color: var(--mobile-muted); gap: 7px; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea {
    min-height: 48px; font-size: 16px; line-height: 1.4; border-radius: 8px; padding: 11px 12px; color: var(--mobile-ink); max-width: 100%;
  }
  select { text-overflow: ellipsis; }
  input[type="checkbox"], input[type="radio"] { width: 22px; height: 22px; flex-shrink: 0; accent-color: #214edd; }
  .btn, button.icon-button, .field-icon-button, .link-button { min-height: 44px; }
  .btn { border-radius: 8px; font-size: 14px; padding: 11px 14px; box-shadow: none; white-space: normal; }
  .btn-primary { background: #214edd; }
  .btn:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid #78a2ff; outline-offset: 3px; }
  .form-actions { gap: 10px; padding-top: 12px; }
  .form-actions > .btn { flex: 1 1 auto; }
  .mobile-form-actions { position: sticky; bottom: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom)); z-index: 10; background: #fff; border-top: 1px solid var(--mobile-line); padding: 12px 0; }
  .mobile-form-group { grid-column: 1 / -1; border-top: 1px solid var(--mobile-line); padding: 14px 0 0; }
  .mobile-form-group > summary { min-height: 44px; font-size: 14px; font-weight: 700; cursor: pointer; color: var(--mobile-ink); }
  .mobile-form-group > .form-grid { padding-top: 12px; }
  .mobile-form-group .span-2 { grid-column: auto; }
  .mobile-form-group .business-logo-uploader { margin: 0; }
  .list-table { border-radius: 8px; border-color: var(--mobile-line); }
  .table-row, .table-detail > summary { padding: 16px 12px; min-width: 0; overflow-wrap: anywhere; }
  .table-detail .detail-form { padding: 16px 12px; }
  .table-row small, .table-detail small { font-size: 12px; line-height: 1.5; }
  .table-row .money, .table-row strong { overflow-wrap: anywhere; }
  .badge { font-size: 11px; padding: 5px 9px; line-height: 1.4; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .dashboard-hero { padding: 16px; }
  .dashboard-hero h2 { font-size: 22px; }
  .dashboard-command-bar { border: 0; border-radius: 0; box-shadow: none; background: #fff; margin: -16px -12px 16px; padding: 20px 16px; }
  .dashboard-command-copy p, .dashboard-snapshot-card small { display: none; }
  .dashboard-action-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .dashboard-action-row .btn-primary { grid-column: 1 / -1; }
  .dashboard-snapshot-card { align-items: start; border-radius: 8px; }
  .dashboard-focus-panel, .dashboard-orders-panel { border: 0; border-radius: 0; box-shadow: none; background: #fff; }
  .dashboard-focus-row { border: 0; border-bottom: 1px solid var(--mobile-line); border-radius: 0; box-shadow: none; padding: 14px 0; background: #fff; }
  .dashboard-focus-row small { display: none; }
  .dashboard-grid { gap: 12px; }
  .order-filter-tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 8px; padding: 3px 0 8px; margin: 8px 0 0; scrollbar-width: thin; }
  .order-filter-chip { flex: 0 0 auto; width: auto; min-height: 44px; }
  .orders-toolbar-panel .panel-head p, .operations-toolbar-panel .panel-head p { display: none; }
  .orders-work-list { gap: 16px; overflow: visible; border: 0; border-radius: 0; background: transparent; }
  .orders-work-list > .order-work-card { border-top: 1px solid var(--line); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .orders-work-list > .order-work-card:not(.is-overdue):not(.is-due-today) { border-left: 1px solid var(--line); padding-left: 19px; }
  .order-work-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: 'main main' 'progress progress' 'due balance' 'signals open'; gap: 14px; padding: 16px; border-radius: 8px; box-shadow: none; }
  .order-work-main { grid-area: main; }
  .order-work-progress { grid-area: progress; }
  .order-work-due { grid-area: due; }
  .order-work-balance { grid-area: balance; text-align: right; align-self: start; }
  .order-work-signals { grid-area: signals; align-self: center; }
  .order-work-open { grid-area: open; justify-self: end; min-height: 44px; padding: 8px; width: auto; border: 0; }
  .customer-row { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: 'identity identity' 'meta status' 'balance action'; align-items: center; gap: 12px; }
  .customer-row > * { min-width: 0; }
  .customer-row-main { grid-area: identity; }
  .customer-row-meta { grid-area: meta; }
  .customer-measurement-status { grid-area: status; text-align: right; }
  .customer-row .money { grid-area: balance; }
  .customer-row-actions { grid-area: action; }
  .customer-row-meta strong { font-size: 12px; }
  .customer-row-actions .btn { font-size: 12px; padding: 8px; }
  .billing-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .billing-row > span:nth-child(-n+2) { grid-column: 1 / -1; }
  .billing-row .money { text-align: right; }
  .dashboard-snapshot-grid, .stats-grid, .subscription-usage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .dashboard-snapshot-grid > *, .stats-grid > * { min-width: 0; padding: 14px; box-shadow: none; }
  .dashboard-snapshot-grid strong, .stats-grid strong { font-size: 23px; overflow-wrap: anywhere; }
  .setup-reminder { padding: 12px; gap: 10px; font-size: 13px; }
  .setup-reminder .btn { min-width: 0; }
  .mobile-tabs {
    display: flex; position: fixed; inset: auto 0 0; z-index: 60; min-height: var(--mobile-nav-height);
    padding: 5px 8px calc(5px + env(safe-area-inset-bottom)); border-top: 1px solid var(--mobile-line); background: #fff;
  }
  .mobile-tabs a { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 3px; min-height: 54px; color: #637185; text-decoration: none; font-size: 11px; font-weight: 600; border-radius: 8px; }
  .mobile-tabs .app-icon { width: 23px; height: 23px; }
  .mobile-tabs [aria-current], .mobile-tabs .is-current { color: #174ad7; background: #edf3ff; }
  .sidebar, .platform-sidebar { width: min(360px, 100%); max-width: 100%; height: 100dvh; z-index: 100; padding-top: calc(12px + env(safe-area-inset-top)); padding-bottom: calc(20px + env(safe-area-inset-bottom)); box-shadow: none; background: #fff; color: var(--mobile-ink); transform: translateX(-100%); transition: transform .2s ease; }
  .sidebar.open, .platform-sidebar.open, .sidebar:target, .platform-sidebar:target { box-shadow: 18px 0 40px #17213220; transform: translateX(0); }
  .mobile-menu-close { display: flex; justify-content: flex-end; align-items: center; gap: 8px; min-height: 44px; margin-bottom: 12px; color: var(--mobile-ink); }
  .mobile-menu-backdrop:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 90; background: rgb(15 23 42 / 40%); border: 0; border-radius: 0; }
  body.mobile-menu-open, body.mobile-sheet-open { overflow: hidden; }
  .side-nav a { min-height: 48px; color: var(--mobile-ink); }
  .side-nav a.active, .side-nav a:hover { background: #edf3ff; color: #174ad7; }
  .sidebar .brand-block strong, .platform-sidebar .brand-block strong, .sidebar .user-line, .platform-sidebar .user-line { color: var(--mobile-ink); }
  .sidebar .brand-block span, .platform-sidebar .brand-block span, .side-nav-title, .sidebar-foot .muted, .sidebar-status span { color: var(--mobile-muted); }
  .side-nav .nav-icon { background: transparent; border: 0; color: #315cb4; }
  .sidebar-status { background: #f3f6fa; border-color: var(--mobile-line); }
  .sidebar-status strong, .sidebar-guide-menu > summary, .sidebar-guide-button, .sidebar-account-link { color: #27476e; }
  .sidebar-guide-menu, .sidebar-foot { border-color: var(--mobile-line); }
  .app-compliance-footer { margin: 18px 12px; padding: 14px 0; font-size: 11px; border-top: 1px solid var(--mobile-line); }
  .app-compliance-footer nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
  .app-compliance-footer a { min-height: 44px; display: grid; place-items: center; font-size: 11px; }
  .sidebar .app-compliance-footer, .platform-sidebar .app-compliance-footer { margin: 20px 0 0; color: var(--mobile-muted); border-color: var(--mobile-line); }
  .sidebar .app-compliance-footer a, .platform-sidebar .app-compliance-footer a { color: #27476e; }
  .mobile-filter-trigger { width: 100%; margin-bottom: 14px; display: flex; justify-content: space-between; }
  .mobile-filter-dialog[open] { display: block; position: fixed; inset: auto 0 0; margin: 0; width: 100%; max-width: none; max-height: 86dvh; border: 0; border-radius: 12px 12px 0 0; padding: 20px 16px calc(20px + env(safe-area-inset-bottom)); box-shadow: 0 -8px 40px #17213220; }
  .mobile-filter-dialog::backdrop { background: rgb(15 23 42 / 40%); }
  .mobile-sheet-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
  .mobile-sheet-head h2 { font-size: 18px; margin: 0; }
  .mobile-filter-dialog .search-form { display: grid; margin: 0; width: 100%; gap: 16px; }
  .mobile-filter-dialog .search-form label { width: 100%; }
  .mobile-filter-dialog .search-form .btn { width: 100%; }
  .mobile-filter-dialog input { width: 100%; }
  .mobile-filter-dialog form a { min-height: 44px; }
  .mobile-onboarding ~ .onboarding-hero, .mobile-onboarding ~ .onboarding-layout { display: none; }
  .mobile-onboarding { padding: 8px 4px; }
  .mobile-onboarding h2 { font-size: 25px; margin: 8px 0; }
  .mobile-onboarding-heading p { color: var(--mobile-muted); font-size: 14px; line-height: 1.6; }
  .mobile-step-caption { display: block; font-size: 12px; font-weight: 700; color: #37638e; }
  .mobile-setup-progress { margin: 22px 0 18px; font-size: 13px; color: var(--mobile-muted); }
  .mobile-onboarding progress, .mobile-setup-header progress { width: 100%; height: 6px; appearance: none; border: 0; border-radius: 8px; margin-top: 10px; background: #e0e7ef; }
  progress::-webkit-progress-bar { background: #e0e7ef; border-radius: 8px; }
  progress::-webkit-progress-value { background: #21816a; border-radius: 8px; }
  progress::-moz-progress-bar { background: #21816a; border-radius: 8px; }
  .mobile-setup-guide { margin-top: 10px; }
  .mobile-setup-list { list-style: none; margin: 24px 0 12px; padding: 0; }
  .mobile-setup-list li { border-bottom: 1px solid var(--mobile-line); }
  .mobile-setup-list a { display: grid; grid-template-columns: 36px minmax(0, 1fr) 20px; align-items: center; gap: 12px; padding: 18px 0; color: var(--mobile-ink); text-decoration: none; }
  .mobile-setup-list strong { font-size: 15px; }
  .mobile-setup-list small, .mobile-optional-link small { display: block; color: var(--mobile-muted); font-size: 12px; margin-top: 3px; }
  .mobile-step-number { display: grid; place-items: center; width: 36px; height: 36px; background: #e8eef8; color: #2856a0; border-radius: 8px; font-weight: 700; }
  .mobile-step-number.is-done { background: #e2f3ec; color: #14664d; }
  .mobile-optional-link { display: flex; gap: 12px; align-items: center; min-height: 72px; margin-bottom: 16px; color: var(--mobile-ink); text-decoration: none; }
  .mobile-optional-link span { flex: 1; }
  .mobile-setup-header { padding: 8px 4px 20px; }
  .mobile-setup-header > a:first-child { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-bottom: 12px; }
  .mobile-setup-header h2 { margin: 8px 0; font-size: 24px; }
  .mobile-setup-ready { padding: 12px 0; color: #14664d; display: flex; gap: 8px; align-items: center; }
  .mobile-setup-header .btn { width: 100%; }
  .mobile-setup-active .setup-reminder:not(.subscription-lock-reminder), .mobile-setup-active .mobile-setup-hidden { display: none; }
  .mobile-setup-target > summary { display: none; }
  .mobile-setup-target .panel-head { display: none; }
  .mobile-setup-target [data-close-details] { display: none; }
  .mobile-setup-target .template-builder-actions [data-clear-fields] { width: auto; }
  .mobile-setup-active .topbar .branch-switcher { display: none; }
  .mobile-setup-active .mobile-form-actions { bottom: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom)); }
  .preset-toolbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .preset-toolbar button { white-space: normal; min-height: 48px; }
  .builder-field-table, .template-body, .template-stack { min-width: 0; }
  .builder-field-row, .bulk-field-row { border-bottom: 1px solid var(--mobile-line); padding: 14px; }
  .template-builder-section { border: 0; border-radius: 0; padding: 16px 0; background: transparent; }
  .template-builder-section .section-mini-head > div > span { display: none; }
  .mobile-preset-picker { border: 1px solid var(--mobile-line); border-radius: 8px; padding: 12px; margin-bottom: 16px; }
  .mobile-preset-picker > summary { min-height: 44px; padding: 10px 0; font-size: 15px; font-weight: 700; cursor: pointer; }
  .mobile-preset-picker .preset-chip { border-radius: 8px; box-shadow: none; }
  .builder-field-table .builder-field-row { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; padding: 10px 0; border: 0; border-bottom: 1px solid var(--mobile-line); background: transparent; }
  .mobile-field-editor { min-width: 0; }
  .mobile-field-editor > summary { min-height: 48px; cursor: pointer; padding: 4px 0; }
  .mobile-field-editor > summary, .mobile-preset-picker > summary, .mobile-form-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .mobile-field-editor > summary::after, .mobile-preset-picker > summary::after, .mobile-form-group > summary::after { content: '+'; font-size: 20px; font-weight: 500; color: var(--mobile-muted); }
  .mobile-field-editor[open] > summary::after, .mobile-preset-picker[open] > summary::after, .mobile-form-group[open] > summary::after { content: '-'; }
  .mobile-field-editor > summary span { display: inline-block; vertical-align: middle; }
  .mobile-field-editor strong, .mobile-field-editor small { display: block; }
  .mobile-field-editor strong { font-size: 15px; }
  .mobile-field-editor small { color: var(--mobile-muted); font-size: 12px; margin-top: 4px; }
  .mobile-field-editor > label, .mobile-field-editor .builder-field-actions { margin: 14px 0; }
  .mobile-field-editor .mini-action-btn { min-height: 44px; min-width: 44px; }
  .mobile-setup-target .template-builder-actions { margin-top: 16px; }
  .template-builder-section > [data-clear-fields] { margin-top: 16px; }
  .staff-work-hero .section-step, .staff-work-hero p { display: none; }
  .staff-work-stats { display: flex; overflow-x: auto; gap: 8px; padding-bottom: 8px; scrollbar-width: thin; }
  .staff-work-stat { flex: 0 0 auto; display: flex; gap: 8px; padding: 10px 12px; min-height: 44px; box-shadow: none; border-radius: 8px; }
  .staff-work-stat strong { font-size: 15px; }
  .staff-work-stat span { font-size: 13px; }
  .staff-task-card { background: #fff; border-radius: 8px; box-shadow: none; padding: 14px; }
  .staff-task-title h3 { font-size: 17px; }
  .staff-task-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .staff-task-profile { font-size: 12px; }
  .staff-task-note { padding: 10px 0 0; }
  .staff-detail-update { border: 0; border-radius: 0; margin: 0; padding: 14px 0; }
  .measurement-value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .measurement-value-card { min-width: 0; }
  .measurement-value-card strong { overflow-wrap: anywhere; }
  .order-create-section { border: 0; border-radius: 0; padding: 0; background: transparent; }
  .mobile-order-panel > .panel-head > div:first-child { display: none; }
  .mobile-order-panel > .panel-head { grid-template-columns: minmax(0, 1fr); }
  .mobile-order-panel > .panel-head .panel-head-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 8px; }
  .mobile-order-panel > .panel-head .panel-head-actions .btn { width: 100%; height: 100%; min-width: 0; padding: 10px 8px; }
  .mobile-order-panel .order-create-section-head { display: none; }
  .mobile-order-panel .order-notes-panel { margin-top: 18px; }
  .mobile-order-panel .add-inline-summary small { display: none; }
  .mobile-order-panel .order-notes-panel > summary { padding: 8px 0; border: 0; background: transparent; border-radius: 0; }
  .mobile-order-panel .order-notes-panel { border: 0; border-top: 1px solid var(--mobile-line); border-radius: 0; background: transparent; }
  .order-create-section-head small, .order-builder-head p { display: none; }
  .order-header-grid { align-items: start; }
  .customer-picker-row { flex-wrap: wrap; display: flex; }
  .customer-picker-search { width: 100%; }
  .customer-picker-create { margin-top: 6px; }
  .selected-customer-preview { min-height: 68px; height: auto; grid-template-columns: 34px minmax(0, 1fr) auto; }
  .selected-customer-copy small { white-space: normal; overflow-wrap: anywhere; }
  .customer-change-button { padding: 8px 10px; }
  .order-item-card { padding: 14px; border-radius: 8px; box-shadow: none; }
  .order-item-top { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 10px; }
  .order-item-top .link-danger { min-height: 44px; }
  .order-inline-measurement-panel { margin: 12px -8px 0; padding: 12px 8px; }
  .quick-customer-head { flex-wrap: wrap; }
  .mobile-order-progress { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 0 0 22px; }
  .mobile-order-progress button { min-height: 48px; padding: 8px 4px; border: 0; border-bottom: 3px solid #e2e7ed; background: #fff; font-size: 12px; color: #56677c; font-weight: 700; }
  .mobile-order-progress [aria-current="step"] { border-color: #214edd; color: #214edd; }
  .mobile-order-active [data-mobile-order-step]:not(.is-active) { display: none; }
  .mobile-order-active > .form-actions { display: none; }
  .mobile-order-active .mobile-order-review.is-active { display: block; }
  .mobile-order-actions { display: flex; position: sticky; bottom: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom)); z-index: 20; gap: 10px; padding: 12px 0; margin-top: 22px; background: #fff; border-top: 1px solid var(--mobile-line); }
  .mobile-order-actions .btn-primary { flex: 1; }
  .mobile-order-summary { display: grid; gap: 0; margin: 0 0 20px; }
  .mobile-order-summary > div { padding: 14px 0; border-bottom: 1px solid var(--mobile-line); }
  .mobile-order-summary strong, .mobile-order-summary small { display: block; overflow-wrap: anywhere; }
  .mobile-order-summary small { color: var(--mobile-muted); margin-top: 4px; }
  .mobile-order-active .order-totals { display: grid; grid-template-columns: minmax(0, 1fr); padding: 0; gap: 0; border: 0; border-radius: 0; background: transparent; }
  .mobile-order-active .order-totals > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); align-items: center; gap: 12px; padding: 12px 0; border: 0; border-bottom: 1px solid var(--mobile-line); border-radius: 0; }
  .mobile-order-active .order-totals span { color: var(--mobile-muted); font-size: 14px; }
  .mobile-order-active .order-totals strong { font-size: 16px; text-align: right; overflow-wrap: anywhere; }
  .mobile-order-active .order-totals .grand-total { background: transparent; padding-top: 18px; border-bottom: 0; }
  .mobile-order-active .grand-total strong, .mobile-order-active .grand-total span { color: #174ad7; font-size: 19px; font-weight: 700; }
  .mobile-order-error { color: #a92335; font-size: 14px; line-height: 1.5; margin: 12px 0; }
  .subscription-plan-grid { grid-template-columns: minmax(0, 1fr); }
  .subscription-plan-card { border-radius: 8px; box-shadow: none; }
  .payment-review-card, .guide-video-card { width: 100%; max-width: 100%; max-height: 94dvh; overflow-y: auto; border-radius: 8px 8px 0 0; }
  .payment-review-modal, .guide-video-modal { padding: 0; align-items: end; }
  .invoice-actions, .invoice-toolbar { flex-wrap: wrap; }
  .platform-price-grid, .platform-feature-grid { grid-template-columns: minmax(0, 1fr); }
  .platform-topbar > form { max-width: 100%; }
  .platform-topbar > form .btn { overflow-wrap: anywhere; }
  body.login-reference-page { background: #fff; min-height: 100dvh; }
  body.login-reference-page::before, body.login-reference-page::after { display: none; }
  .login-reference-page .auth-wrap { min-height: auto; padding: calc(24px + env(safe-area-inset-top)) 24px 16px; }
  .login-reference-page .auth-panel { display: block; max-width: 460px; margin: auto; }
  .login-reference-page .auth-card { padding: 0; border: 0; border-radius: 0; box-shadow: none; background: #fff; backdrop-filter: none; }
  .login-reference-page .login-brand { margin-bottom: 26px; display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; text-align: left; }
  .login-reference-page .login-logo-badge { width: 56px; height: 56px; border-radius: 8px; padding: 5px; flex-shrink: 0; box-shadow: none; margin: 0; }
  .login-reference-page .login-logo { width: 100%; height: 100%; object-fit: contain; }
  .login-reference-page .login-brand h1 { font-size: 19px; line-height: 1.3; margin: 0; }
  .login-reference-page .login-brand-copy > span { display: none; }
  .login-reference-page .auth-card-head { text-align: left; margin-bottom: 24px; }
  .login-reference-page .auth-card-head h2 { font-size: 26px; line-height: 1.25; }
  .login-reference-page .auth-card-head p { font-size: 14px; line-height: 1.6; }
  .login-reference-page #authForm .auth-input-wrap input { min-height: 50px; padding-left: 44px; }
  .login-reference-page .form-stack { gap: 18px; }
  .login-reference-page .auth-footer { display: block; width: 100%; background: #fff; color: #5c6979; padding: 12px 24px calc(20px + env(safe-area-inset-bottom)); margin: 0; text-align: center; }
  .login-reference-page .auth-footer nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; }
  .login-reference-page .auth-footer a { width: auto; color: #526075; min-height: 44px; display: inline-flex; align-items: center; font-size: 12px; }
  .login-reference-page .auth-footer > span { display: block; font-size: 11px; margin-bottom: 8px; }
  .login-reference-page .google-auth-button { min-height: 48px; border-radius: 8px; box-shadow: none; }
  .login-reference-page .auth-switch-line { font-size: 14px; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; }
  .login-reference-page .login-options { align-items: center; gap: 8px; }
  .login-reference-page .remember-control { font-size: 13px; min-height: 44px; }
  .login-reference-page .link-button { padding: 8px 0; }
  .auth-page:has(.staff-invite-panel) { background: #fff; }
  .auth-page:has(.staff-invite-panel) .auth-wrap { min-height: auto; padding: calc(24px + env(safe-area-inset-top)) 20px 16px; }
  .staff-invite-panel { display: block; max-width: 460px; }
  .staff-invite-panel .auth-copy { background: #fff; padding: 0; border: 0; margin-bottom: 24px; }
  .staff-invite-panel .auth-copy > div:not(.brand-block) { display: none; }
  .staff-invite-panel .auth-card { padding: 0; border: 0; border-radius: 0; box-shadow: none; }
  .staff-invite-panel .auth-card::before, .staff-invite-panel .auth-support { display: none; }
  .staff-invite-panel .brand-block strong { color: var(--mobile-ink); font-size: 18px; }
  .staff-invite-panel .auth-card-head h2 { font-size: 25px; }
  .auth-page:has(.staff-invite-panel) .auth-footer { width: 100%; padding: 16px 20px; margin: 0; color: var(--mobile-muted); background: #fff; }
  .auth-page:has(.staff-invite-panel) .auth-footer nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .auth-page:has(.staff-invite-panel) .auth-footer a { width: auto; color: #27476e; min-height: 44px; display: inline-flex; align-items: center; }
  .mobile-keyboard-open .mobile-tabs { visibility: hidden; pointer-events: none; }
  .mobile-keyboard-open .mobile-order-actions, .mobile-keyboard-open .mobile-form-actions { position: static; }
  @media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
}

@media print { .mobile-only, .mobile-menu-backdrop, .mobile-filter-dialog { display: none !important; } }
