.evcalc, .ev-guide { color: #173f52; line-height: 1.65; }
.evcalc { margin: 32px 0; padding: 24px; border: 1px solid #d7e7e8; border-radius: 12px; background: #f5f9fa; scroll-margin-top: 160px; }
.evcalc h2, .ev-guide h2 { margin: 28px 0 16px; font-size: 27px; line-height: 1.3; }
.evcalc > h2 { margin-top: 0; }
.evcalc h3, .ev-guide h3 { margin: 22px 0 12px; font-size: 20px; line-height: 1.4; }
.evcalc p, .ev-guide p { margin: 0 0 16px; }
.evcalc [hidden] { display: none !important; }
.evcalc-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
.evcalc-form label { display: flex; flex-direction: column; min-width: 0; margin: 0; font-size: 14px; font-weight: 600; }
.evcalc-form input, .evcalc-form select { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; margin: 6px 0 0; padding: 10px 12px; border: 1px solid #9eb7c1; border-radius: 6px; background: white; color: #173f52; font: inherit; font-size: 16px; }
.evcalc button, .evcalc-actions a { min-height: 44px; border: 1px solid #087b69; border-radius: 6px; padding: 10px 16px; background: #087b69; color: #fff; font: 600 15px/1.4 Arial,sans-serif; cursor: pointer; text-align: center; text-decoration: none; }
.evcalc-form > button { grid-column: 1/-1; justify-self: start; }
.evcalc input:focus-visible, .evcalc select:focus-visible, .evcalc button:focus-visible, .evcalc a:focus-visible, .evcalc textarea:focus-visible { outline: 3px solid #e58b12; outline-offset: 3px; }
.evcalc-error { margin-top: 18px !important; padding: 12px; border-left: 3px solid #a33126; background: #fff0ed; color: #782119; }
.evcalc-result { margin-top: 24px; border-top: 1px solid #d7e7e8; padding-top: 20px; }
.evcalc-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; }
.evcalc-summary > div { min-width: 0; padding: 14px; border-radius: 7px; background: white; }
.evcalc-summary dt { font-size: 13px; font-weight: 400; }
.evcalc-summary dd { margin: 5px 0 0; font-size: 22px; font-weight: 700; overflow-wrap: anywhere; }
.evcalc-details { margin-top: 18px; }
.evcalc-details summary { cursor: pointer; font-weight: 600; }
.evcalc textarea { box-sizing: border-box; width: 100%; max-width: 100%; min-height: 190px; margin: 12px 0; padding: 12px; border: 1px solid #9eb7c1; border-radius: 6px; background: white; font: 14px/1.6 Arial,sans-serif; color: #173f52; resize: vertical; }
.evcalc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 16px 0 10px; }
.evcalc-actions button { background: white; color: #087b69; }
.evcalc-note { font-size: 13px; color: #465d69; }
.evcalc-copy-status { min-height: 20px; margin-bottom: 0 !important; font-size: 13px; }
.ev-guide { margin: 0 0 32px; }
.ev-guide a { color: #086b8a; text-decoration: underline; text-underline-offset: 2px; }
.ev-guide ul, .ev-guide ol { margin: 0 0 20px; padding-left: 24px; }
.ev-guide li { margin-bottom: 9px; }
.ev-guide-table { width: 100%; margin: 20px 0; overflow: auto; }
.ev-guide table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14px; }
.ev-guide th, .ev-guide td { padding: 12px; border: 1px solid #d7e7e8; text-align: left; vertical-align: top; }
.ev-guide th { background: #edf4f6; }
.ev-guide-links { padding: 18px 22px; border-radius: 8px; background: #f1f7f8; }
.ev-guide-flow { margin: 24px 0; padding: 18px; border-left: 4px solid #087b69; background: #f1f7f8; }
@media (max-width: 575px) {
  .evcalc { padding: 18px 14px; }
  .evcalc-form, .evcalc-summary { grid-template-columns: minmax(0, 1fr); }
  .evcalc h2, .ev-guide h2 { font-size: 24px; }
  .evcalc-actions > * { width: 100%; }
}
