/* Readability layer: comfortable default for the DCO workspace. */
@media screen {
  body { font-size: 16px; line-height: 1.55; }
  .brand-caption { font-size: 10px; }
  .workspace-label, .nav-caption { font-size: 12px; color: #66756a; }
  .nav-item { min-height: 44px; padding: 10px 11px; font-size: 15px; }
  .nav-count, .nav-badge { font-size: 12px; }
  .sync-card strong, .user-meta strong { font-size: 14px; }
  .sync-card small, .user-meta small { font-size: 12px; }
  .breadcrumb, .search-box input, .app-footer, .date-chip { font-size: 14px; }
  .search-box kbd { font-size: 11px; }
  .eyebrow { font-size: 12px; }
  .page-heading h1 { font-size: 32px; line-height: 1.2; }
  .page-heading p { font-size: 16px; line-height: 1.55; }
  .btn { min-height: 46px; padding: 10px 16px; font-size: 15px; }
  .btn-sm { min-height: 40px; padding: 8px 12px; font-size: 14px; }
  .kpi-top, .kpi-foot, .panel-sub, .link-button, .panel-foot,
  .task-main small, .task-time, .activity-item small,
  .mini-project small, .project-detail-row, .field-hint,
  .sph-source-strip small, .sph-doc-meta span, .sph-offer-title span,
  .sph-terbilang, .sph-signatures span, .sph-doc-footer,
  .sph-pick-list > small, .sph-pick-row span small,
  .pipeline-history-row b, .pipeline-history-row small { font-size: 14px; }
  .kpi-value { font-size: 34px; line-height: 1.15; }
  .panel-title, .section-title { font-size: 18px; line-height: 1.35; }
  .pipeline-row, .task-main strong, .activity-item strong,
  .mini-project strong, .mini-project .money, .status-pill,
  .table-search input, .filter-select, td, .customer-cell strong,
  .customer-cell small, .row-link, .tab, .kanban-head,
  .lead-card strong, .lead-card small, .lead-meta, .filter-chip,
  .project-card p, .project-foot strong, .callout, .form-section h3,
  .field label, .field input, .field select, .field textarea,
  .product-line-header, .inline-action, .summary-line, .summary-muted,
  .sph-banner small, .step, .settings-menu button, .settings-row strong,
  .settings-row small, .modal-head p, .toast, .empty-state b,
  .empty-state p, .record-row strong, .record-row small,
  .record-right b, .record-right small, .template-card h3,
  .template-card p, .broadcast-preview, .choice-button,
  .slot-card p, .slot-foot, .inbox-filters .filter-chip,
  .sph-preview-toolbar, .sph-terms-grid dl, .sph-pick-row > strong,
  .sph-item-header, .customer-history-section h3,
  .pipeline-filters .field, .pipeline-filters select,
  .pipeline-card-extra, .pipeline-card-actions .row-link { font-size: 14px; }
  .project-card h3, .slot-card h3, .sph-editor-grid h3,
  .sph-pick-list h3, .customer-history-section h3,
  .pipeline-history h3, .sph-terms-grid h3 { font-size: 16px; }
  th { font-size: 13px; color: #5e6c61; }
  .form-section h3 { font-size: 16px; }
  .summary-line.total { font-size: 16px; }
  .summary-line.total strong, .sph-total-row strong { font-size: 24px; }
  .sph-document { font-size: 14px; }
  .sph-doc-meta b, .modal-head h2 { font-size: 20px; }
  .sph-doc-intro h2 { font-size: 22px; }
  .sph-offer-title h3 { font-size: 18px; }
  .sph-doc-meta span, .sph-item-header { font-size: 12px; }
  .sph-banner strong { font-size: 16px; }
  .sph-terms-grid h3 { font-size: 15px; }
  .role-option strong { font-size: 15px; }
  .role-option small { font-size: 13px; }
  .login-card .eyebrow { font-size: 12px; }
  .login-card h1 { font-size: 30px; }
  .login-card > p { font-size: 16px; }
  .login-form label, .owner-setup label { font-size: 14px; }
  .login-form input, .owner-setup input { min-height: 48px; font-size: 16px; }
  .login-link, .login-error { font-size: 14px; }
  .login-footnote { font-size: 12px; }
  .app-footer { line-height: 1.5; }
  .nav-item, .btn, .filter-chip, .tab, .settings-menu button { line-height: 1.4; }
}
@media screen and (max-width: 760px) {
  .page-heading h1 { font-size: 28px; }
  .content { padding: 22px 16px 28px; }
  .nav-item { font-size: 15px; }
  .kpi-value { font-size: 30px; }
}

/* RMC material inputs: one compact, labeled row per material. */
.rmc-material-grid { margin-top: 12px; }
.rmc-material-grid-head,
.rmc-material-grid .rmc-material-grid-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.8fr) minmax(78px, .62fr) minmax(128px, 1fr) minmax(128px, 1fr) 38px;
  align-items: center;
  gap: 10px;
}
.rmc-material-grid-head {
  padding: 0 11px 8px;
  color: #68766b;
  font-size: 13px;
  font-weight: 700;
}
.rmc-material-grid-head span:nth-child(n+2) { text-align: right; }
.rmc-material-grid-body { display: grid; gap: 8px; }
.rmc-material-grid-row {
  padding: 9px 10px;
  border: 1px solid #e5ece5;
  border-radius: 9px;
  background: #fff;
}
.rmc-material-grid .rmc-material-grid-row .field { min-width: 0; margin: 0; }
.rmc-material-grid .rmc-material-grid-row .field label { display: none; }
.rmc-material-grid .rmc-material-grid-row .field input { width: 100%; min-width: 0; min-height: 42px; }
.rmc-material-grid .rmc-material-grid-row .rmc-line-total {
  color: #34463a;
  font-size: 15px;
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
}
.rmc-material-grid .rmc-material-grid-row .remove-line {
  width: 36px;
  height: 36px;
  border: 1px solid #e5ece5;
  border-radius: 7px;
  background: #fff;
  color: #718075;
  font-size: 19px;
  line-height: 1;
}
.rmc-material-grid .rmc-material-grid-row .remove-line:hover { border-color: #e2aaa3; color: #b63d31; }
@media screen and (max-width: 760px) {
  .rmc-material-grid-head { display: none; }
  .rmc-material-grid .rmc-material-grid-row {
    grid-template-columns: minmax(0, 1fr) minmax(72px, .5fr);
    gap: 8px 10px;
    padding: 11px;
  }
  .rmc-material-grid .rmc-material-grid-row .field label { display: block; margin-bottom: 4px; }
  .rmc-material-grid .rmc-material-grid-row .rmc-material-name-field { grid-column: 1 / -1; grid-row: 1; }
  .rmc-material-grid .rmc-material-grid-row .rmc-material-qty-field { grid-column: 1; grid-row: 2; }
  .rmc-material-grid .rmc-material-grid-row .rmc-material-price-field { grid-column: 2; grid-row: 2; }
  .rmc-material-grid .rmc-material-grid-row .rmc-line-total { grid-column: 1; grid-row: 3; text-align: left; }
  .rmc-material-grid .rmc-material-grid-row .remove-line { grid-column: 2; grid-row: 3; justify-self: end; }
}
