.gc-a22m, .gc-a22m *, .gc-a22m *::before, .gc-a22m *::after { box-sizing: border-box; }
.gc-a22m {
display: block !important;
width: 100% !important;
max-width: 100% !important;
margin: 1.5em 0 !important;
padding: 1.5em !important;
background: #fff;
border-radius: 14px;
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
overflow: visible;
}
.gc-a22m__header { margin: 0 0 1.2em; }
.gc-a22m__title { font-size: 1.35rem; line-height: 1.3; margin: 0 0 0.3em; color: #185FA5; font-weight: 700; }
.gc-a22m__subtitle { font-size: 0.92rem; line-height: 1.5; color: #5F5E5A; margin: 0; }
.gc-a22m__form { display: grid; grid-template-columns: 1fr 1fr; gap: 1em; margin-bottom: 1.2em; }
.gc-a22m__field { display: flex; flex-direction: column; gap: 0.4em; }
.gc-a22m__field--full { grid-column: 1 / -1; }
.gc-a22m__label { font-size: 0.92rem; font-weight: 600; color: #2a2a2a; }
.gc-a22m__label--checkbox { display: flex; align-items: center; gap: 0.5em; font-weight: 500; cursor: pointer; margin: 0.3em 0 0; font-size: 0.9rem; }
.gc-a22m__select {
appearance: none; -webkit-appearance: none;
width: 100%; padding: 0.55em 0.9em;
border: 1px solid #d4d4d4; background: #fff; border-radius: 9px;
cursor: pointer; font-size: 0.95rem; font-family: inherit;
color: #2a2a2a;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23185FA5' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
background-repeat: no-repeat; background-position: right 0.9em center;
padding-right: 2.2em;
}
.gc-a22m__select:focus { outline: none; border-color: #185FA5; box-shadow: 0 0 0 3px rgba(24,95,165,0.15); }
.gc-a22m__btngroup { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5em; }
.gc-a22m__btngroup button {
appearance: none; -webkit-appearance: none;
width: 100%; margin: 0; padding: 0.7em 0.6em;
border: 1px solid #d4d4d4; background: #fafafa; border-radius: 9px;
cursor: pointer; font-size: 0.92rem; font-family: inherit; font-weight: 600;
color: #555; line-height: 1.3; text-align: center;
transition: all 0.18s;
}
.gc-a22m__btngroup button small { display: block; font-size: 0.74rem; font-weight: 400; color: #777; margin-top: 2px; }
.gc-a22m__btngroup button:hover { background: #f0f6fc; border-color: #185FA5; }
.gc-a22m__btngroup button.is-active { background: #185FA5; color: #fff; border-color: #185FA5; }
.gc-a22m__btngroup button.is-active small { color: rgba(255,255,255,0.85); }
.gc-a22m__result { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 1.2em; }
.gc-a22m__result-title { color: #185FA5; font-size: 1.15rem; margin: 0 0 0.3em; font-weight: 700; }
.gc-a22m__result-meta { font-size: 0.88rem; color: #64748b; margin-bottom: 0.8em; }
.gc-a22m__loading { padding: 0.8em; color: #888; font-style: italic; text-align: center; }
.gc-a22m__table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.gc-a22m__table td { padding: 0.55em 0.9em; border-bottom: 1px solid #e2e8f0; font-size: 0.95rem; line-height: 1.4; color: #2a2a2a; }
.gc-a22m__table td:last-child { text-align: right; font-weight: 600; color: #185FA5; }
.gc-a22m__table tr.gc-a22m__sub td { background: #f0f6fc; font-weight: 600; }
.gc-a22m__table tr.gc-a22m__total td { background: #185FA5; color: #fff; font-size: 1.05rem; }
.gc-a22m__table tr.gc-a22m__total td:last-child { color: #fff; font-size: 1.15rem; }
.gc-a22m__hint { margin: 0.8em 0 0; padding: 0.6em 0.9em; background: #fff8e6; border-left: 3px solid #f59e0b; border-radius: 0 8px 8px 0; font-size: 0.85rem; line-height: 1.5; color: #78350f; }
.gc-a22m__notes .gc-a22m__hint { margin-top: 0.5em; }
.gc-a22m__notes .gc-a22m__hint:first-child { margin-top: 0.8em; }
.gc-a22m__field--pickerl { grid-column: 1 / -1; padding: 0.8em 1em; background: #fef9f3; border: 1px dashed #f59e0b; border-radius: 9px; }
.gc-a22m__field--pickerl .gc-a22m__label { color: #78350f; }
.gc-a22m__field--pickerl .gc-a22m__select { background-color: #fff; border-color: #fbbf24; }
.gc-a22m__hint-inline { display: block; margin-top: 0.4em; font-size: 0.78rem; color: #92400e; font-style: italic; }
.gc-a22m__footer { margin-top: 1.2em; padding-top: 0.8em; border-top: 1px solid #e2e8f0; font-size: 0.78rem; line-height: 1.5; color: #64748b; }
.gc-a22m__footer a { color: #185FA5; text-decoration: underline; }
.gc-a22m__footer a:hover { color: #ec4899; }
@media (max-width: 640px) {
.gc-a22m { padding: 1em !important; }
.gc-a22m__form { grid-template-columns: 1fr; }
.gc-a22m__btngroup { grid-template-columns: 1fr; }
.gc-a22m__title { font-size: 1.15rem; }
.gc-a22m__result { padding: 0.9em; }
.gc-a22m__table td { padding: 0.5em 0.6em; font-size: 0.88rem; }
}