.rsa-shell{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:22px 24px;}
.warning-box{background:rgba(232,163,61,.1);border:1px solid var(--amber);border-radius:8px;padding:10px 14px;font-size:12.5px;color:var(--amber);margin-bottom:20px;}

.key-select-row{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap;}
.key-select-row label{display:block;font-family:var(--mono);font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;}
.key-select-row select{background:var(--bg-panel-2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--text);font-family:var(--mono);font-size:14px;}

.key-math{background:var(--bg-panel-2);border:1px solid var(--border);border-radius:8px;padding:14px 18px;font-family:var(--mono);font-size:13px;line-height:1.9;margin-bottom:20px;}
.key-math .kv{color:var(--text-muted);}
.key-math .val{color:var(--teal);font-weight:700;}
.key-math .pub{color:var(--amber);font-weight:700;}
.key-math .priv{color:var(--danger);font-weight:700;}

.msg-row{margin-bottom:16px;}
.msg-row label{display:block;font-family:var(--mono);font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;}
.msg-row input[type="number"]{width:120px;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--text);font-family:var(--mono);font-size:14px;}
.range-note{font-size:12px;color:var(--text-muted);margin-left:10px;}

.output-row{display:flex;gap:24px;flex-wrap:wrap;margin-top:16px;}
.output-box{background:var(--bg-panel-2);border:1px solid var(--teal);border-radius:8px;padding:12px 18px;font-family:var(--mono);}
.output-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;}
.output-val{font-size:20px;font-weight:800;color:var(--teal);}
.decrypt-check{margin-top:16px;font-size:13px;}
.decrypt-check.match{color:var(--teal);}
.decrypt-check.mismatch{color:var(--danger);}
