/* Hosted Simple Invoice: same compact form on all screens; PDF remains unchanged. */
@media screen {
  body.mobile-simple .top-bar { padding: 12px; gap: 12px; flex-direction: column; align-items: stretch; width: 100%; max-width: 600px; margin: 0 auto; }
  body.mobile-simple .branding { width: 100%; gap: 8px; }
  body.mobile-simple .logo-badge { font-size: 11px; }
  body.mobile-simple .top-bar h1 { font-size: 19px; }
  body.mobile-simple .subtitle { display: none; }
  body.mobile-simple .actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; align-items: stretch; position: relative; }
  body.mobile-simple .actions > .btn { justify-content: center; font-size: 14px; min-height: 44px; }
  body.mobile-simple #integrity-notice { display: none; } /* Same status appears in overview. */
  body.mobile-simple .mobile-more summary { min-height: 44px; padding: 12px; border: 1px solid #475569; border-radius: 6px; text-align: center; font-size: 14px; cursor: pointer; }
  body.mobile-simple .mobile-more-menu { position: absolute; top: 100%; right: 0; width: 100%; z-index: 30; background: #0f172a; padding: 12px; border: 1px solid #475569; border-radius: 8px; display: grid; gap: 8px; box-shadow: 0 8px 24px #0004; }
  body.mobile-simple .mobile-more-menu .btn { min-height: 44px; font-size: 14px; }
  body.mobile-simple .app-container { padding: 12px; gap: 12px; max-width: 600px; grid-template-columns: minmax(0, 1fr); }
  body.mobile-simple .controls-panel { padding: 0; background: transparent; border: 0; box-shadow: none; gap: 8px; }
  body.mobile-simple .mobile-overview { display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 14px 16px; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; }
  body.mobile-simple .mobile-overview > span:first-child { font-size: 13px; color: #475569; }
  body.mobile-simple .mobile-overview strong { font-size: 22px; color: #047857; overflow-wrap: anywhere; }
  body.mobile-simple .mobile-state { font-size: 12px; color: #64748b; }
  body.mobile-simple .mobile-overview p { grid-column: 1 / -1; font-size: 12px; color: #64748b; margin-top: 8px; }
  body.mobile-simple .mobile-section { background: white; border: 1px solid #e2e8f0; border-radius: 10px; min-width: 0; }
  body.mobile-simple .mobile-section > summary { position: relative; padding: 13px 36px 13px 16px; list-style: none; cursor: pointer; min-height: 66px; }
  body.mobile-simple .mobile-section > summary::-webkit-details-marker { display: none; }
  body.mobile-simple .mobile-section > summary::after { content: '+'; position: absolute; right: 16px; top: 18px; color: #2563eb; font-size: 20px; }
  body.mobile-simple .mobile-section[open] > summary::after { content: '−'; }
  body.mobile-simple .mobile-section > summary > span { display: block; font-size: 15px; font-weight: 650; }
  body.mobile-simple .mobile-section small { display: block; font-size: 12px; color: #64748b; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  body.mobile-simple .mobile-section > div { padding: 4px 16px 16px; }
  body.mobile-simple .mobile-section .section-title,
  body.mobile-simple .mobile-section .tax-box-title { display: none; }
  body.mobile-simple .mobile-section .tax-box { border: 0; background: white; }
  body.mobile-simple input, body.mobile-simple select { min-height: 44px; font-size: 16px; max-width: 100%; }
  body.mobile-simple label { font-size: 13px; }
  body.mobile-simple .grid-2, body.mobile-simple .grid-3 { grid-template-columns: minmax(0, 1fr); }
  body.mobile-simple .items-list { max-height: none; overflow: visible; padding: 0; gap: 12px; }
  body.mobile-simple .item-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px; padding: 10px; gap: 8px; }
  body.mobile-simple .item-row > :first-child { grid-column: 1 / -1; }
  body.mobile-simple .item-row > select { grid-column: 1 / -1; }
  body.mobile-simple .mobile-item-label { display: grid; gap: 5px; color: #475569; min-width: 0; }
  body.mobile-simple .item-row input, body.mobile-simple .item-row select { font-size: 16px; padding: 10px; }
  body.mobile-simple .item-row > button { min-height: 44px; justify-content: center; font-size: 18px; padding: 0; }
  body.mobile-simple button[onclick='addLineItem()'] { min-height: 44px; font-size: 14px !important; }
  body.mobile-simple .preset-bar { display: grid; gap: 8px; }
  body.mobile-simple .preset-pill { min-height: 44px; font-size: 13px; padding: 10px; text-align: left; }
  body.mobile-simple .preview-wrapper { display: none; }
  body.mobile-simple.mobile-show-preview .controls-panel { display: none; }
  body.mobile-simple.mobile-show-preview .preview-wrapper { display: flex; }
  body.mobile-simple .invoice-sheet { padding: 16px; min-height: auto; overflow-wrap: anywhere; }
  body.mobile-simple .sheet-header { flex-direction: column; gap: 12px; }
  body.mobile-simple .doc-meta { text-align: left; }
  body.mobile-simple .sheet-parties { grid-template-columns: 1fr; }
  body.mobile-simple .sheet-table { table-layout: fixed; }
  body.mobile-simple .sheet-table th, body.mobile-simple .sheet-table td { padding: 7px 2px; letter-spacing: 0; font-size: 10px; }
  body.mobile-simple .sheet-table th:nth-child(1) { width: 32% !important; }
  body.mobile-simple .sheet-table th:nth-child(2) { width: 18% !important; }
  body.mobile-simple .sheet-table th:nth-child(3) { width: 8% !important; }
  body.mobile-simple .sheet-table th:nth-child(4) { width: 20% !important; }
  body.mobile-simple .sheet-table th:nth-child(5) { width: 22% !important; }
  body.mobile-simple .summary-card { max-width: 100%; }
  body.mobile-simple .sheet-footer { margin-top: 24px; gap: 12px; flex-wrap: wrap; }
  body.mobile-simple summary:focus-visible, body.mobile-simple button:focus-visible { outline: 3px solid #60a5fa; outline-offset: 2px; }
  body.mobile-simple .modal-card, body.mobile-simple dialog { max-width: calc(100vw - 24px); max-height: 90vh; overflow: auto; }
}
@media print {
  .mobile-overview, .mobile-more, #mobile-preview-button { display: none !important; }
  .preview-wrapper { display: flex !important; } /* Printable sheet always available, even in edit mode. */
}
