.oc-shell{display:grid;gap:14px}.oc-card{background:#fff;border:1px solid #e1e7f0;border-radius:16px;padding:18px}.oc-card h3{margin:0;color:var(--nexus-accent, #EE7326)}.oc-label{display:block;color:#253d6b;font-weight:800;margin-bottom:8px}.oc-select,.oc-search{width:100%;padding:14px;border:1px solid #cbd5e1;border-radius:12px;font-size:16px}.oc-title-row,.oc-total{display:flex;justify-content:space-between;align-items:center;gap:12px}.oc-count{color:#64748b}.oc-empty,.oc-help{color:#64748b}.oc-lines,.oc-results{display:grid;gap:8px;margin-top:12px}.oc-line,.oc-result{display:flex;align-items:center;gap:14px;border:1px solid #e5eaf1;border-radius:12px;padding:12px;background:#fafbfd}.oc-product,.oc-result>div{display:grid;flex:1;min-width:0}.oc-product span,.oc-result span{font-size:14px}.oc-product small,.oc-result small{color:#64748b}.oc-stepper{display:flex;gap:6px;align-items:center}.oc-stepper button{width:40px;height:40px;border:1px solid #cbd5e1;background:#fff;border-radius:10px;font-size:20px;font-weight:800}.oc-stepper input{width:62px;padding:10px 4px;text-align:center;border:1px solid #cbd5e1;border-radius:10px;font-size:16px}.oc-remove{border:0;background:transparent;color:#a12a20;font-weight:700}.oc-total{padding:16px 2px 8px;font-size:18px}.oc-primary,.oc-secondary,.oc-add{border:0;border-radius:10px;font-weight:800;cursor:pointer}.oc-primary{width:100%;padding:15px;background:var(--nexus-accent, #EE7326);color:#fff;font-size:16px}.oc-secondary{padding:11px 15px;background:#edf3ff;color:#253d6b}.oc-add{padding:10px 18px;background:#253d6b;color:#fff}.oc-search-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}.oc-message{padding:10px;border-radius:10px}.oc-message.ok{background:#e7f6ec;color:#1e6b3a}.oc-message.err{background:#fdecea;color:#a12a20}@media(max-width:680px){.oc-line{align-items:flex-start;flex-wrap:wrap}.oc-product{flex-basis:100%}.oc-search-row{grid-template-columns:1fr}.oc-result{align-items:flex-start}.oc-stepper{margin-left:auto}}

.oc-stock.unknown{background:#e7eaed;color:#56616a}
.oc-stock.low{background:#fff3d6;color:#8a5a00}
.oc-stock.insufficient{background:#fde8d2;color:#a64b00}

.oc-add:disabled{background:#aab4c1;color:#fff;cursor:not-allowed;opacity:.85}


/* Phase 3B branch routing */
.oc-branch-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;color:#1f3864;background:#eef4fb;border:1px solid #c9d6e7;border-radius:12px}.oc-branch-banner span{font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.oc-branch-banner strong{color:#1f3864}

/* Phase 4B stock-count source */
.oc-source{display:inline-flex;width:max-content;margin-top:4px;padding:3px 8px;color:#1e6b3a;background:#e7f6ec;border:1px solid #b9e2c6;border-radius:999px;font-weight:800}


/* PHASE 4B REVIEW REPAIR */
.oc-list .oc-line,
.oc-basket .oc-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    min-height: 0;
    padding: 14px 16px;
}

.oc-line .oc-product,
.oc-line .oc-info {
    min-width: 0;
}

.oc-line .oc-product strong,
.oc-line .oc-product span,
.oc-line .oc-product small {
    display: block;
}

.oc-line .oc-product strong {
    color: #1f3864;
}

.oc-line .oc-product span {
    margin-top: 2px;
}

.oc-source {
    display: inline-flex !important;
    width: max-content;
    margin-top: 6px;
    padding: 4px 9px;
    color: #1e6b3a;
    background: #e7f6ec;
    border: 1px solid #b9e2c6;
    border-radius: 999px;
    font-weight: 800;
}

.oc-line .availability,
.oc-line [class*="availability-"] {
    width: max-content !important;
    min-width: 0 !important;
}

.oc-line .oc-qty {
    align-self: center;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .oc-list .oc-line,
    .oc-basket .oc-line {
        grid-template-columns: 1fr;
    }

    .oc-line .oc-qty {
        justify-self: stretch;
    }
}


/* PHASE 4B QUANTITY VISIBILITY */
.oc-qty input[type="number"] {
    box-sizing: border-box !important;
    width: 72px !important;
    min-width: 72px !important;
    height: 44px !important;
    padding: 8px 6px !important;
    color: #172f57 !important;
    background: #ffffff !important;
    border: 1px solid #cbd6e5 !important;
    border-radius: 10px !important;
    font: inherit !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: center !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #172f57 !important;
}

.oc-qty input[type="number"]:focus {
    outline: 3px solid color-mix(in srgb, var(--nexus-accent, #EE7326) 18%, transparent) !important;
    border-color: var(--nexus-accent, #EE7326) !important;
}
