.zayman-penalty { --penalty-line:#dce4ef; display:grid; gap:32px; }
.zayman-penalty [hidden] { display:none!important; }
.zayman-penalty h2 { font-size:26px; margin:0 0 20px; }
.zayman-penalty p { line-height:1.65; }
.zayman-penalty__workspace { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:36px; padding:32px; border:1px solid var(--penalty-line); border-radius:24px; background:#fff; align-items:start; }
.zayman-penalty__form,.zayman-penalty fieldset { min-width:0; }
.zayman-penalty fieldset { padding:0; border:0; margin:0; }
.zayman-penalty__field,.zayman-penalty__row label { display:grid; gap:8px; margin:18px 0; font-size:16px; font-weight:600; min-width:0; }
.zayman-penalty input,.zayman-penalty select { width:100%; min-width:0; box-sizing:border-box; min-height:48px; padding:11px 12px; border:1px solid #b9c7d9; border-radius:10px; background:#fff; color:#23334d; font:inherit; font-size:16px; }
.zayman-penalty input:focus-visible,.zayman-penalty select:focus-visible,.zayman-penalty button:focus-visible,.zayman-penalty summary:focus-visible { outline:3px solid #3159aa; outline-offset:3px; }
.zayman-penalty [aria-invalid=true] { border-color:#b32c30; }
.zayman-penalty__pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.zayman-penalty__hint { font-size:14px; color:#52627a; margin:12px 0; }
.zayman-penalty__advanced { border-top:1px solid var(--penalty-line); padding-top:18px; margin-top:20px; }
.zayman-penalty__advanced summary { cursor:pointer; font-size:16px; font-weight:650; }
.zayman-penalty__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.zayman-penalty button { min-height:44px; border:1px solid #3159aa; border-radius:10px; padding:11px 16px; background:#3159aa; color:#fff; font:inherit; font-size:16px; cursor:pointer; transition:background-color 180ms ease; }
.zayman-penalty button:hover { background:#24478e; }
.zayman-penalty button.zayman-penalty__secondary { background:#fff; color:#3159aa; border-color:#b9c7d9; }
.zayman-penalty button.zayman-penalty__secondary:hover { background:#edf3ff; }
.zayman-penalty__result { border-radius:18px; padding:28px; background:#edf3fc; min-width:0; }
.zayman-penalty__number { font-size:38px; font-weight:750; line-height:1.2!important; overflow-wrap:anywhere; margin:16px 0 28px; }
.zayman-penalty__result dl { margin:0; }
.zayman-penalty__result dl>div { display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid #d5dfed; font-size:16px; }
.zayman-penalty__result dd { margin:0; text-align:right; font-weight:650; }
.zayman-penalty__error { color:#a42127; padding:12px; background:#fff0f0; border-radius:10px; font-size:16px; }
.zayman-penalty__stale { padding:24px; background:#f3f6fb; border-radius:16px; }
.zayman-penalty__row { border:1px solid var(--penalty-line); border-radius:12px; padding:14px; margin:16px 0; }
.zayman-penalty__row label { margin:0 0 14px; }
.zayman-penalty__details { display:grid; gap:32px; min-width:0; }
.zayman-penalty__card { min-width:0; padding:28px; background:#fff; border:1px solid var(--penalty-line); border-radius:24px; }
.zayman-penalty__scroll { position:relative; max-width:100%; overflow:auto; border:1px solid var(--penalty-line); border-radius:12px; }
.zayman-penalty__scroll:focus-visible { outline:3px solid #3159aa; outline-offset:3px; }
.zayman-penalty table { width:100%; min-width:900px; border-collapse:collapse; font-size:16px; }
.zayman-penalty th,.zayman-penalty td { text-align:right; padding:16px; border-bottom:1px solid var(--penalty-line); vertical-align:top; }
.zayman-penalty th:first-child,.zayman-penalty td:first-child,.zayman-penalty th:nth-child(4),.zayman-penalty td:nth-child(4) { text-align:left; }
.zayman-penalty thead { background:#f1f5fb; }
.zayman-penalty tbody tr:hover { background:#f6f9fe; }
.zayman-penalty svg[data-graph] { display:block; width:100%; height:auto; max-height:260px; overflow:visible; }
.zayman-penalty__dates { display:flex; justify-content:space-between; gap:12px; font-size:14px; color:#52627a; }
.zayman-penalty__result:not([hidden]) { animation:penalty-result 180ms ease; }
@keyframes penalty-result { from { opacity:.5; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:900px) { .zayman-penalty__workspace { grid-template-columns:minmax(0,1fr); gap:24px; } }
@media(max-width:640px) { .zayman-penalty h1 { font-size:32px; } .zayman-penalty h2 { font-size:24px; } .zayman-penalty__workspace,.zayman-penalty__card { padding:20px; border-radius:20px; } .zayman-penalty__result { padding:20px; } .zayman-penalty__number { font-size:32px; } .zayman-penalty__pair { grid-template-columns:minmax(0,1fr); gap:0; } .zayman-penalty__actions button { flex:1 1 auto; } }
@media(prefers-reduced-motion:reduce) { .zayman-penalty * { animation:none!important; transition:none!important; } }
