/* Section three uses the accepted workshop shell and keeps its controls local. */
.board-shell--purchasing .procurement-intro { margin: 24px 0; }
.board-shell--purchasing .procurement-intro h2 { margin: 5px 0 9px; font-size: 30px; line-height: 1.6; color: #223e32; }
.board-shell--purchasing .procurement-intro > p { margin: 0; color: #536b60; font-size: 14px; line-height: 1.9; }
.board-shell--purchasing .procurement-intro .section-kicker { font-size: 12px; color: #648474; }
.board-shell--purchasing .procurement-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 24px; }
.board-shell--purchasing .procurement-metrics article { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; border: 1px solid #e1e8e1; border-radius: 12px; background: #fff; }
.board-shell--purchasing .procurement-metrics span { font-size: 13px; color: #5f7667; }
.board-shell--purchasing .procurement-metrics strong { font-size: 26px; color: #2b694b; }
.board-shell--purchasing .procurement-panel { padding: 0; overflow: hidden; border: 1px solid #e1e8e1; border-radius: 15px; box-shadow: 0 3px 16px #26493205; }
.board-shell--purchasing .procurement-tabs { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 2px; padding-inline: 22px; border-bottom: 1px solid #e1e8e1; }
.board-shell--purchasing .procurement-tabs button { min-width: 0; min-height: 64px; padding: 14px 6px 11px; margin: 0; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: #fff; color: #677b6c; font-size: 13px; font-weight: 600; line-height: 1.8; box-shadow: none; }
.board-shell--purchasing .procurement-tabs button[aria-selected="true"] { color: #286747; border-bottom-color: #3b8663; background: #f8fbf7; }
.board-shell--purchasing .procurement-tabs button:hover { color: #265d42; background: #f6faf5; }
.board-shell--purchasing .procurement-tab-panel { padding: 28px; min-width: 0; }
.board-shell--purchasing .procurement-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.board-shell--purchasing .procurement-panel-heading h3 { margin: 0 0 6px; font-size: 19px; color: #2d503a; }
.board-shell--purchasing .procurement-panel-heading p { margin: 0; font-size: 14px; line-height: 1.9; color: #5e7465; }
.board-shell--purchasing .procurement-primary { flex-shrink: 0; min-height: 46px; padding: 10px 16px; border: 1px solid #2d704e; border-radius: 10px; color: #fff; background: #2d704e; font-size: 14px; }
.board-shell--purchasing .procurement-filters { display: flex; align-items: end; gap: 16px; padding: 16px; margin-bottom: 20px; border-radius: 11px; border: 1px solid #e7ece5; background: #f6f8f4; }
.board-shell--purchasing .procurement-filters label { display: grid; gap: 7px; min-width: 0; font-size: 13px; color: #4f6b58; }
.board-shell--purchasing .procurement-filters label:first-child { flex: 1; }
.board-shell--purchasing .procurement-filters label:last-child:not(:first-child) { flex: 0 0 170px; }
.board-shell--purchasing .procurement-filters :is(input,select) { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid #cbd9ce; border-radius: 9px; color: #2b4b38; background: #fff; font-size: 14px; }
.board-shell--purchasing .table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid #e4eae2; border-radius: 11px; }
.board-shell--purchasing .task-table { width: 100%; min-width: 650px; border-collapse: collapse; font-size: 14px; }
.board-shell--purchasing .task-table th { padding: 12px 14px; color: #627260; background: #f7f9f4; text-align: start; font-size: 12px; white-space: nowrap; }
.board-shell--purchasing .task-table td { padding: 17px 14px; color: #425f4b; border-bottom: 1px solid #eaf0e7; text-align: start; vertical-align: top; line-height: 1.8; overflow-wrap: anywhere; }
.board-shell--purchasing .task-table tr:last-child td { border-bottom: 0; }
.board-shell--purchasing .task-table tbody tr:hover { background: #fafcf8; }
.board-shell--purchasing :is(.procurement-identity,.procurement-contact) { display: grid; gap: 5px; }
.board-shell--purchasing .procurement-identity > strong { font-size: 14px; color: #2d573c; }
.board-shell--purchasing :is(.procurement-identity,.procurement-contact) small { display: block; color: #6a7f70; font-size: 12px; }
.board-shell--purchasing .procurement-identity > button { padding: 0; margin: 0; min-height: 30px; border: 0; border-radius: 3px; background: transparent; color: #2d704e; text-align: start; font-size: 15px; font-weight: 650; }
.board-shell--purchasing a { color: #2d704e; text-underline-offset: 3px; }
.board-shell--purchasing .procurement-badge { display: inline-block; padding: 3px 9px; border: 1px solid #dce6d8; border-radius: 7px; color: #527246; background: #f4f8ef; font-size: 12px; line-height: 1.7; }
.board-shell--purchasing .procurement-row-actions { display: flex; flex-wrap: wrap; align-items: start; gap: 8px; }
.board-shell--purchasing .procurement-row-actions button { min-height: 36px; padding: 6px 10px; margin: 0; border: 1px solid #dce6d9; border-radius: 7px; color: #477347; background: #fff; font-size: 12px; line-height: 1.7; }
.board-shell--purchasing .procurement-row-actions button:is([data-action^="archive"],[data-action="open-delete-supplier-dialog"]) { color: #7c695c; border-color: transparent; background: transparent; }
.board-shell--purchasing .procurement-row-actions button:hover { background: #f3f7ef; }
.board-shell--purchasing .record-trace { margin-top: 12px; max-width: 100%; font-size: 12px; line-height: 1.9; color: #5d7564; overflow-wrap: anywhere; }
.board-shell--purchasing .record-trace > summary { cursor: pointer; color: #537250; }
.board-shell--purchasing .record-audit h3 { font-size: 13px; }
.board-shell--purchasing .procurement-empty { padding: 35px 20px; border: 1px dashed #dce5d7; border-radius: 12px; background: #fafcf8; color: #5b7261; text-align: center; font-size: 14px; line-height: 1.9; }
.board-shell--purchasing .procurement-empty p { margin: 7px 0 0; font-size: 13px; }
.board-shell--purchasing .procurement-hint { padding: 0 2px; margin: 0 0 18px; color: #617457; font-size: 13px; line-height: 1.9; }
.board-shell--purchasing .procurement-quote-group { margin-top: 20px; }
.board-shell--purchasing .procurement-quote-group h4 { margin: 0 0 12px; color: #41633b; font-size: 16px; }
.board-shell--purchasing .procurement-quote-group h4 small { display: block; margin-top: 5px; font-size: 12px; color: #6e7f65; font-weight: 400; }
.board-shell--purchasing .procurement-record-card { padding: 20px; margin-bottom: 15px; border: 1px solid #e1e7dc; border-radius: 11px; background: #fcfdfb; }
.board-shell--purchasing .procurement-receipts > h4 { margin: 22px 0 12px; font-size: 16px; color: #476541; }
.board-shell--purchasing :is(.procurement-dialog,.supplier-profile-dialog) { width: min(760px,calc(100vw - 28px)) !important; max-width: calc(100vw - 28px); max-height: calc(100dvh - 32px) !important; padding: 0; overflow: auto; background: #fff; border: 1px solid #dce5d8; border-radius: 16px; box-shadow: 0 24px 70px #193d2a30; }
.board-shell--purchasing .supplier-profile-dialog { width: min(820px,calc(100vw - 28px)) !important; }
.board-shell--purchasing dialog::backdrop { background: #17372e80; backdrop-filter: blur(3px); }
.board-shell--purchasing :is(.procurement-dialog,.supplier-profile-dialog) form { display: grid; gap: 0; padding: 0; min-width: 0; }
.board-shell--purchasing dialog .dialog-heading { display: block; margin: 0; padding: 24px 26px 20px; border-bottom: 1px solid #e7ece3; background: #fbfcf9; }
.board-shell--purchasing dialog .dialog-heading h2 { margin: 0; color: #2b4c36; font-size: 21px; line-height: 1.7; }
.board-shell--purchasing dialog .dialog-heading p { margin: 7px 0 0; color: #5c735e; font-size: 14px; line-height: 1.9; }
.board-shell--purchasing .supplier-profile-dialog .dialog-heading { display: flex; align-items: start; gap: 16px; }
.board-shell--purchasing .supplier-profile-dialog .icon-button { width: 36px; height: 36px; min-width: 36px; margin: 0; padding: 0; font-size: 22px; color: #5e745f; background: #fff; border: 1px solid #dce6d9; border-radius: 9px; }
.board-shell--purchasing .procurement-form-body { padding: 24px 26px; }
.board-shell--purchasing :is(.procurement-form-grid,.supplier-profile-grid) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; min-width: 0; }
.board-shell--purchasing .procurement-wide { grid-column: 1 / -1; min-width: 0; }
.board-shell--purchasing dialog label { display: grid; align-content: start; gap: 7px; min-width: 0; color: #48664e; font-size: 14px; line-height: 1.8; }
.board-shell--purchasing dialog :is(input,select,textarea) { min-width: 0; width: 100%; min-height: 46px; padding: 9px 12px; border: 1px solid #cbd9c7; border-radius: 9px; color: #294931; background: #fcfdfb; font-size: 14px; line-height: 1.7; }
.board-shell--purchasing dialog :is(input[type="checkbox"],input[type="radio"]) { width: 18px; height: 18px; min-height: 18px; padding: 0; margin: 0; accent-color: #347448; }
.board-shell--purchasing dialog textarea { resize: vertical; min-height: 82px; }
.board-shell--purchasing dialog :is(input,textarea)::placeholder { color: #7e8e77; }
.board-shell--purchasing dialog :is(label small,.field-note) { color: #667d63; font-size: 12px; line-height: 1.9; }
.board-shell--purchasing dialog .dialog-actions { display: grid; grid-template-columns: repeat(2,minmax(0,150px)); justify-content: end; gap: 10px; margin: 0; padding: 18px 26px; border-top: 1px solid #e3eadd; background: #fff; position: sticky; bottom: 0; z-index: 1; }
.board-shell--purchasing dialog .dialog-actions > button { display: flex; align-items: center; justify-content: center; min-height: 46px; min-width: 0; margin: 0; padding: 10px 12px; border: 1px solid #d1dfcb; border-radius: 10px; color: #456843; background: #fff; font-size: 14px; line-height: 1.7; }
.board-shell--purchasing dialog .dialog-actions > button[type="submit"] { color: #fff; border-color: #2d704e; background: #2d704e; }
.board-shell--purchasing .procurement-form-details { border: 1px solid #e3e9de; border-radius: 10px; padding: 12px 15px; background: #fafcf7; }
.board-shell--purchasing .procurement-form-details > summary { cursor: pointer; color: #476e42; line-height: 1.8; font-size: 14px; }
.board-shell--purchasing .procurement-form-details > div { padding-top: 16px; }
.board-shell--purchasing .procurement-unit-field { display: grid; align-content: start; gap: 7px; font-size: 14px; color: #48664e; }
.board-shell--purchasing .procurement-unit-field strong { display: flex; align-items: center; min-height: 46px; padding: 9px 12px; border: 1px solid #e0e7d8; border-radius: 9px; color: #547346; background: #f3f7ee; font-size: 14px; font-weight: 500; }
.board-shell--purchasing .procurement-lines { display: grid; gap: 16px; }
.board-shell--purchasing .procurement-lines > h3 { margin: 0; font-size: 16px; color: #476b40; }
.board-shell--purchasing .procurement-line-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; min-width: 0; margin: 0; padding: 18px; border: 1px solid #dce6d5; border-radius: 11px; background: #fafcf7; }
.board-shell--purchasing .procurement-line-row legend { padding-inline: 8px; color: #6a7b5f; font-size: 13px; }
.board-shell--purchasing dialog :is(.procurement-lines,.supplier-profile-section,.supplier-repeat-list,.supplier-address-row,.supplier-contact-card,.supplier-phone-row) > button { justify-self: start; min-height: 38px; margin: 0; padding: 7px 12px; border: 1px solid #d3dfcd; border-radius: 8px; background: #fff; color: #4a7242; font-size: 13px; }
.board-shell--purchasing .form-error { margin: 14px 0 0; padding: 12px 15px; border: 1px solid #ead6cc; border-radius: 9px; background: #fff7f1; color: #884832; font-size: 14px; line-height: 1.9; }
.board-shell--purchasing .supplier-profile-dialog .supplier-profile-section { margin: 14px 24px 0; padding: 17px; border: 1px solid #e1e9db; border-radius: 11px; background: #fff; }
.board-shell--purchasing details.supplier-profile-section { display: block; }
.board-shell--purchasing .supplier-profile-section > summary { cursor: pointer; color: #436b3b; font-size: 14px; line-height: 1.9; }
.board-shell--purchasing .supplier-section-content { display: grid; gap: 15px; padding-top: 17px; }
.board-shell--purchasing .supplier-profile-section :is(h3,h4) { color: #4a6a40; font-size: 15px; }
.board-shell--purchasing .supplier-profile-dialog .supplier-post-save-note { margin: 16px 26px 20px; }
.board-shell--purchasing .supplier-profile-dialog form > .form-error { margin: 18px 24px 0; }
.board-shell--purchasing .supplier-messenger-details { border-top: 1px solid #e5ecdf; padding-top: 10px; }
.board-shell--purchasing .supplier-messenger-details summary { cursor: pointer; color: #5b7951; font-size: 13px; line-height: 1.9; }
.board-shell--purchasing .supplier-messenger-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; border-top: 0; padding-top: 16px; }
.board-shell--purchasing .supplier-messenger-option { display: grid; align-content: start; gap: 8px; min-width: 0; }
.board-shell--purchasing dialog .supplier-messenger-choice { display: flex; align-items: center; }
.board-shell--purchasing .supplier-primary-choice { display: flex; align-items: center; gap: 8px; }
.board-shell--purchasing .supplier-profile-summary { padding: 24px; margin-top: 24px; background: #f9fbf6; border-color: #dae5d1; }
.board-shell--purchasing .supplier-profile-summary > header { padding-bottom: 10px; }
.board-shell--purchasing .supplier-profile-summary > header h3 { font-size: 21px; color: #365e31; }
.board-shell--purchasing .supplier-profile-summary p { line-height: 1.9; font-size: 14px; }
.board-shell--purchasing .supplier-profile-summary .supplier-profile-section { background: #fff; border-color: #e3eadc; }
.board-shell--purchasing .supplier-document-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.board-shell--purchasing .supplier-document-actions button { padding: 8px 12px; border: 1px solid #d5e3ca; border-radius: 8px; color: #47713a; background: #fff; font-size: 13px; }
.board-shell--purchasing .supplier-related-records { grid-template-columns: repeat(2,minmax(0,1fr)); }
.board-shell--purchasing .procurement-delete-dialog > div { padding: 24px; }
.board-shell--purchasing .procurement-delete-dialog .dialog-actions { padding: 18px 0 0; }
@media (max-width:1100px) {
  .board-shell--purchasing .procurement-tabs { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .board-shell--purchasing .procurement-metrics article { padding: 15px; }
}
@media (max-width:780px) {
  .board-shell--purchasing .procurement-intro { margin: 18px 0; }
  .board-shell--purchasing .procurement-tab-panel { padding: 22px; }
  .board-shell--purchasing .procurement-panel-heading { align-items: start; flex-direction: column; gap: 14px; }
  .board-shell--purchasing .table-scroll { border: 0; overflow: visible; }
  .board-shell--purchasing .task-table { display: block; min-width: 0; }
  .board-shell--purchasing .task-table thead { position: absolute; width: 1px; height: 1px; padding: 0; clip-path: inset(50%); overflow: hidden; }
  .board-shell--purchasing .task-table tbody { display: grid; gap: 12px; }
  .board-shell--purchasing .task-table tr { display: grid; gap: 9px; padding: 16px; border: 1px solid #dfe8d9; border-radius: 11px; }
  .board-shell--purchasing .task-table td { display: block; min-width: 0; padding: 0; border: 0; }
  .board-shell--purchasing .task-table td::before { content: attr(data-label); display: inline-block; margin-inline-end: 10px; color: #74836c; font-size: 12px; }
  .board-shell--purchasing .task-table td:has(.procurement-identity)::before { display: none; }
  .board-shell--purchasing .task-table td:has(.procurement-row-actions)::before { display: none; }
  .board-shell--purchasing .task-table td:has(.procurement-row-actions) { padding-top: 10px; border-top: 1px solid #e8eee1; }
}
@media (max-width:480px) {
  .board-shell--purchasing .procurement-intro h2 { font-size: 26px; }
  .board-shell--purchasing .procurement-metrics { grid-template-columns: 1fr; gap: 9px; }
  .board-shell--purchasing .procurement-metrics article { padding: 10px 16px; }
  .board-shell--purchasing .procurement-metrics strong { font-size: 23px; }
  .board-shell--purchasing .procurement-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); padding-inline: 10px; }
  .board-shell--purchasing .procurement-tabs button { min-height: 47px; font-size: 12px; padding-block: 9px; }
  .board-shell--purchasing .procurement-tabs button:last-child { grid-column: 1 / -1; }
  .board-shell--purchasing .procurement-tab-panel { padding: 20px 16px; }
  .board-shell--purchasing .procurement-filters { flex-direction: column; align-items: stretch; gap: 12px; padding: 13px; }
  .board-shell--purchasing .procurement-filters label:last-child:not(:first-child) { flex: auto; }
  .board-shell--purchasing :is(.procurement-form-grid,.supplier-profile-grid,.procurement-line-row,.supplier-related-records,.supplier-messenger-grid) { grid-template-columns: 1fr; }
  .board-shell--purchasing dialog .dialog-heading { padding: 20px 18px 16px; }
  .board-shell--purchasing dialog .dialog-heading h2 { font-size: 19px; }
  .board-shell--purchasing .procurement-form-body { padding: 20px 18px; }
  .board-shell--purchasing dialog .dialog-actions { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 14px 18px; }
  .board-shell--purchasing .supplier-profile-dialog .supplier-profile-section { margin: 12px 16px 0; padding: 14px; }
  .board-shell--purchasing .supplier-profile-dialog .supplier-post-save-note { margin: 14px 18px 18px; }
  .board-shell--purchasing .supplier-profile-summary { padding: 16px; }
}
