.contract-penalty-calculator.svelte-1kl7yth{width:100%;max-width:100%;margin:0 auto 32px}.contract-penalty-layout.svelte-1kl7yth{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;align-items:start}.contract-penalty-result-wrap.svelte-1kl7yth{grid-column:2;grid-row:1;display:flex;min-width:0;flex-direction:column;gap:10px}.contract-penalty-form-col.svelte-1kl7yth{grid-column:1;grid-row:1;display:flex;min-width:0;flex-direction:column;gap:14px}.contract-penalty-result-card.svelte-1kl7yth,.contract-penalty-form-section.svelte-1kl7yth,.contract-penalty-chart-section.svelte-1kl7yth,.contract-penalty-schedule-section.svelte-1kl7yth,.contract-penalty-history.svelte-1kl7yth{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.contract-penalty-result-card.svelte-1kl7yth{padding:14px;box-shadow:var(--shadow-card)}.contract-penalty-result-card.has-errors.svelte-1kl7yth{border-color:var(--color-error-border);background:var(--color-error-bg)}.contract-penalty-result-top.svelte-1kl7yth{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.contract-penalty-result-metric.svelte-1kl7yth{min-width:0;padding:0;border:0;background:transparent;text-align:left;cursor:copy}.contract-penalty-result-metric.svelte-1kl7yth span:where(.svelte-1kl7yth){display:block;margin-bottom:4px;color:var(--color-text3);font-size:11px;line-height:1.2}.contract-penalty-result-metric.svelte-1kl7yth strong:where(.svelte-1kl7yth){display:block;color:var(--color-foreground);font-size:16px;font-weight:650;line-height:1.12;letter-spacing:-.25px;font-variant-numeric:tabular-nums}.contract-penalty-composition.svelte-1kl7yth{margin-bottom:12px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface2)}.contract-penalty-composition__bar.svelte-1kl7yth{display:flex;width:100%;height:18px;overflow:hidden;border-radius:999px;background:var(--color-border)}.contract-penalty-composition__segment.svelte-1kl7yth{display:block;min-width:0}.contract-penalty-composition__segment--debt.svelte-1kl7yth{background:var(--brand-blue)}.contract-penalty-composition__segment--penalty.svelte-1kl7yth{background:#dc2626}.contract-penalty-legend.svelte-1kl7yth{display:flex;flex-direction:column;gap:8px;margin-top:10px}.contract-penalty-legend-item.svelte-1kl7yth{display:grid;grid-template-columns:12px minmax(0,1fr);gap:4px 8px;align-items:center}.contract-penalty-legend-dot.svelte-1kl7yth{width:12px;height:12px;border-radius:4px}.contract-penalty-legend-dot--debt.svelte-1kl7yth{background:var(--brand-blue)}.contract-penalty-legend-dot--penalty.svelte-1kl7yth{background:#dc2626}.contract-penalty-legend-item.svelte-1kl7yth span:where(.svelte-1kl7yth):not(.contract-penalty-legend-dot){min-width:0;color:var(--color-text3);font-size:11px;line-height:1.15}.contract-penalty-legend-item.svelte-1kl7yth strong:where(.svelte-1kl7yth){grid-column:2;overflow:hidden;color:var(--color-foreground);font-size:13px;font-weight:700;line-height:1.12;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.contract-penalty-result-meta.svelte-1kl7yth{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-top:1px solid var(--color-border)}.contract-penalty-result-meta__row.svelte-1kl7yth{display:flex;justify-content:space-between;gap:8px;color:var(--color-text3);font-size:11px;line-height:1.3}.contract-penalty-result-meta__row.svelte-1kl7yth strong:where(.svelte-1kl7yth){color:var(--color-text2);text-align:right;font-weight:650;font-variant-numeric:tabular-nums}.contract-penalty-schedule-btn.svelte-1kl7yth{display:inline-flex;width:100%;min-height:40px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius);background:var(--brand-blue);color:#fff;font-size:13px;font-weight:700;transition:background var(--transition-fast),color var(--transition-fast)}.contract-penalty-schedule-btn.svelte-1kl7yth:hover{background:var(--brand-blue-hover);color:#fff}.contract-penalty-form-section.svelte-1kl7yth,.contract-penalty-chart-section.svelte-1kl7yth,.contract-penalty-schedule-section.svelte-1kl7yth,.contract-penalty-history.svelte-1kl7yth{padding:16px}.contract-penalty-section-head.svelte-1kl7yth{margin-bottom:12px}.contract-penalty-section-head.svelte-1kl7yth h3:where(.svelte-1kl7yth),.contract-penalty-chart-head.svelte-1kl7yth h3:where(.svelte-1kl7yth),.contract-penalty-schedule-head.svelte-1kl7yth h3:where(.svelte-1kl7yth){margin:0 0 4px;color:var(--color-foreground);font-size:14px;font-weight:750;letter-spacing:-.3px}.contract-penalty-section-head.svelte-1kl7yth p:where(.svelte-1kl7yth),.contract-penalty-chart-head.svelte-1kl7yth span:where(.svelte-1kl7yth),.contract-penalty-schedule-head.svelte-1kl7yth p:where(.svelte-1kl7yth){margin:0;color:var(--color-text3);font-size:12px;line-height:1.35}.contract-penalty-calculator.svelte-1kl7yth .mode-tabs:where(.svelte-1kl7yth){margin-bottom:14px}.contract-penalty-calculator.svelte-1kl7yth .mode-tab:where(.svelte-1kl7yth){padding:8px 10px;font-size:12px}.contract-penalty-form-grid.svelte-1kl7yth{display:grid;gap:10px;align-items:end}.contract-penalty-form-grid--base.svelte-1kl7yth{grid-template-columns:repeat(3,minmax(0,1fr))}.contract-penalty-form-grid--2.svelte-1kl7yth{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-penalty-calculator.svelte-1kl7yth .input-label:where(.svelte-1kl7yth){min-height:0;margin-bottom:5px;color:var(--color-text3);font-size:11px}.contract-penalty-calculator.svelte-1kl7yth .input-field:where(.svelte-1kl7yth){height:44px;min-height:44px;padding:10px 12px;font-size:16px}.contract-penalty-select.svelte-1kl7yth{font-family:var(--font-family-sans);font-size:13px;font-weight:600}.contract-penalty-rate-wrap.svelte-1kl7yth{position:relative}.contract-penalty-rate-wrap.svelte-1kl7yth .input-field:where(.svelte-1kl7yth){padding-right:34px}.contract-penalty-rate-wrap.svelte-1kl7yth span:where(.svelte-1kl7yth){position:absolute;top:50%;right:12px;color:var(--color-text3);font-size:13px;transform:translateY(-50%);pointer-events:none}.contract-penalty-download-btn.svelte-1kl7yth,.contract-penalty-show-more.svelte-1kl7yth{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text2);font-size:13px;font-weight:650;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.contract-penalty-download-btn.svelte-1kl7yth:hover,.contract-penalty-show-more.svelte-1kl7yth:hover{border-color:var(--brand-blue);color:var(--brand-blue)}.contract-penalty-options.svelte-1kl7yth{display:flex;flex-direction:column;gap:10px}.contract-penalty-checkbox.svelte-1kl7yth{display:flex;align-items:flex-start;gap:8px;color:var(--color-text2);font-size:13px;line-height:1.4}.contract-penalty-checkbox.svelte-1kl7yth input:where(.svelte-1kl7yth){margin-top:2px;accent-color:var(--brand-blue)}.contract-penalty-chart-section.svelte-1kl7yth,.contract-penalty-schedule-section.svelte-1kl7yth{max-width:calc(100% - 284px);margin-top:14px}.contract-penalty-chart-head.svelte-1kl7yth,.contract-penalty-schedule-head.svelte-1kl7yth{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.contract-penalty-chart-wrap.svelte-1kl7yth{overflow:hidden;border-radius:var(--radius);background:var(--color-surface)}.contract-penalty-table-wrap.svelte-1kl7yth{width:100%;overflow-x:auto}.contract-penalty-table.svelte-1kl7yth{width:100%;min-width:520px;border-collapse:collapse;color:var(--color-text2);font-size:11px;line-height:1.25}.contract-penalty-table.svelte-1kl7yth th:where(.svelte-1kl7yth),.contract-penalty-table.svelte-1kl7yth td:where(.svelte-1kl7yth){padding:8px 9px;border-bottom:1px solid var(--color-border);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.contract-penalty-table.svelte-1kl7yth th:where(.svelte-1kl7yth):first-child,.contract-penalty-table.svelte-1kl7yth td:where(.svelte-1kl7yth):first-child,.contract-penalty-table.svelte-1kl7yth th:where(.svelte-1kl7yth):nth-child(2),.contract-penalty-table.svelte-1kl7yth td:where(.svelte-1kl7yth):nth-child(2){text-align:left}.contract-penalty-table.svelte-1kl7yth th:where(.svelte-1kl7yth){color:var(--color-text3);font-weight:650}.contract-penalty-show-more.svelte-1kl7yth{margin-top:12px}.contract-penalty-errors.svelte-1kl7yth{display:flex;flex-direction:column;gap:8px;color:var(--color-error-text);font-size:12px}.contract-penalty-errors__title.svelte-1kl7yth{color:var(--color-error-text);font-weight:700}.contract-penalty-warnings.svelte-1kl7yth{display:flex;flex-direction:column;gap:6px;padding:8px 0 12px;border-top:1px solid var(--color-border)}.contract-penalty-warnings.svelte-1kl7yth p:where(.svelte-1kl7yth){margin:0;color:var(--color-text3);font-size:11px;line-height:1.35}@media(max-width:980px){.contract-penalty-layout.svelte-1kl7yth{grid-template-columns:minmax(0,1fr)}.contract-penalty-result-wrap.svelte-1kl7yth,.contract-penalty-form-col.svelte-1kl7yth{grid-column:1;grid-row:auto}.contract-penalty-result-wrap.svelte-1kl7yth{order:2}.contract-penalty-form-col.svelte-1kl7yth{order:1}.contract-penalty-chart-section.svelte-1kl7yth,.contract-penalty-schedule-section.svelte-1kl7yth{max-width:100%}}@media(max-width:700px){.contract-penalty-form-grid--base.svelte-1kl7yth,.contract-penalty-form-grid--2.svelte-1kl7yth{grid-template-columns:1fr}.contract-penalty-chart-head.svelte-1kl7yth,.contract-penalty-schedule-head.svelte-1kl7yth{flex-direction:column;align-items:stretch}.contract-penalty-download-btn.svelte-1kl7yth{width:fit-content}}@media(max-width:480px){.contract-penalty-result-card.svelte-1kl7yth,.contract-penalty-form-section.svelte-1kl7yth,.contract-penalty-chart-section.svelte-1kl7yth,.contract-penalty-schedule-section.svelte-1kl7yth,.contract-penalty-history.svelte-1kl7yth{padding:14px}.contract-penalty-result-top.svelte-1kl7yth{grid-template-columns:1fr}.contract-penalty-calculator.svelte-1kl7yth .input-field:where(.svelte-1kl7yth){font-size:15px}.contract-penalty-calculator.svelte-1kl7yth .mode-tab:where(.svelte-1kl7yth){padding:8px 6px;font-size:11px}}
