:root {
  color: #18231f;
  background: #f4f6f3;
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  font-synthesis: none;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
}

.auth-shell {
  display: grid;
  min-height: 100vh;
  padding: 2rem;
  place-items: center;
  background:
    radial-gradient(circle at top left, rgb(181 220 120 / 32%), transparent 34rem),
    #f4f6f3;
}

.auth-card {
  width: min(38rem, 100%);
  padding: clamp(1.5rem, 5vw, 3rem);
  background: #fff;
  border: 1px solid #dfe6e1;
  border-radius: 1.25rem;
  box-shadow: 0 1.5rem 4rem rgb(30 56 46 / 12%);
}

.auth-card h1 {
  font-size: clamp(2rem, 7vw, 3.5rem);
}

.auth-brand {
  padding: 0 0 2rem;
}

.auth-brand strong {
  color: #18231f;
}

.auth-brand small {
  color: #52645d;
}

.auth-action {
  display: inline-block;
}

.auth-footnote {
  margin: 1.5rem 0 0;
  font-size: 0.82rem;
  line-height: 1.5;
}

button,
input,
select,
textarea {
  font: inherit;
}

.skip-link {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 10;
  padding: 0.75rem 1rem;
  color: #fff;
  background: #183e31;
  border-radius: 0.5rem;
  transform: translateY(-150%);
}

.skip-link:focus {
  transform: translateY(0);
}

.app-shell {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  min-height: 100vh;
}

.sidebar {
  width: 16rem;
  padding: 1.5rem 1rem;
  color: #f7fbf8;
  background: #16382e;
}

.brand {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  padding: 0 0.5rem 1.75rem;
}

.brand-mark {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  color: #17372d;
  font-weight: 800;
  background: #b5dc78;
  border-radius: 0.75rem;
}

.brand strong,
.brand small {
  display: block;
}

.brand small {
  margin-top: 0.15rem;
  color: #a9c0b7;
  font-size: 0.72rem;
}

nav {
  display: grid;
  gap: 0.25rem;
}

.nav-item {
  padding: 0.7rem 0.75rem;
  color: #c4d5ce;
  text-decoration: none;
  border-radius: 0.5rem;
}

.nav-item.active {
  color: #fff;
  background: #285a49;
}

.nav-item.disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

main {
  min-width: 0;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 4rem;
  padding: 0 2rem;
  background: #fff;
  border-bottom: 1px solid #dfe6e1;
}

.icon-button {
  padding: 0.45rem 0.65rem;
  color: #23483b;
  background: transparent;
  border: 1px solid #cbd8d1;
  border-radius: 0.5rem;
  cursor: pointer;
}

.environment {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  color: #52645d;
  font-size: 0.875rem;
}

.session-actions,
.session-actions form,
.panel form {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

.session-actions {
  margin-left: auto;
}

.session-actions span {
  color: #52645d;
  font-size: 0.875rem;
}

.button {
  color: #fff;
  text-decoration: none;
  background: #285a49;
}

label {
  color: #52645d;
  font-size: 0.875rem;
  font-weight: 700;
}

input,
select,
textarea {
  min-width: 15rem;
  padding: 0.65rem 2rem 0.65rem 0.75rem;
  color: #18231f;
  background: #fff;
  border: 1px solid #b9cbc2;
  border-radius: 0.55rem;
}

.status-dot {
  width: 0.55rem;
  height: 0.55rem;
  background: #63a745;
  border-radius: 50%;
}

.content {
  width: min(72rem, 100%);
  margin: 0 auto;
  padding: 4rem 2rem;
}

.eyebrow {
  margin: 0 0 0.5rem;
  color: #507463;
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

h1 {
  max-width: 48rem;
  margin: 0;
  font-size: clamp(2.25rem, 5vw, 4.5rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

h2 {
  margin: 0;
  font-size: 1.25rem;
}

.lede {
  max-width: 46rem;
  margin: 1.25rem 0 2rem;
  color: #52645d;
  font-size: 1.1rem;
  line-height: 1.65;
}

.notice {
  display: flex;
  gap: 0.5rem 1.5rem;
  align-items: center;
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  color: #294a3e;
  background: #e8f2dc;
  border: 1px solid #d1e4b6;
  border-radius: 0.75rem;
}

.panel {
  margin-top: 1rem;
  padding: 1.5rem;
  background: #fff;
  border: 1px solid #dfe6e1;
  border-radius: 1rem;
  box-shadow: 0 0.75rem 2rem rgb(30 56 46 / 6%);
}

.panel-header {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}

.button {
  padding: 0.65rem 0.9rem;
  border: 1px solid transparent;
  border-radius: 0.55rem;
  cursor: pointer;
}

.button.secondary {
  color: #23483b;
  background: #fff;
  border-color: #b9cbc2;
}

.button.secondary:hover {
  background: #f1f5f2;
}

.button:disabled,
.button:disabled:hover {
  color: #77847e;
  background: #edf1ee;
  border-color: #d6dfda;
  cursor: not-allowed;
}

.partner-tabs,
.partner-actions,
.partner-meta {
  display: flex;
  gap: 0.6rem;
  align-items: center;
}

.partner-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.notice.compact {
  margin: 0 0 1rem;
}

.panel .partner-form {
  display: block;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.25rem;
}

.form-grid label {
  display: grid;
  gap: 0.4rem;
}

.form-grid input,
.form-grid select,
.form-grid textarea {
  width: 100%;
  min-width: 0;
}

.form-grid textarea {
  padding: 0.75rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  line-height: 1.5;
  resize: vertical;
}

.form-grid .wide {
  grid-column: 1 / -1;
}

.form-actions {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-top: 1.25rem;
}

.form-error {
  margin-top: 1rem;
  padding: 0.85rem 1rem;
  color: #7b2424;
  background: #fbe9e7;
  border: 1px solid #efc2bd;
  border-radius: 0.65rem;
}

.workspace-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 1.25rem 0 2rem;
}

.panel form.stack {
  display: grid;
  gap: 0.75rem;
  align-content: start;
  padding: 1rem;
  background: #f5f7f5;
  border: 1px solid #e0e8e3;
  border-radius: 0.75rem;
}

.stack label,
.field-grid label {
  display: grid;
  gap: 0.4rem;
}

.stack input,
.stack select,
.stack textarea {
  width: 100%;
  min-width: 0;
}

.field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.table-wrap {
  overflow-x: auto;
  margin-bottom: 1.5rem;
}

.table-wrap table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.table-wrap th,
.table-wrap td {
  padding: 0.75rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #e5ebe7;
}

.compact-list {
  max-height: 14rem;
  padding-left: 1.25rem;
  overflow: auto;
  font-size: 0.8rem;
}

.button.danger {
  color: #fff;
  background: #8a2f2f;
}

.panel form.compact-form {
  min-width: 15rem;
  margin-top: 0.5rem;
  padding: 0.75rem;
}

.table-wrap details + details {
  margin-top: 0.5rem;
}

.table-wrap summary {
  color: #294a3e;
  font-weight: 700;
  cursor: pointer;
}

.import-help {
  margin-top: 1rem;
  color: #52645d;
}

.import-help summary {
  color: #294a3e;
  font-weight: 700;
  cursor: pointer;
}

.import-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0 0 1.25rem;
}

.import-summary div {
  min-width: 0;
  padding: 0.8rem;
  background: #f5f7f5;
  border-radius: 0.65rem;
}

.import-summary .wide {
  grid-column: 1 / -1;
}

.import-summary dt {
  color: #697871;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.import-summary dd {
  margin: 0.3rem 0 0;
  overflow-wrap: anywhere;
}

.import-table-wrap {
  overflow-x: auto;
}

.import-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}

.import-table th,
.import-table td {
  padding: 0.75rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #e5ebe7;
}

.row-error {
  color: #8a2f2f;
}

.import-actions,
.approval-boundary {
  display: flex;
  gap: 0.75rem;
  align-items: flex-end;
  flex-wrap: wrap;
  margin-top: 1.25rem;
}

.approval-boundary {
  width: 100%;
  padding: 1rem;
  background: #fff8e7;
  border: 1px solid #edd9a7;
  border-radius: 0.7rem;
}

.approval-boundary p {
  flex-basis: 100%;
  margin: 0;
}

.approval-form label {
  display: grid;
  gap: 0.4rem;
}

.partner-list {
  display: grid;
  border-top: 1px solid #e5ebe7;
}

.partner-row {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0;
  border-bottom: 1px solid #e5ebe7;
}

.partner-row strong,
.partner-row span {
  display: block;
}

.partner-id {
  margin-top: 0.25rem;
  color: #7b8983;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 0.72rem;
}

.partner-meta {
  color: #52645d;
  font-size: 0.82rem;
}

.partner-meta .button.compact {
  margin-top: 0.5rem;
  padding: 0.45rem 0.7rem;
  font-size: 0.75rem;
}

.availability-scope {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.2rem 0.75rem;
  align-items: baseline;
  margin-bottom: 1rem;
  padding: 0.8rem 1rem;
  color: #294a3e;
  background: #f2f6f3;
  border-radius: 0.7rem;
}

.availability-scope span,
.availability-scope small {
  color: #697871;
}

.availability-scope small {
  grid-column: 1 / -1;
}

.notice.warning {
  color: #68430a;
  background: #fff8e7;
  border-color: #edd9a7;
}

.part-row {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) minmax(19rem, 1.3fr);
  align-items: start;
}

.part-identity > span {
  margin-top: 0.35rem;
}

.part-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-top: 0.75rem;
}

.part-actions .button.compact {
  padding: 0.45rem 0.7rem;
  font-size: 0.75rem;
}

.availability-card {
  min-width: 0;
  padding: 0.9rem;
  background: #f8faf8;
  border: 1px solid #dfe6e1;
  border-radius: 0.75rem;
}

.availability-heading {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
}

.availability-heading small,
.availability-label {
  color: #697871;
  font-size: 0.75rem;
}

.availability-label {
  display: block;
  margin-top: 0.8rem;
}

.availability-quantity,
.availability-withheld {
  display: block;
  margin-top: 0.15rem;
  font-size: 1.35rem;
}

.availability-withheld {
  color: #8a2f2f;
  font-size: 1rem;
}

.availability-card > p {
  margin: 0.65rem 0 0;
  color: #52645d;
  font-size: 0.82rem;
  line-height: 1.45;
}

.availability-evidence {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #dfe6e1;
}

.availability-evidence summary {
  color: #294a3e;
  font-size: 0.8rem;
  font-weight: 700;
  cursor: pointer;
}

.availability-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin: 0.75rem 0;
}

.availability-facts div {
  min-width: 0;
}

.availability-facts .wide {
  grid-column: 1 / -1;
}

.availability-facts dt {
  color: #697871;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
}

.availability-facts dd {
  margin: 0.15rem 0 0;
  overflow-wrap: anywhere;
  font-size: 0.78rem;
}

.source-traces {
  display: grid;
  gap: 0.6rem;
  margin: 0;
  padding-left: 1.25rem;
}

.source-traces li,
.source-traces span {
  font-size: 0.75rem;
}

.source-traces span {
  display: block;
  margin-top: 0.15rem;
  overflow-wrap: anywhere;
}

.compatibility-row {
  align-items: flex-start;
}

.compatibility-row .partner-meta {
  min-width: 15rem;
  text-align: right;
}

.review-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-top: 0.5rem;
}

.pricing-editor,
.pricing-card {
  padding: 1rem;
  background: #f8faf8;
  border: 1px solid #dfe6e1;
  border-radius: 0.75rem;
}

.pricing-editor {
  margin-bottom: 1rem;
}

.pricing-editor summary,
.pricing-card summary {
  color: #294a3e;
  font-weight: 750;
  cursor: pointer;
}

.pricing-list {
  display: grid;
  gap: 1rem;
}

.pricing-card .panel-header {
  align-items: flex-start;
}

.pricing-card .partner-meta {
  align-items: flex-end;
  flex-direction: column;
}

.pricing-card details {
  margin: 1rem 0;
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.pricing-grid section {
  min-width: 0;
  padding: 1rem;
  background: #f8faf8;
  border: 1px solid #dfe6e1;
  border-radius: 0.75rem;
}

.pricing-grid h3 {
  margin-top: 0;
}

.panel .inline-form {
  display: grid;
  gap: 0.6rem;
  align-items: end;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 0.75rem 0;
  border-bottom: 1px solid #e5ebe7;
}

.inline-form label,
.inline-form select {
  width: 100%;
  min-width: 0;
}

.button.compact {
  padding: 0.45rem 0.7rem;
  font-size: 0.78rem;
}

.empty-state {
  display: grid;
  gap: 0.35rem;
  padding: 1.5rem;
  color: #52645d;
  text-align: center;
  background: #f5f7f5;
  border-radius: 0.7rem;
}

.empty-state strong {
  color: #294a3e;
}

.advisor-panel {
  border-color: #cddfc8;
  background:
    linear-gradient(145deg, rgb(232 242 220 / 55%), transparent 18rem),
    #fff;
}

.advisor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.25rem;
}

.advisor-card {
  min-width: 0;
  padding: 1rem;
  background: rgb(248 250 248 / 90%);
  border: 1px solid #dfe6e1;
  border-radius: 0.8rem;
}

.advisor-card h3 {
  margin: 0;
  font-size: 1rem;
}

.advisor-feed {
  display: grid;
  gap: 0.75rem;
  max-height: 22rem;
  margin: 1rem 0 0;
  padding: 0;
  overflow-y: auto;
  list-style: none;
}

.approval-evidence {
  display: grid;
  gap: 0.45rem;
  margin: 0.75rem 0;
}

.approval-evidence div {
  display: grid;
  grid-template-columns: minmax(5rem, 0.35fr) minmax(0, 1fr);
  gap: 0.75rem;
}

.approval-evidence dt {
  color: #52645d;
  font-weight: 700;
}

.approval-evidence dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.approval-request textarea {
  margin-top: 0.35rem;
  width: 100%;
}

.advisor-event {
  padding: 0.85rem;
  background: #fff;
  border: 1px solid #e0e8e3;
  border-left: 0.3rem solid #7eaa61;
  border-radius: 0.65rem;
}

.advisor-event.warning {
  border-left-color: #c28a2e;
}

.advisor-event.critical {
  border-left-color: #aa4c4c;
}

.advisor-event-heading,
.advisor-event-meta,
.advisor-actions {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  justify-content: space-between;
}

.advisor-event p {
  margin: 0.55rem 0 0;
  color: #52645d;
  line-height: 1.45;
}

.advisor-event-meta {
  margin-top: 0.55rem;
  color: #77847e;
  font-size: 0.72rem;
}

.advisor-id {
  max-width: 16rem;
  overflow: hidden;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.advisor-empty {
  padding: 1rem;
  color: #697871;
  text-align: center;
  background: #f2f6f3;
  border-radius: 0.65rem;
}

.advisor-evidence {
  margin-top: 1rem;
  padding: 1rem;
  background: #f8faf8;
  border: 1px solid #dfe6e1;
  border-radius: 0.8rem;
}

.advisor-evidence summary {
  color: #294a3e;
  font-weight: 750;
  cursor: pointer;
}

.advisor-composer {
  display: grid;
  gap: 0.65rem;
  margin-top: 1rem;
  padding: 1rem;
  background: #f5f7f5;
  border: 1px solid #dfe6e1;
  border-radius: 0.8rem;
}

.advisor-composer textarea {
  width: 100%;
  min-width: 0;
  resize: vertical;
}

.advisor-actions {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.readiness-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.readiness-grid article {
  padding: 1rem;
  background: #f5f7f5;
  border-radius: 0.7rem;
}

.readiness-grid span,
.readiness-grid strong {
  display: block;
}

.readiness-grid span {
  margin-bottom: 0.35rem;
  color: #697871;
  font-size: 0.78rem;
}

.readiness-grid strong {
  color: #8a5d17;
}

.badge {
  padding: 0.35rem 0.55rem;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 999px;
}

.badge.neutral {
  color: #52645d;
  background: #edf1ee;
}

.badge.healthy {
  color: #285c36;
  background: #e0f2df;
}

.badge.warning {
  color: #7a4f0b;
  background: #fff0cf;
}

.badge.critical {
  color: #7d2727;
  background: #f9dede;
}

.muted,
.htmx-indicator {
  color: #697871;
}

.commercial-editor {
  margin: 1.2rem 0;
  border: 1px solid #dce5df;
  border-radius: 0.8rem;
}

.commercial-editor > summary {
  width: fit-content;
  margin: 0.8rem;
  cursor: pointer;
  list-style: none;
}

.panel .commercial-form {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(0, 1fr);
  padding: 0 1rem 1rem;
}

.commercial-lines,
.commercial-grid,
.commercial-list,
.commercial-facts,
.commercial-issue {
  display: grid;
  gap: 0.8rem;
}

.commercial-lines {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.commercial-line {
  display: grid;
  gap: 0.6rem;
  min-width: 0;
  padding: 0.8rem;
  border: 1px solid #dce5df;
  border-radius: 0.65rem;
}

.commercial-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  margin-top: 1.5rem;
}

.subsection-heading,
.commercial-card-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.commercial-card {
  padding: 1rem;
  border: 1px solid #dce5df;
  border-radius: 0.8rem;
  background: #fbfcfb;
}

.commercial-card h4,
.commercial-card p {
  margin-top: 0;
}

.commercial-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0.8rem 0;
}

.commercial-facts div {
  min-width: 0;
}

.commercial-facts dt {
  color: #697871;
  font-size: 0.75rem;
}

.commercial-facts dd {
  margin: 0.2rem 0 0;
  overflow-wrap: anywhere;
}

.commercial-line-summary {
  margin: 0.8rem 0;
  padding: 0.75rem;
  background: #f2f6f3;
  border-radius: 0.6rem;
}

.commercial-line-summary p:last-child {
  margin-bottom: 0;
}

.commercial-issue {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.commercial-issue .button {
  align-self: end;
}

.technical-value {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.78rem;
}

.htmx-indicator {
  display: none;
  margin-bottom: 0.75rem;
}

.htmx-request .htmx-indicator,
.htmx-request.htmx-indicator {
  display: block;
}

@media (max-width: 760px) {
  .app-shell {
    display: block;
  }

  .sidebar {
    width: 100%;
  }

  .content {
    padding: 2.5rem 1rem;
  }

  .topbar {
    padding: 0 1rem;
  }

  .notice,
  .panel-header,
  .partner-row,
  .partner-actions,
  .partner-meta,
  .part-actions,
  .availability-heading,
  .form-actions,
  .session-actions,
  .panel form {
    align-items: flex-start;
    flex-direction: column;
  }

  .topbar {
    flex-wrap: wrap;
    gap: 0.75rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .readiness-grid {
    grid-template-columns: 1fr;
  }

  .pricing-grid,
  .advisor-grid,
  .part-row,
  .availability-facts,
  .workspace-grid,
  .field-grid,
  .commercial-grid,
  .commercial-lines,
  .commercial-facts,
  .commercial-issue,
  .panel .inline-form {
    grid-template-columns: 1fr;
  }

  .import-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-grid .wide {
    grid-column: auto;
  }
}

/* Pilot workspace: one selected area, with persistent forms between sections. */
[hidden], [x-cloak] { display: none !important; }
html { scroll-padding-top: 5.5rem; }
a { text-underline-offset: 0.2em; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #458354; outline-offset: 3px; }
.brand { text-decoration: none; color: inherit; }
.sidebar { position: sticky; top: 0; height: 100dvh; overflow-y: auto; width: 15.5rem; padding: 1.6rem 1rem; }
.nav-group-label { margin: 1.25rem 0.75rem 0.35rem; font-size: 0.67rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: #a4bdb0; }
.nav-item { font-size: 0.88rem; line-height: 1.4; transition: background 120ms; }
.nav-item:hover { background: #214c3d; color: #fff; }
.nav-item.active { background: #d9efb7; color: #16382e; font-weight: 700; }
.sidebar-footnote { margin: 2rem 0.75rem 0; font-size: 0.75rem; line-height: 1.6; color: #a4bdb0; }
.topbar { position: sticky; top: 0; z-index: 3; min-height: 4.75rem; background: #fff; border-bottom: 1px solid #e0e7df; }
.topbar-location { font-size: 0.9rem; font-weight: 650; color: #354b3f; }
.session-actions { margin-left: auto; min-width: 0; }
.session-identity { display: grid; text-align: right; gap: 0.2rem; font-size: 0.8rem; overflow-wrap: anywhere; }
.session-identity small { color: #617167; font-weight: 400; }
.content { max-width: 100rem; margin: 0 auto; padding: clamp(1.25rem, 3vw, 3rem); }
[data-workspace] { scroll-margin-top: 6rem; }
[data-workspace]:focus { outline: none; }
h1 { max-width: 24ch; font-size: clamp(1.8rem, 3vw, 2.7rem); letter-spacing: -0.045em; line-height: 1.15; }
.lede { max-width: 65ch; color: #617167; font-size: 1rem; line-height: 1.7; }
.workspace-shortcuts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; margin: 2rem 0 1.5rem; }
.workspace-shortcut { display: flex; flex-direction: column; align-items: flex-start; padding: 1.5rem; color: #182f23; text-decoration: none; background: #fff; border: 1px solid #dae3d8; border-radius: 1rem; box-shadow: 0 3px 10px rgb(26 48 32 / 3%); }
.workspace-shortcut:hover { border-color: #699469; box-shadow: 0 6px 18px rgb(26 48 32 / 8%); }
.shortcut-icon { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: 0.75rem; background: #edf5e5; color: #365f38; font-size: 1.6rem; }
.workspace-shortcut h2 { margin: 1.25rem 0 0.55rem; font-size: 1.12rem; }
.workspace-shortcut p { margin: 0 0 1.5rem; color: #617167; font-size: 0.88rem; line-height: 1.65; }
.shortcut-action { margin-top: auto; font-weight: 650; font-size: 0.84rem; }
.overview-links { display: flex; flex-wrap: wrap; gap: 0.8rem 1.75rem; }
.overview-links a { color: #315f3c; font-size: 0.88rem; }
.workspace-hint { margin-top: 2.5rem; font-size: 0.84rem; }
.connection-strip { display: flex; align-items: center; gap: 0.6rem; margin: 1rem clamp(1.25rem, 3vw, 3rem); padding: 1rem 0; border-top: 1px solid #dce4da; color: #627267; font-size: 0.75rem; line-height: 1.5; }
.nav-backdrop { display: none; }
.welcome-shell .app-shell { display: block; }
.welcome-shell .topbar { position: static; background: transparent; border: 0; padding: 1.5rem 3rem; }
.welcome-brand { padding: 0; gap: 0.75rem; }
.welcome-card { max-width: 52rem; margin: clamp(2rem, 8vh, 6rem) auto; padding: clamp(1.5rem, 5vw, 4rem); background: white; border: 1px solid #dde7d8; border-radius: 1.5rem; box-shadow: 0 1.5rem 4rem rgb(34 66 43 / 5%); }
.welcome-card h1 { max-width: 18ch; margin: 1.2rem 0; font-size: clamp(2.5rem, 5vw, 3.75rem); }
.welcome-action { display: inline-flex; align-items: center; gap: 2rem; margin: 1.5rem 0 0.5rem; padding: 0.9rem 1.2rem; text-decoration: none; }
.welcome-card > .muted { font-size: 0.8rem; }
.welcome-features { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid #e5ebe1; color: #5f7363; font-size: 0.8rem; }
.panel { border-radius: 1rem; box-shadow: none; }
.panel-header { align-items: flex-start; }
.form-grid label { line-height: 1.5; }
.panel form > label { min-width: 0; max-width: 100%; }
input[type="file"] { width: 100%; min-width: 0; }
input, select, textarea { min-height: 2.75rem; }
.button, .icon-button { min-height: 2.75rem; }
.panel section.notice { display: block; }
.import-table-wrap { max-width: 100%; min-width: 0; border-radius: 0.65rem; }
.import-table th { position: sticky; top: 0; background: #eef3ea; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
@media (max-width: 1100px) { .workspace-shortcuts { grid-template-columns: 1fr; } .workspace-shortcut { padding: 1.3rem; } }
@media (max-width: 760px) {
  .sidebar { position: fixed; inset: 0 auto 0 0; z-index: 6; width: min(19rem, 85vw); }
  .nav-backdrop { display: block; position: fixed; inset: 0; z-index: 5; border: 0; background: rgb(11 27 17 / 40%); }
  .topbar { padding: 0.8rem 1rem; gap: 0.7rem; }
  .topbar-location { display: none; }
  .session-actions { gap: 0.6rem; flex-direction: row; align-items: center; }
  .session-identity { font-size: 0.73rem; }
  .session-actions .button { font-size: 0.8rem; padding: 0.55rem; white-space: nowrap; }
  .welcome-shell .topbar { padding: 1.25rem; }
  .welcome-card { margin: 1rem auto; }
  .welcome-action { gap: 1rem; font-size: 0.9rem; }
  .panel-header { flex-wrap: wrap; }
  .connection-strip { align-items: flex-start; }
}

/* Operational details: business facts first, references available on demand. */
.transaction-card { margin: 1rem 0; padding: 1.25rem; border: 1px solid #dce5dc; border-radius: 0.85rem; background: #fff; }
.transaction-card > strong { display: block; font-size: 1rem; margin-bottom: 0.8rem; }
.transaction-card .import-summary { margin: 0.8rem 0; }
.record-details { min-width: 0; margin: 0.65rem 0; color: #5b6d60; font-size: 0.8rem; overflow-wrap: anywhere; }
.record-details > summary { cursor: pointer; width: fit-content; padding: 0.45rem 0; font-weight: 600; color: #386146; }
.record-details[open] > summary { margin-bottom: 0.6rem; }
.record-details .commercial-facts { margin: 0.5rem 0; }
.record-details .technical-value { font-size: 0.75rem; }
.commercial-card .commercial-line-summary { padding: 0.5rem 0; border-top: 1px solid #e5eae3; }
.commercial-invoices { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid #dce5dc; }
.commercial-issue > .record-details { grid-column: 1 / -1; }
.commercial-card > form, .commercial-card > .action-row { margin-top: 0.85rem; }
.commercial-card > .action-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }
.transaction-card .form-actions { margin-top: 1rem; gap: 0.8rem; }
.transaction-card .form-actions form { flex-wrap: wrap; gap: 0.5rem; }
@media (max-width: 760px) {
  .transaction-card { padding: 1rem; }
  .transaction-card .form-actions form, .transaction-card .form-actions input { width: 100%; min-width: 0; }
}

.transaction-card .import-table { min-width: 48rem; }
.transaction-card .import-table th, .transaction-card .import-table td { min-width: 7rem; }
.record-details > summary { overflow-wrap: normal; }

.commercial-grid > section, .commercial-list, .commercial-card { min-width: 0; }
.commercial-list { grid-template-columns: minmax(0, 1fr); }
.panel form.commercial-issue { display: grid; align-items: start; }
.commercial-issue label { display: grid; gap: 0.4rem; }
.commercial-issue input, .commercial-issue select { width: 100%; min-width: 0; }
.commercial-issue > .record-details label + label { margin-top: 0.65rem; }

/* Keep everyday workflow steps ahead of optional setup and technical details. */
.nav-settings { margin-top: 1.25rem; }
.nav-settings > summary { padding: .7rem .8rem; cursor: pointer; color: #d6e5dd; font-weight: 600; }
.nav-settings .nav-item { display: block; margin-top: .3rem; }
.workflow-steps { display: flex; flex-wrap: wrap; gap: .65rem; padding: 0; margin: 1.5rem 0; list-style: none; }
.workflow-steps li { padding: .6rem .8rem; background: #eef5f1; border-radius: .55rem; font-size: .85rem; }
.receipt-source { border: 1px solid #dce5df; border-radius: .75rem; margin: .75rem 0; padding: 1rem; }
.receipt-source > summary { cursor: pointer; overflow-wrap: anywhere; }
.receipt-source > summary span { display: block; margin: .3rem 0 0 1rem; color: #52655b; font-size: .9rem; }
.next-step { padding: .8rem 1rem; background: #eef5f1; border-radius: .5rem; }
.inventory-setup { margin: 2rem 0; }
.field-error { display: block; color: #a52a2a; font-size: .85rem; font-weight: 500; margin-top: .35rem; }
[aria-invalid="true"] { border-color: #a52a2a; }

.sales-discount-control {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.sales-discount-control label { min-width: 0; }
.sales-total-discount { border: 1px solid #dce5df; border-radius: .75rem; padding: 1rem; }
.sales-discount-detail { display: block; margin-top: .3rem; color: #52645d; font-size: .85rem; }
@media (max-width: 600px) { .sales-discount-control { grid-template-columns: 1fr; } }

.commercial-form label { display: grid; gap: .35rem; min-width: 0; }
.commercial-form input, .commercial-form select { width: 100%; min-width: 0; box-sizing: border-box; }
.commercial-form > .button { justify-self: start; }
.commercial-line .sales-discount-control { grid-template-columns: minmax(0, 1fr); }

.customer-billing-block { margin: 1rem 0; padding: .8rem; border-radius: .7rem; background: var(--surface-soft, #f3f6f2); }
.customer-billing-block p { margin: .3rem 0; overflow-wrap: anywhere; }
.partner-row > div:first-child { min-width: 0; flex: 1; }
.panel .customer-tax-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.customer-tax-form label, .customer-tax-form input { width: 100%; min-width: 0; }

/* Pilot form rhythm and small-screen list navigation. */
.panel .list-toolbar { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); align-items:end; gap:.75rem; margin:1.25rem 0 .5rem; }
.list-toolbar label { display:grid; gap:.35rem; min-width:0; }
.list-toolbar input, .list-toolbar select { width:100%; min-width:0; }
.pagination { display:flex; justify-content:space-between; gap:.75rem; margin-top:1rem; }
.customer-billing-form { max-width:46rem; }
.customer-billing-form fieldset { border:1px solid var(--border, #d5ded7); border-radius:.6rem; padding:1rem; min-width:0; }
.checkbox-label { display:flex; align-items:center; gap:.5rem; }
.checkbox-label input { width:auto; }
.corrective-action { margin-top:.75rem; padding:.75rem; border:1px solid #d7c7bb; border-radius:.5rem; }
.corrective-action summary { color:#854328; cursor:pointer; }
.corrective-action form { margin-top:.75rem; }
[data-quotation-line][hidden], [data-shipping-fields][hidden], .sales-discount-control label[hidden] { display:none !important; }
@media(max-width:600px) { .panel .list-toolbar { grid-template-columns:minmax(0,1fr); } .customer-billing-form .form-grid { grid-template-columns:1fr; } .partner-row { grid-template-columns:minmax(0,1fr); } }
.commercial-lines { grid-template-columns:minmax(0,1fr); }
[data-quotation-line] { grid-template-columns:repeat(3,minmax(0,1fr)); }
[data-remove-line] { grid-column:1 / -1; justify-self:end; }
[data-quotation-line] .sales-discount-control { grid-column:1 / -1; }
.partner-row { align-items:flex-start; }
.partner-row > div:first-child { min-width:0; flex:1; }
@media(max-width:600px) { [data-quotation-line] { grid-template-columns:minmax(0,1fr); } .partner-row { flex-direction:column; align-items:stretch; } }

[data-remove-line][hidden] { display:none !important; }

.panel .customer-billing-form { display:grid; grid-template-columns:minmax(0,1fr); align-items:stretch; gap:.85rem; }

.invoice-logo-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 112px;
  max-width: 320px;
  padding: 16px;
  border: 1px dashed var(--border, #bac9c5);
  border-radius: 12px;
  background: #fff;
  color: #526660;
}
.invoice-logo-preview img { max-width: 240px; max-height: 96px; object-fit: contain; }

/* Master-data screens use stacked forms; the panel's inline action rule must not flatten them. */
.panel form.master-data-form { display: block; min-width: 0; }
#tenant-master-data-onboarding-workspace .section-copy,
#pricing-workspace .section-copy { max-width: 72ch; line-height: 1.65; }
.settings-section { min-width: 0; margin: 1.5rem 0; padding: 1.25rem; border: 1px solid #dfe6e1; border-radius: .75rem; }
.settings-section legend { padding: 0 .4rem; font-weight: 700; color: #294a3e; }
.settings-section .form-grid { margin-top: .5rem; }
.technical-details { min-width: 0; margin: .65rem 0; }
.technical-details summary { cursor: pointer; color: #486557; font-size: .85rem; font-weight: 600; }
.technical-details label { display: grid; gap: .4rem; margin-top: .75rem; }
.technical-details input { width: 100%; min-width: 0; }
.technical-details code, .technical-details .partner-id { overflow-wrap: anywhere; }
.organization-review { margin-top: 1.5rem; padding: 1.25rem; background: #f4f8ef; border: 1px solid #cdddc4; border-radius: .75rem; }
.review-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.review-facts .wide { grid-column: 1 / -1; }
.review-facts dt { color: #617167; font-size: .8rem; }
.review-facts dd { margin: .3rem 0 0; overflow-wrap: anywhere; line-height: 1.6; }
[data-organization-preview-stale][hidden] { display: none; }
#tenant-master-data-onboarding-workspace .form-actions,
#pricing-workspace .form-actions { flex-wrap: wrap; gap: .8rem; }
#pricing-workspace form > button { margin-top: 1rem; }
#pricing-workspace .inline-form > button { margin-top: 0; }
.price-list-period { display: block; margin-top: .45rem; color: #617167; font-size: .85rem; line-height: 1.6; }
#pricing-workspace .pricing-card { background: #fff; padding: 1.25rem; }
#pricing-workspace .pricing-card .panel-header > div:first-child { min-width: 0; flex: 1; overflow-wrap: anywhere; }
#pricing-workspace .pricing-grid { grid-template-columns: minmax(0,1fr); }
#pricing-workspace .pricing-grid > section { padding: 1.25rem; }
#pricing-workspace .inline-form { grid-template-columns: minmax(0,1fr) auto; gap: 1rem; }
#pricing-workspace .inline-form > label { display: grid; gap: .5rem; }
.price-entry-row { grid-template-columns: minmax(0,1fr); gap: .3rem; }
.price-entry-row > div { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: .4rem 1.5rem; }
.price-entry-row > div > .partner-id { grid-column: 1 / -1; font-family: inherit; }
.price-part-name { overflow-wrap: anywhere; }
.price-amount { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.price-amount small, .resolved-amount small { font-size: .8rem; font-weight: 400; color: #617167; }
.resolved-amount { display: block; font-size: 1.35rem; margin: .5rem 0; font-variant-numeric: tabular-nums; }
#parts-catalog .list-toolbar { grid-template-columns: minmax(0,1fr) auto; }
#parts-catalog .part-row { grid-template-columns: minmax(0,1.4fr) minmax(15rem,1fr); gap: 1.5rem; }
#parts-catalog .part-identity { min-width: 0; overflow-wrap: anywhere; }
#parts-catalog .part-identity > strong { font-size: 1.05rem; line-height: 1.6; }
#parts-catalog .part-identity > span { display: block; line-height: 1.6; }
#parts-catalog .part-identity > span strong { display: inline; }
#parts-catalog .part-actions { flex-wrap: wrap; }
#parts-catalog .availability-scope { margin: 1.2rem 0; }
#parts-catalog .availability-evidence { font-size: .85rem; }
#parts-catalog .pagination { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
@media (max-width: 900px) {
  #parts-catalog .part-row { grid-template-columns: minmax(0,1fr); }
  #pricing-workspace .pricing-card .panel-header { flex-wrap: wrap; gap: 1rem; }
}
@media (max-width: 600px) {
  .settings-section, .organization-review { padding: 1rem; }
  .settings-section .form-grid, .review-facts { grid-template-columns: minmax(0,1fr); }
  #parts-catalog .list-toolbar, #pricing-workspace .inline-form { grid-template-columns: minmax(0,1fr); }
  #pricing-workspace .inline-form > button { justify-self: start; }
  .price-entry-row > div { grid-template-columns: minmax(0,1fr); }
  .price-amount { text-align: left; }
}
#pricing-workspace .price-list-actions { flex-direction: row; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
#pricing-workspace .manage-price-list { margin: 0; }
#pricing-workspace .manage-price-list .review-actions { justify-content: flex-start; }
#pricing-workspace .pricing-grid .inline-form > label { grid-column: 1 / -1; }
#pricing-workspace .pricing-grid .inline-form > .technical-details { margin: 0; }
@media (max-width: 760px) {
  #pricing-workspace .price-list-actions { align-items: center; }
}

/* Focused commercial editors remain inside the current document. */
.commercial-extra { margin-block: 1rem; padding: 1rem; border: 1px solid var(--border, #dbe3e8); border-radius: .75rem; background: var(--surface, #fff); min-width: 0; }
.commercial-extra h4 { margin: 0 0 .5rem; }
.panel .selection-order-form, .panel .cost-entry-form { display: grid; gap: .8rem; width: 100%; }
.commercial-extra .command-row { display: flex; flex-wrap: wrap; gap: .6rem; }
.commercial-extra label { display: grid; gap: .35rem; }
.commercial-extra input { max-width: 100%; }
.commercial-table-scroll { max-width: 100%; overflow-x: auto; }
.commercial-extra-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.commercial-extra-table th, .commercial-extra-table td { padding: .65rem .55rem; text-align: right; vertical-align: top; border-bottom: 1px solid #e2e8ed; }
.commercial-extra-table th:first-child, .commercial-extra-table td:first-child { text-align: left; min-width: 12rem; width: 40%; overflow-wrap: anywhere; }
.commercial-extra-table input { width: 7rem; min-width: 5rem; text-align: right; }
.commercial-extra-table small { display: block; color: #536476; margin-top: .25rem; }
.part-cost-panel { grid-column: 1 / -1; order: 3; min-width: 0; }
.part-cost-panel:empty { display: none; }
.margin-table td:not(:first-child) { white-space: nowrap; }

.stock-count-sheet { min-width: 760px; }
.stock-count-sheet th:first-child { width: 40%; }
.stock-count-sheet td { vertical-align: top; }
.stock-count-sheet input[data-stock-quantity] { min-width: 130px; text-align: right; font-variant-numeric: tabular-nums; }
.stock-count-sheet td:last-child input { width: 5rem; }
.stock-count-sheet tr[hidden] { display: none; }
.stock-worksheet .numeric, [data-stock-count-status] .numeric { text-align: right; font-variant-numeric: tabular-nums; }
.stock-worksheet [data-stock-progress] { font-weight: 600; }

.stock-count-scroll { max-height: 65vh; overflow: auto; }
.stock-worksheet [data-stock-search] { width: 100%; max-width: 36rem; }

.quotation-interchange { display: block; margin-top: .25rem; line-height: 1.4; }

/* Sales follows the document lifecycle at every viewport size. */
.commercial-grid { grid-template-columns: minmax(0, 1fr); }
.inventory-section { margin-block: 1.4rem; }
.inventory-section > summary { font-size: 1.05rem; font-weight: 650; padding: .85rem 0; cursor: pointer; }
.stock-balance-summary { display: grid; gap: .25rem; margin-block: .6rem; }
.delivery-history-table td { vertical-align: top; }
.delivery-history-table .action-row { flex-wrap: wrap; }

/* Daily work stays ahead of infrequent setup and long stock lists. */
.daily-settings { margin-top: 2rem; padding: 1rem; border-top: 1px solid var(--border, #dce3eb); }
.daily-settings > summary { cursor: pointer; font-weight: 600; }
.stock-browser .panel-header { margin-bottom: .75rem; }
.stock-browser h3, .stock-browser .panel-header p { margin: 0; }
.stock-search { display: grid; grid-template-columns: minmax(0, 3fr) minmax(180px, 1fr); gap: 1rem; }
.stock-search label { min-width: 0; }
.stock-search input, .stock-search select { width: 100%; min-width: 0; max-width: 100%; }
.stock-pagination { display: flex; align-items: center; justify-content: flex-end; gap: .75rem; margin-top: 1rem; }
.stock-pagination[hidden] { display: none; }
.stock-balances th:nth-child(n+3):nth-child(-n+5), .stock-balances td:nth-child(n+3):nth-child(-n+5) { text-align: right; font-variant-numeric: tabular-nums; }
.stock-balances td:first-child { min-width: 240px; }
@media (max-width: 640px) {
  .stock-search { grid-template-columns: 1fr; gap: .5rem; }
  .stock-pagination { justify-content: space-between; gap: .5rem; flex-wrap: wrap; }
}

.stock-browser .import-table-wrap { max-height: 32rem; overflow: auto; }
[data-delivery-history] .import-table-wrap { max-height: 22rem; overflow: auto; }
.stock-browser thead th, [data-delivery-history] thead th { position: sticky; top: 0; background: #eef2e9; z-index: 1; }

.commercial-toolbar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }
.commercial-toolbar > label:first-child { grid-column: 1 / -1; }
.commercial-toolbar label, .commercial-toolbar select { min-width: 0; width: 100%; }
@media (max-width: 640px) {
  .commercial-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.maintenance-list { display: grid; gap: 1rem; margin-top: 1rem; }
.maintenance-list > article { display: block; }
.maintenance-list .commercial-facts dd { overflow-wrap: anywhere; }

.maintenance-workspace .commercial-editor > .partner-form { padding: 0 1rem 1rem; }
.maintenance-workspace .partner-form > .button, .maintenance-workspace .checkbox-label { margin-top: 1rem; }
.maintenance-workspace .checkbox-label { display: flex; align-items: center; gap: .6rem; }
.maintenance-workspace .checkbox-label input { width: auto; }
.maintenance-workspace .workspace-card { border: 1px solid #dce5df; border-radius: .8rem; padding: 1rem; }
.maintenance-workspace h4 { margin-top: 0; overflow-wrap: anywhere; }

.relocation-positions { max-height: 42rem; overflow-y: auto; margin-top: 1rem; padding-right: .25rem; }
.maintenance-list > [hidden] { display: none; }

.maintenance-workspace > label { display: grid; gap: .4rem; margin-top: 1rem; }
.maintenance-workspace > label > input { width: 100%; min-width: 0; }
.maintenance-workspace .checkbox-label input[type="checkbox"] { width: 1.25rem; min-width: 0; height: 1.25rem; min-height: 0; flex: 0 0 1.25rem; }
.stock-sheet-search { display: grid; grid-template-columns: minmax(0,2fr) minmax(12rem,1fr); gap: 1rem; margin: 1rem 0; }
.stock-sheet-search label { display: grid; gap: .4rem; }
.stock-sheet-search input, .stock-sheet-search select { width: 100%; min-width: 0; }
.stock-position-picker { margin: 1rem 0; border: 1px solid #dce5df; border-radius: .8rem; padding: 1rem; min-width: 0; }
.stock-position-picker > label { display: grid; gap: .4rem; }
.stock-position-picker input[type="search"] { width: 100%; min-width: 0; }
.stock-position-results { max-height: 20rem; overflow-y: auto; margin-top: .8rem; }
.stock-position-results > label { display: flex; gap: .75rem; padding: .8rem; align-items: start; border-bottom: 1px solid #dce5df; cursor: pointer; }
.stock-position-results > label:has(input:checked) { background: #edf5e3; }
.stock-position-results > label > span { min-width: 0; overflow-wrap: anywhere; }
.stock-position-results .muted { display: block; margin-top: .3rem; }
.stock-position-results input[type="radio"] { width: 1.2rem; height: 1.2rem; min-width: 0; min-height: 0; flex: 0 0 1.2rem; }
.stock-position-results > [hidden] { display: none; }
@media (max-width:680px) {
  .stock-sheet-search { grid-template-columns: minmax(0,1fr); }
  .stock-count-sheet { display: block; min-width: 0; }
  .stock-count-sheet thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .stock-count-sheet tbody { display: grid; gap: .8rem; }
  .stock-count-sheet tr { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); border: 1px solid #dce5df; border-radius: .75rem; padding: .5rem; }
  .stock-count-sheet td { display: block; padding: .5rem; border: 0; min-width: 0; text-align: left; }
  .stock-count-sheet td:first-child, .stock-count-sheet td:nth-child(2), .stock-count-sheet td:last-child { grid-column: 1 / -1; }
  .stock-count-sheet td[data-cell-label]::before { content: attr(data-cell-label); display: block; font-size: .8rem; color: #697871; margin-bottom: .35rem; }
  .stock-count-sheet input[data-stock-quantity] { width: 100%; min-width: 0; }
  .stock-count-scroll { max-height: 65vh; }
}

.product-picker { min-width: 0; }
.product-picker > label { display: grid; gap: .4rem; }
.product-picker input[data-product-search] { width: 100%; min-width: 0; }
.product-picker > select[hidden], .product-picker-results[hidden] { display: none; }
.product-picker-results { list-style: none; margin: .5rem 0; padding: .25rem; max-height: 18rem; overflow-y: auto; border: 1px solid #dce5df; border-radius: .65rem; background: #fff; }
.product-picker-results li { margin: 0; padding: 0; }
.product-picker-results button { display: block; width: 100%; text-align: left; white-space: normal; overflow-wrap: anywhere; padding: .7rem; border: 0; border-bottom: 1px solid #e8ede9; border-radius: .25rem; background: transparent; color: #243d32; cursor: pointer; }
.product-picker-results button:hover, .product-picker-results button:focus-visible { background: #edf5e3; }
.product-picker-status { margin: .4rem 0 0; font-size: .85rem; }
[data-quotation-line] > .product-picker { grid-column: 1 / -1; }
.customer-picker input[data-customer-search] { width: 100%; min-width: 0; }
:root .session-context-notice {
  position: sticky;
  top: 0;
  z-index: 10000;
  padding: 1.25rem;
  background: #fff4d6;
  color: #352a12;
  border-bottom: 2px solid #956300;
}
.quotation-stock { grid-column: 1 / -1; padding: .75rem 1rem; border: 1px solid var(--border, #dce4e2); border-radius: .65rem; background: #f3f8f6; }
.quotation-stock [data-stock-result] { margin: 0 0 .5rem; }
.quotation-stock-position { display: block; margin-bottom: .5rem; }
.quotation-stock-position strong, .quotation-stock-position small, .quotation-stock-note { display: block; }
.quotation-stock-note { margin-top: .4rem; color: #53655e; }
