.df-layout{display:grid;grid-template-columns:320px minmax(280px,1fr);gap:20px;align-items:start}.df-panel{display:flex;flex-direction:column;gap:14px}.df-panel input[type=number]{width:100%;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:10px;padding-block:10px;padding-inline:12px;font:inherit;font-size:14px}.df-panel input[type=number]:focus{outline:none;border-color:var(--accent)}.df-hint{font-size:12px;color:var(--muted);margin-block-start:-6px;line-height:1.5}.df-group{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:12px;padding-block:14px;padding-inline:14px;margin:0}.df-group legend{padding-inline:4px;font-size:13px;font-weight:700;color:var(--text)}.df-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer}.df-check input{inline-size:16px;block-size:16px;accent-color:var(--accent)}.df-result{display:flex;flex-direction:column;gap:14px;min-inline-size:0}.df-hero{text-align:center;padding-block:22px;padding-inline:22px;background:var(--panel);border:1px solid var(--accent);border-radius:16px}.df-hero.ok{border-color:#3fb27f}.df-hero-label{font-size:15px;font-weight:700;color:var(--muted)}.df-hero.ok .df-hero-label{font-size:20px;color:#3fb27f}.df-hero-value{font-size:34px;font-weight:800;color:var(--accent);line-height:1.2;margin-block-start:4px}.df-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.df-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding-block:14px;padding-inline:16px}.df-card-label{font-size:12px;color:var(--muted);margin-block-end:6px}.df-card-value{font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.df-limits{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding-block:14px;padding-inline:16px;display:flex;flex-direction:column;gap:8px}.df-limits-title{font-size:13px;font-weight:700;color:var(--muted);margin-block-end:2px}.df-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.df-status-label{font-size:14px;color:var(--text)}.df-status-badge{font-size:13px;font-weight:700;color:#3fb27f}.df-status-badge.over{color:#e0a24f}.df-status-note{margin:0;font-size:12px;color:var(--muted);line-height:1.5}.df-footnote{font-size:12px;color:var(--muted);line-height:1.5}@media(max-width:760px){.df-layout{grid-template-columns:1fr}}
