:root{--primary:#2563eb;--primary-dark:#1d4ed8;--secondary:#10b981;--dark:#1e293b;--light:#f8fafc;--gray:#64748b;--border:#e2e8f0;--white:#ffffff;--shadow:0 1px 3px rgba(0,0,0,0.08);--shadow-md:0 4px 12px rgba(0,0,0,0.1);--radius:8px;--font:-apple-system,BlinkMacSystemFont,'Segoe UI','Inter',sans-serif}
*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);background:var(--light);color:var(--dark);line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}
.navbar{background:var(--white);border-bottom:1px solid var(--border);padding:0 1rem;position:sticky;top:0;z-index:200;box-shadow:var(--shadow)}
.navbar-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;height:58px;gap:1rem}
.navbar-brand{font-size:1.2rem;font-weight:800;color:var(--dark);white-space:nowrap;display:flex;align-items:center;gap:6px}
.navbar-brand span{color:var(--primary)}
.navbar-links{display:flex;list-style:none;gap:0.25rem}
.navbar-links a{padding:0.35rem 0.6rem;border-radius:6px;color:var(--gray);font-size:0.82rem;font-weight:500;white-space:nowrap}
.navbar-links a:hover{background:var(--light);color:var(--dark);text-decoration:none}
.search-wrap{flex:1;max-width:280px;margin:0 auto;position:relative}
.search-wrap input{width:100%;padding:0.4rem 0.75rem;border:1px solid var(--border);border-radius:20px;font-size:0.875rem;outline:none;background:var(--light)}
.search-wrap input:focus{border-color:var(--primary);background:var(--white)}
.search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:300;overflow:hidden}
.search-dropdown a{display:flex;justify-content:space-between;padding:0.55rem 0.75rem;color:var(--dark);font-size:0.85rem;border-bottom:1px solid var(--light)}
.search-dropdown a:hover{background:var(--light);text-decoration:none}
.search-cat{color:var(--gray);font-size:0.75rem}
.btn-share-nav{background:var(--primary);color:#fff;border:none;padding:0.38rem 0.85rem;border-radius:6px;font-size:0.84rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s}
.btn-share-nav:hover{background:var(--primary-dark)}
.hero{background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 60%,#2563eb 100%);color:var(--white);padding:3.5rem 1rem 3rem;text-align:center}
.hero h1{font-size:2.4rem;font-weight:800;margin-bottom:0.75rem;line-height:1.2}
.hero h1 span{color:#60a5fa}
.hero p{font-size:1.05rem;opacity:0.85;max-width:540px;margin:0 auto 2rem}
.hero-stats{display:flex;justify-content:center;gap:2.5rem;margin-top:2rem;flex-wrap:wrap}
.hero-stat strong{display:block;font-size:1.5rem;font-weight:800;color:#60a5fa}
.hero-stat span{font-size:0.8rem;opacity:0.75}
.trust-strip{background:var(--white);border-bottom:1px solid var(--border);padding:0.85rem 1rem}
.trust-items{max-width:1200px;margin:0 auto;display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:0.4rem;font-size:0.825rem;color:var(--gray)}
.section{padding:3rem 1rem}.section-alt{background:var(--white)}
.container{max-width:1200px;margin:0 auto}
.section-header{margin-bottom:1.75rem}
.section-title{font-size:1.5rem;font-weight:700;color:var(--dark)}
.section-sub{color:var(--gray);margin-top:0.4rem;font-size:0.925rem}
.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:1rem}
.cat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1rem;text-align:center;display:block;color:var(--dark);transition:box-shadow .2s,border-color .2s,transform .15s}
.cat-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-2px);text-decoration:none}
.cat-icon{font-size:2rem;margin-bottom:0.5rem}
.cat-name{font-weight:700;font-size:0.9rem}
.cat-count{font-size:0.78rem;color:var(--gray);margin-top:0.25rem}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem}
.tool-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem;display:block;color:var(--dark);transition:box-shadow .2s,border-color .2s,transform .15s}
.tool-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-2px);text-decoration:none}
.tc-icon{font-size:1.5rem;margin-bottom:0.6rem}
.tc-title{font-weight:700;font-size:0.925rem;margin-bottom:0.3rem}
.tc-desc{font-size:0.825rem;color:var(--gray);line-height:1.45}
.tc-badge{display:inline-block;margin-top:0.5rem;font-size:0.7rem;font-weight:700;padding:0.15rem 0.5rem;border-radius:4px}
.badge-popular{background:#dbeafe;color:#1d4ed8}.badge-new{background:#dcfce7;color:#15803d}.badge-india{background:#fef3c7;color:#b45309}
.promo-strip{background:linear-gradient(135deg,#1e293b,#2563eb);color:var(--white);border-radius:12px;padding:2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.promo-strip h3{font-size:1.2rem;font-weight:700;margin-bottom:0.35rem}
.promo-strip p{font-size:0.9rem;opacity:0.85}
.tool-page{padding:2rem 1rem}
.breadcrumb{font-size:0.8rem;color:var(--gray);margin-bottom:0.75rem}
.breadcrumb a{color:var(--gray)}.breadcrumb a:hover{color:var(--primary)}
.breadcrumb span{margin:0 0.3rem}
.tool-layout{display:grid;grid-template-columns:1fr 280px;gap:1.5rem}
.tool-title{font-size:1.65rem;font-weight:800;margin-bottom:0.35rem}
.tool-desc{color:var(--gray);font-size:0.95rem;margin-bottom:1.25rem}
.tool-box{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem}
.tool-box label{display:block;font-weight:600;font-size:0.875rem;margin-bottom:0.4rem;color:var(--dark)}
.tool-box input[type=text],.tool-box input[type=number],.tool-box input[type=url],.tool-box input[type=date],.tool-box input[type=month],.tool-box input[type=datetime-local],.tool-box select{width:100%;padding:0.55rem 0.75rem;border:1px solid var(--border);border-radius:6px;font-size:0.875rem;outline:none;font-family:var(--font)}
.tool-box input:focus,.tool-box select:focus,.tool-box textarea:focus{border-color:var(--primary)}
.tool-box textarea{width:100%;padding:0.6rem 0.75rem;border:1px solid var(--border);border-radius:6px;font-size:0.875rem;outline:none;resize:vertical;font-family:'Courier New',monospace;line-height:1.5}
.form-group{margin-bottom:1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1rem}
.btn-group{display:flex;gap:0.5rem;margin-top:1rem;flex-wrap:wrap}
.btn{padding:0.55rem 1.15rem;border:none;border-radius:6px;font-size:0.875rem;font-weight:600;cursor:pointer;transition:background .15s;font-family:var(--font)}
.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover{background:var(--primary-dark)}
.btn-secondary{background:var(--light);color:var(--dark);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}
.btn-danger{background:#ef4444;color:var(--white)}.btn-danger:hover{background:#dc2626}
.btn-sm{padding:0.3rem 0.65rem;font-size:0.8rem}
.result-box{background:#f0fdf4;border:1px solid #86efac;border-radius:var(--radius);padding:1rem;font-family:'Courier New',monospace;font-size:0.85rem;white-space:pre-wrap;word-break:break-all;max-height:420px;overflow-y:auto;margin-top:1rem}
.result-box.error{background:#fef2f2;border-color:#fca5a5;color:#dc2626}
.result-box.info{background:#eff6ff;border-color:#93c5fd;font-family:var(--font)}
.result-box.neutral{background:var(--light);border-color:var(--border);font-family:var(--font)}
.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.5rem}
.result-header label{font-weight:600;font-size:0.875rem}
.copy-btn{font-size:0.75rem;padding:0.25rem 0.6rem;background:var(--light);border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--gray)}
.copy-btn:hover{background:var(--border)}
.share-cta{background:linear-gradient(135deg,#1e293b,#334155);color:var(--white);border-radius:var(--radius);padding:1.25rem 1.5rem;margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.share-cta h4{font-size:0.95rem;margin-bottom:0.2rem}
.share-cta p{font-size:0.825rem;opacity:0.85}
.btn-share{background:var(--secondary);color:#fff;border:none;padding:0.55rem 1.1rem;border-radius:6px;font-weight:700;font-size:0.875rem;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s}
.btn-share:hover{background:#059669}
.how-to,.faq-box{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem}
.how-to h3,.faq-box h3{font-size:1rem;font-weight:700;margin-bottom:0.85rem}
.how-to ol{padding-left:1.25rem}
.how-to ol li,.how-to p{font-size:0.875rem;color:var(--gray);margin-bottom:0.4rem;line-height:1.55}
.faq-item{border-top:1px solid var(--border);padding:0.7rem 0}
.faq-q{font-weight:600;font-size:0.875rem;cursor:pointer;display:flex;justify-content:space-between}
.faq-a{font-size:0.85rem;color:var(--gray);margin-top:0.4rem;line-height:1.55;display:none}
.faq-a.open{display:block}
.sidebar-ad{background:var(--light);border:1px dashed var(--border);border-radius:var(--radius);padding:1rem;text-align:center;font-size:0.78rem;color:var(--gray);min-height:200px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}
.related-box{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem}
.related-box h3{font-size:0.95rem;font-weight:700;margin-bottom:0.85rem}
.related-item{display:flex;align-items:center;gap:0.5rem;padding:0.45rem 0;border-bottom:1px solid var(--light);font-size:0.85rem}
.related-item:last-child{border-bottom:none}
.related-item a{color:var(--dark);font-weight:500}
.related-item a:hover{color:var(--primary);text-decoration:none}
.related-icon{font-size:1rem;flex-shrink:0}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0.75rem;margin-top:1rem}
.stat-box{background:var(--light);border-radius:var(--radius);padding:0.85rem;text-align:center}
.stat-val{font-size:1.4rem;font-weight:800;color:var(--primary)}
.stat-lbl{font-size:0.78rem;color:var(--gray);margin-top:0.15rem}
.progress-wrap{margin:0.5rem 0}
.progress-lbl{display:flex;justify-content:space-between;font-size:0.78rem;color:var(--gray);margin-bottom:0.2rem}
.progress-bar{background:var(--border);border-radius:20px;height:7px}
.progress-fill{background:var(--primary);height:100%;border-radius:20px;transition:width .4s}
.score-circle{width:64px;height:64px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:800;color:var(--white);flex-shrink:0}
.tbl-wrap{overflow-x:auto}
table.dtbl{width:100%;border-collapse:collapse;font-size:0.85rem}
table.dtbl th{background:var(--light);padding:0.5rem 0.75rem;text-align:left;font-weight:700;border:1px solid var(--border)}
table.dtbl td{padding:0.45rem 0.7rem;border:1px solid var(--border)}
table.dtbl tr:hover td{background:#f8fafc}
table.dtbl input{width:100%;border:none;padding:0.3rem;background:transparent;font-size:0.85rem;font-family:var(--font)}
.footer{background:#0f172a;color:#94a3b8;padding:3rem 1rem 2rem;margin-top:3rem}
.footer-grid{max-width:1200px;margin:0 auto 2rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
.footer-brand h3{color:var(--white);font-size:1.1rem;margin-bottom:0.6rem}
.footer-brand span{color:var(--primary)}
.footer-brand p{font-size:0.85rem;line-height:1.6}
.footer-col h4{color:var(--white);font-size:0.875rem;font-weight:700;margin-bottom:0.85rem}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:0.45rem}
.footer-col ul li a{color:#94a3b8;font-size:0.85rem}
.footer-col ul li a:hover{color:var(--white);text-decoration:none}
.footer-bottom{max-width:1200px;margin:0 auto;padding-top:1.5rem;border-top:1px solid #1e293b;display:flex;justify-content:space-between;font-size:0.8rem;flex-wrap:wrap;gap:0.5rem}
.footer-bottom a{color:#94a3b8}
.notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius);padding:0.75rem 1rem;font-size:0.85rem;color:#1e40af;margin-bottom:1rem}
.notice.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}
.notice.success{background:#f0fdf4;border-color:#86efac;color:#166534}
.notice.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.notice.info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.divider{border:none;border-top:1px solid var(--border);margin:1rem 0}
.input-row{display:flex;gap:0.5rem}
.input-row input{flex:1}
.tag{display:inline-block;background:var(--light);border:1px solid var(--border);border-radius:4px;padding:0.15rem 0.45rem;font-size:0.75rem;color:var(--gray);margin:0.15rem}
/* PDF upload zone */
.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:2rem;text-align:center;cursor:pointer;background:var(--light);transition:border-color .2s}
.drop-zone:hover,.drop-zone.drag-over{border-color:var(--primary);background:#eff6ff}
.drop-zone-icon{font-size:2.5rem;margin-bottom:0.5rem}
/* Invoice print */
@media print{.navbar,.footer,.sidebar-ad,.related-box,.share-cta,.btn-group,.tool-box:not(.invoice-preview),.notice,.how-to,.faq-box,.breadcrumb{display:none!important}.invoice-preview{border:none!important;padding:0!important}.tool-layout{display:block!important}}
/* Signature canvas */
#sig-canvas{border:2px dashed var(--border);border-radius:var(--radius);cursor:crosshair;touch-action:none;background:#fff;display:block;width:100%}
@media(max-width:900px){.tool-layout{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.navbar-links{display:none}}
@media(max-width:600px){.hero h1{font-size:1.65rem}.footer-grid{grid-template-columns:1fr}.promo-strip{flex-direction:column;text-align:center}.share-cta{flex-direction:column;text-align:center}.form-row,.form-row-3{grid-template-columns:1fr}}
/* ── Tool Rating Widget ────────────────────────────────────────── */
.rating-widget{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.4rem;margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.rating-widget .rating-label{font-size:0.9rem;font-weight:600;color:var(--dark)}
.rating-widget .rating-label small{display:block;font-size:0.78rem;font-weight:400;color:var(--gray);margin-top:1px}
.stars{display:flex;gap:3px;cursor:pointer;direction:ltr}
.stars span{font-size:1.7rem;color:#d1d5db;transition:color .12s,transform .1s;line-height:1;user-select:none}
.stars span.lit,.stars span.hover-lit{color:#f59e0b}
.stars span:hover{transform:scale(1.15)}
.rating-summary{font-size:0.82rem;color:var(--gray);white-space:nowrap;text-align:right}
.rating-summary strong{color:var(--dark);font-size:0.92rem}
.rating-thanks{font-size:0.82rem;color:var(--secondary);font-weight:600;margin-left:4px}
@media(max-width:540px){.rating-widget{flex-direction:column;align-items:flex-start}}
