/* Motion emphasizes selection, progress and saved decisions. */
@keyframes work-enter {from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes panel-enter {from{opacity:.55;transform:translateX(6px)}to{opacity:1;transform:translateX(0)}}
@keyframes dialog-enter {from{opacity:0;transform:translateY(13px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes attention-pulse {0%,100%{box-shadow:0 0 0 0 #e09d0040}55%{box-shadow:0 0 0 5px #e09d0000}}
.page-heading,.pod-selection,.registry,.pod {animation:work-enter .24s ease-out both}
.detail-body,.comparison-flow {animation:panel-enter .22s ease-out both}
.queue-item,.registry-table tbody tr td,.comparison-card,.button,.nav-item,.tab,.registry-open,.text-button {transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.button:not(:disabled):hover {transform:translateY(-1px);box-shadow:0 2px 6px #1d2d3e16}
.button:not(:disabled):active {transform:translateY(0) scale(.985)}
.comparison-card:hover {border-color:#97bee0;box-shadow:0 3px 12px #1d2d3e12;transform:translateY(-2px)}
.queue-item.selected {transition:background-color .2s ease,border-color .2s ease}
.work-state.amber i,.work-state.red i {animation:attention-pulse 2.6s ease-in-out infinite}
.request-dialog[open] {animation:dialog-enter .22s ease-out both}
.request-dialog::backdrop {background:#102c43a3}

.comparison-flow {display:grid;gap:14px}
.comparison-lead {display:flex;justify-content:space-between;align-items:start;gap:16px;padding:14px 16px;background:#f8fafb;border:1px solid var(--line);border-radius:3px}
.comparison-lead h3 {margin:0 0 5px;font-size:17px;color:#20394f}
.comparison-lead p:last-child {margin:0;max-width:780px;color:#526a7d;font-size:11px;line-height:1.5}
.comparison-lead .eyebrow {font-size:9px;margin-bottom:5px}
.comparison-steps {list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:#fff}
.comparison-steps li {display:flex;align-items:center;gap:7px;min-width:0;padding:10px 8px;border-right:1px solid var(--line);color:#74889a;font-size:10px;font-weight:700}
.comparison-steps li:last-child {border-right:0}
.comparison-steps li span {width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;border:1px solid #aebecb;border-radius:50%;background:#fff}
.comparison-steps li.done {color:#107e3e;background:#f5faf5}.comparison-steps li.done span {color:#fff;background:#107e3e;border-color:#107e3e}
.comparison-steps li.current {color:#0a6ed1;background:#eef6fd}.comparison-steps li.current span {border:2px solid #0a6ed1}
.comparison-facts {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:3px;background:#fff}
.comparison-facts span {min-width:0;padding:9px 11px;border-right:1px solid var(--line);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.comparison-facts span:last-child {border:0}.comparison-facts b {display:block;color:#61778b;font-size:10px;margin-bottom:5px}
.comparison-cards {display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:10px}
.comparison-card {border:1px solid var(--line);border-radius:3px;background:#fff;min-width:0;overflow:hidden}
.comparison-card-head {display:flex;align-items:start;justify-content:space-between;gap:7px;padding:11px;border-bottom:1px solid #e5e9ec}
.comparison-card-head strong {display:block;font-size:13px;line-height:1.25}
.comparison-card-head small {display:block;color:#647b8c;font-size:10px;margin-top:4px}
.comparison-card-head .badge {flex:0 0 auto}
.comparison-price {display:flex;align-items:baseline;gap:5px;padding:11px 11px 9px;font-size:20px;font-weight:750;color:#183b5b;border-bottom:1px solid #e5e9ec}
.comparison-price small {font-size:10px;font-weight:500;color:#6c8293}
.comparison-terms {margin:0;padding:1px 11px}
.comparison-terms div {display:grid;grid-template-columns:73px minmax(0,1fr);gap:5px;padding:7px 0;border-bottom:1px solid #edf0f2;font-size:10px;line-height:1.35}
.comparison-terms dt {color:#667e90}.comparison-terms dd {margin:0;font-weight:650;overflow-wrap:anywhere}
.comparison-files {display:grid;gap:6px;padding:10px 11px;border-top:1px solid #e5e9ec;font-size:10px;color:#3d566b}
.comparison-files>strong {font-size:10px}.comparison-files>small {color:#718699}
.comparison-file {display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.comparison-file span {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comparison-file a {flex:none;color:#0a6ed1;font-weight:700;text-decoration:none}
.comparison-file a:hover {text-decoration:underline}
.comparison-file small {flex:none;color:#8b660d}.comparison-file small.file-rejected {color:#b42b24}
.comparison-file-add {display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.comparison-file-add input {min-width:0;max-width:100%;font-size:10px}
.comparison-file-add .text-button {font-size:10px}
.quote-upload-field input[type=file] {width:100%;font-size:12px}
.quote-upload-field small {color:#667e90;font-size:10px}
.comparison-quantity {display:grid;gap:5px;padding:11px;background:#f6f9fb;color:#3c5469;font-size:10px;font-weight:700}
.comparison-quantity input {width:100%;height:31px;border:1px solid #9caebe;border-radius:2px;background:#fff;padding:5px 8px;font-size:12px}
.comparison-quantity input:focus {outline:2px solid #b5ddfc;border-color:#0a6ed1}
.comparison-readonly {padding:10px 11px;font-size:10px;background:#f6f9fb;color:#52697b}
.comparison-estimate {min-height:28px;padding:8px 11px;color:#0a6ed1;background:#f6f9fb;border-top:1px solid #e3e9ed;font-size:10px;font-weight:700}
.comparison-decision,.comparison-submit,.comparison-submission,.comparison-record,.comparison-external {border:1px solid var(--line);border-radius:3px;background:#fff;padding:14px}
.comparison-decision-top {display:flex;justify-content:space-between;align-items:start;gap:15px}
.comparison-decision h4,.comparison-submit h4,.comparison-external h4 {margin:0 0 4px;font-size:13px}
.comparison-decision p,.comparison-submit p,.comparison-external p {margin:0 0 10px;color:#64798b;font-size:10px;line-height:1.45}
.comparison-preview {display:grid;gap:3px;min-width:170px;text-align:right;color:#0a6ed1;font-size:12px}
.comparison-preview small {color:#587085;font-size:10px}
.comparison-warnings {display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.comparison-warnings span {padding:5px 7px;background:#fff3d9;color:#835510;border-radius:2px;font-size:10px}
.comparison-decision label,.comparison-submit label,.head-decision-form label {display:grid;gap:6px;font-size:11px;font-weight:700;color:#3d566b}
.comparison-decision textarea,.comparison-submit textarea,.head-decision-form textarea {width:100%;min-height:70px;resize:vertical;border:1px solid #aebbc5;border-radius:2px;padding:8px 10px;font-size:12px;color:var(--ink)}
.comparison-actions {display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:9px}
.comparison-record {display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f8fafb}
.comparison-record strong {font-size:11px}.comparison-record p {margin:4px 0 0;color:#52697d;font-size:10px}
.comparison-submit {display:grid;gap:8px;border-left:3px solid #0a6ed1}
.comparison-submit .button {justify-self:start}
.comparison-submissions {display:grid;gap:8px}
.comparison-submission strong {font-size:11px}.comparison-submission p {margin:7px 0;color:#3d5367;font-size:11px}.comparison-submission small {color:#73879a;font-size:10px}
.comparison-decision-note {display:grid;gap:4px;margin-top:9px;padding:9px;background:#eff6fc;color:#314e65;font-size:11px}
.comparison-snapshot-files {display:grid;gap:5px;margin-top:10px;padding:9px;border:1px solid #e1e8ed;background:#f8fafb;color:#50677a;font-size:10px}
.comparison-snapshot-files a {color:#0a6ed1;font-weight:700}
.head-decision-form {display:grid;gap:8px;margin-top:11px;padding-top:11px;border-top:1px solid var(--line)}
.comparison-external .button {white-space:normal;text-align:left;margin:2px 6px 2px 0}

.request-dialog {width:min(900px,calc(100vw - 28px));max-height:calc(100vh - 30px);overflow:auto;border:1px solid #b9c5cf;border-radius:4px;padding:0;box-shadow:0 18px 60px #102c433d}
.request-dialog form {padding:0}
.request-dialog-head {display:flex;justify-content:space-between;align-items:start;gap:18px;padding:20px 22px 16px;border-bottom:1px solid var(--line);background:#f9fbfc}
.request-dialog-head h2 {margin:0 0 6px;font-size:20px}.request-dialog-head p:last-child {margin:0;color:#5f7488;font-size:11px;line-height:1.45}
.request-form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 22px}
.request-form-grid label,.request-line-fields label {display:grid;gap:5px;color:#42596c;font-size:11px;font-weight:700}
.request-form-grid label[hidden] {display:none}
.request-form-grid input,.request-form-grid select,.request-line-fields input {width:100%;min-height:35px;padding:6px 9px;border:1px solid #a9b9c5;border-radius:2px;background:#fff;color:var(--ink);font-size:12px}
.request-form-grid input:focus,.request-form-grid select:focus,.request-line-fields input:focus {outline:2px solid #b5ddfc;border-color:#0a6ed1}
.request-contact {grid-column:1/-1}
.request-lines-head {display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f4f7f9}
.request-lines-head h3 {margin:0;font-size:13px}.request-lines-head p {margin:3px 0 0;font-size:10px;color:#657c8e}
.request-lines {display:grid;gap:9px;padding:14px 22px}
.request-line {border:1px solid var(--line);border-radius:3px;background:#fff;padding:11px}
.request-line-title {display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11px}
.request-line-fields {display:grid;grid-template-columns:1.3fr 1.3fr .55fr .55fr .9fr;gap:9px}
.request-dialog #requestError {padding:0 22px;min-height:0}
.request-dialog .dialog-actions {margin:0;padding:14px 22px;background:#f9fbfc}
.manual-source {display:block;margin-top:3px;color:#8a5d12;font-size:9px;font-weight:700}

@media(max-width:1100px){.request-line-fields {grid-template-columns:repeat(3,minmax(0,1fr))}.request-material,.request-specification {grid-column:span 3}}
@media(max-width:700px){.comparison-steps {grid-template-columns:repeat(2,1fr)}.comparison-steps li:nth-child(2) {border-right:0}.comparison-steps li:nth-child(-n+2) {border-bottom:1px solid var(--line)}.comparison-facts {grid-template-columns:repeat(2,1fr)}.comparison-facts span:nth-child(2) {border-right:0}.comparison-facts span:nth-child(-n+2) {border-bottom:1px solid var(--line)}.comparison-decision-top {display:block}.comparison-preview {text-align:left;margin-bottom:8px}.request-form-grid {grid-template-columns:1fr}.request-contact {grid-column:auto}.request-line-fields {grid-template-columns:repeat(2,minmax(0,1fr))}.request-material,.request-specification {grid-column:1/-1}}
@media(max-width:600px){.comparison-lead {display:block}.comparison-lead .button {margin-top:10px}.comparison-cards {grid-template-columns:1fr}.request-dialog-head {padding:14px}.request-form-grid,.request-lines,.request-lines-head {padding-left:14px;padding-right:14px}.request-line-fields {grid-template-columns:1fr 1fr}.request-line-fields label:last-child {grid-column:1/-1}.request-dialog .dialog-actions {padding:12px 14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after {animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}
