/* Existing DS-2 tokens only. Scoped to the additive sourcing view/dialog. */
.sourcing-page{display:grid;gap:var(--s-4);min-width:0;color:var(--text)}
.sourcing-page .pagehead{margin-bottom:0}.sourcing-page h2,.sourcing-dialog h2{font-size:var(--fs-lg);margin:0}.sourcing-page h3{font-size:var(--fs-md);margin:0}
.sourcing-tabs,.sourcing-actions,.sourcing-summary,.sourcing-inline,.sourcing-tools{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap}.sourcing-tabs{padding-bottom:var(--s-3);border-bottom:1px solid var(--border)}
.sourcing-section{padding:var(--s-4);min-width:0}.sourcing-section-head{display:flex;justify-content:space-between;gap:var(--s-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--s-3)}
.sourcing-mode,.sourcing-warning,.sourcing-error{padding:var(--s-3);border:1px solid var(--border-strong);border-left:4px solid var(--accent);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2);line-height:var(--lh)}
.sourcing-warning{border-left-color:var(--warning)}.sourcing-error{border-left-color:var(--danger);color:var(--danger)}
.sourcing-case-form,.sourcing-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}
.sourcing-case-form .field,.sourcing-form-grid .field{min-width:0;margin:0}.sourcing-case-form .full,.sourcing-form-grid .full{grid-column:1/-1}
.sourcing-page label,.sourcing-dialog label{font-weight:var(--fw-medium);color:var(--text)}.sourcing-page .field label,.sourcing-dialog .field label{display:block;margin-bottom:var(--s-1)}
.sourcing-page input,.sourcing-page select,.sourcing-page textarea,.sourcing-dialog input,.sourcing-dialog select,.sourcing-dialog textarea{width:100%;min-width:0}.sourcing-page textarea,.sourcing-dialog textarea{resize:vertical;min-height:5em}
.sourcing-identity{display:flex;gap:var(--s-3);align-items:center}.sourcing-identity img{width:64px;height:64px;object-fit:contain;background:var(--surface-2);border-radius:var(--r-sm)}.sourcing-identity>div{min-width:0}.sourcing-identity p{margin:var(--s-1) 0 0;color:var(--text-2)}
.sourcing-start{display:flex;gap:var(--s-3);justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:var(--s-3)}.sourcing-start .sourcing-ai-label{display:flex;gap:var(--s-2);align-items:center}.sourcing-start input[type=checkbox]{width:auto}.sourcing-model{max-width:24em}
.sourcing-steps{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s-2);padding:0;margin:var(--s-3) 0}.sourcing-steps li{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);padding:var(--s-3);min-width:0}.sourcing-steps li[data-state=running]{border-color:var(--accent);background:var(--surface-selected)}.sourcing-steps li[data-state=complete],.sourcing-steps li[data-state=done]{border-color:var(--success)}.sourcing-steps strong,.sourcing-steps span{display:block}.sourcing-steps span{font-size:var(--fs-xs);margin-top:var(--s-1);color:var(--text-2)}
.sourcing-tools{align-items:stretch}.sourcing-tool{flex:1;min-width:15em;padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-sm);display:grid;gap:var(--s-2);align-content:start}.sourcing-tool p{margin:0;color:var(--text-2)}.sourcing-tool .sourcing-inline input{flex:1;width:auto}.sourcing-source-photo{width:56px;height:56px;object-fit:contain;background:var(--surface-2);border-radius:var(--r-xs)}
.sourcing-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}.sourcing-offer{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);min-width:0;overflow:hidden;display:flex;flex-direction:column}.sourcing-offer.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.sourcing-offer-image{height:160px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border)}.sourcing-offer-image img{width:100%;height:100%;object-fit:contain}.sourcing-offer-image span{color:var(--text-2);font-size:var(--fs-sm)}.sourcing-offer-body{padding:var(--s-3);display:grid;gap:var(--s-2);flex:1;align-content:start}.sourcing-offer-body h3{line-height:var(--lh-tight);overflow-wrap:anywhere}.sourcing-offer-body p{margin:0;color:var(--text-2)}.sourcing-price{font-size:var(--fs-lg);color:var(--accent-text);font-weight:var(--fw-semibold)}.sourcing-offer dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s-1) var(--s-2);margin:0}.sourcing-offer dt{color:var(--text-2)}.sourcing-offer dd{margin:0;overflow-wrap:anywhere}.sourcing-offer-actions{padding:var(--s-3);border-top:1px solid var(--border);display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap}.sourcing-offer-actions label{display:inline-flex;align-items:center;gap:var(--s-1)}.sourcing-offer-actions input{width:auto}
.sourcing-offer-image>button{width:100%;height:100%;border:0!important;padding:0!important;background:transparent!important;border-radius:0!important}
.sourcing-comparison-bar{position:sticky;bottom:var(--s-2);display:flex;gap:var(--s-3);align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-4);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-2);z-index:3;flex-wrap:wrap}
.sourcing-empty{padding:var(--s-5);text-align:center;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-2)}.sourcing-empty p{color:var(--text-2);margin-bottom:0}.sourcing-empty-symbol{font-size:var(--fs-xl);display:block;margin-bottom:var(--s-2);color:var(--accent-text)}
.sourcing-report-list{display:grid;gap:var(--s-2)}.sourcing-report-row,.sourcing-history-row{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-sm);flex-wrap:wrap}.sourcing-report-row p{margin:var(--s-1) 0 0;color:var(--text-2)}
.sourcing-dialog .modalbody{display:grid;gap:var(--s-3)}.sourcing-dialog .modalbody>p{margin:0}.sourcing-dialog .table-wrap{overflow-x:auto;max-height:none}.sourcing-dialog table{border-collapse:collapse;min-width:100%;font-size:var(--fs-sm)}.sourcing-dialog th,.sourcing-dialog td{padding:var(--s-2);border:1px solid var(--border);text-align:left;vertical-align:top;min-width:10em;white-space:normal;overflow-wrap:anywhere}.sourcing-dialog th{color:var(--text);background:var(--surface-2)}.sourcing-dialog .sourcing-compare-table th:first-child{position:sticky;left:0;min-width:8em;z-index:1}.sourcing-report-pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:none;font:inherit;margin:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--s-3)}
.sourcing-skeleton{display:grid;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-md)}.sourcing-skeleton span{display:block;height:1.5em;background:var(--surface-3);border-radius:var(--r-xs)}.sourcing-skeleton span:last-child{width:65%}
.sourcing-page .sourcing-meta,.sourcing-dialog .sourcing-meta{font-size:var(--fs-xs);color:var(--text-2)}.sourcing-page button:disabled,.sourcing-dialog button:disabled{cursor:not-allowed}.sourcing-page button:focus-visible,.sourcing-dialog button:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}
@media(max-width:1279px){.sourcing-offers{grid-template-columns:repeat(2,minmax(0,1fr))}.sourcing-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.sourcing-offers,.sourcing-case-form,.sourcing-form-grid{grid-template-columns:minmax(0,1fr)}.sourcing-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.sourcing-tool{min-width:0;flex-basis:100%}.sourcing-section{padding:var(--s-3)}.sourcing-comparison-bar{bottom:0;padding:var(--s-3)}.sourcing-offer-image{height:180px}.sourcing-dialog th,.sourcing-dialog td{min-width:9em}.sourcing-page .sourcing-actions{width:100%}}
@media(prefers-reduced-motion:reduce){.sourcing-page *,.sourcing-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
