#customerApp .sd-section{margin:0 0 22px}
#customerApp .sd-section-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 12px}
#customerApp .sd-section-head h3{margin:0;font-size:16px;font-weight:600;color:#1f2937}
#customerApp .sd-section-head span{font-size:12px;color:#8a94a6}
#customerApp .sd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
#customerApp .sd-top{display:flex;align-items:center;gap:8px}
#customerApp .sd-logo{width:24px;height:24px;border-radius:6px;object-fit:contain}
#customerApp .sd-vendor{font-size:13px;color:#4b5563;flex:1;min-width:0}
#customerApp .sd-type{font-size:12px;color:#7c3aed;background:#f3eefe;border-radius:999px;padding:2px 10px;white-space:nowrap}
#customerApp .sd-name{font-size:17px;font-weight:600;color:#111827}
#customerApp .sd-id{display:flex;align-items:center;gap:8px;min-width:0}
#customerApp .sd-id code{font-size:12px;color:#6b7280;background:#f6f7fb;border-radius:8px;padding:3px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
#customerApp .sd-copy{border:1px solid rgba(15,23,42,.1);background:#fff;color:#4b5563;border-radius:999px;font-size:12px;padding:2px 10px;cursor:pointer}
#customerApp .sd-copy:hover{color:#7c3aed;border-color:#c4b5fd}
#customerApp .sd-feats{display:flex;flex-wrap:wrap;gap:6px}
#customerApp .sd-chip{font-size:12px;color:#4b5563;background:#f4f5f8;border-radius:999px;padding:2px 9px}
#customerApp .sd-unit{font-size:12px;color:#8a94a6}
#customerApp .sd-actions{display:flex;gap:8px}
#customerApp .sd-btn{font-size:13px;color:#7c3aed;border:1px solid #ddd6fe;border-radius:999px;padding:5px 14px;text-decoration:none}
#customerApp .sd-btn:hover{background:#f5f3ff}
#customerApp .sd-price{display:grid;grid-template-columns:1fr auto auto;column-gap:18px;row-gap:5px;align-items:center;background:#fafbfd;border-radius:12px;padding:9px 12px;font-size:13px}
#customerApp .sd-price .sd-ph{font-size:12px;color:#8a94a6;text-align:right}
#customerApp .sd-price .sd-pl{color:#6b7280}
#customerApp .sd-price b{text-align:right;color:#111827;font-weight:600}

/* 折叠 + 悬停展开 */
#customerApp .sd-card{position:relative;height:152px;border-radius:16px;outline:none;cursor:pointer}
#customerApp .sd-inner{position:absolute;top:0;left:0;right:0;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:16px;padding:16px 18px;box-shadow:0 1px 2px rgba(15,23,42,.04),0 4px 14px rgba(15,23,42,.04);display:flex;flex-direction:column;gap:8px;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;z-index:1}
#customerApp .sd-caret{color:#9ca3af;font-size:13px;line-height:1;transition:transform .24s ease,color .24s}
#customerApp .sd-min{font-size:15px;font-weight:600;color:#4f46e5}
#customerApp .sd-min span{font-size:12px;font-weight:400;color:#8a94a6}
#customerApp .sd-more{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .24s ease,opacity .2s ease}
#customerApp .sd-more-in{overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:10px}
#customerApp .sd-more-in>:first-child{margin-top:4px}
#customerApp .sd-card.sd-open .sd-inner,#customerApp .sd-card:focus-within:not(.sd-shut) .sd-inner{z-index:30;transform:translateY(-2px);border-color:rgba(79,70,229,.22);box-shadow:0 4px 8px rgba(15,23,42,.06),0 18px 40px rgba(15,23,42,.14)}
#customerApp .sd-card.sd-open .sd-more,#customerApp .sd-card:focus-within:not(.sd-shut) .sd-more{grid-template-rows:1fr;opacity:1}
#customerApp .sd-card.sd-open .sd-caret,#customerApp .sd-card:focus-within:not(.sd-shut) .sd-caret{transform:rotate(180deg);color:#4f46e5}
#customerApp .sd-card:focus-visible .sd-inner{border-color:#4f46e5}
@media (hover:hover){
#customerApp .sd-card:hover:not(.sd-shut) .sd-inner{z-index:30;transform:translateY(-2px);border-color:rgba(79,70,229,.22);box-shadow:0 4px 8px rgba(15,23,42,.06),0 18px 40px rgba(15,23,42,.14)}
#customerApp .sd-card:hover:not(.sd-shut) .sd-more{grid-template-rows:1fr;opacity:1}
#customerApp .sd-card:hover:not(.sd-shut) .sd-caret{transform:rotate(180deg);color:#4f46e5}
}
#customerApp .sd-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){#customerApp .sd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){#customerApp .sd-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){#customerApp .sd-inner,#customerApp .sd-more,#customerApp .sd-caret{transition:none}}

/* 外框跟随展开变长 */
#customerApp .sd-section{padding-bottom:0;transition:padding-bottom .24s ease}
#customerApp .sd-section:has(.sd-card.sd-open),#customerApp .sd-section:has(.sd-card:focus-within:not(.sd-shut)){padding-bottom:var(--sd-extra,260px)}
@media (hover:hover){#customerApp .sd-section:has(.sd-card:hover:not(.sd-shut)){padding-bottom:var(--sd-extra,260px)}}
#customerApp .ms-grid:has(> .sd-section:last-child){padding-bottom:20px}
#customerApp .sd-section:last-child{margin-bottom:0}
