.emc-widget { max-width: 980px; margin: 24px auto; background: #fff; border-radius: 16px; box-shadow: 0 8px 24px rgba(0,0,0,.06); padding: 16px; }
.emc-header { text-align: center; margin-bottom: 8px; }
.emc-title { font-size: 28px; margin: 4px 0; font-weight: 700; }
.emc-subtitle { color: #6b7280; margin: 0 auto 8px; }

.emc-card { background: #f8fafc; border-radius: 12px; padding: 16px; }
.emc-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 900px) { .emc-grid { grid-template-columns: 1fr 1fr; } }

.emc-col { display: flex; flex-direction: column; gap: 12px; }

.emc-field { display: flex; flex-direction: column; gap: 8px; }
.emc-label { font-size: 14px; color: #374151; }
.emc-input { width: 100%; padding: .75rem .9rem; border: 1px solid #d1d5db; border-radius: 10px; outline: none; }
.emc-input:focus { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.15); }

.emc-range { width: 100%; height: 6px; border-radius: 8px; background: #e5e7eb; appearance: none; outline: none; }
.emc-range-hint { display: flex; justify-content: space-between; font-size: 12px; color: #6b7280; margin-top: 4px; }
.emc-pill { background: #e0f2fe; color: #1d4ed8; padding: 3px 8px; border-radius: 999px; font-weight: 600; }

.emc-result { background: #eff6ff; border-radius: 12px; padding: 16px; }
.emc-result-head { font-weight: 700; color: #1d4ed8; margin-bottom: 6px; }
.emc-result-line { display: flex; align-items: center; justify-content: space-between; }
.emc-result-label { font-size: 14px; color: #1f2937; }
.emc-result-value { font-size: 32px; font-weight: 800; color: #1d4ed8; }
.emc-result-meta { font-size: 14px; color: #4b5563; margin-top: 6px; display: flex; align-items: center; gap: 8px; }
.emc-sep { color: #9ca3af; }
.emc-footnote { font-size: 12px; color: #6b7280; margin-top: 6px; }

.emc-note { margin-top: 10px; color: #374151; font-size: 13px; }
.emc-content { margin-top: 14px; }
.emc-section-title { font-size: 18px; margin: 0 0 8px; }
.emc-section-sub { font-size: 16px; margin: 10px 0 6px; }
