﻿.sgn-page { padding-top: 1.5rem; padding-bottom: 2rem; font-size: 1rem; line-height: 1.5; }
.sgn-title { margin: 0 0 1.25rem; font-size: 1.75rem; font-weight: 700; text-align: center; }
.sgn-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 0.75rem; margin: 0 0 1.25rem; }
.sgn-plan { display: flex; flex-direction: column; gap: 0.25rem; margin: 0; padding: 0.875rem 1rem; background: var(--dm-surface, #fff); border: 1px solid var(--dm-border-2, #d1d3e2); border-radius: 0.35rem; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease; }
.sgn-plan:hover { border-color: #00a3d3; }
.sgn-plan.is-selected { border-color: #00a3d3; box-shadow: inset 0 0 0 1px #00a3d3; background: rgba(0, 163, 211, .06); }
.sgn-plan:focus-within { outline: 2px solid #00a3d3; outline-offset: 2px; }
.sgn-plan-name { font-weight: 700; }
.sgn-plan-price { font-variant-numeric: tabular-nums; }
.sgn-plan-meta { font-size: 0.875rem; opacity: .8; }
.sgn-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: 0.75rem 1rem; margin: 0 0 1.25rem; }
.sgn-field { display: flex; flex-direction: column; gap: 0.25rem; }
.sgn-field .form-control { border-color: var(--dm-border-2, #d1d3e2); background: var(--dm-field-bg, #fff); }
.sgn-field .form-control:focus { border-color: #00a3d3; box-shadow: 0 0 0 .15rem rgba(0, 163, 211, .35); }
.sgn-segment { display: flex; border: 1px solid var(--dm-border-2, #d1d3e2); border-radius: 0.35rem; overflow: hidden; }
.sgn-segment-item { flex: 1 1 0; margin: 0; padding: 0.375rem 0.5rem; text-align: center; cursor: pointer; white-space: nowrap; }
.sgn-segment-item + .sgn-segment-item { border-left: 1px solid var(--dm-border-2, #d1d3e2); }
.sgn-segment-item.is-selected { background: #00a3d3; color: #fff; font-weight: 700; }
.sgn-segment-item:focus-within { outline: 2px solid #00a3d3; outline-offset: -2px; }
.sgn-summary .sgn-amount { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sgn-total { border-top: 1px solid var(--dm-border, #e3e6f0); }
.sgn-total .bil-row-name, .sgn-total .sgn-amount { font-size: 1.125rem; }
.sgn-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem 1rem; }
.sgn-span { grid-column: 1 / -1; }
.sgn-check { justify-content: flex-end; }
.sgn-check .custom-control-label { height: auto; white-space: normal; }
.sgn-hint { font-size: 0.875rem; opacity: .8; }
.sgn-wide { display: block; margin: 1rem auto 0; }
@media (max-width: 576px) {
  .sgn-grid { grid-template-columns: 1fr; }
  .sgn-title { font-size: 1.5rem; }
}
.sgn-chosen { margin: 0 0 1.25rem; }
.sgn-plan:focus-within:not(.is-selected) { outline: 0; }
