.calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0.85rem;margin-top:0.5rem;}
.calc-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;transition:box-shadow 0.15s;}
.calc-card:hover{box-shadow:0 2px 10px rgba(0,0,0,0.06);}
.calc-card.drag-over{border-color:var(--accent);border-style:dashed;}
.calc-card-head{display:flex;align-items:center;gap:0.4rem;margin-bottom:0.75rem;}
.calc-name{flex:1;font-size:0.85rem;font-weight:600;outline:none;border-bottom:1px solid transparent;cursor:text;min-width:0;}
.calc-name:focus{border-bottom-color:var(--accent);}
.calc-type-sel{font-family:'DM Mono',monospace;font-size:0.56rem;border:1px solid var(--border);border-radius:20px;padding:0.09rem 0.35rem;background:var(--surface2);color:var(--text3);cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;}
.calc-type-sel:focus{border-color:var(--accent);}
.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem 0.75rem;margin-bottom:0.85rem;}
.calc-field{}
.calc-fl{font-family:'DM Mono',monospace;font-size:0.56rem;color:var(--text3);letter-spacing:0.05em;display:block;margin-bottom:0.2rem;}
.calc-fi{font-family:'DM Mono',monospace;font-size:0.82rem;width:100%;padding:0.32rem 0.5rem;border:1px solid var(--border);border-radius:6px;background:var(--surface2);color:var(--text);outline:none;}
.calc-fi:focus{border-color:var(--accent);}
.calc-result{background:linear-gradient(135deg,rgba(0,163,114,0.06),rgba(59,107,232,0.06));border:1px solid rgba(0,163,114,0.18);border-radius:8px;padding:0.65rem 0.85rem;}
.calc-result-lbl{font-family:'DM Mono',monospace;font-size:0.56rem;color:var(--text3);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:0.2rem;}
.calc-result-val{font-size:1.3rem;font-weight:800;letter-spacing:-0.02em;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.calc-result-extra{font-family:'DM Mono',monospace;font-size:0.6rem;color:var(--text3);margin-top:0.2rem;}
.calc-empty{text-align:center;padding:3rem 1rem;color:var(--text3);font-family:'DM Mono',monospace;font-size:0.78rem;}
.etf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0.6rem;margin-top:0.75rem;}
.etf-card{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:0.7rem 0.85rem;}
.etf-ticker{font-family:'DM Mono',monospace;font-size:0.63rem;color:var(--accent2);letter-spacing:0.1em;margin-bottom:0.2rem;}
.etf-name{font-size:0.73rem;font-weight:600;margin-bottom:0.4rem;line-height:1.3;}
.etf-row{display:flex;justify-content:space-between;align-items:flex-end;}
.etf-alloc{font-family:'DM Mono',monospace;font-size:0.93rem;font-weight:500;color:var(--accent);}
.etf-ter{font-family:'DM Mono',monospace;font-size:0.59rem;color:var(--text3);}
.etf-val{font-family:'DM Mono',monospace;font-size:0.67rem;color:var(--text3);margin-top:0.35rem;}
.etf-edit-row{display:grid;grid-template-columns:50px 1fr 55px 60px 1fr 24px;gap:5px;align-items:center;padding:5px 0;border-bottom:0.5px solid var(--border);}
.etf-edit-row:last-child{border-bottom:none;}
.etf-ei{font-family:'DM Mono',monospace;font-size:0.72rem;width:100%;padding:3px 5px;border:1px solid var(--border);border-radius:5px;background:var(--surface2);color:var(--text);outline:none;}
.etf-ei:focus{border-color:var(--accent);}
.etf-del{width:22px;height:22px;border:none;background:none;cursor:pointer;color:var(--text3);font-size:0.7rem;border-radius:3px;}
.etf-del:hover{background:rgba(229,57,53,0.1);color:var(--red);}
