/**
 * Sales Tax Calculator Tool Specific Styling
 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--primary:#4f46e5;--primary-light:#6366f1;--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);--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)}
.st-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)}
.st-title{font-size:20px;font-weight:700;margin-bottom:20px}
.st-field{margin-bottom:16px}
.st-label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}
.st-input-wrap{position:relative;display:flex;align-items:center}
.st-prefix,.st-suffix{position:absolute;top:50%;transform:translateY(-50%);font-size:15px;font-weight:600;color:var(--text-secondary);pointer-events:none}
.st-prefix{left:14px}
.st-suffix{right:14px}
.st-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}
.st-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,.15)}
.st-input.has-prefix{padding-left:32px}
.st-input.has-suffix{padding-right:32px}
.st-error{font-size:12px;color:#ef4444;margin-top:4px;font-weight:500;min-height:16px}
.st-rates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.st-add-btn{height:36px;padding:0 14px;border:2px dashed var(--primary);border-radius:8px;background:transparent;color:var(--primary);font-family:'Inter',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:var(--transition)}
.st-add-btn:hover{background:rgba(79,70,229,.08)}
.st-rate-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}
.st-rate-row .st-field{flex:1;margin-bottom:0}
.st-rate-name{width:100%;height:44px;border:2px solid var(--input-border);border-radius:10px;padding:0 12px;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;color:var(--text);background:var(--input-bg);transition:var(--transition);outline:none}
.st-rate-name:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,.15)}
.st-rate-val{width:90px;height:44px;border:2px solid var(--input-border);border-radius:10px;padding:0 12px;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;color:var(--text);background:var(--input-bg);transition:var(--transition);outline:none;text-align:center}
.st-rate-val:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,.15)}
.st-rate-pct{font-size:13px;font-weight:600;color:var(--text-secondary);height:44px;display:flex;align-items:center}
.st-remove-btn{height:44px;width:44px;border:none;border-radius:8px;background:transparent;color:#ef4444;font-size:20px;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.st-remove-btn:hover{background:rgba(239,68,68,.1)}
.st-result{margin-top:24px;background:var(--result-bg);border-radius:10px;padding:20px;transition:var(--transition)}
.st-result-row{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--input-border)}
.st-result-row:last-child{border-bottom:none}
.st-result-row .st-rl{font-size:14px;color:var(--text-secondary);font-weight:500}
.st-result-row .st-rv{font-size:18px;font-weight:700;color:var(--text)}
.st-result-row.total .st-rl{font-size:15px;font-weight:600;color:var(--text)}
.st-result-row.total .st-rv{font-size:22px;color:var(--primary)}
.st-breakdown{margin-top:14px;padding:12px;background:var(--input-bg);border-radius:8px;font-size:13px;color:var(--text-secondary);border:1px solid var(--input-border);transition:var(--transition);text-align:center}
@media(max-width:400px){.st-calc{padding:20px 16px}.st-rate-row{flex-wrap:wrap}}
