
.vpt,.vpt *{box-sizing:border-box}
.vpt{--blue:#1769e8;--ink:#101828;--muted:#667085;--line:#e4e9f1;width:min(1180px,calc(100% - 32px));margin:48px auto 72px;color:var(--ink);font-family:inherit}

/* Hero */
.vpt-hero{text-align:center;max-width:820px;margin:0 auto 24px}
.vpt-eyebrow{display:inline-flex;padding:7px 13px;border:1px solid #cfe0fb;border-radius:999px;background:#f2f7ff;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.08em}
.vpt-hero h1{margin:14px 0 12px;font-size:clamp(34px,5.4vw,56px);font-weight:800;letter-spacing:-.045em;line-height:1.05}
.vpt-hero p{max-width:700px;margin:auto;color:var(--muted);font-size:16px;line-height:1.7}

/* Login notice */
.vpt-login-notice{max-width:820px;margin:0 auto 22px;padding:14px 18px;border:1px solid #fde3ac;border-radius:12px;background:#fffaf0;color:#7a5b12;font-size:14px;text-align:center}
.vpt-login-notice a{color:var(--blue);font-weight:700;text-decoration:underline}

/* Tabs */
.vpt-tabs{display:flex;justify-content:center;gap:6px;margin:0 0 22px;padding:5px}
.vpt-tabs button{min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#475467;font:inherit;font-weight:700;cursor:pointer}
.vpt-tabs button.active{border-color:var(--blue);background:var(--blue);color:#fff}

/* Panes */
.vpt-pane{width:100%}

/* Shared grid + panel */
.vpt-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:22px}
.vpt-panel{padding:clamp(22px,3vw,32px);border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 16px 44px rgba(16,24,40,.07)}

.vpt-step{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}
.vpt-step.vpt-gap{margin-top:26px}
.vpt-step b{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:#eaf2ff;color:var(--blue);font-size:12px}
.vpt-step h2{margin:0 0 4px;font-size:19px}
.vpt-step p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}

/* Upload dropzone */
.vpt-upload{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:170px;padding:22px;border:1.5px dashed #c9d4e4;border-radius:15px;background:#f8fafc;text-align:center;cursor:pointer}
.vpt-upload.drag{border-color:var(--blue);background:#f2f7ff}
.vpt-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.vpt-upload-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:10px;border-radius:13px;background:#eaf2ff;color:var(--blue);font-size:22px;font-weight:700}
.vpt-upload strong{font-size:14px}.vpt-upload>span{margin-top:3px;color:var(--muted);font-size:13px}.vpt-upload small{margin-top:9px;color:#98a2b3;font-size:11px}

.vpt-thumb{display:flex;align-items:center;gap:12px;margin-top:14px;padding:10px;border:1px solid var(--line);border-radius:12px}
.vpt-thumb img{width:52px;height:52px;border-radius:9px;object-fit:cover}
.vpt-thumb strong{display:block;font-size:13px}.vpt-thumb span{color:var(--muted);font-size:12px}

/* Form fields */
.vpt-form{display:grid;gap:15px;margin-top:18px}
.vpt-form label>span{display:block;margin-bottom:7px;color:#344054;font-size:13px;font-weight:700}
.vpt select,.vpt input[type=number]{width:100%;height:45px;padding:0 13px;border:1px solid #d7deea;border-radius:11px;background:#fff;color:var(--ink);font:inherit}
.vpt input[type=range]{width:100%;accent-color:var(--blue)}
.vpt-custom{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.vpt-colors{display:flex;gap:10px}
.vpt-colors button{width:36px;height:36px;padding:0;border:2px solid #d9e0ea;border-radius:50%;cursor:pointer}
.vpt-colors button.active{outline:3px solid rgba(23,105,232,.18);border-color:var(--blue)}
.vpt-check{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:#344054;font-weight:500}
.vpt-check input{margin-top:3px}

.vpt-notice{margin-top:16px;padding:12px 14px;border:1px solid #cfe0fb;border-radius:11px;background:#f2f7ff;color:#1e4c9a;font-size:12.5px;line-height:1.6}

/* Buttons */
.vpt button{min-height:46px;padding:0 16px;border:1px solid #d7deea;border-radius:11px;background:#fff;color:#344054;font:inherit;font-weight:700;cursor:pointer}
.vpt button:disabled{opacity:.45;cursor:not-allowed}
.vpt-primary{border-color:var(--blue)!important;background:var(--blue)!important;color:#fff!important}
.vpt-panel>.vpt-primary{width:100%;margin-top:20px}
.vpt-secondary{width:100%;margin-top:10px;background:#fff!important;color:#667085!important}
.vpt-message{min-height:18px;margin:10px 0 0;color:#b42318;font-size:12px}

/* Remove-background result: canvas preview */
.vpt-preview-wrap{position:relative;display:grid;place-items:center;min-height:410px;padding:20px;overflow:hidden;border:1px dashed #d5ddea;border-radius:15px;background:#f8fafc}
.vpt-preview-wrap canvas{display:block;max-width:100%;max-height:510px;width:auto;height:auto;background:#fff;box-shadow:0 8px 24px rgba(16,24,40,.1)}
.vpt-info{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0}
.vpt-info div{padding:12px;border:1px solid #edf0f5;border-radius:10px;background:#fbfcfe;min-width:0}
.vpt-info span,.vpt-info strong{display:block}.vpt-info span{margin-bottom:3px;color:#98a2b3;font-size:10px;text-transform:uppercase}.vpt-info strong{font-size:12px}

/* AI result: image + loader (transform / generate tabs) */
.vpt-ai-preview{position:relative;display:grid;place-items:center;min-height:410px;padding:20px;overflow:hidden;border:1px dashed #d5ddea;border-radius:15px;background:#f8fafc}
.vpt-ai-preview img{display:block;max-width:100%;max-height:510px;border-radius:12px;box-shadow:0 8px 24px rgba(16,24,40,.1)}
.vpt-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#98a2b3}
.vpt-preview-wrap .vpt-placeholder{position:absolute;inset:0}
.vpt-placeholder div,.vpt-placeholder>span{font-size:44px}
.vpt-placeholder strong{margin-top:8px;color:#475467;font-size:14px}
.vpt-placeholder small,.vpt-placeholder>span+span{margin-top:4px;font-size:12px}
.vpt-loader{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:#475467}
.vpt-loader i{width:30px;height:30px;border:3px solid #d7e3fb;border-top-color:var(--blue);border-radius:50%;animation:vpt-spin 1s linear infinite}
.vpt-loader strong{font-size:14px}
.vpt-loader span{color:var(--muted);font-size:12px}
@keyframes vpt-spin{to{transform:rotate(360deg)}}

.vpt-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vpt-disclaimer{margin:13px 0 0;color:#98a2b3;font-size:10px;line-height:1.55;text-align:center}

@media(max-width:900px){.vpt-grid{grid-template-columns:1fr}}
@media(max-width:620px){
  .vpt{width:calc(100% - 20px);margin-top:30px}
  .vpt-hero h1{font-size:34px}
  .vpt-hero p{font-size:14px}
  .vpt-tabs{flex-direction:column}
  .vpt-custom,.vpt-actions,.vpt-info{grid-template-columns:1fr}
  .vpt-preview-wrap,.vpt-ai-preview{min-height:300px;padding:12px}
}
