:root{--green:#1aad19;--green-dark:#138a12;--ink:#353535;--muted:#777;--border:#e5e7e5;--wash:#f0f9ef;--page:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--page);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,a,label{touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}svg{width:100%;height:100%}[hidden]{display:none!important}.container{width:min(1040px,calc(100% - 48px));margin:auto}.header{background:white;border-bottom:1px solid #ebedeb}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;font-size:20px;font-weight:650;letter-spacing:-.7px}.logo{display:grid;place-items:center;width:35px;height:39px;padding:7px;background:var(--green);color:white;border-radius:9px}.nav-links{display:flex;align-items:center;gap:28px;font-size:13px}.text-button{padding:0;background:transparent;color:var(--muted)}.nav-links>a{color:#555}.small-button{background:#eef8ed;color:#178817;padding:10px 19px;border-radius:8px;font-weight:600}.converter{padding-top:48px;text-align:center}.intro-label,.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.6px;color:#888;margin:0 0 14px}.intro-label{color:#5d8b59}h1{font-size:44px;letter-spacing:-1.7px;line-height:1.15;margin:0;font-weight:650}.subtitle{font-size:16px;line-height:1.7;color:#777;margin:18px 0 28px}.dropzone{position:relative;border:1.5px dashed #8bcc84;background:#f0f9ef;border-radius:16px;min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;transition:background .2s,border-color .2s}.dropzone.dragging{background:#dff2dc;border-color:var(--green)}#file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.upload-icon{width:38px;height:38px;color:var(--green);margin-bottom:16px}.button,.secondary-button{display:inline-flex;justify-content:center;align-items:center;gap:22px;border-radius:9px;min-height:44px;padding:12px 22px;font-size:13px;font-weight:600;transition:background .18s,transform .18s}.button{background:var(--green);color:white;border:1px solid var(--green)}.button:hover{background:var(--green-dark);border-color:var(--green-dark)}.upload-button{font-size:15px;min-width:220px;min-height:49px;cursor:pointer}.secondary-button{background:white;border:1px solid #dcdedc;color:#555}.secondary-button:hover{background:#f5f7f4}.drop-title{font-size:13px;margin:13px 0 7px;color:#60725e}.small{font-size:11px}.muted{color:#888}.dropzone .small{margin:0}.demo-line{margin-top:20px;font-size:11px;color:#899286}.inline-button{background:transparent;color:#168e15;font-size:11px;padding:0 0 2px;margin-left:4px;border-bottom:1px solid #b1d6aa}.file-status{font-size:12px;color:#597854;line-height:1.5;margin:10px 0}.file-status:empty{display:none}.banks{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:24px}.banks>span{font-size:9px;font-weight:600;letter-spacing:.8px;display:flex;align-items:center;gap:7px}.pill-label{display:inline-block;font-size:9px;font-weight:500;letter-spacing:0;border:1px solid #dce4da;border-radius:5px;padding:4px 7px;color:#71806e;background:#f9fbf8;white-space:nowrap}.banks ul{list-style:none;padding:0;margin:0;display:flex;gap:24px;align-items:center;color:#666;font-size:12px;font-weight:600}.bank-note{font-size:10px;color:#999;margin:11px 0 0}.result{margin-top:28px;background:white;border:1px solid #dce9d8;border-radius:14px;padding:25px;box-shadow:0 3px 12px #243b2204}.result-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.result h2{font-size:19px;margin:0}.result .eyebrow{font-size:9px;margin-bottom:10px}.pass{display:inline-block;color:#168614;background:#edf8eb;font-size:11px;padding:6px 9px;border-radius:5px;margin-right:7px}.pass.fail{color:#a96d0d;background:#fff3d9}.result-top button{font-size:12px;color:#777;text-decoration:underline;text-underline-offset:4px}.equation{display:flex;justify-content:space-between;align-items:center;background:#f7f9f6;padding:20px;border-radius:9px;margin-top:21px;gap:12px}.equation div{display:grid;gap:8px}.equation span{font-size:11px;color:#888}.equation strong{font-size:20px;font-weight:550;font-variant-numeric:tabular-nums}.equation b{font-size:17px;font-weight:400;color:#a5ada2}.result-note{font-size:12px;color:#51844a}.disclosure{font-size:11px;color:#888;line-height:1.6}.result-actions{display:flex;align-items:center;gap:12px;margin-top:20px}.secondary-button:disabled{color:#999;background:#f6f6f6;cursor:not-allowed}.is-fail{border-color:#e7d2a7}.is-fail .result-note{color:#a57116}.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0 44px}.trust article{background:white;border:1px solid #eceeeb;border-radius:13px;padding:23px;box-shadow:0 2px 6px #243b2203}.trust-icon{display:block;width:36px;height:36px;padding:8px;border-radius:10px;margin-bottom:15px}.trust-icon svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.simple{color:#1aad19;background:#eef8eb}.checked{color:#c6952a;background:#fff6df}.private{color:#5289cb;background:#eef4fc}.trust h2{font-size:15px;margin:0 0 10px;font-weight:600}.trust p{font-size:12px;line-height:1.75;color:#888;margin:0}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:16px}.section-title .eyebrow{font-size:9px;margin-bottom:9px}.section-title h2{font-size:25px;letter-spacing:-.6px;margin:0;font-weight:600}.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tier{padding:25px;background:white;border:1px solid #e4e7e2;border-radius:14px;box-shadow:0 3px 8px #243b2203}.tier h3{font-size:16px;margin:0;font-weight:600}.tier>p{font-size:12px;color:#888;margin:10px 0 23px}.tier .price{font-size:32px;font-weight:600;letter-spacing:-.8px}.price span{font-size:12px;font-weight:400;letter-spacing:0;color:#888}.tier .allowance{color:#666;margin:19px 0 24px}.allowance>span{color:var(--green);margin-right:7px}.tier>.button,.tier>.secondary-button{width:100%;font-size:12px}.tier small{display:block;text-align:center;font-size:10px;color:#999;margin-top:12px}.featured{border-color:#7fc777;background:#f4fbf2}.tier-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}.tier-heading .pill-label{font-size:8px;background:#e7f5e3;border:0;color:#53894a}.pricing{scroll-margin-top:20px;margin-bottom:48px}footer{background:white;border-top:1px solid #e9ebe7}.footer{display:flex;justify-content:space-between;align-items:center;min-height:74px;font-size:11px;color:#999}.footer>div{display:flex;gap:24px}.footer button{font-size:11px}dialog{border:1px solid #e3e7e0;border-radius:16px;padding:32px;max-width:440px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 20px 80px #20351c20}dialog::backdrop{background:#23312160;backdrop-filter:blur(3px)}dialog h2{font-size:25px;margin:8px 0 16px}#dialog-copy{font-size:14px;line-height:1.8;color:#777;margin-bottom:25px}.close{position:absolute;right:16px;top:12px;color:#888;background:transparent;font-size:25px}:focus-visible{outline:3px solid #79bd6f;outline-offset:4px}#file:focus-visible~.upload-button{outline:3px solid #79bd6f;outline-offset:4px}#result:focus{outline:none}@media(min-width:1400px){.container{width:1080px}.converter{padding-top:58px}.dropzone{min-height:290px}}@media(max-width:760px){.container{width:calc(100% - 32px)}.nav{height:68px}.brand{font-size:18px}.nav-links{gap:15px;font-size:12px}.small-button{padding:9px 12px}.converter{padding-top:34px}h1{font-size:34px;letter-spacing:-1.2px}.subtitle{font-size:14px}.banks{flex-direction:column;gap:13px}.banks ul{gap:17px;font-size:11px;flex-wrap:wrap;justify-content:center}.trust{gap:10px;margin-bottom:32px}.trust article{padding:17px}.trust p br{display:none}.trust h2{font-size:14px}.trust p{font-size:11px}.section-title h2{font-size:22px}.tiers{gap:10px}.tier{padding:18px 14px}.tier-heading{align-items:flex-start;flex-direction:column}.tier .price{font-size:28px}.tier>p{min-height:30px;line-height:1.5}.tier>.button,.tier>.secondary-button{font-size:11px;padding:10px 6px}.result-actions{flex-wrap:wrap}.equation{padding:14px;gap:8px}.equation strong{font-size:15px}.equation span{font-size:10px}}@media(max-width:520px){.banner-detail{font-size:9px}.nav-links{gap:12px}.nav-links .text-button{display:none}.logo{width:30px;height:34px}.brand{gap:7px;font-size:17px}h1{font-size:30px}.intro-label{font-size:8px}.desktop-break{display:none}.dropzone{min-height:280px}.trust{grid-template-columns:1fr;gap:10px;margin-top:25px}.trust article{display:grid;grid-template-columns:38px 1fr;column-gap:15px;padding:18px}.trust-icon{grid-row:span 2;margin:0}.trust h2{margin:0 0 5px}.trust p{font-size:12px}.tiers{grid-template-columns:1fr;gap:13px}.tier{padding:23px}.tier>p{min-height:0;margin-bottom:16px}.tier-heading{flex-direction:row;align-items:center}.tier .price{font-size:30px}.tier>.button,.tier>.secondary-button{font-size:13px}.section-title{align-items:flex-end}.section-title h2{font-size:21px;max-width:220px}.section-title .eyebrow{font-size:8px}.result{padding:18px}.result-top{align-items:flex-start}.result h2{font-size:16px;display:flex;align-items:center;flex-wrap:wrap;gap:7px}.result-top button{font-size:10px;white-space:nowrap}.equation{display:grid;grid-template-columns:1fr 20px 1fr;row-gap:20px}.equation>b:nth-child(4){display:none}.equation strong{font-size:17px}.equation div:last-child{grid-column:3}.equation span{font-size:10px}.result-actions>.button,.result-actions>.secondary-button{width:100%}.footer{min-height:70px;font-size:10px}.footer>div{gap:17px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v3.1: restrained payment-tool palette and ledger hierarchy */
:root{--wash:#f5f8f4}

.small-button{background:#fff;border:1px solid #dcdedc;color:#555}
.converter{padding-top:45px}.subtitle{margin-bottom:28px}
.dropzone{background:var(--wash);border-color:#c4cec2;border-radius:12px}
.upload-icon{color:#7a8578}.drop-title{color:#687066}.demo-line{color:#888}
.inline-button{color:#555;border-color:#aaa}.file-status{color:#666}
.dropzone[data-state="idle"]{border-style:dashed}
.dropzone[data-state="dragging"]{background:#edf2ec;border-color:#748571;border-style:solid}
.dropzone[data-state="dragging"] .upload-icon{transform:translateY(-3px)}
.dropzone[data-state="processing"]{background:#f8f9f8;border-style:solid;border-color:#cdd2cb}
.dropzone[data-state="processing"]>.upload-icon,.dropzone[data-state="processing"]>.upload-button,.dropzone[data-state="processing"]>.drop-title,.dropzone[data-state="processing"]>.small,.dropzone[data-state="processing"]>.demo-line{display:none}
.processing-panel{width:min(360px,100%);text-align:center}.processing-panel>p:first-child{font-size:15px;font-weight:600;margin:0 0 18px}
progress{display:block;width:100%;height:6px;border:0;border-radius:8px;overflow:hidden;accent-color:#737e70;background:#e2e5e1}
progress::-webkit-progress-bar{background:#e2e5e1}progress::-webkit-progress-value{background:#737e70}progress::-moz-progress-bar{background:#737e70}
.processing-panel .small{margin-top:16px}
.banks{gap:18px}.banks ul{gap:7px;flex-wrap:wrap;justify-content:center}.banks li{background:#fff;border:1px solid #e0e2df;border-radius:8px;padding:6px 10px;font-size:11px;font-weight:500}
.pill-label{background:#fafafa;color:#777;border-color:#e0e2df}
.button,.secondary-button,.logo{border-radius:8px}
.result,.trust article,.tier,dialog{border-radius:12px}
.result{border-color:#d6dad4;box-shadow:none;padding:24px}
.pass{background:#1aad19;color:#fff;font-size:13px;border-radius:4px;padding:7px 10px}
.pass.fail{background:#a46608;color:#fff}
.equation{background:#fff;border-top:1px solid #dadeda;border-bottom:1px solid #dadeda;border-radius:0;padding:24px 0;margin-top:22px}
.equation strong{font-size:28px;letter-spacing:-.8px;font-weight:650;font-variant-numeric:tabular-nums lining-nums}
.equation span{color:#666}.equation b{color:#888}
.reconcile-strip{display:flex;justify-content:flex-end;gap:36px;padding:18px 0;border-bottom:1px solid #e5e7e5}
.reconcile-strip>div{display:grid;gap:7px}.reconcile-strip span{font-size:11px;color:#666}.reconcile-strip strong{font-size:23px;font-weight:650;font-variant-numeric:tabular-nums}
.difference strong{color:var(--green)}.is-fail .difference strong{color:#a46608}.result-note{color:#666}.is-fail .result-note{color:#96600d}
.trust-icon{border-radius:8px;background:#f3f4f3;color:#777}.allowance>span{color:#888}
.featured{border-color:#8bc685;background:#f7fbf6}.tier-heading .pill-label{background:#f7fbf6;color:#707b6d;border:1px solid #dce5d9}
@media(max-width:760px){.equation strong{font-size:21px}.banks{gap:12px}.banks ul{gap:6px}}
@media(max-width:520px){.equation strong{font-size:22px}.reconcile-strip{justify-content:space-between;gap:14px}.reconcile-strip strong{font-size:22px}.converter{padding-top:34px}.subtitle{max-width:290px;margin:18px auto 28px}}

/* v3.2 shared pages: same type, spacing and restrained shell. */
:root{--muted:#888;--companion:#07c160}
body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}footer{margin-top:auto}
a:hover{text-decoration:underline;text-underline-offset:3px}.button:hover,.secondary-button:hover,.brand:hover,.small-button:hover{text-decoration:none}
.nav-links .small-button{color:#555}.footer nav{display:flex;flex-wrap:wrap;gap:18px}.footer{gap:24px;padding-top:22px;padding-bottom:22px}
.inner{padding-top:44px;padding-bottom:48px;max-width:760px}.inner.wide{max-width:1040px}.page-heading{margin-bottom:26px}.page-heading h1{font-size:32px;letter-spacing:-.9px}.lead{color:#777;font-size:15px;line-height:1.8;margin:0 0 25px}.card{background:#fff;border:1px solid #e4e7e2;border-radius:12px;padding:28px}.form-card{max-width:520px}.form-card p{font-size:13px;line-height:1.7}.form-card .small{font-size:11px}.field{margin-bottom:20px}.field>label{display:block;font-size:13px;font-weight:600;margin-bottom:9px}input:not([type=file]):not([type=checkbox]),textarea{display:block;width:100%;font:inherit;font-size:14px;color:#353535;background:#fff;border:1px solid #d7dbd5;border-radius:8px;padding:12px;min-height:44px}textarea{resize:vertical}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#a46608!important}.error{display:block;color:#96600d;font-size:12px;line-height:1.6;margin-top:6px}.error:empty{display:none}.checkbox{display:flex!important;align-items:flex-start;gap:10px;line-height:1.7;font-weight:400!important}.checkbox input{margin:4px 0 0;accent-color:#777;width:17px;height:17px;flex-shrink:0}.text-link{text-decoration:underline;text-underline-offset:3px}.form-status{padding:16px;background:#edf8eb;color:#246d21;border:1px solid #cde5c8;border-radius:8px}.form-status:focus{outline:2px solid #777;outline-offset:3px}.prose{font-size:14px;line-height:1.85}.prose p:first-child{margin-top:0}.prose h2{font-size:18px;letter-spacing:-.2px;margin-top:24px;margin-bottom:10px}.prose h2:first-child{margin-top:0}.billing-toggle{display:flex;gap:8px;margin-bottom:24px}.billing-toggle [aria-pressed=true]{background:#e8eae7;border-color:#888;color:#353535}.inner .tier h2{font-size:16px;margin:0 0 24px}.inner .tier .price{white-space:nowrap}.inner .tier #billing-copy{font-size:11px;line-height:1.7;min-height:38px}.inner #plan-note{color:#666;line-height:1.7;font-size:12px}.bank-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.bank-card h2{font-size:18px;margin:20px 0 10px}.bank-card p{font-size:12px;color:#888;line-height:1.7}.search-field{max-width:480px}.document-placeholder{margin:24px 0;background:#fafafa;border:1px dashed #cdd2cb;padding:28px;border-radius:8px;text-align:center}.review-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px}.source-preview{font-size:12px;line-height:1.8}.source-preview h2{font-size:18px}.source-preview strong{display:block;font-size:19px;font-variant-numeric:tabular-nums}.placeholder-lines{height:130px;margin:24px 0;background:repeating-linear-gradient(to bottom,#eee 0,#eee 1px,transparent 1px,transparent 20px)}.review-editor{padding:20px;min-width:0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}caption{text-align:left;color:#888;font-size:11px;padding-bottom:18px}th{text-align:left;font-weight:600;padding:0 6px 12px}td{padding:8px 5px;border-top:1px solid #eee}td input:not([type=file]):not([type=checkbox]){font-size:12px;padding:8px;min-width:90px}td:first-child input{min-width:125px}td:nth-child(2) input{min-width:170px}.review-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.review-actions button{font-size:12px}#review-result.needs-recheck{border-color:#d6dad4}#review-result.needs-recheck .pass{background:#777;color:#fff}#review-result.needs-recheck .difference strong{color:#777}
@media(max-width:760px){.nav{height:auto;min-height:76px;gap:18px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}.nav-links{flex-wrap:wrap;gap:16px}.footer{align-items:flex-start;flex-direction:column;gap:15px}.footer nav{gap:16px}.inner{padding-top:32px}.review-grid{grid-template-columns:1fr}.source-preview .placeholder-lines{height:65px}.bank-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.banner-detail{font-size:9px}.nav-links{width:100%;justify-content:space-between;gap:10px;font-size:11px}.nav-links .small-button{padding:8px 12px}.card{padding:22px}.review-editor{padding:15px}.page-heading h1{font-size:28px}.bank-grid{grid-template-columns:1fr}.inner.wide .equation{grid-template-columns:1fr 20px 1fr}.review-actions{align-items:stretch;flex-direction:column}.review-actions .text-button{padding:12px}.inner .tier #billing-copy{min-height:0}.footer nav{line-height:1.8}}

.account-footer{display:flex;flex-wrap:wrap;gap:16px;padding-bottom:24px;color:#888;font-size:12px}.account-footer nav,.account-controls{display:flex;flex-wrap:wrap;gap:16px}.account-controls{margin-bottom:24px}.account-table{overflow-x:auto}.account-table table{width:100%;border-collapse:collapse;text-align:left}.account-table th,.account-table td{padding:14px 10px;border-bottom:1px solid #eee}.account-table caption{text-align:left;padding-bottom:12px}.account-controls [aria-pressed="true"]{border-color:#353535;background:#f5f5f5}#credit-progress{width:100%;accent-color:#888}
.account-notice{padding:14px 16px;margin:0 0 26px;border:1px solid #ddd;border-radius:8px;background:#fff;color:#666;font-size:12px}


/* ========== v3.3 modern inner pages + auth + homepage copy helpers ========== */
/* Homepage keeps existing header/converter geometry; helpers below are additive. */
.engine-line{font-size:12px;color:#666;margin:12px 0 0;line-height:1.6}
.home-accuracy{margin:8px 0 40px}.accuracy-home{padding:28px;border-radius:14px}.accuracy-home h2{font-size:20px;letter-spacing:-.4px;margin:0 0 12px;font-weight:650}.accuracy-home p{font-size:14px;line-height:1.75;color:#555;margin:0 0 12px}.accuracy-home .small{margin:0}

body.modern .modern-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid #e8ebe7;box-shadow:0 1px 0 #ffffffaa}
body.modern .inner{padding-top:56px;padding-bottom:64px}
body.modern .modern-intro{margin-bottom:32px}
body.modern .modern-intro h1{font-size:40px;letter-spacing:-1.4px;line-height:1.12;font-weight:700}
body.modern .modern-intro .lead{font-size:16px;color:#666;max-width:640px}
body.modern .card{border-radius:18px;padding:32px;border-color:#e2e6e1;box-shadow:0 8px 28px #243b2208}
body.modern .button,.secondary-button{border-radius:12px}
body.modern .small-button{border-radius:999px;padding:10px 18px}
body.modern .page-heading .eyebrow{letter-spacing:1.8px}

/* Auth (FaceSwap structure, light green skin) */
.auth-page main{display:flex;align-items:center;justify-content:center;padding:40px 0 64px;min-height:calc(100vh - 180px)}
.auth-shell{width:min(420px,100%);margin:0 auto}
.auth-card{background:#fff;border:1px solid #e2e6e1;border-radius:20px;padding:34px 30px 24px;box-shadow:0 16px 40px #243b220c;text-align:center}
.auth-card h1{font-size:24px;letter-spacing:-.6px;margin:0 0 14px;font-weight:750}
.auth-logo{display:inline-flex;margin:0 auto 14px;text-decoration:none}
.auth-logo:hover{text-decoration:none}
.auth-sub{font-size:14px;line-height:1.55;color:#666;margin:0 0 16px;text-align:center}
.auth-note,.auth-legal{font-size:12px;line-height:1.55;color:#888}
.auth-note{margin:10px 0 4px}
.auth-legal{margin:16px 0 0}
.auth-legal a{color:#178817;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.auth-google-stub{display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;gap:10px;border:1px solid #d7dbd5;border-radius:12px;background:#fff;color:#1f1f1f;font-weight:700;font-size:15px;cursor:pointer}
.auth-google-stub:hover{background:#f7f9f6}
.auth-email-btn,.auth-submit{display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;gap:10px;border-radius:12px;font-weight:700;font-size:15px}
.auth-email-btn{margin-top:8px;border:1px solid #d7dbd5;background:#f5f7f4;color:#353535;cursor:pointer}
.auth-email-btn:hover{background:#eef2ec}
.auth-form{display:grid;gap:10px;text-align:left;margin-top:4px}
.auth-field{display:grid;gap:6px;margin:0;color:#555;font-size:13px;font-weight:700}
.auth-field input,.auth-field select,select{width:100%;min-height:46px;margin:0;border:1px solid #d7dbd5;border-radius:12px;background:#fff;color:#353535;padding:0 14px;font:inherit;font-size:15px;font-weight:500}
.auth-field input:focus,.auth-field select:focus,select:focus{outline:none;border-color:#1aad19;box-shadow:0 0 0 3px rgba(26,173,25,.18)}
.auth-password{position:relative;display:block}
.auth-password input{padding-right:44px;width:100%}
.auth-eye{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:#888;padding:0;cursor:pointer}
.auth-eye:hover{color:#353535}
.auth-send{justify-self:end;border:0;background:transparent;color:#178817;font-size:13px;font-weight:700;padding:0;cursor:pointer}
.auth-send[data-tone="sent"],.auth-send[data-tone="pending"],.auth-send[data-tone="resend"]{justify-self:stretch;min-height:40px;padding:8px 12px;border-radius:12px;border:1px solid #d7dbd5;background:#f7f9f6;color:#555}
.auth-send[data-tone="sent"],.auth-send[data-tone="pending"]{cursor:not-allowed}
.auth-status{display:grid;gap:2px;margin:0;padding:12px 14px;border-radius:12px;border:1px solid #cde5c8;background:#edf8eb;text-align:left}
.auth-status strong{color:#246d21;font-size:15px;font-weight:800}
.auth-status span{color:#3d6b3a;font-size:13px;line-height:1.45}
.auth-submit{border:0;background:#1aad19;color:#fff}
.auth-submit:hover{background:#138a12}
.auth-error{color:#96600d;font-size:13px;font-weight:650;text-align:center;margin:0}
.auth-error:empty{display:none}
.auth-links{display:grid;gap:4px;text-align:center;font-size:13px}
.auth-links p{color:#666;margin:0}
.auth-links button{border:0;background:transparent;color:#178817;font-weight:700;padding:0;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.auth-back{display:inline-flex;width:36px;height:36px;margin-top:12px;align-items:center;justify-content:center;border:1px solid #e2e6e1;border-radius:10px;background:#f7f9f6;color:#555;padding:0;cursor:pointer}
.auth-back:hover{background:#eef2ec;color:#353535}
.auth-extra-link{margin:12px 0 0;font-size:13px}
.auth-success{margin-top:8px;text-align:left}

/* Subscribe modern */
.plan-block{margin-bottom:40px}
.plan-block-title{font-size:18px;letter-spacing:-.3px;margin:0 0 18px;font-weight:650}
.free-first{grid-template-columns:repeat(2,1fr)}
.tier-emphasis{border-color:#8bc685;background:#f7fbf6}
.pill-toggle{display:inline-flex;gap:4px;padding:4px;background:#ecefec;border-radius:999px;margin-bottom:20px}
.pill-toggle button{border:0;background:transparent;border-radius:999px;padding:10px 18px;font:inherit;font-size:13px;font-weight:600;color:#666;cursor:pointer}
.pill-toggle button[aria-pressed=true]{background:#fff;color:#353535;box-shadow:0 1px 4px #243b2214}
.api-tier{max-width:640px}
.faq-block details{border-top:1px solid #e8ebe7;padding:14px 0}
.faq-block details:first-of-type{border-top:0}
.faq-block summary{cursor:pointer;font-weight:650}
.faq-block p{color:#666;font-size:14px;line-height:1.7}
.accuracy-module{margin:28px 0;max-width:760px}
.accuracy-module h2{font-size:20px;margin:0 0 12px}
.accuracy-module p{color:#555;font-size:14px;line-height:1.75}

/* Contact / report */
.contact-grid,.report-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:20px;align-items:start}
.contact-aside h2{font-size:18px;margin:0 0 12px}
.contact-aside p{font-size:14px;line-height:1.75;color:#555}
.report-rows{display:grid;gap:8px;border:0;padding:0;margin:0 0 8px}
.report-rows legend{font-size:13px;font-weight:600;margin-bottom:8px}

/* Account shell */
.account-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}
.account-sidebar{padding:22px}
.account-side-nav{display:grid;gap:6px;margin-top:14px}
.account-side-nav a{display:block;padding:12px 14px;border-radius:12px;color:#555;font-weight:600;text-decoration:none}
.account-side-nav a:hover{background:#f3f6f2;text-decoration:none}
.account-side-nav a[aria-current=page]{background:#eef8eb;color:#178817}
.account-notice{margin:0;font-size:12px;color:#666;line-height:1.5}
.modern-search input{border-radius:12px;min-height:48px}
.empty-state{text-align:center;padding:36px;color:#666}
.bank-card{transition:transform .15s,box-shadow .15s}
body.modern .bank-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #243b220f;text-decoration:none}

@media(max-width:760px){
  body.modern .modern-intro h1{font-size:32px}
  .free-first{grid-template-columns:1fr}
  .contact-grid,.report-grid,.account-layout{grid-template-columns:1fr}
  .auth-card{padding:28px 18px 18px}
}
@media(max-width:520px){
  body.modern .modern-intro h1{font-size:28px}
  .home-accuracy{margin-bottom:28px}
}

/* v3.3 mobile overflow hardening */
@media(max-width:520px){
  body.modern .account-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
  body.modern .account-table table{min-width:520px}
  body.modern .account-main .card{padding:18px}
  body.modern .review-editor{overflow:hidden}
  body.modern .table-scroll{overflow-x:auto}
  .result-actions{flex-wrap:wrap}
  .result-actions .secondary-button,.result-actions .button{flex:1 1 auto}
}

/* Contain wide tables inside grid/flex children */
.account-layout,.account-main,.account-main .card,.review-grid,.review-editor{min-width:0}
body.modern .account-table{display:block;width:100%;max-width:100%;overflow-x:auto}
body.modern .account-table table{width:100%;min-width:480px}

/* QA round 2 — auth icon sizing (global svg{width:100%} blow-up) */
.auth-google-stub,
.auth-email-btn{
  gap:10px;
  min-height:46px;
  height:46px;
  padding:0 16px;
  line-height:1.2;
}
.auth-google-stub svg,
.auth-email-btn svg,
.auth-eye svg,
.auth-logo .logo svg{
  width:18px!important;
  height:18px!important;
  flex-shrink:0;
  display:block;
}
.auth-back svg{
  width:16px!important;
  height:16px!important;
  flex-shrink:0;
  display:block;
}
.auth-logo .logo{
  width:48px;
  height:48px;
  padding:12px;
  border-radius:14px;
}
.auth-logo .logo svg{
  width:24px!important;
  height:24px!important;
}

/* QA round 2 — batch plan composed column (not left-orphaned) */
.batch-compose{
  max-width:460px;
  margin:0 auto;
  display:grid;
  gap:16px;
  justify-items:center;
}
.batch-compose .pill-toggle{margin-bottom:0}
.batch-compose .tiers{
  grid-template-columns:1fr;
  width:100%;
}
.batch-compose .tier{width:100%}
.batch-compose .batch-aside{
  width:100%;
  margin:0;
  padding:18px 20px;
  border-radius:16px;
  background:#f7f9f6;
  border:1px solid #e2e6e1;
  color:#555;
  font-size:13px;
  line-height:1.7;
  text-align:left;
}
.plan-block-title{text-align:left}
.plan-block.batch-block .plan-block-title{text-align:center}
@media(max-width:760px){
  .batch-compose{max-width:100%}
}
body.modern .field .auth-password{position:relative;display:block}
body.modern .field .auth-password input{padding-right:44px;width:100%}


/* ---------- Converted results workspace (v3.3) ---------- */
.converted-workspace{
  max-width:1180px;
  width:min(1180px,calc(100% - 48px));
  padding-top:36px;
  padding-bottom:56px;
}
.converted-toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:12px;
}
.converted-heading h1{
  font-size:28px;
  letter-spacing:-.8px;
  margin:0 0 8px;
  font-weight:650;
  word-break:break-word;
}
.converted-heading .eyebrow{margin-bottom:10px}
.converted-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
  flex-shrink:0;
}
.converted-back{margin:0 0 18px}
.converted-workspace > .result{margin-top:0}
.converted-ledger{margin-top:18px;padding:18px 18px 20px}
.converted-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
#converted-table{
  width:100%;
  min-width:920px;
  border-collapse:separate;
  border-spacing:0;
  font-size:12px;
}
#converted-table thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:#f7f9f6;
  border-bottom:1px solid #dce1da;
  padding:10px 8px;
  font-size:11px;
  letter-spacing:.02em;
  color:#555;
}
#converted-table th.num,
#converted-table td.num{text-align:right}
#converted-table td{
  padding:4px 6px;
  border-bottom:1px solid #eef1ed;
  vertical-align:middle;
}
#converted-table td input:not([type=file]):not([type=checkbox]){
  width:100%;
  min-width:0;
  font-size:12px;
  padding:7px 8px;
  min-height:36px;
  border-color:transparent;
  background:transparent;
  border-radius:6px;
}
#converted-table td input:hover{
  background:#f7f9f6;
  border-color:#e5e7e5;
}
#converted-table td input:focus{
  background:#fff;
  border-color:#8bcc84;
  outline:none;
}
#converted-table td:first-child input{min-width:64px;max-width:78px;font-variant-numeric:tabular-nums}
#converted-table td:nth-child(2) input{
  min-width:280px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#converted-table td.num input{
  text-align:right;
  font-variant-numeric:tabular-nums;
  min-width:88px;
  max-width:110px;
  margin-left:auto;
}
#converted-table td.num input[readonly]{
  color:#555;
  cursor:default;
}
#converted-table td.num input[readonly]:hover{
  background:transparent;
  border-color:transparent;
}
.converted-table-actions{margin-top:16px}
#converted-result.needs-recheck{border-color:#d6dad4}
#converted-result.needs-recheck .pass{background:#777;color:#fff}
#converted-result.needs-recheck .difference strong{color:#777}
@media(max-width:760px){
  .converted-workspace{width:calc(100% - 32px);padding-top:28px}
  .converted-toolbar{flex-direction:column;align-items:stretch}
  .converted-actions{justify-content:flex-start}
  .converted-heading h1{font-size:22px}
}
/* Live job: don't flash the Wells sample ledger before /api/jobs returns. */
html.live-job .converted-heading,
html.live-job .converted-actions,
html.live-job #converted-result,
html.live-job .converted-ledger{display:none}
html.live-job.is-ready .converted-heading,
html.live-job.is-ready .converted-actions,
html.live-job.is-ready #converted-result,
html.live-job.is-ready .converted-ledger{display:block}
html.live-job.is-ready .converted-toolbar{display:flex}
html.live-job.is-ready .converted-actions{display:flex}

@media(max-width:520px){
  .converted-workspace{width:calc(100% - 24px)}
  .converted-actions .button,
  .converted-actions .secondary-button{flex:1 1 auto}
  .converted-ledger{padding:14px}
}

.google-continue{width:100%;background:#fff;color:#222;border:1px solid #dadce0;box-shadow:0 1px 2px #00000014}
.google-continue:hover{background:#f7f8f7;border-color:#c6c9c4}
#google-button-host{width:100%;min-height:44px;display:flex;justify-content:center;align-items:center}
#google-button-host > div{width:100%!important;display:flex;justify-content:center}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:#999;font-size:12px}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:#e4e7e2}
.auth-divider span{white-space:nowrap}
.auth-form .field{display:grid;gap:6px;font-size:13px;color:#444;text-align:left}
.auth-form .field input{width:100%;border:1px solid #d7dbd5;border-radius:10px;padding:11px 12px;font:inherit;background:#fff}
.auth-form .field input:focus{outline:2px solid #79bd6f;outline-offset:1px;border-color:#9ccf94}
.auth-email-submit{width:100%;margin-top:4px}
.auth-error:empty{display:none}
.auth-error{color:#b42318;font-size:13px;margin:10px 0 0;text-align:left}

/* 0.5.6 pricing duo + why-choose */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pricing-hero .lead{max-width:52rem;margin-left:auto;margin-right:auto}
.pricing-compare{margin:8px 0 28px}
.pricing-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.pricing-card{display:flex;flex-direction:column;height:100%;text-align:left}
.pricing-card .tier-blurb{min-height:3.2em;color:#666;font-size:13px;line-height:1.55;margin:8px 0 16px}
.pricing-card .feature-list{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px;flex:1}
.pricing-card .feature-list li{position:relative;padding-left:22px;font-size:13px;line-height:1.5;color:#444}
.pricing-card .feature-list li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700}
.pricing-card .button,.pricing-card .secondary-button{width:100%;margin-top:auto}
.pricing-card .savings{font-size:12px;color:#178817;font-weight:650;margin:0 0 12px}
.pricing-api-note{font-size:13px;color:#666;line-height:1.55;margin:18px 0 0;text-align:center}
.why-choose-strip{margin:24px 0;padding:22px 24px}
.why-choose-strip h2{font-size:18px;margin:0 0 10px}
.why-choose-strip p{margin:0;font-size:14px;line-height:1.65;color:#555}
.why-choose{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0 28px;text-align:left}
.why-choose-heading{grid-column:1/-1;margin-bottom:4px}
.why-choose article{background:white;border:1px solid #eceeeb;border-radius:13px;padding:23px;box-shadow:0 2px 6px #243b2203}
.why-choose h3{font-size:15px;margin:0 0 10px;font-weight:650;letter-spacing:-.2px;line-height:1.35}
.why-choose p{font-size:13px;line-height:1.7;color:#666;margin:0}
.auth-switch{margin:14px 0 0;font-size:13px;color:#666}
.auth-switch-btn{background:transparent;border:0;padding:0;color:#178817;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.pill-toggle{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#eef3ec;margin:0 auto 18px;width:fit-content}
.pill-toggle button{border:0;background:transparent;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:650;color:#555;cursor:pointer}
.pill-toggle button[aria-pressed="true"]{background:#fff;color:#178817;box-shadow:0 1px 3px #243b2214}
@media(max-width:760px){
  .pricing-duo,.why-choose{grid-template-columns:1fr}
  .pricing-card .tier-blurb{min-height:0}
}

/* 0.5.7 auth modal + multi-file */
body.auth-modal-open{overflow:hidden}
.auth-modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px}
.auth-modal[hidden]{display:none!important}
.auth-backdrop{position:absolute;inset:0;border:0;background:#24312166;cursor:pointer;backdrop-filter:blur(4px)}
.auth-modal .auth-card{position:relative;z-index:1;width:min(420px,100%);max-height:min(92vh,760px);overflow:auto;background:#fff;border:1px solid #e2e6e1;border-radius:20px;padding:34px 30px 24px;box-shadow:0 24px 60px #243b2230;text-align:center}
.auth-modal .auth-card:focus{outline:none}
.auth-modal .auth-card h2{margin:0 0 14px;font-size:24px;font-weight:750;letter-spacing:-.4px}
.auth-close{position:absolute;top:14px;right:14px;display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid #e2e6e1;border-radius:10px;background:#f7f9f6;color:#666;padding:0;cursor:pointer}
.auth-close:hover{background:#eef2ec;color:#353535}
.auth-google{position:relative;min-height:44px;margin-top:4px;width:100%}
.auth-google > div{width:100%!important;display:flex;justify-content:center}
.auth-links{margin-top:8px;font-size:13px;color:#666}
.auth-links button{background:transparent;border:0;padding:0;color:#178817;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.auth-back{margin-top:12px;border:0;background:transparent;color:#666;font-size:13px;font-weight:650;cursor:pointer}
.auth-back:hover{color:#178817}
.batch-actions{display:grid;gap:10px;margin:18px 0 12px}
.batch-actions .button,.batch-actions .secondary-button{width:100%}
.batch-context{margin:12px auto 0;max-width:52rem;padding:12px 16px;border-radius:12px;background:#edf8eb;border:1px solid #cde5c8;color:#246d21;font-size:14px;line-height:1.55;text-align:left}
.file-list{width:min(420px,100%);margin:14px auto 0;text-align:left}
.file-list-count{margin:0 0 8px;font-size:12px;font-weight:650;color:#555}
.file-list-items{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.file-list-items li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #e2e6e1;border-radius:10px;background:#fff;font-size:12px}
.file-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#444}
.file-remove{border:0;background:transparent;color:#178817;font-size:12px;font-weight:650;cursor:pointer;flex:0 0 auto}
.convert-row{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px;flex-wrap:wrap}
.convert-row .button[hidden],.convert-row .text-button[hidden]{display:none!important}
@media(max-width:760px){
  .nav-links{flex-wrap:wrap;justify-content:flex-end;gap:10px 14px;max-width:70%}
  .nav-links a,.nav-links .small-button{font-size:12px}
}
.why-primary{border-color:#7fc777;background:#f4fbf2}
.why-primary h3{color:#138a12}
