.mobile-qm { --mq-edge: #d8dedb; --mq-accent: #356b65; max-width: 880px; margin: 0 auto; padding: 0 0 16px; }
.mobile-qm .hidden { display: none !important; }
.mobile-qm p, .mobile-qm h2, .mobile-qm h3, .mobile-qm strong { overflow-wrap: anywhere; }
.mobile-qm .mq-error:empty, .mobile-qm .mq-muted:empty { display: none; }
.mq-error { border-radius: 14px; padding: 14px 16px; background: #fff0e8; border-left: 4px solid #a44739; color: #732c24; }
.mq-tabs, .mq-pages { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 14px 0; }
.mq-pages { justify-content: space-between; }
.mobile-qm button { min-height: 44px; max-width: 100%; border: 1px solid var(--mq-edge); border-radius: 13px; padding: 11px 15px; font: inherit; font-weight: 600; cursor: pointer; overflow-wrap: anywhere; }
.mobile-qm button:disabled { opacity: .5; cursor: default; }
.mobile-qm .mq-tab[aria-pressed="true"] { background: var(--mq-accent); color: #fff; border-color: var(--mq-accent); }
.mobile-qm .mq-link, .mobile-qm .mq-back { background: #eef5f2; color: #28564f; }
.mobile-qm .mq-back { margin-bottom: 12px; }
.mq-card { background: rgba(255,255,255,.95); border: 1px solid var(--mq-edge); border-radius: 18px; padding: 16px; box-shadow: 0 5px 20px #23303808; min-width: 0; }
.mq-card h2 { font-size: 1.2rem; margin: 6px 0 12px; }
.mq-card h3 { font-size: 1.05rem; margin: 0 0 12px; }
.mq-card p { margin: 8px 0; }
.mq-list { display: grid; gap: 12px; margin: 12px 0; }
.mq-muted { color: #515c59; font-size: .92rem; }
.mq-field { display: flex; flex-direction: column; min-width: 0; gap: 7px; margin: 0; font-weight: 600; }
.mq-field input, .mq-field select { box-sizing: border-box; width: 100%; min-width: 0; min-height: 46px; border: 1px solid #bac8c2; border-radius: 12px; background: #fff; color: #222b2e; font: inherit; font-weight: 400; padding: 10px 12px; }
.mq-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: end; }
.mq-filters > :first-child { grid-column: 1 / -1; }
.mq-badge { display: inline-block; background: #edf1ef; border-radius: 14px; padding: 6px 10px; color: #34574f; font-size: .9rem; font-weight: 600; }
.mq-info { margin: 12px 0; }
.mq-info p { margin: 5px 0 0; white-space: pre-wrap; }
.mq-document-meta { background: #f3f5ef; border-radius: 12px; padding: 2px 14px; margin: 14px 0 20px; }
.mq-document-text { white-space: pre-wrap; line-height: 1.7; tab-size: 4; }
.mq-task-section { border-top: 1px solid var(--mq-edge); margin-top: 20px; padding-top: 18px; }
.mobile-qm :focus-visible { outline: 3px solid #397487; outline-offset: 3px; }
@media (max-width: 420px) { .mq-filters { grid-template-columns: 1fr; } .mq-tabs > button { flex: 1 1 auto; } }
@media (max-width: 360px) { .mq-card { padding: 12px; } }
@media (forced-colors: active) {
  .mq-card, .mq-error, .mq-badge, .mq-document-meta, .mobile-qm button, .mobile-qm .mq-tab[aria-pressed="true"], .mobile-qm .mq-link, .mobile-qm .mq-back {
    color: CanvasText; background: Canvas; border: 1px solid CanvasText; box-shadow: none;
  }
  .mq-muted { color: CanvasText; }
}
