﻿/* Small-screen overrides only. Keep all existing navigation, forms and local data paths. */
@media (max-width: 900px) {
  .workspace, main, .settings-layout, .panel, .panel-content, .calculator-layout,
  .calculator-inputs, .calculator-layout > div, .field, .field-grid, .paper-layer { min-width: 0; }
  button, .btn, .btn.small, .text-button, .row-action, .icon-button, .note-tab,
  .theme-toggle, .segmented button, .demo-launch, .demo-banner button, .nav-item { min-height: 44px; min-width: 44px; }
  .btn, .btn.small { padding: 10px 13px; }
  .icon-button { padding: 11px; flex-shrink: 0; }
  .row-action { padding: 10px 8px; }
  .task-check { width: 44px; height: 44px; min-width: 44px; border-radius: 9px; }
  .task-check svg { width: 18px; height: 18px; }
  input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]),
  .field > input, .field > select, .field > textarea, select, textarea,
  .search-field input, .input-wrap input, .paper-price-row input, .note-paper textarea { font-size: 16px; }
  input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]), select { min-height: 44px; }
  .input-wrap { padding: 0 10px; min-height: 46px; }
  .field > input, .field > select { padding: 9px 10px; }
  .search-field { min-height: 46px; padding: 0 10px; }
  .note-paper textarea { min-height: 120px; }
  .table-wrap { width: 100%; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
  .table-wrap table { min-width: 780px; }
  .table-wrap th, .table-wrap td { padding-left: 14px; padding-right: 14px; }
  .paper-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
  .paper-price-row { min-width: 0; grid-template-columns: minmax(35px, 1fr) auto minmax(76px, 1fr) auto; }
  .paper-price-row input { min-width: 0; padding: 8px; }
  .strength-price-grid { grid-template-columns: 1fr; }
  .strength-price-grid .paper-price-row { grid-template-columns: 70px auto minmax(76px, 1fr) auto; }
  .paper-reference-grid { grid-template-columns: 1fr; }
  .paper-reference table { table-layout: fixed; width: 100%; }
  .paper-reference th, .paper-reference td { overflow-wrap: anywhere; }
  .settings-footer { flex-wrap: wrap; align-items: flex-start; gap: 8px; }
  .settings-footer span { flex: 1 1 180px; }
  .settings-note { align-items: flex-start; flex-wrap: wrap; }
  .settings-note > span { flex: 1; min-width: 0; }
  .settings-note button { margin-left: 32px; }
  .modal-backdrop { padding: 12px; padding-top: max(12px, env(safe-area-inset-top)); padding-right: max(12px, env(safe-area-inset-right)); padding-bottom: max(12px, env(safe-area-inset-bottom)); padding-left: max(12px, env(safe-area-inset-left)); }
  .modal { display: flex; flex-direction: column; min-width: 0; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow: hidden; }
  .modal-header, .modal-footer { flex: 0 0 auto; }
  .modal-header > div, .modal-body { min-width: 0; }
  .modal-body { min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; }
  .modal-header h2, .modal-header p, .form-help, .field-hint, .round-hint, .page-intro p { overflow-wrap: anywhere; }
  .modal-footer { flex-wrap: wrap; gap: 8px; }
  .modal-footer > p { max-width: none; flex: 1 1 100%; }
  .modal-footer > div { margin-left: auto; }
  .manual-price { min-height: 44px; gap: 10px; }
  .manual-price input { width: 22px; height: 22px; }
  .calculator-result { min-width: 0; }
  .result-line strong { overflow-wrap: anywhere; min-width: 0; }
  .job-list { padding-right: 14px; padding-left: 14px; }
  .task-copy .row-action { width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .job-actions { gap: 2px; flex-shrink: 0; }
  .task-row > .pill { display: none; }
  .note-tools { flex-wrap: wrap; gap: 8px; }
  .note-tools > div { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
}

@media (max-width: 600px) {
  body { font-size: 14px; }
  .sidebar { position: static; inset: auto; width: 100%; padding: calc(10px + env(safe-area-inset-top)) 0 0; border-right: 0; border-bottom: 1px solid var(--line); display: block; }
  .brand { justify-content: flex-start; padding: 0 16px 10px; gap: 10px; font-size: 18px; min-height: 54px; width: fit-content; }
  .brand-icon { width: 36px; height: 38px; }
  .brand > span:last-child { display: block; }
  .brand small { font-size: 11px; letter-spacing: 1px; }
  .nav-caption, .sidebar-bottom, .nav-separator { display: none; }
  .sidebar nav { margin: 0; display: flex; gap: 4px; width: 100%; padding: 0 12px 9px; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
  .nav-item { flex: 0 0 auto; justify-content: center; gap: 6px; margin: 0; padding: 10px 12px; min-height: 44px; white-space: nowrap; font-size: 12px; }
  .nav-item > span { display: inline; }
  .nav-item svg { width: 17px; height: 17px; }
  .nav-item em, .nav-item.active:before { display: none; }
  .workspace { margin-left: 0; min-height: 100vh; min-height: 100dvh; }
  .topbar { min-height: 58px; height: auto; padding: 6px 16px; gap: 8px; }
  .breadcrumb { min-width: 0; font-size: 10px; overflow-wrap: anywhere; }
  .breadcrumb span { padding: 0 5px; }
  .topbar-right { gap: 6px; flex-shrink: 0; }
  .local-chip, .topbar-divider, .avatar { display: none; }
  .theme-toggle { padding: 7px 10px; }
  main { padding: 20px max(14px, env(safe-area-inset-right)) 18px max(14px, env(safe-area-inset-left)); width: 100%; }
  .page-heading { flex-direction: column; gap: 14px; margin-bottom: 20px; }
  h1 { font-size: 24px; }
  .page-heading p { font-size: 12px; }
  .heading-actions { width: 100%; justify-content: flex-start; gap: 8px; }
  .heading-actions .btn.primary { margin-left: auto; }
  .hero { min-height: 185px; padding: 22px 18px; }
  .hero h2 { font-size: 19px; }
  .hero p { font-size: 12px; }
  .hero-illustration { right: -80px; opacity: .12; pointer-events: none; }
  .hero:after { right: -90px; }
  .summary-grid { gap: 10px; }
  .summary-card { padding: 14px 12px; min-width: 0; }
  .summary-top { gap: 6px; padding-right: 12px; }
  .summary-top .type-icon { width: 26px; height: 26px; }
  .summary-name { font-size: 11px; }
  .summary-sub { font-size: 9px; }
  .summary-arrow { right: 10px; top: 19px; }
  .summary-bottom { flex-wrap: wrap; font-size: 10px; }
  .page-intro { align-items: flex-start; padding: 16px 14px; gap: 10px; }
  .page-intro .intro-icon { width: 38px; height: 38px; flex-shrink: 0; }
  .page-intro .intro-icon svg { width: 23px; height: 23px; }
  .page-intro > div:not(.intro-icon) { min-width: 0; }
  .panel-header { align-items: flex-start; flex-wrap: wrap; gap: 8px; padding: 16px 14px; }
  .panel-title { min-width: 0; }
  .panel-content { padding: 0 14px 18px; }
  .panel-subtitle { font-size: 11px; }
  .toolbar { padding: 14px; gap: 12px; }
  .toolbar .segmented { width: 100%; flex-wrap: wrap; }
  .segmented button { flex: 1 1 auto; padding: 8px 9px; }
  .table-footer { padding: 12px 14px; flex-wrap: wrap; gap: 6px; }
  .paper-grid { grid-template-columns: 1fr; gap: 10px; }
  .paper-price-row { grid-template-columns: minmax(52px, 1fr) auto minmax(96px, 1fr) auto; gap: 7px; }
  .paper-layer h3 { font-size: 16px; }
  .paper-reference h3 { font-size: 14px; }
  .settings-row { gap: 8px; }
  .settings-row .setting-label { min-width: 0; }
  .setting-input { width: 142px; flex-shrink: 0; }
  .settings-row .type-icon { width: 28px; height: 28px; flex-shrink: 0; }
  .settings-footer { padding: 14px; }
  .settings-footer > button { width: 100%; }
  .backup-buttons { flex-wrap: wrap; }
  .backup-buttons .btn { flex: 1 1 120px; }
  .backup-info { overflow-wrap: anywhere; }
  .storage-status { padding: 14px; align-items: flex-start; }
  .settings-note { padding: 14px; }
  .settings-note button { margin-left: 0; }
  .modal-header, .modal-body, .modal-footer { padding: 14px; }
  .modal-header { gap: 8px; }
  .modal-header h2 { font-size: 16px; }
  .modal-header p { font-size: 11px; }
  .field-grid, .field-grid.two { grid-template-columns: 1fr; gap: 0; }
  .field-grid:not(.paper-selects) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; }
  .field-grid:not(.paper-selects) > .field:last-child:nth-child(3) { grid-column: 1 / -1; }
  .calculator-layout { grid-template-columns: 1fr; gap: 14px; }
  .calculator-result { padding: 16px; }
  .result-price strong { font-size: 29px; }
  .choice-grid { gap: 10px; }
  .choice-card { padding: 16px 12px; }
  .choice-card small { display: block; white-space: normal; }
  .demo-banner { padding: 10px 14px; flex-wrap: wrap; gap: 4px; }
  .demo-banner button { margin-left: auto; }
  .page-footer { padding: 10px 14px calc(18px + env(safe-area-inset-bottom)); }
  .toast { left: 50%; bottom: calc(20px + env(safe-area-inset-bottom)); max-width: calc(100vw - 28px); width: max-content; overflow-wrap: anywhere; }
}

.pwa-actions{margin-top:16px;flex-wrap:wrap}.pwa-actions .btn{min-height:44px}.pwa-actions+.form-help{line-height:1.8}#pwa-status{color:var(--ink)}
