/* Pakistan Salary Tax Calculator - Plugin Styles | fasttaxcalculator.pk */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

.pstc-wrapper { font-family:'Plus Jakarta Sans',sans-serif; max-width:560px; margin:32px auto; padding:0 16px; }
.pstc-card { background:#fff; border-radius:20px; box-shadow:0 4px 6px rgba(0,0,0,.04),0 20px 60px rgba(0,0,0,.08); overflow:hidden; border:1px solid #f0f0f0; }
.pstc-header { background:linear-gradient(135deg,#0d6e2f 0%,#1a9e47 60%,#22c55e 100%); padding:36px 32px 28px; text-align:center; position:relative; }
.pstc-header::after { content:''; position:absolute; bottom:-1px; left:0; right:0; height:20px; background:#fff; border-radius:20px 20px 0 0; }
.pstc-icon { font-size:40px; margin-bottom:10px; display:block; }
.pstc-title { color:#fff!important; font-size:22px!important; font-weight:800!important; margin:0 0 6px!important; line-height:1.2!important; }
.pstc-subtitle { color:rgba(255,255,255,.82)!important; font-size:13px!important; margin:0!important; font-weight:500; }
.pstc-body { padding:28px 32px 24px; }
.pstc-field { margin-bottom:18px; }
.pstc-label { display:block; font-size:13px; font-weight:600; color:#374151; margin-bottom:8px; }
.pstc-input-wrap { position:relative; display:flex; align-items:center; }
.pstc-prefix { position:absolute; left:14px; color:#6b7280; font-size:16px; font-weight:600; pointer-events:none; }
.pstc-input { width:100%; padding:13px 14px 13px 36px; border:2px solid #e5e7eb; border-radius:12px; font-size:16px; font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; color:#111827; background:#f9fafb; transition:border-color .2s,background .2s; box-sizing:border-box; outline:none; -moz-appearance:textfield; }
.pstc-input::-webkit-outer-spin-button,.pstc-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.pstc-input:focus { border-color:#16a34a; background:#fff; box-shadow:0 0 0 4px rgba(22,163,74,.08); }
.pstc-select { width:100%; padding:13px 14px; border:2px solid #e5e7eb; border-radius:12px; font-size:15px; font-family:'Plus Jakarta Sans',sans-serif; font-weight:500; color:#111827; background:#f9fafb; transition:border-color .2s; outline:none; cursor:pointer; box-sizing:border-box; }
.pstc-select:focus { border-color:#16a34a; background:#fff; box-shadow:0 0 0 4px rgba(22,163,74,.08); }
.pstc-btn { width:100%; padding:15px; background:linear-gradient(135deg,#0d6e2f,#16a34a); color:#fff; border:none; border-radius:12px; font-size:16px; font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; cursor:pointer; transition:transform .15s,box-shadow .15s; margin-top:4px; box-shadow:0 4px 14px rgba(22,163,74,.3); }
.pstc-btn:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(22,163,74,.4); }
.pstc-btn:active { transform:translateY(0); }
.pstc-error { margin-top:16px; padding:12px 16px; background:#fef2f2; border:1px solid #fecaca; border-radius:10px; color:#dc2626; font-size:14px; font-weight:500; }
.pstc-result { margin-top:24px; animation:pstcFadeIn .4s ease; }
@keyframes pstcFadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
.pstc-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pstc-result-item { background:#f9fafb; border:1px solid #f0f0f0; border-radius:12px; padding:14px 16px; }
.pstc-result-item.pstc-full { grid-column:1/-1; background:linear-gradient(135deg,#f0fdf4,#dcfce7); border-color:#bbf7d0; }
.pstc-result-label { display:block; font-size:11px; font-weight:600; color:#6b7280; text-transform:uppercase; letter-spacing:.6px; margin-bottom:6px; }
.pstc-result-value { display:block; font-size:17px; font-weight:800; color:#111827; }
.pstc-result-value.pstc-tax { color:#dc2626; }
.pstc-result-value.pstc-net { color:#15803d; font-size:20px; }
.pstc-slab-box { margin-top:14px; padding:14px 16px; background:#fffbeb; border:1px solid #fde68a; border-radius:12px; }
.pstc-slab-title { font-size:13px; font-weight:700; color:#92400e; margin:0 0 4px!important; }
.pstc-slab-desc { font-size:13px; color:#78350f; margin:0!important; font-weight:500; line-height:1.5; }
.pstc-footer { background:#f9fafb; border-top:1px solid #f0f0f0; padding:16px 32px; text-align:center; }
.pstc-footer p { margin:0 0 4px!important; font-size:13px; color:#6b7280; }
.pstc-footer p:last-child { margin:0!important; }
.pstc-link { color:#16a34a!important; font-weight:700; text-decoration:none!important; border-bottom:1px solid rgba(22,163,74,.3); }
.pstc-link:hover { border-color:#16a34a; }
.pstc-note { font-size:11px!important; color:#9ca3af!important; }
@media(max-width:480px){.pstc-body{padding:24px 20px 20px}.pstc-header{padding:28px 20px 24px}.pstc-footer{padding:14px 20px}.pstc-result-value{font-size:15px}.pstc-result-value.pstc-net{font-size:17px}}
