        @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;800&display=swap');
        body { font-family: 'Inter', sans-serif; }
        .pdf-bg { background-color: #FDFCFB; }
        .pdf-card { background-color: #F7F5F2; }
        .pdf-accent { color: #E67E22; }
        .pdf-btn-dark { background-color: #1A1A1A; }
        html { scroll-behavior: smooth; }

        /* ── GST Calculator embedded styles ── */
        .calc-wrap * { box-sizing: border-box; }
        .calc-card {
            background: #fff;
            border-radius: 20px;
            box-shadow: 0 12px 40px rgba(0,0,0,0.10);
            padding: 2rem;
            width: 100%;
            max-width: 520px;
            margin: 0 auto;
        }
        .calc-header {
            display: flex; align-items: center; gap: 12px;
            border-bottom: 2px solid #e8f0fe;
            padding-bottom: 14px; margin-bottom: 20px;
        }
        .calc-icon {
            background: #E67E22; color: white;
            width: 42px; height: 42px; border-radius: 10px;
            display: flex; align-items: center; justify-content: center;
            font-size: 20px; font-weight: 900; flex-shrink: 0;
        }
        .calc-title { font-size: 1.25rem; font-weight: 800; color: #1a1a2e; }
        .calc-sub { color: #888; font-size: 0.75rem; margin-top: 2px; }
        .calc-section-label {
            font-size: 0.68rem; font-weight: 700;
            text-transform: uppercase; letter-spacing: 0.08em;
            color: #E67E22; margin: 18px 0 8px;
            padding-bottom: 4px; border-bottom: 1px dashed #fcd9b0;
        }
        .calc-group { margin-bottom: 12px; }
        .calc-group label {
            display: block; margin-bottom: 5px;
            font-weight: 600; font-size: 0.82rem; color: #34495e;
        }
        .calc-group input, .calc-group select {
            width: 100%; padding: 10px 13px;
            border: 1.5px solid #e0e0e0; border-radius: 8px;
            font-size: 14px; color: #1a1a2e; background: #f9faff;
            outline: none; transition: border-color 0.2s, box-shadow 0.2s;
            font-family: 'Inter', sans-serif;
        }
        .calc-group input:focus, .calc-group select:focus {
            border-color: #E67E22;
            box-shadow: 0 0 0 3px rgba(230,126,34,0.12);
            background: #fff;
        }
        .supply-badge-emb {
            display: none; align-items: center; gap: 8px;
            padding: 7px 13px; border-radius: 8px;
            font-size: 0.78rem; font-weight: 600; margin-top: 5px;
        }
        .supply-badge-emb.intra { background:#e6f4ea; color:#1e7e34; border:1px solid #a8d5b5; }
        .supply-badge-emb.inter { background:#fce8e6; color:#c0392b; border:1px solid #f5b7b1; }
        .supply-badge-emb.show { display: flex; }
        .calc-result-box {
            background: linear-gradient(135deg, #fff4ec 0%, #fdf6f0 100%);
            border-radius: 14px; padding: 16px;
            margin-top: 18px; border: 1px solid #fcd9b0;
        }
        .calc-result-row {
            display: flex; justify-content: space-between;
            align-items: center; padding: 7px 0;
        }
        .calc-result-row + .calc-result-row { border-top: 1px solid #fde8cc; }
        .calc-result-label { font-size: 0.84rem; color: #666; font-weight: 500; }
        .calc-result-value { font-size: 0.96rem; font-weight: 700; color: #1a1a2e; }
        .calc-result-row.calc-total {
            background: #E67E22;
            margin: 8px -16px -16px -16px;
            padding: 13px 16px; border-radius: 0 0 14px 14px;
        }
        .calc-result-row.calc-total .calc-result-label { color: rgba(255,255,255,0.85); font-weight: 600; }
        .calc-result-row.calc-total .calc-result-value { color: #fff; font-size: 1.05rem; }
        .calc-breakdown {
            margin-top: 10px; border-radius: 10px;
            overflow: hidden; border: 1px solid #e0e0e0;
        }
        .calc-breakdown-header {
            background: #f7f5f2; padding: 7px 13px;
            font-size: 0.68rem; font-weight: 700;
            text-transform: uppercase; letter-spacing: 0.07em; color: #666;
        }
        .calc-breakdown-row {
            display: flex; justify-content: space-between;
            align-items: center; padding: 8px 13px;
            background: #fff; font-size: 0.84rem;
        }
        .calc-breakdown-row + .calc-breakdown-row { border-top: 1px solid #f0f0f0; }
        .calc-breakdown-name { display:flex; align-items:center; gap:7px; color:#444; font-weight:500; }
        .calc-tag { font-size:0.65rem; font-weight:700; padding:2px 7px; border-radius:20px; }
        .calc-tag.igst { background:#fce8e6; color:#c0392b; }
        .calc-tag.cgst { background:#e6f4ea; color:#1e7e34; }
        .calc-tag.sgst { background:#e8f0fe; color:#1a73e8; }
        .calc-tag.cess { background:#fef3c7; color:#d97706; }
        .calc-breakdown-amount { font-weight:700; color:#1a1a2e; }
        .calc-zero { text-align:center; color:#bbb; font-size:0.78rem; padding:8px 0 2px; font-style:italic; }

        /* ── WhatsApp Floating Button ── */
        .wa-float {
            position: fixed;
            bottom: 30px;
            right: 30px;
            z-index: 9999;
            display: flex;
            align-items: center;
            gap: 12px;
            animation: waBounceIn 0.7s cubic-bezier(0.34,1.56,0.64,1) both;
        }
        @keyframes waBounceIn {
            0%   { opacity:0; transform: scale(0.3) translateY(40px); }
            100% { opacity:1; transform: scale(1) translateY(0); }
        }
        .wa-tooltip {
            background: #1a1a1a;
            color: #fff;
            font-size: 0.78rem;
            font-weight: 600;
            padding: 8px 14px;
            border-radius: 50px;
            white-space: nowrap;
            opacity: 0;
            transform: translateX(10px);
            transition: opacity 0.25s, transform 0.25s;
            pointer-events: none;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        }
        .wa-float:hover .wa-tooltip {
            opacity: 1;
            transform: translateX(0);
        }
        .wa-btn {
            width: 62px;
            height: 62px;
            background: #25D366;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 6px 24px rgba(37,211,102,0.5);
            text-decoration: none;
            position: relative;
            transition: transform 0.2s, box-shadow 0.2s;
        }
        .wa-btn:hover {
            transform: scale(1.1);
            box-shadow: 0 10px 32px rgba(37,211,102,0.65);
        }
        .wa-btn svg {
            width: 32px;
            height: 32px;
            fill: #fff;
        }
        /* Ripple pulse rings */
        .wa-btn::before, .wa-btn::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 50%;
            background: rgba(37,211,102,0.4);
            animation: waRipple 2.2s ease-out infinite;
        }
        .wa-btn::after {
            animation-delay: 1.1s;
        }
        @keyframes waRipple {
            0%   { transform: scale(1);   opacity: 0.6; }
            100% { transform: scale(2.2); opacity: 0; }
        }
