
        body { font-family: 'Sora', system-ui, -apple-system, Roboto, Arial, sans-serif; }


/* ---- next block ---- */


/* ── Page Hero ── */
.calc-hero{background:linear-gradient(135deg,#12131c 0%,#262a3f 100%);padding:114px 0 36px;text-align:center;color:#fff;}
.calc-hero h1{font-family:'Playfair Display',Georgia,serif;font-size:2rem;font-weight:900;margin:0 0 6px;}
.calc-hero p{font-size:.95rem;color:#fff;margin:0;}

/* ── Page layout: sidebar + main ── */
.calc-outer{display:grid;grid-template-columns:168px 1fr;max-width:1060px;margin:0 auto;padding:0 16px;align-items:start;}
.calc-sidebar{position:sticky;top:72px;padding-top:8px;}
.csnav-title{font-size:.6rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#aaa;padding:12px 14px 6px;}
.csnav-group{margin-bottom:2px;}
.csnav-group-btn{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:.58rem;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:#12131c;background:linear-gradient(90deg,#ff9d3d,#ffc347);padding:8px 12px;margin:8px 0 0;border:none;border-radius:7px;cursor:pointer;}
.csnav-group-btn:hover{background:linear-gradient(90deg,#e2542a,#ff9d3d);}
.csnav-arrow{font-size:.7rem;transition:transform .2s;display:inline-block;line-height:1;}
.csnav-group.open .csnav-arrow{transform:rotate(180deg);}
.csnav-dropdown{display:none;padding:3px 0 2px;}
.csnav-group.open .csnav-dropdown{display:block;}
.csnav-item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;background:none;border:none;border-left:3px solid transparent;text-align:left;font-size:.8rem;font-weight:600;color:#555;cursor:pointer;border-radius:0 8px 8px 0;transition:background .12s,color .12s;line-height:1.3;}
.csnav-item:hover{background:#f1ebda;color:#e2542a;}
.csnav-item.active{background:rgba(255,157,61,.14);color:#e2542a;border-left-color:#ff9d3d;font-weight:700;}
.csnav-icon{font-size:.95rem;flex-shrink:0;width:18px;text-align:center;}
.calc-main{min-width:0;padding:16px 0 16px 20px;}
.calc-panel{display:none;}.calc-panel.active{display:block;}
@media(max-width:680px){
    .calc-outer{grid-template-columns:1fr;padding:0;}
    .calc-sidebar{position:static;border-bottom:2px solid #f0f0f0;padding:6px 12px 10px;}
    .csnav-title{display:none;}
    .csnav-group-btn{margin:6px 0 0;padding:9px 12px;}
    .csnav-item{border-radius:0 8px 8px 0;padding:9px 12px;font-size:.8rem;}
    .csnav-item.active{background:#f1ebda;border-left-color:#ff9d3d;}
    .calc-main{padding:12px 12px 0;}
}
/* ── Section divider ── */
.calc-sec-head{display:flex;align-items:center;gap:12px;margin:0 0 16px;}
.calc-sec-head h2{font-family:'Playfair Display',Georgia,serif;font-size:1.15rem;font-weight:900;color:#12131c;margin:0;}
.calc-sec-line{flex:1;height:2px;background:#f1ebda;}

/* ── Notebook Calculator ── */
:root{--nb-ink:#1a1614;--nb-paper:#f3efe6;--nb-line:#d8cfbe;--nb-rule:#e7e0d2;--nb-accent:#c0392b;--nb-green:#1f6f5c;--nb-card:#fbf8f1;}
.nb-wrap{background:var(--nb-paper);border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.nb-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.nb-main-grid{grid-template-columns:1fr;}}
.nb-form-area{padding:24px 26px;}
.nb-panel{background:linear-gradient(160deg,#1a1614 0%,#3d2b1f 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.nb-masthead{border-bottom:3px double var(--nb-ink);padding-bottom:12px;margin-bottom:20px;}
.nb-kicker{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--nb-accent);font-weight:700;}
.nb-title{font-size:1.4rem;font-weight:800;font-family:'Playfair Display',Georgia,serif;color:var(--nb-ink);margin-top:4px;}
.nb-sub{font-size:.78rem;color:#6b6256;margin-top:4px;}
.nb-grid{display:block;}
.nb-field{margin-bottom:13px;}
.nb-field label{display:block;font-size:.68rem;letter-spacing:1px;text-transform:uppercase;color:#6b6256;font-weight:700;margin-bottom:5px;}
.nb-field select,.nb-field input{width:100%;padding:10px 12px;font-size:.9rem;border:1.5px solid var(--nb-line);border-radius:7px;background:var(--nb-card);color:var(--nb-ink);font-family:inherit;}
.nb-field select:focus,.nb-field input:focus{outline:none;border-color:var(--nb-green);}
.nb-row{display:flex;gap:12px;}.nb-row .nb-field{flex:1;}
.nb-btn{width:100%;padding:13px;font-size:.92rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;background:var(--nb-ink);color:var(--nb-paper);border:none;border-radius:8px;cursor:pointer;margin-top:4px;}
.nb-btn:hover{background:#333;}
.nb-err{color:var(--nb-accent);font-size:.82rem;margin-top:10px;font-weight:600;}
.nb-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.nb-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.nb-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.nb-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.nb-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.nb-info-row strong{color:#fff;}
.nb-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.nb-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.nb-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.nb-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.nb-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}

/* ── Brochure Calculator ── */
.br-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.br-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.br-grid{grid-template-columns:1fr;}}
.br-form{padding:24px 26px;}
.br-panel{background:linear-gradient(160deg,#0d6e4b 0%,#1a9b68 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.br-field{margin-bottom:13px;}
.br-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.br-field select{width:100%;padding:10px 12px;border:1.5px solid #e0e0f0;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e3a;}
.br-field select:focus{outline:none;border-color:#0d6e4b;}
.br-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.br-btn{width:100%;padding:13px;background:#0d6e4b;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.br-btn:hover{background:#09523a;}
.br-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
/* result panel */
.br-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.br-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.br-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.br-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.br-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.br-info-row strong{color:#fff;}
.br-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.br-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.br-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.br-mach{font-size:.68rem;color:rgba(255,255,255,.45);margin-top:10px;text-align:center;}
.br-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.br-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}
.br-side2{background:#f0fdf4;border:1.5px solid #86efac;border-radius:9px;padding:12px 14px;margin-bottom:13px;}
.br-side2 label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#166534;margin-bottom:5px;}
.br-side2 select{width:100%;padding:10px 12px;border:1.5px solid #86efac;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}

/* ── Student Diary Calculator ── */
.sd-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.sd-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.sd-grid{grid-template-columns:1fr;}}
.sd-form{padding:24px 26px;}
.sd-panel{background:linear-gradient(160deg,#92400e 0%,#d97706 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.sd-field{margin-bottom:13px;}
.sd-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.sd-field select{width:100%;padding:10px 12px;border:1.5px solid #e0e0f0;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e3a;}
.sd-field select:focus{outline:none;border-color:#d97706;}
.sd-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.sd-gsm-badge{display:inline-block;background:#fef3c7;color:#92400e;font-size:.75rem;font-weight:800;padding:8px 14px;border-radius:8px;border:1.5px solid #fde68a;margin-top:2px;}
.sd-btn{width:100%;padding:13px;background:#92400e;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.sd-btn:hover{background:#78350f;}
.sd-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
.sd-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.sd-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.sd-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.sd-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.sd-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.sd-info-row strong{color:#fff;}
.sd-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.sd-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.sd-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.sd-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.sd-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}

/* ── Letter Head Calculator ── */
.lh-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.lh-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.lh-grid{grid-template-columns:1fr;}}
.lh-form{padding:24px 26px;}
.lh-panel{background:linear-gradient(160deg,#0e7490 0%,#06b6d4 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.lh-field{margin-bottom:13px;}
.lh-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.lh-field select{width:100%;padding:10px 12px;border:1.5px solid #a5f3fc;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}
.lh-field select:focus{outline:none;border-color:#06b6d4;}
.lh-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.lh-btn{width:100%;padding:13px;background:#0e7490;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.lh-btn:hover{background:#155e75;}
.lh-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
.lh-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.lh-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.lh-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.lh-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.lh-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.lh-info-row strong{color:#fff;}
.lh-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.lh-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.lh-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.lh-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.lh-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}

/* ── Register Calculator ── */
.rg-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.rg-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.rg-grid{grid-template-columns:1fr;}}
.rg-form{padding:24px 26px;}
.rg-panel{background:linear-gradient(160deg,#1e3a8a 0%,#2563eb 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.rg-field{margin-bottom:13px;}
.rg-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.rg-field select{width:100%;padding:10px 12px;border:1.5px solid #e0e0f0;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e3a;}
.rg-field select:focus{outline:none;border-color:#1e3a8a;}
.rg-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.rg-btn{width:100%;padding:13px;background:#1e3a8a;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.rg-btn:hover{background:#1e3374;}
.rg-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
.rg-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.rg-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.rg-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.rg-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.rg-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.rg-info-row strong{color:#fff;}
.rg-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.rg-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.rg-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.rg-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.rg-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}

/* ── Certificate Calculator ── */
.ct-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.ct-grid{grid-template-columns:1fr;}}
.ct-form{padding:24px 26px;}
.ct-panel{background:linear-gradient(160deg,#a16207 0%,#d97706 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.ct-field{margin-bottom:13px;}
.ct-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.ct-field select{width:100%;padding:10px 12px;border:1.5px solid #fde68a;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}
.ct-field select:focus{outline:none;border-color:#d97706;}
.ct-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ct-btn{width:100%;padding:13px;background:#a16207;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.ct-btn:hover{background:#854d0e;}
.ct-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
.ct-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.ct-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.ct-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.ct-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.ct-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.ct-info-row strong{color:#fff;}
.ct-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.ct-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.ct-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.ct-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.ct-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}
.ct-side2{background:#fffbeb;border:1.5px solid #fde68a;border-radius:9px;padding:12px 14px;margin-bottom:13px;}
.ct-side2 label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#a16207;margin-bottom:5px;}
.ct-side2 select{width:100%;padding:10px 12px;border:1.5px solid #fde68a;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}

/* ── Duplicate Bill Book Calculator ── */
.dbb-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.dbb-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.dbb-grid{grid-template-columns:1fr;}}
.dbb-form{padding:24px 26px;}
.dbb-panel{background:linear-gradient(160deg,#312e81 0%,#4338ca 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.dbb-field{margin-bottom:13px;}
.dbb-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.dbb-field select{width:100%;padding:10px 12px;border:1.5px solid #c7d2fe;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}
.dbb-field select:focus{outline:none;border-color:#4338ca;}
.dbb-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.dbb-sec-lbl{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#4338ca;background:#eef2ff;border-radius:7px;padding:6px 10px;margin-bottom:10px;}
.dbb-side2{background:#eef2ff;border:1.5px solid #c7d2fe;border-radius:9px;padding:12px 14px;margin-bottom:13px;}
.dbb-side2 label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#4338ca;margin-bottom:5px;}
.dbb-side2 select{width:100%;padding:10px 12px;border:1.5px solid #c7d2fe;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}
.dbb-btn{width:100%;padding:13px;background:#312e81;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.dbb-btn:hover{background:#1e1b4b;}
.dbb-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
.dbb-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.dbb-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.dbb-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.dbb-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.dbb-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.dbb-info-row strong{color:#fff;}
.dbb-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.dbb-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.dbb-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.dbb-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.dbb-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}

/* ── Triplicate Bill Book Calculator ── */
.tbb-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.tbb-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.tbb-grid{grid-template-columns:1fr;}}
.tbb-form{padding:24px 26px;}
.tbb-panel{background:linear-gradient(160deg,#4c1d95 0%,#7c3aed 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.tbb-field{margin-bottom:13px;}
.tbb-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.tbb-field select{width:100%;padding:10px 12px;border:1.5px solid #ddd6fe;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}
.tbb-field select:focus{outline:none;border-color:#7c3aed;}
.tbb-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.tbb-sec-lbl{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#7c3aed;background:#f5f3ff;border-radius:7px;padding:6px 10px;margin-bottom:10px;}
.tbb-side2{background:#f5f3ff;border:1.5px solid #ddd6fe;border-radius:9px;padding:12px 14px;margin-bottom:13px;}
.tbb-side2 label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#7c3aed;margin-bottom:5px;}
.tbb-side2 select{width:100%;padding:10px 12px;border:1.5px solid #ddd6fe;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}
.tbb-btn{width:100%;padding:13px;background:#4c1d95;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.tbb-btn:hover{background:#3b0764;}
.tbb-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
.tbb-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.tbb-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.tbb-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.tbb-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.tbb-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.tbb-info-row strong{color:#fff;}
.tbb-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.tbb-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.tbb-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.tbb-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.tbb-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}

/* ── Product Catalogue Calculator ── */
.pc-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.pc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.pc-grid{grid-template-columns:1fr;}}
.pc-form{padding:24px 26px;}
.pc-panel{background:linear-gradient(160deg,#134e4a 0%,#0d9488 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.pc-field{margin-bottom:13px;}
.pc-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.pc-field select{width:100%;padding:10px 12px;border:1.5px solid #99f6e4;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}
.pc-field select:focus{outline:none;border-color:#0d9488;}
.pc-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.pc-sec-lbl{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#0d9488;background:#f0fdfa;border-radius:7px;padding:6px 10px;margin-bottom:10px;}
.pc-side2{background:#f0fdfa;border:1.5px solid #99f6e4;border-radius:9px;padding:12px 14px;margin-bottom:13px;}
.pc-side2 label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#0d9488;margin-bottom:5px;}
.pc-side2 select{width:100%;padding:10px 12px;border:1.5px solid #99f6e4;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}
.pc-btn{width:100%;padding:13px;background:#134e4a;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.pc-btn:hover{background:#0f3a37;}
.pc-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
.pc-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.pc-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.pc-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.pc-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.pc-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.pc-info-row strong{color:#fff;}
.pc-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.pc-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.pc-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.pc-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.pc-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}

/* ── Sticker Calculator ── */
.sk-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.sk-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.sk-grid{grid-template-columns:1fr;}}
.sk-form{padding:24px 26px;}
.sk-panel{background:linear-gradient(160deg,#0e7490 0%,#0891b2 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.sk-field{margin-bottom:13px;}
.sk-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.sk-field select{width:100%;padding:10px 12px;border:1.5px solid #a5f3fc;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}
.sk-field select:focus{outline:none;border-color:#0891b2;}
.sk-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.sk-btn{width:100%;padding:13px;background:#0e7490;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.sk-btn:hover{background:#0c6275;}
.sk-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
.sk-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.sk-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.sk-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.sk-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.sk-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.sk-info-row strong{color:#fff;}
.sk-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.sk-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.sk-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.sk-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.sk-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}

/* ── Watch Video Button & Delivery Note ── */
.watch-video-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px;background:transparent;color:#1e1e3a;border:2px solid #d0d0e8;border-radius:9px;font-size:.88rem;font-weight:700;cursor:pointer;margin-top:10px;letter-spacing:.3px;transition:background .15s,border-color .15s;}
.watch-video-btn:hover{background:#f0f0fb;border-color:#e2542a;}
.watch-video-btn svg{flex-shrink:0;}
.delivery-note{text-align:center;font-size:.8rem;font-weight:700;color:#dc2626;margin:10px 0 4px;letter-spacing:.2px;}
/* Video Modal */
#sp-video-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:99999;align-items:center;justify-content:center;}
#sp-video-modal.open{display:flex;}
#sp-video-box{position:relative;background:#000;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5);}
#sp-video-close{position:absolute;top:10px;right:10px;z-index:10;background:rgba(0,0,0,.55);color:#fff;border:none;border-radius:50%;width:36px;height:36px;cursor:pointer;font-size:1.4rem;line-height:36px;text-align:center;transition:background .15s;}
#sp-video-close:hover{background:rgba(255,0,0,.7);}
#sp-video-frame{display:block;width:100%;height:100%;border:none;}

/* ── Bill Book Calculator ── */
.bb-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.bb-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.bb-grid{grid-template-columns:1fr;}}
.bb-form{padding:24px 26px;}
.bb-panel{background:linear-gradient(160deg,#7c2d12 0%,#c2410c 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.bb-field{margin-bottom:13px;}
.bb-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.bb-field select{width:100%;padding:10px 12px;border:1.5px solid #fed7aa;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}
.bb-field select:focus{outline:none;border-color:#c2410c;}
.bb-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.bb-btn{width:100%;padding:13px;background:#7c2d12;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.bb-btn:hover{background:#6b2100;}
.bb-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
.bb-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.bb-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.bb-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.bb-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.bb-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.bb-info-row strong{color:#fff;}
.bb-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.bb-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.bb-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.bb-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.bb-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}

/* ── File Cover Calculator ── */
.fl-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.fl-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.fl-grid{grid-template-columns:1fr;}}
.fl-form{padding:24px 26px;}
.fl-panel{background:linear-gradient(160deg,#166534 0%,#16a34a 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.fl-field{margin-bottom:13px;}
.fl-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.fl-field select{width:100%;padding:10px 12px;border:1.5px solid #bbf7d0;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}
.fl-field select:focus{outline:none;border-color:#16a34a;}
.fl-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fl-btn{width:100%;padding:13px;background:#166534;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.fl-btn:hover{background:#14532d;}
.fl-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
.fl-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.fl-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.fl-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.fl-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.fl-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.fl-info-row strong{color:#fff;}
.fl-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.fl-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.fl-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.fl-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.fl-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}
.fl-side2{background:#f0fdf4;border:1.5px solid #bbf7d0;border-radius:9px;padding:12px 14px;margin-bottom:13px;}
.fl-side2 label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#166534;margin-bottom:5px;}
.fl-side2 select{width:100%;padding:10px 12px;border:1.5px solid #bbf7d0;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}

/* ── Result Card Calculator ── */
.rc-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.rc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.rc-grid{grid-template-columns:1fr;}}
.rc-form{padding:24px 26px;}
.rc-panel{background:linear-gradient(160deg,#0369a1 0%,#0ea5e9 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.rc-field{margin-bottom:13px;}
.rc-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.rc-field select{width:100%;padding:10px 12px;border:1.5px solid #bae6fd;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}
.rc-field select:focus{outline:none;border-color:#0369a1;}
.rc-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.rc-btn{width:100%;padding:13px;background:#0369a1;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.rc-btn:hover{background:#075985;}
.rc-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
.rc-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.rc-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.rc-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.rc-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.rc-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.rc-info-row strong{color:#fff;}
.rc-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.rc-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.rc-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.rc-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.rc-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}
.rc-side2{background:#e0f2fe;border:1.5px solid #bae6fd;border-radius:9px;padding:12px 14px;margin-bottom:13px;}
.rc-side2 label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#0369a1;margin-bottom:5px;}
.rc-side2 select{width:100%;padding:10px 12px;border:1.5px solid #bae6fd;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}

/* ── Fee Card Calculator ── */
.fc-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.fc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.fc-grid{grid-template-columns:1fr;}}
.fc-form{padding:24px 26px;}
.fc-panel{background:linear-gradient(160deg,#9f1239 0%,#e11d48 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.fc-field{margin-bottom:13px;}
.fc-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.fc-field select{width:100%;padding:10px 12px;border:1.5px solid #fecdd3;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}
.fc-field select:focus{outline:none;border-color:#e11d48;}
.fc-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fc-btn{width:100%;padding:13px;background:#e11d48;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.fc-btn:hover{background:#be123c;}
.fc-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
.fc-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.fc-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.fc-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.fc-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.fc-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.fc-info-row strong{color:#fff;}
.fc-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.fc-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.fc-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.fc-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.fc-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}
.fc-side2{background:#fff1f2;border:1.5px solid #fecdd3;border-radius:9px;padding:12px 14px;margin-bottom:13px;}
.fc-side2 label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#9f1239;margin-bottom:5px;}
.fc-side2 select{width:100%;padding:10px 12px;border:1.5px solid #fecdd3;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}
.fc-badge{display:inline-block;background:rgba(255,255,255,.15);border-radius:5px;padding:2px 7px;font-size:.68rem;color:rgba(255,255,255,.8);margin-left:4px;vertical-align:middle;}

/* ── Fee Slip Calculator ── */
.fs-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.fs-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.fs-grid{grid-template-columns:1fr;}}
.fs-form{padding:24px 26px;}
.fs-panel{background:linear-gradient(160deg,#7c2d12 0%,#ea580c 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.fs-field{margin-bottom:13px;}
.fs-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.fs-field select{width:100%;padding:10px 12px;border:1.5px solid #ffe0cc;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e1e;}
.fs-field select:focus{outline:none;border-color:#ea580c;}
.fs-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fs-btn{width:100%;padding:13px;background:#ea580c;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.fs-btn:hover{background:#c2410c;}
.fs-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
.fs-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.fs-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.fs-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.fs-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.fs-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.fs-info-row strong{color:#fff;}
.fs-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.fs-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.fs-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.fs-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.fs-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}

/* ── Answer Sheet Calculator ── */
.ans-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.ans-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.ans-grid{grid-template-columns:1fr;}}
.ans-form{padding:24px 26px;}
.ans-panel{background:linear-gradient(160deg,#4338ca 0%,#7c3aed 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.ans-field{margin-bottom:13px;}
.ans-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.ans-field select{width:100%;padding:10px 12px;border:1.5px solid #e0e0f0;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e3a;}
.ans-field select:focus{outline:none;border-color:#4338ca;}
.ans-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ans-size-badge{display:inline-flex;align-items:center;gap:8px;background:#eef2ff;border:1.5px solid #c7d2fe;border-radius:8px;padding:9px 14px;font-size:.85rem;font-weight:700;color:#3730a3;margin-bottom:13px;width:100%;box-sizing:border-box;}
.ans-btn{width:100%;padding:13px;background:#4338ca;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.ans-btn:hover{background:#3730a3;}
.ans-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
.ans-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.ans-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.ans-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.ans-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.ans-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.ans-info-row strong{color:#fff;}
.ans-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.ans-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.ans-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.ans-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.ans-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}

/* ── Admission Form / Letter Pad Calculator ── */
.af-wrap{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);margin-bottom:12px;}
.af-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
@media(max-width:640px){.af-grid{grid-template-columns:1fr;}}
.af-form{padding:24px 26px;}
.af-panel{background:linear-gradient(160deg,#0f766e 0%,#14b8a6 100%);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.af-field{margin-bottom:13px;}
.af-field label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#555;margin-bottom:5px;}
.af-field select{width:100%;padding:10px 12px;border:1.5px solid #e0e0f0;border-radius:8px;font-size:.88rem;font-family:inherit;background:#fff;color:#1e1e3a;}
.af-field select:focus{outline:none;border-color:#0f766e;}
.af-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.af-btn{width:100%;padding:13px;background:#0f766e;color:#fff;border:none;border-radius:9px;font-size:.92rem;font-weight:800;cursor:pointer;margin-top:4px;letter-spacing:.5px;}
.af-btn:hover{background:#0d5c55;}
.af-err{color:#dc2626;font-size:.82rem;margin-top:8px;font-weight:600;}
.af-pp-lbl{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.65);}
.af-pp-val{font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin:6px 0 2px;}
.af-pp-val small{font-size:1rem;font-weight:500;opacity:.75;}
.af-divider{border:none;border-top:1px solid rgba(255,255,255,.2);margin:14px 0;}
.af-info-row{display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:5px;}
.af-info-row strong{color:#fff;}
.af-total-box{background:rgba(0,0,0,.15);border-radius:9px;padding:12px 14px;margin-top:12px;display:flex;justify-content:space-between;align-items:center;}
.af-total-box .lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);}
.af-total-box .val{font-size:1.45rem;font-weight:900;color:#fff;}
.af-placeholder{text-align:center;color:rgba(255,255,255,.35);font-size:.85rem;padding:10px 0;}
.af-placeholder svg{display:block;margin:0 auto 10px;opacity:.3;}

/* ── Info cards ── */
.calc-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding-bottom:48px;}
.calc-info-card{background:#fff;border-radius:12px;padding:16px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.06);}


/* ---- next block ---- */


/* ===== CHAT WIDGET ===== */
#sp-chat-widget { position:fixed; bottom:24px; right:24px; z-index:9999; font-family:'Sora',system-ui,-apple-system,Roboto,Arial,sans-serif; }

/* Trigger button */
#sp-chat-trigger {
  width:60px; height:60px; border-radius:50%; border:none; cursor:pointer;
  background:linear-gradient(135deg,#1a1a8c,#e2542a);
  box-shadow:0 4px 20px rgba(45,45,180,.45);
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  transition:transform .2s, box-shadow .2s;
  position:relative;
}
#sp-chat-trigger:hover { transform:scale(1.08); box-shadow:0 6px 28px rgba(45,45,180,.6); }
#sp-chat-trigger-open { display:flex; flex-direction:column; align-items:center; gap:1px; }
#sp-chat-logo { width:28px; height:28px; border-radius:50%; object-fit:cover; background:#fff; }
.sp-chat-label { color:#fff; font-size:.55rem; font-weight:700; letter-spacing:.04em; line-height:1; }
#sp-chat-trigger-close { color:#fff; font-size:1.1rem; font-weight:700; }

#sp-chat-trigger::after {
  content:''; position:absolute; top:4px; right:4px;
  width:12px; height:12px; background:#22c55e; border-radius:50%;
  border:2px solid #fff; animation:sp-pulse 2s infinite;
}
@keyframes sp-pulse { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.3);opacity:.7} }

/* Panel */
#sp-chat-panel {
  position:absolute; bottom:72px; right:0;
  width:320px; background:#fff; border-radius:20px;
  box-shadow:0 8px 40px rgba(0,0,0,.18);
  overflow:hidden; display:none; flex-direction:column;
  transform-origin:bottom right;
  animation:sp-pop-in .25s cubic-bezier(.4,0,.2,1);
}
#sp-chat-panel.open { display:flex; }
@keyframes sp-pop-in { from{opacity:0;transform:scale(.85) translateY(10px)} to{opacity:1;transform:scale(1) translateY(0)} }

/* Tabs */
.sp-tabs { display:flex; border-bottom:1px solid #eef0f8; }
.sp-tab  { flex:1; padding:9px 6px; font-size:.78rem; font-weight:600; border:none; background:#fff; color:#9ca3af; cursor:pointer; transition:color .15s, border-color .15s; border-bottom:2px solid transparent; margin-bottom:-1px; }
.sp-tab.active { color:#e2542a; border-bottom-color:#e2542a; }
.sp-tab:hover  { color:#e2542a; }

/* Views */
.sp-view { display:flex; flex-direction:column; }

/* Head */
.sp-chat-head {
  background:linear-gradient(135deg,#1a1a8c,#e2542a);
  padding:16px 16px 14px; display:flex; align-items:center; gap:10px; color:#fff;
}
.sp-chat-head img { width:40px; height:40px; border-radius:50%; border:2px solid rgba(255,255,255,.4); object-fit:cover; }
.sp-chat-head-name { font-weight:700; font-size:.9rem; }
.sp-chat-head-sub { font-size:.72rem; opacity:.82; display:flex; align-items:center; gap:4px; margin-top:2px; }
.sp-online-dot { width:7px; height:7px; background:#4ade80; border-radius:50%; display:inline-block; }
.sp-chat-close-btn { margin-left:auto; background:rgba(255,255,255,.15); border:none; color:#fff; width:26px; height:26px; border-radius:50%; cursor:pointer; font-size:.85rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.sp-chat-close-btn:hover { background:rgba(255,255,255,.3); }

/* Body */
.sp-chat-body { padding:16px; overflow-y:auto; max-height:380px; }
.sp-chat-bubble {
  background:#f0f2ff; border-radius:4px 14px 14px 14px;
  padding:10px 14px; font-size:.83rem; line-height:1.5; color:#1f2937;
  margin-bottom:14px;
}

/* Quick actions */
.sp-quick-actions { display:flex; gap:6px; margin-bottom:14px; flex-wrap:wrap; }
.sp-action-btn {
  flex:1; min-width:70px; display:flex; align-items:center; justify-content:center; gap:5px;
  padding:9px 6px; border-radius:10px; font-size:.77rem; font-weight:700;
  text-decoration:none; border:none; cursor:pointer;
  transition:transform .15s, box-shadow .15s;
}
.sp-action-btn:hover { transform:translateY(-1px); box-shadow:0 3px 12px rgba(0,0,0,.12); }
.sp-wa-btn   { background:#25d366; color:#fff; }
.sp-call-btn { background:#eef2ff; color:#1a1a8c; border:1.5px solid #c7d2fe; }
.sp-ai-btn   { background:linear-gradient(135deg,#1a1a8c,#e2542a); color:#fff; }

/* AI Chat messages */
#sp-messages {
  flex:1; overflow-y:auto; padding:12px 14px; display:flex; flex-direction:column;
  gap:8px; min-height:220px; max-height:280px;
}
.sp-msg { max-width:85%; font-size:.82rem; line-height:1.5; padding:9px 12px; border-radius:12px; word-break:break-word; }
.sp-msg.bot  { background:#f0f2ff; color:#1f2937; border-radius:4px 12px 12px 12px; align-self:flex-start; }
.sp-msg.user { background:linear-gradient(135deg,#1a1a8c,#e2542a); color:#fff; border-radius:12px 12px 4px 12px; align-self:flex-end; }
.sp-msg.err  { background:#fef2f2; color:#dc2626; align-self:flex-start; border-radius:4px 12px 12px 12px; }

/* Typing indicator */
.sp-typing-indicator { padding:6px 14px; display:flex; gap:4px; align-items:center; }
.sp-typing-indicator span {
  width:7px; height:7px; background:#c7d2fe; border-radius:50%;
  animation:sp-bounce .9s infinite;
}
.sp-typing-indicator span:nth-child(2) { animation-delay:.15s; }
.sp-typing-indicator span:nth-child(3) { animation-delay:.3s; }
@keyframes sp-bounce { 0%,60%,100%{transform:translateY(0)} 30%{transform:translateY(-6px)} }

/* Input bar */
.sp-chat-input-bar {
  display:flex; gap:6px; padding:10px 12px; border-top:1px solid #eef0f8; align-items:center;
}
.sp-chat-input-bar input {
  flex:1; border:1.5px solid #e5e7eb; border-radius:20px; padding:8px 14px;
  font-size:.83rem; outline:none; font-family:inherit; transition:border-color .15s;
}
.sp-chat-input-bar input:focus { border-color:#e2542a; }
.sp-chat-input-bar button {
  width:36px; height:36px; border-radius:50%; border:none;
  background:linear-gradient(135deg,#1a1a8c,#e2542a); color:#fff;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:transform .15s;
}
.sp-chat-input-bar button:hover  { transform:scale(1.08); }
.sp-chat-input-bar button:disabled { opacity:.5; cursor:not-allowed; transform:none; }

/* Services grid */
.sp-chat-section-title { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#9ca3af; margin-bottom:8px; }
.sp-services-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; margin-bottom:12px; }
.sp-svc-item {
  display:flex; flex-direction:column; align-items:center; gap:4px;
  padding:10px 6px; background:#f8f8ff; border-radius:10px; border:1px solid #e8eaf6;
  text-decoration:none; color:#1f2937; font-size:.7rem; font-weight:600; text-align:center;
  transition:background .15s, border-color .15s;
}
.sp-svc-item:hover { background:#eef2ff; border-color:#c7d2fe; }
.sp-svc-icon { font-size:1.3rem; }

/* Suggestion chips */
.sp-suggestions { display:flex; flex-wrap:wrap; gap:6px; padding:2px 0 4px; }
.sp-chip {
  background:#eef2ff; color:#e2542a; border:1px solid #c7d2fe;
  border-radius:20px; padding:5px 11px; font-size:.73rem; font-weight:600;
  cursor:pointer; font-family:inherit; transition:background .15s;
  white-space:nowrap;
}
.sp-chip:hover { background:#e0e7ff; }

/* Track link */
.sp-track-link {
  display:block; text-align:center; font-size:.78rem; font-weight:600;
  color:#e2542a; padding:8px; background:#f0f2ff; border-radius:8px;
  text-decoration:none;
}
.sp-track-link:hover { background:#e0e7ff; }

/* Footer */
.sp-chat-foot {
  padding:10px 16px; background:#f9f9ff; border-top:1px solid #eef0f8;
  font-size:.72rem; color:#9ca3af; display:flex; align-items:center; gap:6px;
}
.sp-chat-foot a { color:#e2542a; text-decoration:none; font-weight:600; }

@media(max-width:380px) {
  #sp-chat-panel { width:calc(100vw - 24px); right:0; }
}

/* ============================================================
   CALCULATOR "DEVICE" THEME — applies to every product calculator
   (*-wrap / *-panel / *-btn / *-field / *-pp-val share suffixes)
   ============================================================ */
[class$="-wrap"]{
  background:linear-gradient(165deg,#fffdf8 0%,#faf7ef 55%,#f1ebda 100%) !important;
  border:1px solid rgba(18,19,28,.07);
  border-radius:22px !important;
  position:relative;
}
[class$="-wrap"]::before{
  content:"";position:absolute;left:0;top:0;right:0;height:4px;
  background:linear-gradient(90deg,#ff9d3d,#e2542a);z-index:2;
}

/* result panel = LCD-style display */
[class$="-panel"]{position:relative;box-shadow:inset 0 2px 18px rgba(0,0,0,.22);}
[class$="-pp-lbl"]{font-family:'Sora',system-ui,sans-serif;}
[class$="-pp-val"]{
  font-family:'Courier New',ui-monospace,monospace;
  letter-spacing:1px;
  text-shadow:0 0 20px rgba(255,255,255,.4);
}
[class$="-total-box"]{
  background:rgba(0,0,0,.28) !important;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 6px rgba(0,0,0,.3);
}
[class$="-total-box"] [class$="val"]{font-family:'Courier New',ui-monospace,monospace;}

/* form fields = tactile keys */
[class$="-field"] select,[class$="-field"] input{
  border-radius:10px !important;
  box-shadow:inset 0 1px 4px rgba(18,19,28,.06);
  transition:box-shadow .15s,border-color .15s,transform .1s;
}
[class$="-field"] select:focus,[class$="-field"] input:focus{
  box-shadow:inset 0 1px 4px rgba(18,19,28,.06),0 0 0 3px rgba(255,157,61,.22);
}

/* calculate buttons = big keypad key */
[class$="-btn"]{
  border-radius:14px !important;
  box-shadow:0 4px 14px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.15);
  transition:transform .12s ease,box-shadow .12s ease;
}
[class$="-btn"]:active{
  transform:translateY(2px) scale(.98);
  box-shadow:0 2px 6px rgba(0,0,0,.16);
}

/* mobile: stack two-up rows so keys/fields stay thumb-sized */
@media(max-width:480px){
  [class$="-row"]{flex-direction:column;}
  [class$="-row2"]{grid-template-columns:1fr;}
  [class$="-wrap"]{border-radius:16px !important;}
  [class$="-form-area"],[class$="-form"]{padding:20px 18px !important;}
  [class$="-panel"]{padding:22px 18px !important;}
}
