.jp-gerd-overlay{position:fixed;inset:0;z-index:var(--jp-gerd-z, 999999);display:flex;align-items:center;justify-content:center;background:var(--jp-gerd-overlay-color, rgba(0,0,0,0.6));backdrop-filter:blur(var(--jp-gerd-blur, 6px));-webkit-backdrop-filter:blur(var(--jp-gerd-blur, 6px));opacity:0;pointer-events:none;transition:opacity var(--jp-gerd-speed, 300ms) ease;isolation:isolate;transform:translateZ(0);-webkit-transform:translateZ(0);color:#0f172a;font-family:system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;line-height:1.5;}
.jp-gerd-overlay *,
.jp-gerd-overlay *::before,
.jp-gerd-overlay *::after{box-sizing:border-box;}
.jp-gerd-overlay.jp-gerd-open{opacity:1;pointer-events:all;}
.jp-gerd-modal{position:relative;background:var(--jp-gerd-modal-bg, #ffffff);width:var(--jp-gerd-width, 640px);max-width:min(var(--jp-gerd-max-width, 720px), calc(100vw - 16px));min-height:var(--jp-gerd-min-height, 560px);max-height:calc(100vh - 40px);border-radius:var(--jp-gerd-radius, 16px);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 60px -12px rgba(0,0,0,0.35);transition:transform var(--jp-gerd-speed, 300ms) ease, opacity var(--jp-gerd-speed, 300ms) ease;}
.jp-gerd-overlay:not(.jp-gerd-open) .jp-gerd-modal{transform:translateY(16px);opacity:0;}
.jp-gerd-overlay.jp-gerd-open .jp-gerd-modal{transform:translateY(0);opacity:1;}
.jp-gerd-overlay[data-animation="slide-up"]:not(.jp-gerd-open) .jp-gerd-modal{transform:translateY(40px);}
.jp-gerd-overlay[data-animation="scale-in"]:not(.jp-gerd-open) .jp-gerd-modal{transform:scale(0.94);}
.jp-gerd-overlay[data-animation="none"] .jp-gerd-modal{transform:none !important;opacity:1;}
.jp-gerd-modal-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 12px;height:var(--jp-gerd-header-height, 64px);background:var(--jp-gerd-header-bg, #0f172a);color:var(--jp-gerd-header-text, #ffffff);flex-shrink:0;}
.jp-gerd-header-persona{display:flex;align-items:center;gap:12px;}
.jp-gerd-avatar{width:var(--jp-gerd-avatar-size, 36px);height:var(--jp-gerd-avatar-size, 36px);border-radius:var(--jp-gerd-avatar-radius, 50%);background:var(--jp-gerd-avatar-bg, #2563eb);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
.jp-gerd-bot-name{font-weight:600;font-size:15px;line-height:1.2;}
.jp-gerd-system-note{font-size:var(--jp-gerd-system-note-font-size, 12px);color:var(--jp-gerd-system-note-color, rgba(255, 255, 255, 0.72));opacity:1;line-height:1.35;}
.jp-gerd-header-right{display:flex;align-items:center;gap:12px;}
.jp-gerd-progress-wrap{display:flex;align-items:center;gap:8px;}
.jp-gerd-progress-bar{position:relative;width:100px;height:5px;border-radius:999px;background:var(--jp-gerd-progress-bg, rgba(255,255,255,0.2));overflow:hidden;}
.jp-gerd-progress-bar::after{content:'';position:absolute;inset-block:0;left:0;width:var(--jp-gerd-progress, 0%);background:var(--jp-gerd-progress-color, #2563eb);border-radius:999px;transition:width 0.3s ease;}
.jp-gerd-step-counter{font-size:11px;opacity:0.7;white-space:nowrap;}
.jp-gerd-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--jp-gerd-close-bg, transparent);color:var(--jp-gerd-close-color, #94a3b8);cursor:pointer;border-radius:var(--jp-gerd-close-radius, 6px);padding:var(--jp-gerd-close-padding, 6px);transition:background 0.15s, color 0.15s;flex-shrink:0;}
.jp-gerd-close-btn:hover{background:var(--jp-gerd-close-hover-bg, #f1f5f9);color:var(--jp-gerd-close-hover-color, #0f172a);}
.jp-gerd-close-icon svg{display:block;}
.jp-gerd-call-now-row{position:relative;flex-shrink:0;padding:10px 16px;border-top:1px solid var(--jp-gerd-border, #e2e8f0);}
.jp-gerd-call-now-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:var(--jp-gerd-cn-padding, 12px 24px);background:var(--jp-gerd-cn-bg, #16a34a);color:var(--jp-gerd-cn-text, #ffffff);border:none;border-radius:var(--jp-gerd-cn-radius, 10px);font-size:var(--jp-gerd-cn-font-size, 15px);font-weight:600;cursor:pointer;font-family:inherit;transition:background 0.15s ease;}
.jp-gerd-call-now-btn:hover{background:var(--jp-gerd-cn-hover-bg, #15803d);color:var(--jp-gerd-cn-hover-text, #ffffff);}
.jp-gerd-cn-subtext{font-size:12px;font-weight:400;opacity:0.85;}
.jp-gerd-call-popover{position:absolute;bottom:calc(100% + 8px);left:16px;right:16px;background:#fff;border:1px solid var(--jp-gerd-border);border-radius:10px;padding:14px 16px;box-shadow:0 8px 24px -4px rgba(0,0,0,0.15);display:flex;align-items:center;gap:12px;opacity:0;pointer-events:none;transition:opacity 0.15s ease;z-index:10;}
.jp-gerd-call-popover.open{opacity:1;pointer-events:all;}
.jp-gerd-popover-label{font-size:13px;color:#64748b;}
.jp-gerd-popover-number{font-size:16px;font-weight:700;color:#0f172a;flex:1;}
.jp-gerd-copy-btn{display:flex;align-items:center;gap:4px;border:1px solid var(--jp-gerd-border);background:#f8fafc;color:#0f172a;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:13px;font-family:inherit;transition:background 0.1s;}
.jp-gerd-copy-btn:hover{background:#e2e8f0;}
.jp-gerd-modal-footer{flex-shrink:0;padding:var(--jp-gerd-footer-padding, 10px 16px);background:var(--jp-gerd-footer-bg, #f8fafc);border-top:1px solid var(--jp-gerd-footer-border, #e2e8f0);font-size:var(--jp-gerd-footer-font-size, 12px);color:var(--jp-gerd-footer-text, #94a3b8);text-align:var(--jp-gerd-footer-align, center);line-height:1.5;}
.jp-gerd-modal-footer a{color:var(--jp-gerd-footer-link, #2563eb);text-decoration:underline;}
.jp-gerd-abandon-confirm{position:absolute;inset:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none !important;z-index:10;transition:opacity 0.2s ease;border-radius:inherit;}
.jp-gerd-abandon-confirm.active{opacity:1;visibility:visible;pointer-events:auto !important;}
.jp-gerd-abandon-card{background:#fff;border-radius:14px;padding:28px 24px;max-width:340px;text-align:center;box-shadow:0 8px 30px rgba(0,0,0,0.2);}
.jp-gerd-abandon-msg{font-size:15px;color:#0f172a;margin-bottom:20px;}
.jp-gerd-abandon-actions{display:flex;gap:10px;justify-content:center;}
.jp-gerd-abandon-cancel, .jp-gerd-abandon-confirm-btn{padding:10px 20px;border-radius:8px;border:none;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background 0.15s;}
.jp-gerd-abandon-cancel{background:#f1f5f9;color:#0f172a;}
.jp-gerd-abandon-cancel:hover{background:#e2e8f0;}
.jp-gerd-abandon-confirm-btn{background:#dc2626;color:#fff;}
.jp-gerd-abandon-confirm-btn:hover{background:#b91c1c;}
@media(max-width:768px){ .jp-gerd-overlay {
align-items: flex-end;
--jp-gerd-mobile-gutter: 14px;
padding-left: max(var(--jp-gerd-mobile-gutter), env(safe-area-inset-left, 0px));
padding-right: max(var(--jp-gerd-mobile-gutter), env(safe-area-inset-right, 0px));
padding-bottom: env(safe-area-inset-bottom, 0px);
box-sizing: border-box;
}
.jp-gerd-modal.jp-gerd-fullscreen {
width: 100%;
max-width: 100%;
border-radius: 20px 20px 0 0; max-height: min(96dvh, calc(100dvh - env(safe-area-inset-bottom, 0px) - 12px));
} .jp-gerd-modal-header {
flex-wrap: nowrap;
align-items: center;
height: auto;
min-height: var(--jp-gerd-header-height, 56px);
padding: 8px 10px;
gap: 6px;
}
.jp-gerd-header-right {
margin-left: auto;
flex: 0 0 auto;
flex-shrink: 0;
flex-wrap: nowrap;
justify-content: flex-end;
gap: 8px;
}
.jp-gerd-header-persona {
min-width: 0;
flex: 1 1 auto;
align-items: center;
}
.jp-gerd-header-info {
min-width: 0;
}
.jp-gerd-bot-name {
font-size: 14px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: min(52vw, 220px);
} .jp-gerd-modal-header .jp-gerd-system-note,
.jp-gerd-modal-header #jp-gerd-system-note {
display: none !important;
height: 0 !important;
margin: 0 !important;
padding: 0 !important;
overflow: hidden !important;
visibility: hidden !important;
pointer-events: none !important;
}
.jp-gerd-progress-wrap {
flex-shrink: 1;
min-width: 0;
gap: 5px;
align-items: center;
}
.jp-gerd-progress-bar {
width: clamp(48px, 16vw, 80px);
flex-shrink: 1;
}
.jp-gerd-step-counter {
font-size: 10px;
opacity: 0.85;
max-width: 28vw;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}