@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@600;700;800&display=swap');
:root{--bg:#f7f7fb;--surface:#fff;--surface-2:#f0eff8;--text:#17152b;--muted:#6d6a7f;--line:#e7e5ef;--primary:#6848ff;--primary-2:#8b5cff;--accent:#00c9a7;--shadow:0 24px 70px rgba(42,31,89,.13);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.55;overflow-x:hidden}body.dark{--bg:#0d0c14;--surface:#17151f;--surface-2:#211e2c;--text:#f7f5ff;--muted:#aaa5bd;--line:#302c3d;--shadow:0 28px 80px rgba(0,0,0,.35)}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.hidden{display:none!important}.container{width:min(1180px,calc(100% - 40px));margin:auto}.ambient{position:fixed;z-index:-1;border-radius:50%;filter:blur(90px);opacity:.18}.ambient.a{width:430px;height:430px;background:#7b5cff;top:-180px;right:-100px}.ambient.b{width:360px;height:360px;background:#21d5b5;left:-170px;top:480px}
.header{height:76px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:10px;font:800 20px Manrope}.brand b{color:var(--primary)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 10px 25px rgba(104,72,255,.3)}nav{display:flex;gap:26px;align-items:center}nav a{font-size:14px;font-weight:600;color:var(--muted)}nav a:hover,nav a.active{color:var(--primary)}.header-actions{display:flex;align-items:center;gap:12px}.icon-button,.menu-button{border:1px solid var(--line);background:var(--surface);color:var(--text);width:40px;height:40px;border-radius:12px;cursor:pointer}.menu-button{display:none}.login-link{font-size:14px;font-weight:600}.button{border:0;border-radius:14px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:750;cursor:pointer;transition:.25s}.button:hover{transform:translateY(-2px)}.button.primary{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 14px 30px rgba(104,72,255,.25)}.button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--line)}.button.white{background:#fff;color:#34205e}.button.small{padding:10px 15px;border-radius:12px;font-size:13px}.button.xl{padding:17px 25px;border-radius:17px;font-size:16px}.button.wide{width:100%}
.home-hero{min-height:720px;display:grid;grid-template-columns:1fr 1.04fr;align-items:center;gap:68px;padding-top:70px;padding-bottom:90px}.eyebrow,.section-heading>span,.panel-label{font-weight:800;font-size:12px;letter-spacing:.12em;color:var(--primary);text-transform:uppercase}.eyebrow{display:inline-flex;align-items:center;gap:9px;background:color-mix(in srgb,var(--primary) 9%,transparent);padding:8px 12px;border-radius:999px}.eyebrow i{width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 5px rgba(0,201,167,.12)}h1,h2,h3{font-family:Manrope;margin-top:0}.hero-copy h1,.tools-hero h1,.pricing-hero h1{font-size:clamp(44px,5.2vw,74px);line-height:1.02;letter-spacing:-.05em;margin:22px 0}.hero-copy h1 span,.tools-hero h1 span,.pricing-hero h1 span{background:linear-gradient(100deg,var(--primary),#b054e8);-webkit-background-clip:text;color:transparent}.hero-copy>p{font-size:18px;color:var(--muted);max-width:580px}.hero-buttons{display:flex;gap:12px;margin:32px 0 22px}.trust{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:13px}.editor-promo{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);overflow:visible;transform:perspective(1200px) rotateY(-4deg) rotateX(2deg)}.window-bar{height:42px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:7px;padding:0 14px}.window-bar span{width:9px;height:9px;border-radius:50%;background:#ff6d6d}.window-bar span:nth-child(2){background:#f3bf4f}.window-bar span:nth-child(3){background:#49ca72}.window-bar em{font-style:normal;font-size:11px;color:var(--muted);margin-left:10px}.promo-toolbar{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line)}.promo-toolbar>div{display:flex;gap:14px;color:var(--muted);font-size:11px}.promo-toolbar button{border:0;background:var(--primary);color:#fff;border-radius:9px;padding:8px 12px;font-weight:700}.promo-workspace{height:390px;background:var(--surface-2);display:grid;grid-template-columns:82px 1fr 120px;gap:18px;padding:18px}.promo-workspace aside{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:10px}.promo-workspace small{font-size:8px;color:var(--muted)}.thumb{height:75px;background:#e9e7ef;border-radius:5px;margin-top:10px;border:2px solid transparent}.thumb.active{border-color:var(--primary)}.paper{width:80%;height:340px;margin:auto;background:#fff;box-shadow:0 12px 30px rgba(28,24,47,.12);padding:42px 32px;position:relative}.paper-title{width:45%;height:17px;background:#25213a;border-radius:3px;margin-bottom:25px}.paper-line{height:7px;background:#dedce5;margin:13px 0}.paper-line.w80{width:80%}.paper-line.w70{width:70%}.paper-line.w50{width:50%}.edit-box{border:2px solid var(--primary);padding:12px;margin:24px -4px;position:relative;color:#28243b;font-size:13px}.edit-box i{position:absolute;width:6px;height:6px;background:#fff;border:2px solid var(--primary)}.edit-box i:nth-of-type(1){left:-5px;top:-5px}.edit-box i:nth-of-type(2){right:-5px;top:-5px}.edit-box i:nth-of-type(3){left:-5px;bottom:-5px}.edit-box i:nth-of-type(4){right:-5px;bottom:-5px}.properties label{display:block;font-size:8px;color:var(--muted);margin:15px 0}.properties label div{color:var(--text);background:var(--surface-2);padding:6px;margin-top:4px;border-radius:5px}.float-note{position:absolute;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px rgba(30,24,60,.15);font-weight:700;font-size:12px}.float-note.top{right:-32px;top:85px}.float-note.bottom{left:-40px;bottom:45px}
.quick-tools{padding:90px 0}.section-heading.row{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.section-heading h2{font-size:38px;margin:7px 0}.section-heading p{color:var(--muted)}.section-heading>a{color:var(--primary);font-weight:700}.tool-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tool-card-grid.compact{grid-template-columns:repeat(4,1fr)}.tool-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:22px;display:flex;align-items:center;text-align:left;gap:15px;color:var(--text);cursor:pointer;transition:.25s;min-height:118px}.tool-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(48,37,90,.1);border-color:color-mix(in srgb,var(--primary) 40%,var(--line))}.tool-card.featured{background:linear-gradient(145deg,var(--primary),#8054ed);color:#fff;border:0}.tool-card i{font-style:normal;display:grid;place-items:center;min-width:44px;height:44px;border-radius:13px;background:var(--surface-2);font-weight:800}.tool-card.featured i{background:rgba(255,255,255,.17)}.tool-card h3{font-size:16px;margin:0 0 4px}.tool-card p{font-size:12px;color:var(--muted);margin:0}.tool-card.featured p{color:rgba(255,255,255,.75)}.tool-card>b{margin-left:auto}.tool-card em{font-size:10px;font-style:normal;color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,transparent);padding:5px 8px;border-radius:999px;margin-left:auto}.more-tools-banner{margin-top:22px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between}.more-tools-banner span,.conversion-card span{color:var(--primary);font-size:11px;font-weight:800;letter-spacing:.12em}.more-tools-banner h3{font-size:23px;margin:5px 0}.more-tools-banner p{margin:0;color:var(--muted)}
.steps-section{padding:100px 0;background:var(--surface)}.section-heading.center{text-align:center;margin-bottom:40px}.section-heading.center h2{font-size:40px;margin:8px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.steps article{padding:30px;border:1px solid var(--line);border-radius:22px;position:relative}.steps article>b{position:absolute;right:22px;top:18px;color:var(--line);font-size:32px}.steps article>i{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-style:normal;font-size:20px}.steps h3{margin:20px 0 7px}.steps p{color:var(--muted);margin:0}.conversion-card{margin-top:100px;margin-bottom:100px;padding:52px;background:linear-gradient(125deg,#4d2cc9,#8c57f0);color:#fff;border-radius:30px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 30px 70px rgba(86,54,190,.3)}.conversion-card h2{font-size:36px;margin:7px 0}.conversion-card p{margin:0;color:rgba(255,255,255,.76)}
.footer{border-top:1px solid var(--line);padding:55px 0;background:var(--surface)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:30px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-grid p,.footer-grid a,.footer-grid span{font-size:13px;color:var(--muted)}
/* Editor */
.editor-page{height:100vh;overflow:hidden}.editor-header{position:relative}.document-name{font-weight:650;color:var(--muted);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-app{height:calc(100vh - 76px);display:grid;grid-template-columns:82px 310px 1fr}.editor-tools{background:#16131f;color:#aaa2bb;padding:14px 10px;display:flex;flex-direction:column;gap:7px}.editor-tool{border:0;background:transparent;color:inherit;border-radius:13px;padding:11px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;cursor:pointer}.editor-tool i{font-style:normal;font-size:19px;font-weight:700}.editor-tool.active,.editor-tool:hover{background:#2a2439;color:#fff}.editor-panel{background:var(--surface);border-right:1px solid var(--line);padding:24px;overflow:auto}.panel-section{display:none}.panel-section.active{display:block}.panel-section h2{font-size:24px;margin:7px 0}.panel-section>p,.helper{color:var(--muted);font-size:12px}.panel-section label,.tool-dialog label{display:block;font-size:12px;font-weight:700;margin:16px 0}.panel-section input,.panel-section textarea,.panel-section select,.tool-dialog input,.tool-dialog select{width:100%;border:1px solid var(--line);background:var(--surface-2);color:var(--text);padding:11px;border-radius:10px;margin-top:6px;outline:none}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upload-card{border:1.5px dashed color-mix(in srgb,var(--primary) 48%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--primary) 4%,var(--surface));padding:30px 16px;text-align:center;display:flex!important;align-items:center;flex-direction:column;cursor:pointer}.upload-card i{font-style:normal;font-size:30px;color:var(--primary)}.upload-card span{font-size:11px;color:var(--muted);font-weight:500}.file-information>div{display:flex;justify-content:space-between;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px;margin-top:10px;font-size:11px}.angle-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.angle-buttons button{border:1px solid var(--line);background:var(--surface-2);color:var(--text);padding:14px;border-radius:10px;cursor:pointer}.angle-buttons button.selected{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.editor-canvas{background:#d9d8df;position:relative;overflow:hidden}.dark .editor-canvas{background:#25232c}.canvas-toolbar{height:52px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 15px;font-size:12px}.canvas-toolbar>div{display:flex;align-items:center;gap:8px}.canvas-toolbar>div button{border:1px solid var(--line);background:var(--surface-2);color:var(--text);width:30px;height:30px;border-radius:8px}.empty-editor{height:calc(100% - 52px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-icon{width:76px;height:88px;background:#fff;border-radius:10px;display:grid;place-items:center;color:var(--primary);font-weight:800;box-shadow:0 20px 40px rgba(0,0,0,.12);margin-bottom:20px}.empty-editor h1{margin:0;font-size:32px}.empty-editor p{color:#666273}.empty-editor>div:last-child{display:flex;gap:20px;font-size:11px;color:#6c6876;margin-top:22px}.preview-wrap{height:calc(100% - 52px);overflow:auto;text-align:center;padding:30px}.preview-wrap iframe{width:100%;height:100%;min-height:900px;border:0;background:#fff;box-shadow:0 16px 40px rgba(0,0,0,.15);transition:.2s}.editor-loading{position:absolute;inset:52px 0 0;background:rgba(20,18,28,.68);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;gap:15px;z-index:5}.editor-loading span{width:42px;height:42px;border:4px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
/* Modal */
.modal-backdrop,.tool-modal{position:fixed;inset:0;background:rgba(13,10,24,.72);backdrop-filter:blur(9px);display:grid;place-items:center;z-index:100;padding:20px}.trial-modal,.tool-dialog{background:var(--surface);border:1px solid var(--line);border-radius:26px;width:min(520px,100%);padding:36px;box-shadow:var(--shadow);position:relative;text-align:center}.modal-close{position:absolute;right:16px;top:14px;border:0;background:var(--surface-2);color:var(--text);width:34px;height:34px;border-radius:50%;font-size:20px;cursor:pointer}.trial-icon{width:58px;height:58px;background:#e8fff9;color:#00a989;border-radius:50%;display:grid;place-items:center;font-size:24px;margin:0 auto 16px}.trial-modal h2{font-size:30px;margin:7px}.trial-modal>p,.trial-modal>small{color:var(--muted);font-size:13px}.trial-benefits{display:grid;grid-template-columns:1fr 1fr;gap:9px;text-align:left;margin:22px 0}.trial-benefits span{background:var(--surface-2);padding:10px;border-radius:10px;font-size:11px}.plan-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.plan-choice button,.billing-switch button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;padding:12px;cursor:pointer}.plan-choice button.selected,.billing-switch button.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.plan-choice b,.plan-choice span{display:block}.plan-choice span{font-size:11px;color:var(--muted)}.toast{position:fixed;right:20px;bottom:20px;background:#171425;color:#fff;padding:14px 18px;border-radius:13px;transform:translateY(100px);opacity:0;transition:.3s;z-index:200;font-size:13px}.toast.show{transform:none;opacity:1}
/* Tools */
.tools-hero,.pricing-hero{padding-top:90px;padding-bottom:45px;text-align:center}.tools-hero>p,.pricing-hero>p{color:var(--muted);font-size:17px}.search-box{max-width:620px;margin:35px auto 0;background:var(--surface);border:1px solid var(--line);box-shadow:0 16px 42px rgba(37,28,75,.08);border-radius:17px;display:flex;align-items:center;padding:0 18px}.search-box span{font-size:24px;color:var(--muted)}.search-box input{border:0;background:transparent;color:var(--text);width:100%;padding:17px;outline:none}.tools-layout{display:grid;grid-template-columns:200px 1fr;gap:45px;padding-bottom:100px}.category-nav{position:sticky;top:100px;align-self:start;display:flex;flex-direction:column;gap:7px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px}.category-nav b{padding:8px}.category-nav a{padding:9px;border-radius:9px;color:var(--muted);font-size:13px}.category-nav a:hover{background:var(--surface-2);color:var(--primary)}.tool-category{margin-bottom:55px}.category-heading{display:flex;align-items:center;gap:14px;margin-bottom:19px}.category-heading>i{font-style:normal;width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--primary) 9%,transparent);color:var(--primary);font-size:20px}.category-heading span{color:var(--primary);font-size:10px;font-weight:800;letter-spacing:.12em}.category-heading h2{margin:2px 0;font-size:27px}.tool-dialog{text-align:left}.tool-dialog>p{color:var(--muted)}.tool-dialog .upload-card{text-align:center;margin:20px 0}.status{font-size:12px;color:var(--primary);margin-top:12px}
/* Pricing/dashboard/legal */
.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,390px));justify-content:center;gap:22px;margin-top:45px;padding-bottom:100px;text-align:left}.price-card{background:var(--surface);border:1px solid var(--line);border-radius:25px;padding:32px;position:relative}.price-card.featured{border:2px solid var(--primary);box-shadow:0 24px 65px rgba(104,72,255,.17)}.popular{position:absolute;right:20px;top:-13px;background:var(--primary);color:#fff;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:800}.price-card>span{font-size:10px;color:var(--primary);font-weight:800;letter-spacing:.1em}.price-card h2{font-size:29px;margin:8px 0}.price-card>p{color:var(--muted)}.price{margin:25px 0}.price b{font-size:36px}.price small{color:var(--muted);margin-left:6px}.price-card ul{list-style:none;padding:0;margin:25px 0}.price-card li{padding:7px 0;font-size:13px}.billing-switch{display:flex;background:var(--surface-2);padding:4px;border-radius:12px}.billing-switch button{flex:1;border:0}.dashboard{padding:70px 0}.dashboard-head{display:flex;justify-content:space-between;align-items:center}.dashboard-head h1{font-size:42px;margin:13px 0 4px}.dashboard-head p{color:var(--muted)}.avatar{width:58px;height:58px;border-radius:18px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800}.dashboard-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:16px;margin:35px 0}.account-card,.history-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px}.account-card span{font-size:10px;color:var(--muted);font-weight:800}.account-card>b{font-size:34px;display:block;margin-top:9px}.account-card p{color:var(--muted);font-size:12px}.plan-card{background:linear-gradient(135deg,#4e31c8,#8958ef);color:#fff}.plan-card span,.plan-card p{color:rgba(255,255,255,.72)}.history-card{display:flex;justify-content:space-between}.history-card p{color:var(--muted)}.empty-history{color:var(--muted);align-self:center}.legal-page{padding:90px 0;max-width:800px}.legal-page h1{font-size:52px;margin:15px 0}.legal-page>p{color:var(--muted)}.legal-page article{background:var(--surface);border:1px solid var(--line);padding:35px;border-radius:22px;margin-top:30px}.legal-page article p{color:var(--muted)}
@media(max-width:1000px){nav{display:none;position:absolute;top:76px;left:20px;right:20px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}nav.open{display:flex}.menu-button{display:block}.login-link{display:none}.home-hero{grid-template-columns:1fr;padding-top:50px}.hero-copy{text-align:center}.hero-copy>p{margin-inline:auto}.hero-buttons,.trust{justify-content:center}.editor-promo{max-width:720px;margin:auto;transform:none}.tool-card-grid.compact{grid-template-columns:repeat(2,1fr)}.editor-app{grid-template-columns:70px 270px 1fr}.tools-layout{grid-template-columns:1fr}.category-nav{display:none}.dashboard-grid{grid-template-columns:1fr 1fr}.plan-card{grid-column:span 2}}
@media(max-width:700px){.container{width:min(100% - 26px,1180px)}.header{height:68px;padding:0 13px}.header-actions .button{display:none}.home-hero{min-height:auto;padding:55px 0}.hero-copy h1,.tools-hero h1,.pricing-hero h1{font-size:43px}.hero-buttons{flex-direction:column}.promo-workspace{grid-template-columns:64px 1fr;padding:10px}.properties{display:none}.paper{width:95%}.float-note{display:none}.tool-card-grid,.tool-card-grid.compact{grid-template-columns:1fr}.section-heading.row,.more-tools-banner,.conversion-card{align-items:flex-start;flex-direction:column;gap:22px}.steps{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.editor-page{overflow:auto}.editor-header .document-name,.editor-header .secondary{display:none}.editor-app{height:auto;min-height:calc(100vh - 68px);grid-template-columns:1fr}.editor-tools{position:sticky;top:68px;z-index:20;flex-direction:row;justify-content:space-around;padding:6px}.editor-tool{flex:1}.editor-panel{border-right:0;border-bottom:1px solid var(--line)}.editor-canvas{min-height:620px}.canvas-toolbar #editorStatus{display:none}.trial-benefits{grid-template-columns:1fr}.tools-hero,.pricing-hero{padding-top:55px}.pricing-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.plan-card{grid-column:auto}.history-card{flex-direction:column}.login-link{display:none}}

/* PDFVora Pro upgrades */
.tools-pro-button{position:relative;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));color:var(--text);box-shadow:0 14px 34px rgba(67,45,160,.12);padding:10px 14px!important;text-align:left}.tools-pro-button:hover{border-color:var(--primary);box-shadow:0 18px 42px rgba(104,72,255,.2)}.tools-pro-button>span:nth-child(2){display:flex;flex-direction:column;line-height:1.15}.tools-pro-button small{font-size:9px;color:var(--muted);font-weight:600;margin-top:3px}.tools-pro-button em{font-style:normal;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-size:9px;padding:5px 7px;border-radius:999px}.tools-pro-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 8px 18px rgba(104,72,255,.24)}.tools-hub-cta{min-width:310px;justify-content:flex-start;background:linear-gradient(135deg,#17142a,#2d2258);color:#fff;border:1px solid rgba(255,255,255,.12);padding:14px 17px}.tools-hub-cta>span:nth-child(2){display:flex;flex-direction:column;text-align:left}.tools-hub-cta small{color:rgba(255,255,255,.6);font-size:10px}.tools-hub-cta strong{margin-left:auto;font-size:20px}.pro-editor-header{background:rgba(19,16,30,.96);color:#fff;border-bottom-color:#2b2538}.pro-editor-header .brand{color:#fff}.document-center{text-align:center}.save-state{display:flex;justify-content:center;align-items:center;gap:6px;color:#9990ad;font-size:10px}.save-state i{width:6px;height:6px;border-radius:50%;background:#38d39f}.save-state i.busy{background:#ffbd59;animation:pulse 1s infinite}.history-btn{width:34px;height:34px;border:1px solid #393044;background:#211c2d;color:#d9d2e5;border-radius:10px}.editor-more{color:#fff;background:#211c2d;border-color:#44375c;box-shadow:none}.pro-layout{grid-template-columns:82px 338px 1fr}.analysis-card{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.analysis-card>div{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}.analysis-card span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase}.analysis-card b{font-size:13px}.segmented{display:flex;background:var(--surface-2);border-radius:11px;padding:4px;margin:15px 0}.segmented button{flex:1;border:0;background:transparent;color:var(--muted);padding:9px;border-radius:8px;font-size:11px;font-weight:700}.segmented button.active{background:var(--surface);color:var(--primary);box-shadow:0 4px 12px rgba(0,0,0,.08)}.check-row{display:flex!important;align-items:center;gap:8px;font-weight:500!important}.check-row input{width:auto!important;margin:0!important}.result-box{font-size:11px;color:var(--muted);margin-top:10px}.format-actions,.signature-actions{display:flex;gap:8px;margin:12px 0}.format-actions button,.signature-actions button,.signature-actions label{border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:9px;padding:8px 13px;margin:0;font-size:12px}.upload-card.mini{padding:18px}.signature-actions label{cursor:pointer}.coordinate-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.coordinate-grid label{margin:5px 0}.button.danger{background:#e94f64;color:#fff}.more-tool-link{margin-top:auto;background:linear-gradient(145deg,#392874,#6745d6)!important;color:#fff!important}.pro-canvas-toolbar{height:58px}.page-navigation,.zoom-controls{display:flex;align-items:center;gap:8px}.page-navigation button,.zoom-controls button{border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:8px;height:31px;min-width:31px}.zoom-controls #fitPage{padding:0 9px}.editor-panel::-webkit-scrollbar{width:7px}.editor-panel::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px}#signatureCanvas{width:100%;height:130px;border:1px dashed color-mix(in srgb,var(--primary) 42%,var(--line));background:#fff;border-radius:13px;touch-action:none}
@keyframes pulse{50%{opacity:.35}}
@media(max-width:1100px){.pro-layout{grid-template-columns:70px 295px 1fr}.editor-more{display:none!important}}
@media(max-width:700px){.tools-hub-cta{min-width:0;width:100%}.pro-layout{grid-template-columns:1fr}.document-center{display:none}.analysis-card{grid-template-columns:1fr 1fr 1fr}}

/* Direct text editing layer */
.preview-wrap{display:flex;align-items:flex-start;justify-content:center}.pdf-page-stage{position:relative;display:inline-block;background:#fff;box-shadow:0 18px 50px rgba(18,15,28,.22);line-height:0;transform-origin:top center}.pdf-page-stage canvas{display:block;max-width:none}.detected-text-layer{position:absolute;inset:0;pointer-events:none}.text-block-hit{position:absolute;pointer-events:auto;border:1px solid rgba(104,72,255,.38);background:rgba(104,72,255,.035);border-radius:2px;cursor:text;transition:border-color .12s,background .12s,box-shadow .12s;padding:0;margin:0;min-width:2px;min-height:2px}.text-block-hit:hover{border-color:#6848ff;background:rgba(104,72,255,.12);box-shadow:0 0 0 2px rgba(104,72,255,.12)}.text-block-hit.selected{border:2px solid #6848ff;background:rgba(104,72,255,.16);box-shadow:0 0 0 3px rgba(104,72,255,.13);z-index:3}.detected-text-layer.boxes-hidden .text-block-hit{border-color:transparent;background:transparent}.detected-text-layer.boxes-hidden .text-block-hit:hover{border-color:#6848ff;background:rgba(104,72,255,.1)}.direct-status{display:flex;flex-direction:column;gap:4px;padding:13px;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;margin:14px 0}.direct-status b{font-size:13px}.direct-status span{font-size:11px;color:var(--muted)}.selected-text-card{border:1px solid color-mix(in srgb,var(--primary) 45%,var(--line));border-radius:15px;padding:14px;background:color-mix(in srgb,var(--primary) 4%,var(--surface));margin-top:14px}.selected-kicker{font-size:10px;font-weight:800;color:var(--primary);letter-spacing:.08em}.selected-position{font-size:10px;color:var(--muted);margin:8px 0 13px}.selected-text-card .button+.button{margin-top:8px}.direct-help{margin-top:15px;padding:12px;border-radius:12px;background:var(--surface-2);display:flex;flex-direction:column;gap:3px;font-size:11px}.direct-help span{color:var(--muted)}.direct-toggle{margin-top:18px!important}
@media(max-width:900px){.pdf-page-stage{max-width:100%}.preview-wrap{padding:16px}.editor-app{grid-template-columns:68px 270px 1fr}}

/* PDFVora live visual editing */
.text-block-hit{position:absolute;border:1px solid rgba(111,66,193,.24);background:rgba(111,66,193,.025);padding:0;margin:0;cursor:pointer;box-sizing:border-box;overflow:visible;min-width:4px;min-height:4px;color:transparent;font-family:Arial,sans-serif;line-height:1.05;text-align:left;z-index:4}
.text-block-hit:hover{border-color:rgba(122,72,255,.9);background:rgba(122,72,255,.08)}
.text-block-hit.selected{border:2px solid #7a48ff;background:#fff;color:#111;box-shadow:0 8px 28px rgba(54,27,120,.22);z-index:20;cursor:move;overflow:visible}
.text-block-hit.live-editing{cursor:text;outline:none;white-space:pre-wrap;overflow:visible}
.text-block-hit .live-text{display:none;width:100%;height:100%;min-width:100%;min-height:100%;padding:2px 3px;box-sizing:border-box;outline:none;white-space:pre-wrap;overflow:visible;color:inherit;background:#fff}
.text-block-hit.selected .live-text{display:block}
.text-block-hit .live-toolbar{display:none;position:absolute;left:0;top:-38px;height:32px;align-items:center;gap:4px;background:#171222;border:1px solid rgba(255,255,255,.16);border-radius:9px;padding:4px;box-shadow:0 8px 24px rgba(0,0,0,.28);white-space:nowrap;z-index:50}
.text-block-hit.selected .live-toolbar{display:flex}
.live-toolbar button{height:24px;border:0;border-radius:6px;padding:0 8px;background:#302844;color:#fff;font-size:11px;cursor:pointer}
.live-toolbar button:hover{background:#7450f6}
.live-toolbar .live-save{background:#7450f6;font-weight:700}
.live-toolbar .live-delete{background:#a83b55}
.live-drag-handle{cursor:grab;font-size:14px;padding:0 7px!important}.live-drag-handle:active{cursor:grabbing}
.live-resize-handle{display:none;position:absolute;width:13px;height:13px;right:-8px;bottom:-8px;border-radius:3px;background:#7a48ff;border:2px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.28);cursor:nwse-resize;z-index:51}
.text-block-hit.selected .live-resize-handle{display:block}
.live-size-handle{display:none;position:absolute;width:13px;height:13px;right:-8px;top:-8px;border-radius:50%;background:#fff;border:3px solid #7a48ff;cursor:ns-resize;z-index:51}
.text-block-hit.selected .live-size-handle{display:block}
.detected-text-layer.boxes-hidden .text-block-hit:not(.selected){border-color:transparent;background:transparent}
.live-edit-banner{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,rgba(116,80,246,.13),rgba(116,80,246,.04));border:1px solid rgba(116,80,246,.2);font-size:12px;line-height:1.4;margin-bottom:12px}
.live-edit-banner b{display:block;color:#6d42df}.live-edit-banner span{display:block;color:var(--muted,#69647a)}
@media(max-width:760px){.text-block-hit .live-toolbar{top:auto;bottom:calc(100% + 6px);transform:scale(.92);transform-origin:left bottom}}


/* PDFVora Stability Layer */
#pdfPageStage {
  contain: layout paint style;
  isolation: isolate;
}
#detectedTextLayer {
  contain: layout paint style;
  touch-action: none;
}
.text-block-hit {
  contain: layout paint style;
  transform: translateZ(0);
}
.text-block-hit:not(.selected):not(.live-editing) {
  will-change: auto;
}
.text-block-hit.selected,
.text-block-hit.live-editing {
  will-change: left, top, width, height;
}
.live-text {
  contain: content;
  overflow: hidden;
}
.pdfvora-operation-busy .editor-main {
  cursor: progress;
}
.pdfvora-operation-busy .text-block-hit {
  pointer-events: none;
}
.pdfvora-operation-busy .live-toolbar {
  opacity: .55;
}
button:disabled {
  cursor: wait;
  opacity: .55;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

/* ===== PDFVora Object Editor v4 ===== */
.text-block-hit{overflow:visible!important;min-width:4px;min-height:4px;box-sizing:border-box}
.text-block-hit.selected{outline:1.5px dashed #754cff!important;background:rgba(117,76,255,.035)!important;z-index:40}
.object-handle{position:absolute;width:11px;height:11px;border:2px solid #754cff;background:#fff;border-radius:2px;z-index:60;display:none;box-sizing:border-box}
.text-block-hit.selected .object-handle{display:block}
.object-handle.nw{left:-6px;top:-6px;cursor:nwse-resize}.object-handle.n{left:50%;top:-6px;transform:translateX(-50%);cursor:ns-resize}.object-handle.ne{right:-6px;top:-6px;cursor:nesw-resize}
.object-handle.e{right:-6px;top:50%;transform:translateY(-50%);cursor:ew-resize}.object-handle.se{right:-6px;bottom:-6px;cursor:nwse-resize}.object-handle.s{left:50%;bottom:-6px;transform:translateX(-50%);cursor:ns-resize}.object-handle.sw{left:-6px;bottom:-6px;cursor:nesw-resize}.object-handle.w{left:-6px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.object-rotate{position:absolute;left:50%;top:-32px;transform:translateX(-50%);width:14px;height:14px;border:2px solid #754cff;background:#fff;border-radius:50%;cursor:grab;display:none;z-index:61}.text-block-hit.selected .object-rotate{display:block}.object-rotate:after{content:'';position:absolute;left:5px;top:12px;width:1px;height:14px;background:#754cff}
.live-text{white-space:pre-wrap;overflow:visible!important;line-height:1.05;min-width:100%;min-height:100%;outline:none;transform-origin:0 0}
.live-text[contenteditable=true]{cursor:text;background:rgba(255,255,255,.92);box-shadow:0 0 0 2px rgba(117,76,255,.18)}
.live-resize-handle,.live-size-handle{display:none!important}
.object-metrics{font-size:11px;color:#777;margin-top:8px;line-height:1.4}.font-warning{background:#fff8df;border:1px solid #f1d27a;padding:9px;border-radius:8px;margin:8px 0;color:#755800;font-size:12px}

/* PDFVora Object Editor 3.1 */
.detected-text-layer{pointer-events:auto!important;touch-action:none;contain:layout paint style}
.object-editor{position:absolute!important;box-sizing:border-box!important;overflow:visible!important;border:1px solid rgba(117,76,255,.32)!important;background:rgba(117,76,255,.025)!important;padding:0!important;margin:0!important;cursor:text!important;z-index:8!important;line-height:1!important}
.object-editor:hover{border-color:#754cff!important;background:rgba(117,76,255,.08)!important}
.object-editor.selected{border:2px dashed #754cff!important;background:rgba(255,255,255,.08)!important;z-index:60!important;cursor:move!important;box-shadow:0 0 0 2px rgba(117,76,255,.12)!important}
.object-text{display:none;width:100%;height:100%;box-sizing:border-box;padding:1px 2px;white-space:pre-wrap;overflow:visible;color:#111;background:rgba(255,255,255,.94);line-height:1.05;outline:none;transform-origin:center center}
.object-editor.selected .object-text,.object-editor.editing .object-text{display:block}
.object-editor.editing .object-text{cursor:text;box-shadow:inset 0 0 0 1px rgba(117,76,255,.35)}
.object-toolbar{display:none;position:absolute;left:0;bottom:calc(100% + 12px);height:34px;align-items:center;gap:4px;padding:4px;background:#171222;border:1px solid rgba(255,255,255,.16);border-radius:9px;box-shadow:0 10px 26px rgba(0,0,0,.3);white-space:nowrap;z-index:100}
.object-editor.selected .object-toolbar{display:flex}.object-toolbar button{height:25px;border:0;border-radius:6px;background:transparent;color:#fff;padding:0 9px;font-size:11px;cursor:pointer}.object-toolbar button:hover{background:#754cff}
.object-handle{position:absolute;width:14px;height:14px;border:2px solid #754cff;background:#fff;border-radius:3px;z-index:110;display:none;box-sizing:border-box;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.object-editor.selected .object-handle{display:block}
.object-handle.nw{left:-8px;top:-8px;cursor:nwse-resize}.object-handle.n{left:50%;top:-8px;transform:translateX(-50%);cursor:ns-resize}.object-handle.ne{right:-8px;top:-8px;cursor:nesw-resize}.object-handle.e{right:-8px;top:50%;transform:translateY(-50%);cursor:ew-resize}.object-handle.se{right:-8px;bottom:-8px;cursor:nwse-resize}.object-handle.s{left:50%;bottom:-8px;transform:translateX(-50%);cursor:ns-resize}.object-handle.sw{left:-8px;bottom:-8px;cursor:nesw-resize}.object-handle.w{left:-8px;top:50%;transform:translateY(-50%);cursor:ew-resize}
.object-rotate{position:absolute;left:50%;top:-42px;transform:translateX(-50%);width:16px;height:16px;border:2px solid #754cff;background:#fff;border-radius:50%;cursor:grab;display:none;z-index:111;box-shadow:0 1px 4px rgba(0,0,0,.2)}.object-editor.selected .object-rotate{display:block}.object-rotate:after{content:'';position:absolute;left:6px;top:14px;width:2px;height:20px;background:#754cff}
.detected-text-layer.boxes-hidden .object-editor:not(.selected){border-color:transparent!important;background:transparent!important}
@media(max-width:760px){.object-handle{width:18px;height:18px}.object-toolbar{transform:scale(.93);transform-origin:left bottom}}


/* PDFVora Engine 5 — editing comfort */
.object-editor.selected { outline: 2px solid #6d4aff !important; }
.object-text {
  white-space: pre-wrap !important;
  word-spacing: normal;
  letter-spacing: normal;
  line-height: 1.08;
  min-width: 100%;
  min-height: 100%;
}
.object-handle {
  width: 12px !important;
  height: 12px !important;
  border: 2px solid #fff !important;
  background: #6d4aff !important;
  box-shadow: 0 0 0 1px #6d4aff, 0 2px 8px rgba(0,0,0,.25);
}
.object-rotate {
  width: 14px !important;
  height: 14px !important;
  background: #fff !important;
  border: 3px solid #6d4aff !important;
}


/* Engine 5.1 — Auto-save */
.auto-save-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 13px;
  margin: 10px 0;
  border: 1px solid rgba(104,72,255,.24);
  border-radius: 12px;
  background: rgba(104,72,255,.07);
}
.auto-save-card i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34,197,94,.12);
}
.auto-save-card div {
  display: grid;
  gap: 2px;
}
.auto-save-card b {
  font-size: 13px;
}
.auto-save-card span {
  font-size: 12px;
  color: #6b6880;
}
.object-text[contenteditable="true"] {
  cursor: text;
  outline: none;
  caret-color: #6848ff;
}


/* PDFVora Engine 6 */
.object-editor:not(.editing) .object-text { cursor: move; }
.object-editor.editing .object-text { cursor: text; }
.smart-guide {
  position: absolute;
  pointer-events: none;
  z-index: 10000;
  display: none;
  background: #8b5cf6;
  box-shadow: 0 0 0 1px rgba(255,255,255,.7);
}
.smart-guide.show { display: block; }
.smart-guide.vertical { top: 0; bottom: 0; width: 1px; }
.smart-guide.horizontal { left: 0; right: 0; height: 1px; }
.history-actions {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}
.history-actions button {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  border: 1px solid rgba(20,18,35,.13);
  background: #fff;
  font-size: 19px;
  cursor: pointer;
}
.history-actions button:disabled { opacity: .35; cursor: default; }
.object-editor.selected {
  touch-action: none;
  user-select: none;
}
.object-editor.editing { user-select: text; }


/* Engine 6.1 — guardado realmente en segundo plano */
.auto-save-card.saving i {
  background: #8b5cf6;
  animation: pdfvoraSavePulse 1s ease-in-out infinite;
}
.auto-save-card.error {
  border-color: rgba(220,38,38,.32);
  background: rgba(220,38,38,.06);
}
.auto-save-card.error i {
  background: #dc2626;
  box-shadow: 0 0 0 4px rgba(220,38,38,.12);
}
@keyframes pdfvoraSavePulse {
  0%,100% { transform: scale(.82); opacity: .55; }
  50% { transform: scale(1); opacity: 1; }
}


/* Engine 6.2: subtle selection without changing the overall design */
.object-editor.selected {
  outline: 1px solid rgba(109,74,255,.34) !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}
.object-editor.selected:not(:hover) { outline-color: rgba(109,74,255,.20) !important; }
.object-handle {
  width: 8px !important;
  height: 8px !important;
  border: 1px solid rgba(255,255,255,.95) !important;
  background: rgba(109,74,255,.72) !important;
  box-shadow: 0 0 0 1px rgba(109,74,255,.35) !important;
}
.object-rotate {
  width: 10px !important;
  height: 10px !important;
  border-width: 2px !important;
  opacity: .72;
}
.object-editor .object-toolbar { opacity: .88; }
.source-text-mask {
  position: absolute;
  pointer-events: none;
  z-index: 2;
  border: 0;
  box-shadow: none;
}
.object-editor { z-index: 4; }
.smart-guide { z-index: 6; }


/* Engine 6.3 — el texto modificado permanece visible */
.object-editor.modified .object-text {
  display: block !important;
  position: relative;
  z-index: 3;
  background: transparent !important;
}
.object-editor.modified:not(.selected):not(.editing) {
  border-color: transparent !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}
.object-editor.modified:not(.selected):not(.editing) .object-toolbar,
.object-editor.modified:not(.selected):not(.editing) .object-handle,
.object-editor.modified:not(.selected):not(.editing) .object-rotate {
  display: none !important;
}
.source-text-mask {
  z-index: 2 !important;
  pointer-events: none !important;
}
.object-editor.modified { z-index: 9 !important; }
.object-editor.modified.selected { z-index: 60 !important; }
.object-editor.selected {
  border: 1px solid rgba(117,76,255,.42) !important;
  outline: 1px solid rgba(109,74,255,.20) !important;
  box-shadow: none !important;
  background: transparent !important;
}
.object-editor.selected .object-handle {
  width: 7px !important;
  height: 7px !important;
  border-width: 1px !important;
  opacity: .82;
}


/* Engine 6.4 — comfortable mouse resizing.
   Wide invisible grab area with a small visual indicator. */
.object-editor.selected .object-handle {
  display: block !important;
  position: absolute !important;
  width: 18px !important;
  height: 18px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  z-index: 250 !important;
  pointer-events: auto !important;
  touch-action: none !important;
}
.object-editor.selected .object-handle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 7px;
  height: 7px;
  transform: translate(-50%,-50%);
  border: 1px solid rgba(255,255,255,.96);
  border-radius: 2px;
  background: rgba(109,74,255,.78);
  box-shadow: 0 0 0 1px rgba(109,74,255,.30);
  pointer-events: none;
}

/* Esquinas */
.object-editor.selected .object-handle.nw { left:-9px !important; top:-9px !important; transform:none !important; cursor:nwse-resize !important; }
.object-editor.selected .object-handle.ne { right:-9px !important; top:-9px !important; left:auto !important; transform:none !important; cursor:nesw-resize !important; }
.object-editor.selected .object-handle.se { right:-9px !important; bottom:-9px !important; top:auto !important; left:auto !important; transform:none !important; cursor:nwse-resize !important; }
.object-editor.selected .object-handle.sw { left:-9px !important; bottom:-9px !important; top:auto !important; transform:none !important; cursor:nesw-resize !important; }

/* Laterales: ensanchar/estrechar sin cambiar la fuente */
.object-editor.selected .object-handle.e {
  right:-9px !important; left:auto !important; top:50% !important;
  transform:translateY(-50%) !important; cursor:ew-resize !important;
}
.object-editor.selected .object-handle.w {
  left:-9px !important; right:auto !important; top:50% !important;
  transform:translateY(-50%) !important; cursor:ew-resize !important;
}

/* Superior e inferior: cambiar solo la altura */
.object-editor.selected .object-handle.n {
  left:50% !important; top:-9px !important; bottom:auto !important;
  transform:translateX(-50%) !important; cursor:ns-resize !important;
}
.object-editor.selected .object-handle.s {
  left:50% !important; bottom:-9px !important; top:auto !important;
  transform:translateX(-50%) !important; cursor:ns-resize !important;
}

/* Durante el gesto evita que el texto capture el puntero. */
.object-editor.resizing .object-text,
.object-editor.resizing .object-toolbar {
  pointer-events: none !important;
}
.object-editor.resizing {
  cursor: inherit !important;
  user-select: none !important;
}


/* Engine 6.6 — visible, easy-to-grab handles.
   Mantiene el borde fino y la apariencia actual. */
.object-editor.selected {
  overflow: visible !important;
}

/* El elemento completo es una zona de agarre de 22px. */
.object-editor.selected > .object-handle {
  display: block !important;
  visibility: visible !important;
  position: absolute !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
  touch-action: none !important;
}

/* Indicador visual real: no depende de las reglas antiguas del span. */
.object-editor.selected > .object-handle::before {
  content: "" !important;
  display: block !important;
  visibility: visible !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 9px !important;
  height: 9px !important;
  transform: translate(-50%, -50%) !important;
  box-sizing: border-box !important;
  border: 1.5px solid #ffffff !important;
  border-radius: 2px !important;
  background: #6d4aff !important;
  box-shadow:
    0 0 0 1px rgba(75, 45, 210, .72),
    0 1px 4px rgba(0, 0, 0, .28) !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

/* Desactivar el pseudo anterior para evitar dobles puntos. */
.object-editor.selected > .object-handle::after {
  content: none !important;
  display: none !important;
}

/* Esquinas: ancho y altura. */
.object-editor.selected > .object-handle.nw {
  left: -11px !important; top: -11px !important;
  right: auto !important; bottom: auto !important;
  transform: none !important; cursor: nwse-resize !important;
}
.object-editor.selected > .object-handle.ne {
  right: -11px !important; top: -11px !important;
  left: auto !important; bottom: auto !important;
  transform: none !important; cursor: nesw-resize !important;
}
.object-editor.selected > .object-handle.se {
  right: -11px !important; bottom: -11px !important;
  left: auto !important; top: auto !important;
  transform: none !important; cursor: nwse-resize !important;
}
.object-editor.selected > .object-handle.sw {
  left: -11px !important; bottom: -11px !important;
  right: auto !important; top: auto !important;
  transform: none !important; cursor: nesw-resize !important;
}

/* Laterales: solo ancho. */
.object-editor.selected > .object-handle.e {
  right: -11px !important; left: auto !important;
  top: 50% !important; bottom: auto !important;
  transform: translateY(-50%) !important;
  cursor: ew-resize !important;
}
.object-editor.selected > .object-handle.w {
  left: -11px !important; right: auto !important;
  top: 50% !important; bottom: auto !important;
  transform: translateY(-50%) !important;
  cursor: ew-resize !important;
}

/* Superior e inferior: solo altura. */
.object-editor.selected > .object-handle.n {
  left: 50% !important; right: auto !important;
  top: -11px !important; bottom: auto !important;
  transform: translateX(-50%) !important;
  cursor: ns-resize !important;
}
.object-editor.selected > .object-handle.s {
  left: 50% !important; right: auto !important;
  bottom: -11px !important; top: auto !important;
  transform: translateX(-50%) !important;
  cursor: ns-resize !important;
}

/* Hovering highlights the exact point being used. */
.object-editor.selected > .object-handle:hover::before {
  width: 11px !important;
  height: 11px !important;
  background: #5635e8 !important;
  box-shadow:
    0 0 0 2px rgba(109, 74, 255, .22),
    0 2px 7px rgba(0, 0, 0, .32) !important;
}


/* Engine 6.7 — a single visible representation of text.
   The PDF shows saved text; the baked overlay preserves only the selection. */
.object-editor.baked:not(.editing):not(.live-edit) {
  background: transparent !important;
}
.object-editor.baked:not(.editing):not(.live-edit) .object-text {
  opacity: 0 !important;
  pointer-events: none !important;
}
.object-editor.baked.selected:not(.editing):not(.live-edit) .object-text {
  opacity: 0 !important;
}
.object-editor.live-edit .object-text,
.object-editor.editing .object-text {
  opacity: 1 !important;
  pointer-events: auto !important;
}
.object-editor.baked:not(.selected) {
  border-color: transparent !important;
  outline: none !important;
}

.account-card form label{display:block;margin-top:16px;font-weight:600}.account-card input{width:100%;box-sizing:border-box;margin-top:7px;padding:13px 14px;border:1px solid rgba(128,128,128,.35);border-radius:12px;background:transparent;color:inherit;font:inherit}.account-card form p{min-height:24px}.header button{font:inherit}


/* PDFVora Frontend 6.16 PRO */
.api-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.api-pill i{width:8px;height:8px;border-radius:50%;background:#d29b2d}.api-pill.online i{background:#20b879;box-shadow:0 0 0 4px rgba(32,184,121,.12)}.api-pill.offline i{background:#e24f5f}.route-badge{font:600 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;padding:7px 9px;border-radius:8px;background:rgba(104,72,255,.1);color:#6848ff}.modal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.pro-dialog{width:min(680px,calc(100vw - 28px));max-height:92vh;overflow:auto}.dynamic-options{margin:16px 0}.dynamic-options textarea{width:100%;resize:vertical;min-height:120px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pro-card{position:relative}.pro-card em{background:linear-gradient(135deg,#6848ff,#9a6cff);color:white;border-radius:999px;padding:4px 8px;font-size:10px;font-style:normal}.progress-shell{height:7px;background:rgba(104,72,255,.12);border-radius:99px;overflow:hidden;margin-top:14px}.progress-shell div{height:100%;width:0;background:linear-gradient(90deg,#6848ff,#a77bff);transition:width .35s}.status.success{color:#16865b}.status.error{color:#d13e50}.status.working{color:#6848ff}.json-result{margin-top:16px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface,#fff);max-height:400px;overflow:auto}.json-result pre{white-space:pre-wrap;word-break:break-word;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;margin:0}.result-summary,.history-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.result-summary span{font-size:12px;color:var(--muted)}.jobs-table,.fields-table{display:grid;gap:8px}.jobs-table>div,.fields-table>div{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(100px,1fr) auto minmax(110px,.8fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px}.jobs-table code{overflow:hidden;text-overflow:ellipsis;font-size:11px}.jobs-table small,.fields-table small{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.job-state{padding:4px 7px;border-radius:999px;background:rgba(104,72,255,.1);font-size:10px;font-weight:800;text-transform:uppercase}.dashboard .history-card{margin-top:22px}.hidden{display:none!important}@media(max-width:760px){.api-pill{display:none}.option-grid{grid-template-columns:1fr}.jobs-table>div,.fields-table>div{grid-template-columns:1fr 1fr}.modal-title-row{align-items:flex-start;flex-direction:column}.route-badge{max-width:100%;overflow:hidden}}

/* PDFVora 9.0.1 — integrated language selector without changing the modern design */
.pv-lang{position:relative;display:inline-flex;align-items:center;z-index:1100;font-family:inherit}
.pv-lang-trigger{height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 13px;border:1px solid rgba(108,78,255,.18);border-radius:13px;background:rgba(255,255,255,.86);color:#302947;box-shadow:0 7px 22px rgba(76,54,148,.07);backdrop-filter:blur(14px);font:700 13px/1 inherit;cursor:pointer;transition:.2s ease}
.pv-lang-trigger:hover{transform:translateY(-1px);border-color:rgba(108,78,255,.38);box-shadow:0 10px 26px rgba(76,54,148,.12)}
.pv-lang-globe{font-size:16px}.pv-lang-chevron{font-size:15px;color:#725be2}.pv-lang-panel{position:absolute;top:calc(100% + 10px);right:0;width:min(330px,calc(100vw - 28px));padding:14px;border:1px solid rgba(108,78,255,.16);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 22px 60px rgba(43,30,93,.18);backdrop-filter:blur(20px)}
.pv-lang-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 2px 12px}.pv-lang-head strong{font-size:15px;color:#28213f}.pv-lang-head small{font-size:10px;color:#7965d8;background:#f1edff;border-radius:999px;padding:5px 8px}
.pv-lang-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e4def8;border-radius:12px;background:#faf9ff;margin-bottom:10px}.pv-lang-search input{width:100%;border:0;outline:0;background:transparent;font:500 13px inherit;color:#302947}
.pv-lang-panel select{width:100%;border:0;outline:0;background:transparent;color:#302947;font:600 13px/1.45 inherit;overflow:auto}.pv-lang-panel option{padding:9px 10px;border-radius:9px}.pv-lang-panel option:checked{background:linear-gradient(135deg,#7657ff,#9a78ff);color:#fff}
.pv-lang-auto{width:100%;margin-top:10px;padding:10px 12px;border:1px solid #e0d8ff;border-radius:11px;background:#f7f4ff;color:#6848e8;font:700 12px inherit;cursor:pointer}.pv-lang-auto:hover{background:#eee9ff}
.dark .pv-lang-trigger{background:rgba(31,27,48,.9);color:#f5f1ff;border-color:#4a416d}.dark .pv-lang-panel{background:rgba(28,24,44,.98);border-color:#443a67}.dark .pv-lang-head strong,.dark .pv-lang-panel select,.dark .pv-lang-search input{color:#f5f1ff}.dark .pv-lang-search{background:#242037;border-color:#443a67}.dark .pv-lang-head small,.dark .pv-lang-auto{background:#30294a;border-color:#4c4175;color:#c8bbff}
.rtl{direction:rtl}.rtl .pv-lang-panel{right:auto;left:0}.rtl .pv-lang-head,.rtl .header-actions,.rtl nav{direction:rtl}
@media(max-width:920px){.pv-lang-current{display:none}.pv-lang-trigger{width:42px;justify-content:center;padding:0}.pv-lang-chevron{display:none}.pv-lang{order:-1}}

/* PDFVORA_LOGO_SAFE_TYPOGRAPHY_12_0_8
   Stable 12.0.7 behavior with two targeted corrections:
   1) selection never redraws original PDF content;
   2) composite logos stay on the PDF canvas and cannot be flattened into text. */

/* Selection is visual only. No fallback-font text is painted over the source. */
.object-editor.selected:not(.editing):not(.modified) .object-text {
  display: none !important;
}

/* Logo / vector / mixed artwork: movable as one visual object. */
.object-editor.visual-composite {
  cursor: move !important;
  background: transparent !important;
  touch-action: none;
}
.object-editor.visual-composite .object-text {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.object-editor.visual-composite.selected {
  border: 1.5px solid rgba(117,76,255,.78) !important;
  outline: 2px solid rgba(117,76,255,.14) !important;
  background: transparent !important;
  cursor: move !important;
}
.object-editor.visual-composite > .object-handle,
.object-editor.visual-composite > .object-rotate {
  display: none !important;
}
.object-editor.visual-composite > .object-toolbar {
  display: none !important;
}
.object-editor.visual-composite.selected > .object-toolbar {
  display: flex !important;
}
.object-editor.visual-composite > .object-toolbar button:not([data-a="move"]) {
  display: none !important;
}
.visual-snapshot {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
  user-select: none;
  z-index: 5;
}
.object-editor.visual-composite.visual-moving .visual-snapshot,
.object-editor.visual-composite.visual-committed .visual-snapshot,
.object-editor.visual-composite.modified .visual-snapshot {
  display: block !important;
}
.object-editor.visual-composite.saving-visual {
  opacity: .92;
}
.visual-source-mask {
  pointer-events: none !important;
}

/* Baseline-safe live text. Extra space is visual only: x/y/font-size stay intact. */
.object-editor.editing .object-text,
.object-editor.modified .object-text {
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: max-content !important;
  min-width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: pre !important;
  font-kerning: normal !important;
  font-synthesis: none !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
  transform-origin: left top !important;
}

/* Expand the selection chrome only, never the PDF coordinates. */
.object-editor.selected {
  overflow: visible !important;
  outline-offset: 3px !important;
}
.object-editor.selected > .object-handle,
.object-editor.selected > .object-rotate,
.object-editor.selected > .object-toolbar {
  overflow: visible !important;
}

/* PDFVORA_STABLE_MOVABLE_LOGO_AUTO_TYPE_12_0_9 */


/* PDFVORA_SAFE_FRAME_COMPOSITE_LOGO_12_0_11
   The resize frame lives outside the glyph box. PDF coordinates and the
   baseline remain untouched, while the mouse has a spacious grab area. */
.object-editor.selected {
  --pdfvora-frame-gap: 10px;
  border-color: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.object-editor.selected::after {
  content: "";
  position: absolute;
  inset: calc(-1 * var(--pdfvora-frame-gap));
  border: 1.5px solid rgba(117,76,255,.78);
  border-radius: 6px;
  background: transparent;
  box-shadow: 0 0 0 2px rgba(117,76,255,.09);
  pointer-events: none;
  z-index: 230;
}

/* 24px hit target, centered on the outside frame instead of on the letters. */
.object-editor.selected > .object-handle {
  width: 24px !important;
  height: 24px !important;
  z-index: 260 !important;
}
.object-editor.selected > .object-handle::before {
  width: 8px !important;
  height: 8px !important;
}
.object-editor.selected > .object-handle.nw { left:-22px !important; top:-22px !important; }
.object-editor.selected > .object-handle.ne { right:-22px !important; top:-22px !important; }
.object-editor.selected > .object-handle.se { right:-22px !important; bottom:-22px !important; }
.object-editor.selected > .object-handle.sw { left:-22px !important; bottom:-22px !important; }
.object-editor.selected > .object-handle.e  { right:-22px !important; }
.object-editor.selected > .object-handle.w  { left:-22px !important; }
.object-editor.selected > .object-handle.n  { top:-22px !important; }
.object-editor.selected > .object-handle.s  { bottom:-22px !important; }
.object-editor.selected > .object-rotate {
  top: -58px !important;
}
.object-editor.selected > .object-toolbar {
  bottom: calc(100% + 22px) !important;
}

/* Composite wordmarks are one movable visual object, never editable text. */
.object-editor.visual-composite.selected::after {
  border-style: solid;
  border-color: rgba(117,76,255,.82);
}
.object-editor.visual-composite > .object-handle,
.object-editor.visual-composite > .object-rotate {
  display: none !important;
}
.object-editor.visual-composite .object-text {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* PDFVORA_SMART_WIDTH_VISIBLE_HANDLES_12_0_13
   No paint containment may hide controls outside the glyph rectangle. */
#detectedTextLayer {
  contain: layout style !important;
  overflow: visible !important;
}
.object-editor,
.object-editor.selected {
  contain: layout style !important;
  overflow: visible !important;
}

/* Spacious frame: it surrounds the text instead of sitting on its letters. */
.object-editor.selected:not(.visual-composite) {
  --pdfvora-frame-gap: 16px;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.object-editor.selected:not(.visual-composite)::after {
  inset: calc(-1 * var(--pdfvora-frame-gap)) !important;
  border: 2px solid rgba(109,74,255,.82) !important;
  border-radius: 8px !important;
  box-shadow: 0 0 0 4px rgba(109,74,255,.09) !important;
  z-index: 220 !important;
}

/* Large hit areas. Their centers sit on the OUTSIDE frame, not on glyphs. */
.object-editor.selected:not(.visual-composite) > .object-handle {
  display: block !important;
  visibility: visible !important;
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  background: transparent !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 10020 !important;
  filter: none !important;
}
.object-editor.selected:not(.visual-composite) > .object-handle.nw {
  left: calc(-1 * var(--pdfvora-frame-gap) - 17px) !important;
  top: calc(-1 * var(--pdfvora-frame-gap) - 17px) !important;
}
.object-editor.selected:not(.visual-composite) > .object-handle.ne {
  right: calc(-1 * var(--pdfvora-frame-gap) - 17px) !important;
  top: calc(-1 * var(--pdfvora-frame-gap) - 17px) !important;
}
.object-editor.selected:not(.visual-composite) > .object-handle.se {
  right: calc(-1 * var(--pdfvora-frame-gap) - 17px) !important;
  bottom: calc(-1 * var(--pdfvora-frame-gap) - 17px) !important;
}
.object-editor.selected:not(.visual-composite) > .object-handle.sw {
  left: calc(-1 * var(--pdfvora-frame-gap) - 17px) !important;
  bottom: calc(-1 * var(--pdfvora-frame-gap) - 17px) !important;
}
.object-editor.selected:not(.visual-composite) > .object-handle.e {
  right: calc(-1 * var(--pdfvora-frame-gap) - 17px) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
.object-editor.selected:not(.visual-composite) > .object-handle.w {
  left: calc(-1 * var(--pdfvora-frame-gap) - 17px) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
.object-editor.selected:not(.visual-composite) > .object-handle.n {
  top: calc(-1 * var(--pdfvora-frame-gap) - 17px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}
.object-editor.selected:not(.visual-composite) > .object-handle.s {
  bottom: calc(-1 * var(--pdfvora-frame-gap) - 17px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

/* Corner indicators. */
.object-editor.selected:not(.visual-composite) > .object-handle::before {
  content: "" !important;
  width: 11px !important;
  height: 11px !important;
  border: 2px solid #fff !important;
  border-radius: 3px !important;
  background: #6d4aff !important;
  box-shadow: 0 0 0 1px #4c2ed1, 0 3px 9px rgba(0,0,0,.32) !important;
}

/* Width controls are unmistakable purple grips with arrows. */
.object-editor.selected:not(.visual-composite) > .object-handle.e::before,
.object-editor.selected:not(.visual-composite) > .object-handle.w::before {
  content: "↔" !important;
  display: grid !important;
  place-items: center !important;
  width: 27px !important;
  height: 31px !important;
  color: #fff !important;
  font: 800 17px/1 Arial, sans-serif !important;
  border-radius: 9px !important;
  background: #6d4aff !important;
}
.object-editor.selected:not(.visual-composite) > .object-handle.n::before,
.object-editor.selected:not(.visual-composite) > .object-handle.s::before {
  content: "↕" !important;
  display: grid !important;
  place-items: center !important;
  width: 31px !important;
  height: 27px !important;
  color: #fff !important;
  font: 800 17px/1 Arial, sans-serif !important;
  border-radius: 9px !important;
  background: #6d4aff !important;
}
.object-editor.selected:not(.visual-composite) > .object-handle:hover::before {
  background: #4f2bdc !important;
  transform: translate(-50%,-50%) scale(1.08) !important;
  box-shadow: 0 0 0 4px rgba(109,74,255,.22),0 4px 12px rgba(0,0,0,.35) !important;
}
.object-editor.selected:not(.visual-composite) > .object-toolbar {
  bottom: calc(100% + var(--pdfvora-frame-gap) + 14px) !important;
}
.object-editor.selected:not(.visual-composite) > .object-rotate {
  top: calc(-1 * var(--pdfvora-frame-gap) - 54px) !important;
}

/* Editing and preview remain free of clipping. */
.object-editor.editing .object-text,
.object-editor.modified .object-text {
  overflow: visible !important;
  max-width: none !important;
  text-overflow: clip !important;
  clip-path: none !important;
}


/* PDFVORA_LIVE_BACKGROUND_CONTINUITY_12_0_18 */
.object-editor.editing,
.object-editor.modified,
.object-editor.editing .object-text,
.object-editor.modified .object-text {
  background: transparent !important;
}
.source-text-mask {
  background-clip: border-box !important;
}
