/**
 * Compound Interest Tool Specific Styling
 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--primary:#4f46e5;--primary-light:#6366f1;--primary-dark:#4338ca;--text:#0f172a;--text-secondary:#475569;--card:#fff;--input-bg:#f8fafc;--input-border:#e2e8f0;--result-bg:#f1f5f9;--border-radius:12px;--shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);--shadow-lg:0 10px 25px rgba(79,70,229,.1);--transition:all .2s ease}
[data-theme="dark"]{--text:#f1f5f9;--text-secondary:#94a3b8;--input-bg:#1e293b;--input-border:#334155;--result-bg:#1e293b;--shadow:0 1px 3px rgba(0,0,0,.3);--shadow-lg:0 10px 25px rgba(0,0,0,.3)}
.ci-calc{font-family:'Inter',sans-serif;max-width:480px;margin:0 auto;background:var(--card);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:28px 24px;color:var(--text);transition:var(--transition)}
.ci-title{font-size:20px;font-weight:700;margin-bottom:20px;color:var(--text)}
.ci-field{margin-bottom:16px}
.ci-label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}
.ci-input-wrap{position:relative;display:flex;align-items:center}
.ci-prefix,.ci-suffix{position:absolute;top:50%;transform:translateY(-50%);font-size:15px;font-weight:600;color:var(--text-secondary);pointer-events:none}
.ci-prefix{left:14px}
.ci-suffix{right:14px}
.ci-input{width:100%;height:50px;border:2px solid var(--input-border);border-radius:10px;padding:0 14px;font-family:'Inter',sans-serif;font-size:16px;font-weight:500;color:var(--text);background:var(--input-bg);transition:var(--transition);outline:none}
.ci-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,.15)}
.ci-input.has-prefix{padding-left:32px}
.ci-input.has-suffix{padding-right:32px}
.ci-select{width:100%;height:50px;border:2px solid var(--input-border);border-radius:10px;padding:0 14px;font-family:'Inter',sans-serif;font-size:15px;font-weight:500;color:var(--text);background:var(--input-bg);transition:var(--transition);outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23475569' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}
.ci-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,.15)}
[data-theme="dark"] .ci-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}
.ci-result{margin-top:24px;background:var(--result-bg);border-radius:10px;padding:20px;transition:var(--transition)}
.ci-result-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.ci-result-value{font-size:28px;font-weight:700;color:var(--primary);line-height:1.2}
.ci-result-row{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--input-border)}
.ci-result-row:last-child{border-bottom:none;padding-bottom:0}
.ci-result-row .ci-rlabel{font-size:14px;color:var(--text-secondary);font-weight:500}
.ci-result-row .ci-rvalue{font-size:18px;font-weight:700;color:var(--text)}
.ci-formula{margin-top:16px;padding:14px;background:var(--input-bg);border-radius:8px;font-size:13px;color:var(--text-secondary);text-align:center;font-weight:500;border:1px solid var(--input-border);transition:var(--transition)}
.ci-formula code{font-family:'Inter',monospace;color:var(--primary);font-weight:600}
.ci-bar-wrap{margin-top:16px}
.ci-bar-labels{display:flex;justify-content:space-between;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}
.ci-bar{height:10px;border-radius:5px;background:var(--input-border);overflow:hidden;display:flex}
.ci-bar-principal{background:var(--primary);transition:width .4s ease}
.ci-bar-interest{background:var(--primary-light);transition:width .4s ease;opacity:.7}
.ci-error{font-size:12px;color:#ef4444;margin-top:4px;font-weight:500;min-height:16px}
@media(max-width:400px){.ci-calc{padding:20px 16px}.ci-result-value{font-size:24px}.ci-result-row .ci-rvalue{font-size:16px}}
