.ghmc {
    --ghmc-dim: #666;
    --ghmc-line: #e6e6e6;
    --ghmc-panel: #f5f5f5;
    --ghmc-green: #167723;
    width: 100%;
    color: inherit;
    font: inherit;
}
.ghmc *, .ghmc *::before, .ghmc *::after { box-sizing: border-box; }
.ghmc [hidden] { display: none !important; }
.ghmc .ghmc-shell { border: 1px solid var(--ghmc-line); border-radius: 2px; background: #fff; }
.ghmc .ghmc-content { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(285px, .82fr); gap: 20px; padding: 20px; }
.ghmc .ghmc-form, .ghmc .ghmc-field { min-width: 0; }
.ghmc .ghmc-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; }
.ghmc .ghmc-field-full { grid-column: 1 / -1; }
.ghmc label { display: block; margin-bottom: 7px; font-weight: 700; }
.ghmc .ghmc-input-wrap { position: relative; }
.ghmc input, .ghmc select { font: inherit; color: inherit; }
.ghmc input[type='number'], .ghmc select { width: 100%; min-width: 0; height: 36px; padding: 0 10px; border: 1px solid #cacaca; border-radius: 2px; background: #fff; }
.ghmc select { cursor: pointer; }
.ghmc input:focus-visible, .ghmc select:focus-visible { outline: 2px solid var(--ghmc-green); outline-offset: 2px; }
.ghmc .ghmc-suffix { pointer-events: none; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: var(--ghmc-dim); }
.ghmc input.ghmc-with-suffix { padding-right: 65px; }
.ghmc .ghmc-input-note { margin-top: 5px; color: var(--ghmc-dim); }
.ghmc .ghmc-input-note:empty { display: none; }
.ghmc .ghmc-bank-note { padding: 15px; border: 1px solid var(--ghmc-line); border-radius: 2px; background: var(--ghmc-panel); }
.ghmc .ghmc-slider-line { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.ghmc input[type='range'] { appearance: none; -webkit-appearance: none; flex: 1; min-width: 0; height: 20px; padding: 0; border: 0; cursor: pointer; background: transparent; }
.ghmc input[type='range']::-webkit-slider-runnable-track { height: 6px; border-radius: 3px; background: linear-gradient(to right, #46a53a 0%, #46a53a var(--ghmc-progress, 0%), #e6e6e6 var(--ghmc-progress, 0%), #e6e6e6 100%); }
.ghmc input[type='range']::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 14px; height: 14px; margin-top: -4px; border: 0; border-radius: 50%; background: #46a53a; }
.ghmc input[type='range']::-moz-range-track { height: 6px; border-radius: 3px; background: #e6e6e6; }
.ghmc input[type='range']::-moz-range-progress { height: 6px; border-radius: 3px; background: #46a53a; }
.ghmc input[type='range']::-moz-range-thumb { width: 14px; height: 14px; border: 0; border-radius: 50%; background: #46a53a; }
.ghmc .ghmc-minmax { display: flex; justify-content: space-between; gap: 10px; color: var(--ghmc-dim); }
.ghmc .ghmc-small-value { white-space: nowrap; }
.ghmc .ghmc-methods { display: flex; flex-wrap: wrap; gap: 10px; }
.ghmc .ghmc-method { display: inline-block; position: relative; cursor: pointer; margin: 0; font-weight: inherit; }
.ghmc .ghmc-method input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ghmc .ghmc-method span { display: inline-block; padding: 10px; border: 1px solid var(--ghmc-line); border-radius: 2px; background: #fff; }
.ghmc .ghmc-method input:checked + span { border-color: var(--ghmc-green); background: var(--ghmc-panel); font-weight: 700; }
.ghmc .ghmc-method input:focus-visible + span { outline: 2px solid var(--ghmc-green); outline-offset: 2px; }
.ghmc .ghmc-result { display: flex; flex-direction: column; min-width: 0; padding: 20px; border: 1px solid var(--ghmc-line); border-radius: 2px; background: var(--ghmc-panel); }
.ghmc .ghmc-result-overline, .ghmc .ghmc-result-sub { color: var(--ghmc-dim); }
.ghmc .ghmc-payment { margin: 10px 0 5px; font-weight: 700; overflow-wrap: anywhere; }
.ghmc .ghmc-result-card { margin-top: 20px; padding: 10px 15px; border: 1px solid var(--ghmc-line); border-radius: 2px; background: #fff; }
.ghmc .ghmc-keyrow { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 10px 0; }
.ghmc .ghmc-keyrow + .ghmc-keyrow { border-top: 1px solid var(--ghmc-line); }
.ghmc .ghmc-keyrow span { color: var(--ghmc-dim); }
.ghmc .ghmc-keyrow b { text-align: right; flex-shrink: 0; }
.ghmc .ghmc-warning { margin-top: 15px; padding: 15px; border: 1px solid #cacaca; border-radius: 2px; background: #fff; }
.ghmc .ghmc-cta { margin-top: auto; padding-top: 20px; color: var(--ghmc-dim); }
.ghmc .ghmc-foot { padding: 15px 20px; border-top: 1px solid var(--ghmc-line); color: var(--ghmc-dim); }
.ghmc .ghmc-foot p { margin: 0 0 10px; }
.ghmc .ghmc-foot p:last-child { margin-bottom: 0; }
@media (max-width: 800px) {
    .ghmc .ghmc-content { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .ghmc .ghmc-content { padding: 15px; gap: 15px; }
    .ghmc .ghmc-grid { grid-template-columns: 1fr; gap: 15px; }
    .ghmc .ghmc-field-full { grid-column: auto; }
    .ghmc .ghmc-result { padding: 15px; }
    .ghmc .ghmc-foot { padding: 15px; }
}
