/* Passport Studio v11 */
.passport-hero-v11{position:relative;overflow:hidden;padding:64px 0 60px;background:radial-gradient(circle at 74% 12%,rgba(83,74,235,.16),transparent 23%),linear-gradient(120deg,#f7f6ff 0%,#fff 55%,#eef7ff 100%)}
.passport-hero-v11:after{content:"";position:absolute;right:-80px;bottom:-240px;width:520px;height:520px;border:75px solid rgba(79,70,229,.04);border-radius:50%}
.passport-hero-grid-v11{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:70px}
.passport-hero-v11 h1{max-width:720px;margin:14px 0 17px;font-size:clamp(38px,4.5vw,63px);line-height:1.04;letter-spacing:-3px}
.passport-hero-v11 h1 span{background:linear-gradient(90deg,#4f46e5,#8c51d3,#ec5b82);-webkit-background-clip:text;background-clip:text;color:transparent}
.passport-hero-v11 p{max-width:710px;margin:0;color:#596177;font-size:17px}
.passport-hero-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}
.passport-hero-points span{padding:8px 12px;border:1px solid #e2e4ee;border-radius:999px;background:rgba(255,255,255,.78);color:#3e4457;font-size:11px;font-weight:700;box-shadow:0 8px 25px rgba(35,40,70,.05)}
.passport-hero-sample{display:flex;align-items:center;justify-content:center;gap:15px}
.passport-hero-sample>div{position:relative;display:flex;align-items:center;justify-content:center;width:138px;aspect-ratio:1.3/1.6;border:7px solid #fff;border-radius:9px;background:linear-gradient(145deg,#dbdee8,#f1f2f6);box-shadow:0 20px 50px rgba(36,40,73,.17);transform:rotate(-4deg)}
.passport-hero-sample>div.ready{background:#dbeafe;transform:rotate(4deg) translateY(7px)}
.passport-hero-sample div span{position:absolute;left:7px;top:7px;padding:3px 6px;border-radius:5px;background:#fff;color:#596177;font-size:6px;font-weight:800;letter-spacing:.7px}
.passport-hero-sample div i{color:#8990a2;font-style:normal;font-size:67px}.passport-hero-sample>div.ready i{color:#4f46e5}.passport-hero-sample>b{position:relative;z-index:2;display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#fff;color:#4f46e5;box-shadow:0 8px 22px rgba(40,44,73,.12)}

.passport-layout-v11{display:grid;grid-template-columns:minmax(420px,.88fr) minmax(540px,1.12fr);gap:24px;align-items:start;padding:42px 0 85px}
.passport-studio-card{position:sticky;top:18px;padding:25px;background:linear-gradient(180deg,#fff 0%,#fafbff 100%)}
.passport-card-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}
.passport-card-heading>span{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#eceaff;color:#5148df;font:800 14px Manrope,sans-serif}
.passport-card-heading small{display:block;margin-bottom:1px;color:#655df0;font-size:8px;font-weight:800;letter-spacing:1.4px}
.passport-card-heading h2{margin:0;color:#17192c;font-size:19px;line-height:1.25}.passport-card-heading p{margin:3px 0 0;color:#71788c;font-size:10px}
.passport-canvas-shell{position:relative;width:min(100%,350px);margin:0 auto 18px;aspect-ratio:390/480;padding:10px;border:1px solid #e1e3ed;border-radius:20px;background:linear-gradient(145deg,#eceff7,#fff);box-shadow:0 18px 50px rgba(33,38,70,.14)}
.passport-canvas-shell canvas{display:block;width:100%;height:100%;border-radius:12px;background:#e7e9f0;cursor:grab;touch-action:none}.passport-canvas-shell.dragging canvas{cursor:grabbing}
.passport-canvas-placeholder{position:absolute;z-index:3;inset:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(145deg,#eef0f6,#e1e4ed);color:#777f93;text-align:center}
.passport-canvas-placeholder[hidden]{display:none}.passport-canvas-placeholder>span{display:grid;place-items:center;width:68px;height:68px;margin-bottom:12px;border-radius:22px;background:rgba(255,255,255,.7)}.passport-canvas-placeholder svg{width:36px;fill:none;stroke:#8e95a8;stroke-width:1.7}.passport-canvas-placeholder b{font-size:13px}.passport-canvas-placeholder small{font-size:9px}
.passport-safe-guide{position:absolute;z-index:2;inset:12% 18% 16%;border:1px dashed rgba(255,255,255,.73);border-radius:48%;pointer-events:none;opacity:0;transition:.2s}.passport-safe-guide span{position:absolute;left:50%;bottom:-20px;padding:2px 6px;border-radius:4px;background:rgba(17,24,39,.66);color:#fff;font-size:6px;font-weight:800;letter-spacing:.8px;transform:translateX(-50%)}.passport-canvas-shell.has-photo .passport-safe-guide{opacity:1}
.passport-drag-hint{position:absolute;z-index:4;left:50%;bottom:19px;padding:5px 9px;border-radius:999px;background:rgba(17,24,39,.73);color:#fff;font-size:7px;white-space:nowrap;transform:translateX(-50%);pointer-events:none}.passport-drag-hint[hidden]{display:none}
.passport-upload-button{position:relative;display:grid;grid-template-columns:42px 1fr;column-gap:10px;align-items:center;padding:12px 14px;border:1px dashed #b7b5ef;border-radius:14px;background:#f5f4ff;cursor:pointer}.passport-upload-button input{position:absolute;width:1px;height:1px;opacity:0}.passport-upload-button>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#5950ea;color:#fff}.passport-upload-button svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.8}.passport-upload-button b{min-width:0;overflow:hidden;color:#3731a3;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.passport-upload-button small{color:#72798d;font-size:8px}
.passport-editor-controls{margin-top:18px;padding-top:17px;border-top:1px solid #eaebf1}.passport-editor-controls label{display:block;margin:0}.passport-editor-controls label>span{display:flex;justify-content:space-between;align-items:center;color:#4f566b;font-size:9px;font-weight:700}.passport-editor-controls label>span b{color:#4f46e5;font-size:8px}.passport-editor-controls input[type=range]{width:100%;height:5px;padding:0;border:0;background:transparent;box-shadow:none;accent-color:#554bec}.passport-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 15px;margin-top:11px}.passport-control-grid label:last-child{grid-column:1/-1}.passport-editor-actions{display:flex;gap:8px;margin-top:14px}.passport-editor-actions button{flex:1;padding:8px;border:1px solid #e0e2ea;border-radius:9px;background:#fff;color:#555c70;font-size:9px;font-weight:700}.passport-editor-actions button:hover{border-color:#a9a5f2;color:#4f46e5}
.passport-privacy-note{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:12px;border-radius:12px;background:#eafaf5;color:#146b53}.passport-privacy-note>span{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:50%;background:#c9f3e4;font-size:10px}.passport-privacy-note b,.passport-privacy-note small{display:block}.passport-privacy-note b{font-size:9px}.passport-privacy-note small{margin-top:2px;color:#38836f;font-size:7px;line-height:1.5}

.passport-options-v11{display:flex;flex-direction:column;gap:18px}.passport-option-card{padding:25px}.passport-treatment-options{display:grid;grid-template-columns:1fr 1fr;gap:11px}.passport-treatment-options label{position:relative;cursor:pointer}.passport-treatment-options input{position:absolute;opacity:0;pointer-events:none}.passport-treatment-options label>span{position:relative;display:grid;grid-template-columns:36px 1fr;align-items:center;min-height:84px;padding:12px;border:1px solid #e2e4ec;border-radius:14px;background:#fff;transition:.2s}.passport-treatment-options label>span>i{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#f0efff;color:#544be4;font-style:normal}.passport-treatment-options label>span>b{font-size:11px}.passport-treatment-options label>span>small{color:#787f92;font-size:8px}.passport-treatment-options label>span>em{position:absolute;right:8px;top:8px;padding:3px 6px;border-radius:8px;background:#e8fbf4;color:#13805e;font-size:6px;font-style:normal;font-weight:800}.passport-treatment-options input:checked+span{border-color:#5c53ed;background:#f5f4ff;box-shadow:0 0 0 3px rgba(79,70,229,.07)}
.passport-ai-status{display:flex;align-items:center;gap:10px;margin:13px 0;padding:12px;border-radius:13px;background:#f4f5f8;color:#535a6d}.passport-ai-status>span{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:11px;background:#fff;font-weight:800}.passport-ai-status>div{min-width:0;flex:1}.passport-ai-status b,.passport-ai-status small{display:block}.passport-ai-status b{font-size:10px}.passport-ai-status small{color:#767d8f;font-size:8px}.passport-ai-status button{padding:6px 9px;border:0;border-radius:8px;background:#fff;color:#bd3348;font-size:8px;font-weight:800}.passport-ai-status[data-state=processing]{background:#eef2ff;color:#3e4aae}.passport-ai-status[data-state=ready]{background:#e9faf3;color:#15785b}.passport-ai-status[data-state=error]{background:#fff0f1;color:#ad3043}.passport-ai-status[data-state=original]{background:#f3f4f7;color:#4f5668}.passport-ai-progress{height:4px;margin-top:6px;overflow:hidden;border-radius:5px;background:rgba(79,70,229,.13)}.passport-ai-progress[hidden]{display:none}.passport-ai-progress i{display:block;width:0;height:100%;border-radius:5px;background:#554bed;transition:width .2s}
.passport-color-field{margin:0;padding:0;border:0;transition:.2s}.passport-color-field legend{margin-bottom:7px;color:#42495d;font-size:9px;font-weight:700}.passport-color-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.passport-color-options label{position:relative;display:grid;grid-template-columns:28px 1fr;align-items:center;padding:9px;border:1px solid #e2e4ec;border-radius:12px;cursor:pointer}.passport-color-options input{position:absolute;opacity:0}.passport-color-options span{grid-row:1/3;width:25px;height:25px;border:1px solid #cfd3dd;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 3px #fff}.passport-color-options b{font-size:9px}.passport-color-options small{color:#858b9c;font-size:7px}.passport-color-options label:has(input:checked){border-color:#5b52ed;background:#f7f6ff;box-shadow:0 0 0 2px rgba(79,70,229,.06)}.passport-color-field.disabled{opacity:.42;pointer-events:none}
.passport-text-field{display:block;margin-top:15px;color:#42495d;font-size:9px;font-weight:700}.passport-text-field>span{float:right;color:#8a90a1;font-size:7px;font-weight:500}.passport-text-field input{margin-top:6px}
.passport-service-tabs{display:flex;flex-direction:column;gap:9px}.passport-service-tabs label{position:relative;cursor:pointer}.passport-service-tabs input{position:absolute;opacity:0}.passport-service-tabs label>span{position:relative;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:13px;border:1px solid #e2e4ec;border-radius:14px;transition:.2s}.passport-service-tabs label>span>i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#fff1dd;font-style:normal}.passport-service-tabs b,.passport-service-tabs small{display:block}.passport-service-tabs b{font-size:11px}.passport-service-tabs small{color:#777e90;font-size:8px}.passport-service-tabs em{padding:4px 7px;border-radius:8px;background:#f3f4f7;color:#596074;font-size:7px;font-style:normal;font-weight:800}.passport-service-tabs input:checked+span{border-color:#5a51ed;background:#f5f4ff;box-shadow:0 0 0 3px rgba(79,70,229,.06)}.passport-service-tabs input:checked+span em{background:#dedbff;color:#443bbf}.passport-quantity-field{display:block;margin-top:14px;color:#42495d;font-size:9px;font-weight:700}.passport-quantity-field select{margin-top:6px}
.passport-checkout-card .form-grid{margin-bottom:12px}.passport-payment-message{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 13px;border-radius:12px;background:#f1f0ff}.passport-payment-message>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#fff}.passport-payment-message b,.passport-payment-message small{display:block}.passport-payment-message b{font-size:9px}.passport-payment-message small{color:#777e91;font-size:7px}.passport-final-total{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:17px;padding:16px;border-radius:15px;background:linear-gradient(120deg,#171a32,#292657);color:#fff}.passport-final-total>div{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 9px}.passport-final-total small{grid-column:1/-1;color:#9fa5c1;font-size:7px;letter-spacing:1px}.passport-final-total b{font:800 25px Manrope,sans-serif}.passport-final-total>div span{color:#bec2d4;font-size:8px}.passport-final-total .btn{min-width:220px;box-shadow:none}.passport-final-total .btn i{font-style:normal}.passport-final-total .btn:disabled{opacity:.65;cursor:wait}.passport-submit-status{min-height:17px;margin:8px 0 0;color:#635bea;text-align:right;font-size:8px}
.passport-trust-v11{padding:25px 0 55px;border-top:1px solid #eef0f5;background:#fafbfe}.passport-trust-v11 .container{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.passport-trust-v11 article{display:flex;align-items:center;gap:12px;padding:16px;border-radius:14px;background:#fff;border:1px solid #eceef3}.passport-trust-v11 article>span{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#eeecff;color:#5047dc;font-size:9px;font-weight:800}.passport-trust-v11 b,.passport-trust-v11 small{display:block}.passport-trust-v11 b{font-size:10px}.passport-trust-v11 small{color:#7b8294;font-size:8px}

.passport-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:13px}.passport-meta-grid>div{padding:11px;border:1px solid #e8eaf0;border-radius:11px;background:#fafbfe}.passport-meta-grid small,.passport-meta-grid b{display:block}.passport-meta-grid small{color:#7a8193;font-size:7px;text-transform:uppercase;letter-spacing:.5px}.passport-meta-grid b{margin-top:2px;color:#22263a;font-size:10px}.passport-meta-grid .passport-background-value{display:flex;align-items:center;gap:6px}.passport-meta-grid .passport-background-value i{width:15px;height:15px;border:1px solid #d2d5df;border-radius:50%;background:var(--passport-meta-color);box-shadow:inset 0 0 0 2px #fff}.passport-final-thumb{display:block;flex:none;width:52px;height:64px;overflow:hidden;border:3px solid #fff;border-radius:8px;background:#e8eaf1;box-shadow:0 5px 14px rgba(35,40,70,.16)}.passport-final-thumb img{width:100%;height:100%;object-fit:cover}.admin-file.passport-print-ready{padding:13px;border-radius:12px;background:#f1fff9;border:1px solid #d7f4e8}.customer-passport-final{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding:13px;border:1px solid #dfe2ed;border-radius:14px;background:#fafbfe}.customer-passport-final .passport-final-thumb{width:65px;height:80px}.customer-passport-final b,.customer-passport-final small{display:block}.customer-passport-final small{color:#747b8e;font-size:8px}

@media(max-width:1050px){.passport-layout-v11{grid-template-columns:minmax(370px,.8fr) minmax(470px,1.2fr)}.passport-hero-grid-v11{grid-template-columns:1fr .65fr}.passport-final-total{align-items:stretch;flex-direction:column}.passport-final-total .btn{width:100%}}
@media(max-width:800px){.passport-hero-v11{padding:42px 0 38px}.passport-hero-grid-v11{grid-template-columns:1fr}.passport-hero-v11 h1{font-size:42px;letter-spacing:-2px}.passport-hero-v11 p{font-size:14px}.passport-hero-sample{display:none}.passport-hero-points{gap:6px}.passport-hero-points span{font-size:9px}.passport-layout-v11{display:flex;flex-direction:column;padding:20px 0 55px}.passport-studio-card{position:static;width:100%;padding:17px}.passport-option-card{padding:18px}.passport-canvas-shell{width:min(100%,315px)}.passport-control-grid{grid-template-columns:1fr}.passport-control-grid label:last-child{grid-column:auto}.passport-treatment-options{grid-template-columns:1fr}.passport-color-options{grid-template-columns:1fr 1fr}.passport-color-options label:last-child{grid-column:1/-1}.passport-final-total{margin-inline:-6px}.passport-final-total .btn{min-width:0}.passport-trust-v11 .container{grid-template-columns:1fr 1fr}.passport-meta-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.passport-hero-v11 h1{font-size:36px}.passport-card-heading h2{font-size:17px}.passport-canvas-shell{width:min(100%,285px)}.passport-trust-v11 .container{grid-template-columns:1fr}.passport-meta-grid{grid-template-columns:1fr}.passport-final-total{position:relative}.passport-submit-status{text-align:left}}
@media(prefers-reduced-motion:reduce){.passport-ai-progress i{transition:none}}
