.calc{display:grid;gap:14px;min-width:0}
.calc-head h2,.calc-summary h3{margin:0 0 5px}
.calc-head p,.calc-summary p,.calc-result p{margin:5px 0}
.calc-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}
.calc-form label{display:grid;gap:5px;color:var(--dim);font-size:.9rem;min-width:0}
.calc-form input,.calc-form select{box-sizing:border-box;width:100%;min-width:0;min-height:38px;padding:6px 9px;border:1px solid var(--line);border-radius:4px;background:var(--cyber-field);color:var(--fg);font:inherit}
.calc-form input:focus-visible,.calc-form select:focus-visible{outline:2px solid var(--cyber-cyan);outline-offset:2px}
.calc-actions{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.calc-busy{color:var(--dim)}
.calc-error{color:var(--bad,#df5555)}
.calc-result{min-width:0;display:grid;gap:10px}
.calc-summary{padding:12px;border:1px solid var(--line);border-radius:5px;background:var(--panel2)}
.calc-table-wrap{overflow-x:auto;max-width:100%}
.calc-table{width:100%;border-collapse:collapse;min-width:540px}
.calc-table th,.calc-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.calc-table thead th{color:var(--cyber-cyan);background:var(--cyber-head)}
.calc-table th:first-child,.calc-table td:first-child{text-align:left}
.calc-source{overflow-wrap:anywhere}
.calc-source a{color:var(--cyber-cyan)}
@media(max-width:760px){.calc-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.calc-form{grid-template-columns:1fr}.calc-actions{display:grid;grid-template-columns:1fr 1fr}.calc-actions .btn{min-height:44px}}

.calc-summary{overflow-wrap:anywhere;min-width:0}.calc-description{margin-top:10px}.calc-description summary{cursor:pointer;color:var(--cyber-cyan)}.calc-description p{max-width:90ch;overflow-wrap:anywhere}
