/* ================= Free Tools ================= */
.ft-hero{padding:28px 34px}
.ft-hero h2{text-transform:none}
.ft-safe{position:relative;z-index:1;display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:14px 18px;max-width:340px}
.ft-safe i{font-size:26px;color:#fbbf24}
.ft-safe b{display:block;font-size:15px}.ft-safe span{font-size:12.5px;opacity:.95}
.ft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.ft-card{--c:var(--green);display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--c);border-radius:16px;padding:18px;color:var(--ink);box-shadow:var(--shadow);transition:.15s}
.ft-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(16,24,40,.1);border-color:var(--c)}
.ft-card b{display:block;font-size:15px;font-weight:600;line-height:1.3}
.ft-card span{display:block;font-size:12.5px;color:var(--muted);margin-top:4px}
.ft-card em{font-style:normal;margin-top:auto;font-size:13px;font-weight:600;color:var(--c)}
.ft-card{position:relative}
.ft-img{width:62px;height:62px;border-radius:14px;background:#fff;border:1px solid var(--line);padding:5px;box-shadow:0 4px 10px rgba(0,0,0,.06)}
.ft-badge{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px}
.ft-chip small{font-weight:500;opacity:.8}
.ft-progress{margin-top:14px}
.ft-pbar{height:10px;border-radius:9px;background:#e5e7eb;overflow:hidden;margin-bottom:6px}
.ft-pbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--c,var(--green)),#f59e0b);transition:width .25s}
/* document scanner */
.ft-step{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:10px}
.ft-step>span{width:24px;height:24px;border-radius:50%;background:var(--c,var(--green));color:#fff;display:grid;place-items:center;font-size:12.5px;flex:none}
.ft-scan-two{margin-top:6px}
.ft-scan-edit,.ft-scan-out{background:#1f2937;border-radius:12px;padding:10px;display:flex;justify-content:center;align-items:center;min-height:220px}
.ft-scan-out{background:#e5e9e7}
.ft-scan-edit canvas{touch-action:none;cursor:crosshair;max-width:100%;border-radius:4px}
.ft-scan-out canvas{max-width:100%;height:auto;box-shadow:0 2px 12px rgba(0,0,0,.18);background:#fff}
.ft-scan-thumbs .ft-thumb{cursor:pointer}
.ft-thumb.on{border-color:var(--c,var(--green));box-shadow:0 0 0 3px color-mix(in srgb,var(--c,var(--green)) 25%,transparent)}
.ft-scan-final img{height:170px;background:#e5e9e7}
/* dashboard Free Tools cards (reuse .pcard) */
.pcards-tools .pcard{background:linear-gradient(160deg,#fff 0%,#ecfdf5 55%,#eff6ff 100%) padding-box,linear-gradient(135deg,#6ee7b7,#93c5fd,#c4b5fd) border-box}
.pcards-tools .pc-img{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#10b981,#3b82f6) border-box}
.pcards-tools .pcard:hover{box-shadow:0 14px 30px rgba(16,185,129,.2)}
.pc-free{position:absolute;top:12px;right:12px;background:#dcfce7;color:#166534;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px}
.ft-ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:19px;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);flex:none}

.ft-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.ft-head>div{flex:1;min-width:200px}
.ft-private{display:flex;gap:8px;align-items:center;background:var(--green-soft);color:var(--green);border-radius:10px;padding:8px 12px;font-size:12.5px;font-weight:500;margin-bottom:16px}

.ft-drop{border:2px dashed #c9d3ce;border-radius:16px;background:#fafcfb;padding:30px 16px;text-align:center;cursor:pointer;transition:.15s;display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:16px}
.ft-drop:hover,.ft-drop.over{border-color:var(--c,var(--green));background:color-mix(in srgb,var(--c,var(--green)) 6%,#fff)}
.ft-drop>i{font-size:32px;color:var(--c,var(--green));margin-bottom:4px}
.ft-drop b{font-size:15px}.ft-drop span{font-size:12.5px;color:var(--muted)}
.ft-drop.has{padding:14px 16px;flex-direction:row;justify-content:center;gap:10px}
.ft-drop.has>i{font-size:20px;margin:0}

.ft-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.ft-bar>span:first-child{margin-right:auto}
.ft-opts{margin-top:6px}
[hidden]{display:none!important}

.ft-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ft-chip{border:1px solid #d9dfdc;background:#fff;border-radius:30px;padding:7px 14px;font:600 12.5px var(--font);cursor:pointer;color:#374151}
.ft-chip:hover{border-color:var(--c,var(--green))}
.ft-chip.on{background:var(--c,var(--green));border-color:var(--c,var(--green));color:#fff}
.ft-custom{display:inline-flex;align-items:center;gap:6px;font-size:13px}
.ft-custom .input{width:110px;padding:7px 10px}
.ft-range{width:100%;accent-color:var(--c,var(--green));margin-top:10px}

/* image thumbs (sortable) */
.ft-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-bottom:14px}
.ft-thumb{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;cursor:grab;user-select:none}
.ft-thumb img{width:100%;height:120px;object-fit:contain;background:#f3f5f4;border-radius:8px;display:block;pointer-events:none}
.ft-thumb .nm{font-size:11px;color:var(--muted);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ft-num{position:absolute;top:4px;left:4px;background:var(--c,var(--green));color:#fff;font-size:11px;font-weight:700;min-width:22px;height:22px;border-radius:11px;display:grid;place-items:center;padding:0 6px;z-index:2}
.ft-x{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:0;background:#fee2e2;color:#b91c1c;cursor:pointer;z-index:2;font-size:12px}
.ft-x:hover{background:#dc2626;color:#fff}
.ft-ghost{opacity:.35}
.ft-chosen{box-shadow:0 10px 24px rgba(0,0,0,.15)}

/* file list rows */
.ft-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.ft-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.ft-row .ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#fee2e2;color:#dc2626;flex:none;font-size:17px}
.ft-row img.pv{width:56px;height:56px;object-fit:contain;border-radius:8px;background:#f3f5f4;flex:none}
.ft-row .info{flex:1;min-width:0}
.ft-row .info b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ft-row .info span{font-size:12px;color:var(--muted)}
.ft-row .acts{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.ft-handle{cursor:grab;color:#9ca3af;padding:4px}
.ft-ib{width:32px;height:32px;border-radius:8px;border:1px solid #e5e7eb;background:#f9fafb;cursor:pointer;color:#374151}
.ft-ib:hover{background:#eef2f0}
.ft-ib.red{color:#dc2626}

/* PDF page grid */
.ft-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:14px}
.ft-page{position:relative;background:#fff;border:2px solid var(--line);border-radius:12px;padding:8px;text-align:center;user-select:none}
.ft-page .box{height:170px;display:grid;place-items:center;overflow:hidden;background:#f3f5f4;border-radius:8px}
.ft-page .box img{max-width:100%;max-height:160px;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:transform .2s;pointer-events:none;background:#fff}
.ft-page .lbl{font-size:12px;font-weight:600;margin-top:6px;color:#374151}
.ft-page .tools{display:flex;justify-content:center;gap:4px;margin-top:6px}
.ft-page.sel{border-color:var(--c,var(--green));background:color-mix(in srgb,var(--c,var(--green)) 6%,#fff)}
.ft-page .ck{position:absolute;top:6px;right:6px;width:20px;height:20px;accent-color:var(--c,var(--green));z-index:2}
.ft-page.drag{cursor:grab}
.ft-page .deleted{opacity:.3}
.ft-order{background:#f8faf9;border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-bottom:14px;word-break:break-word}

/* results */
.ft-result{border:1px solid #c7e5d6;background:#f4fbf7;border-radius:14px;padding:16px;margin-top:16px}
.ft-result.warn{border-color:#fde68a;background:#fffbeb}
.ft-result.err{border-color:#fecaca;background:#fef2f2}
.ft-result h3{margin:0 0 8px;font-size:16px}
.ft-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}
.ft-compare figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}
.ft-compare img{max-width:100%;max-height:280px;object-fit:contain;display:block;margin:0 auto 8px;background:repeating-conic-gradient(#eef0ef 0 25%,#fff 0 50%) 50%/16px 16px}
.ft-compare figcaption{font-size:12.5px;color:var(--muted)}
.ft-compare figcaption b{color:var(--ink)}
.ft-out{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:12px 0}
.ft-out figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;text-align:center}
.ft-out img{width:100%;height:150px;object-fit:contain;background:#f3f5f4;border-radius:8px}
.ft-out figcaption{font-size:11.5px;color:var(--muted);margin:4px 0 6px}
.ft-fileinfo{display:flex;gap:12px;align-items:center;background:#f8faf9;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:14px}
.ft-fileinfo i{font-size:26px;color:#dc2626}
.ft-fileinfo b{display:block;word-break:break-all}.ft-fileinfo span{font-size:12.5px;color:var(--muted)}

/* two-column tools */
.ft-two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:start}
.ft-two-text{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ft-crop{background:#f3f5f4;border-radius:12px;overflow:hidden;height:420px}
.ft-crop img{display:block;max-width:100%}
.ft-sheet{max-width:100%;max-height:640px;display:block;margin:10px auto;border:1px solid var(--line);box-shadow:0 4px 18px rgba(0,0,0,.1);background:#fff}

/* text editor */
.ft-toolbar{display:flex;gap:4px;flex-wrap:wrap;border:1px solid #d9dfdc;border-bottom:0;border-radius:10px 10px 0 0;background:#f8faf9;padding:6px}
.ft-toolbar button{min-width:36px;height:32px;border:1px solid transparent;border-radius:7px;background:transparent;font:700 13px var(--font);cursor:pointer;color:#374151}
.ft-toolbar button:hover{background:#fff;border-color:#d9dfdc}
.ft-editor{border-radius:0 0 10px 10px!important;min-height:360px!important;font-family:'Noto Sans Devanagari','Poppins',sans-serif!important;font-size:15px!important;line-height:1.7}
.ft-help{margin-top:6px}
.ft-help code{background:#f3f4f6;border-radius:5px;padding:1px 5px;font-size:11.5px}
.ft-preview{background:#e5e9e7;border-radius:12px;padding:14px;max-height:780px;overflow:auto;display:flex;flex-direction:column;gap:14px;align-items:center}
.ft-preview canvas{width:100%;max-width:560px;height:auto;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.15)}

/* paid tool unlock card (logged-in panel) */
.ft-paywall{display:flex;gap:18px;align-items:flex-start;border-top:4px solid var(--c,var(--green))}
.ft-paywall h2{margin:0 0 6px}
.ft-paywall img{border-radius:14px;border:1px solid var(--line);padding:4px;flex:none}
/* background remover */
.ft-cmp{position:relative;border-radius:12px;overflow:hidden;background:repeating-conic-gradient(#e5e7eb 0 25%,#fff 0 50%) 50%/18px 18px;border:1px solid var(--line);line-height:0;user-select:none}
.ft-cmp canvas{display:block;width:100%;height:auto}
.ft-cmp canvas[data-after]{position:absolute;inset:0}
.ft-cmp input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ft-cmp-line{position:absolute;top:0;bottom:0;width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15);pointer-events:none}
.ft-cmp-line span{position:absolute;top:50%;left:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:#fff;color:var(--c);display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.25);font-size:13px;line-height:1}
.ft-cmp em{position:absolute;top:8px;font:700 10.5px var(--font);font-style:normal;letter-spacing:.5px;background:rgba(17,24,39,.65);color:#fff;padding:3px 8px;border-radius:20px;line-height:1.4;pointer-events:none}
.ft-cmp em.l{left:8px}.ft-cmp em.r{right:8px}
.ft-bgout{background:repeating-conic-gradient(#e5e7eb 0 25%,#fff 0 50%) 50%/16px 16px;border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;justify-content:center}
.ft-bgout canvas{max-width:100%;max-height:420px;height:auto;cursor:grab;touch-action:none;box-shadow:0 2px 12px rgba(0,0,0,.18)}
.ft-bgout canvas:active{cursor:grabbing}
.ft-sw{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.2);vertical-align:-2px}
.ft-chip.on .ft-sw{border-color:#fff}
.ft-colorin{width:22px;height:18px;padding:0;border:0;background:none;vertical-align:middle;cursor:pointer}
.ft-colorbox{height:44px;padding:4px}
/* QR generator */
.ft-qr-side{position:sticky;top:84px}
.ft-qr-box{position:relative;background:#f8faf9;border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;justify-content:center;min-height:260px;align-items:center}
.ft-qr-box canvas{width:100%;max-width:320px;height:auto;border-radius:6px;box-shadow:0 2px 12px rgba(0,0,0,.12)}
.ft-qr-empty{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);font-size:13px;text-align:center}
.ft-qr-empty i{font-size:54px;color:#cbd5e1}
/* ID card to A4 */
.ft-idc-sides{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:10px}
.ft-idc-side{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}
.ft-idc-side.over{border-color:var(--c);background:color-mix(in srgb,var(--c) 5%,#fff)}
.ft-idc-side .ft-bar{margin-bottom:8px}
.ft-idc-drop{margin:0;min-height:220px;justify-content:center}
.ft-idc-crop{height:300px}
.ft-idc-tools{justify-content:center;margin:8px 0 0}
.ft-a4wrap{background:#e5e9e7;border-radius:12px;padding:14px;display:flex;justify-content:center}
.ft-a4wrap canvas{width:100%;max-width:440px;height:auto;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.18)}
.ft-a4wrap canvas.bad{outline:3px solid #fca5a5}

@media (max-width:1100px){.ft-two,.ft-two-text{grid-template-columns:1fr}.ft-qr-side{position:static}}
@media (max-width:760px){
  .ft-hero{padding:22px}
  .ft-safe{max-width:none}
  .ft-grid{grid-template-columns:1fr}
  .ft-compare{grid-template-columns:1fr}
  .ft-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft-pages{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft-out{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft-crop{height:320px}
  .ft-idc-sides{grid-template-columns:1fr}
  .ft-idc-crop{height:260px}
  .ft-row{flex-wrap:wrap}
  .ft-row .acts{width:100%}
  .ft-editor{min-height:260px!important}
}
