/* Supported V1 UI Kit host/theme styling from the approved look prototype. */
gmp-basic-place-autocomplete,
gmp-place-details-compact {
 display:block;width:100%;color-scheme:light;border:0;border-radius:12px;
 --gmp-mat-font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
 --gmp-mat-color-surface:#fff;--gmp-mat-color-on-surface:#241b38;
 --gmp-mat-color-on-surface-variant:#66597f;--gmp-mat-color-primary:#7c3aed;
 --gmp-mat-color-positive:#059669;--gmp-mat-color-negative:#dc2626;
 --gmp-mat-color-secondary-container:#f3edff;--gmp-mat-color-on-secondary-container:#5b21b6;
 --gmp-mat-color-outline-decorative:#ece6f8;--gmp-button-border-radius:12px;
 --gmp-dialog-border-radius:20px;--gmp-mat-font-label-large:normal 600 14px/20px system-ui;
 --gmp-mat-font-title-small:normal 750 21.6px/28px system-ui;
 --gmp-mat-font-body-small:normal 400 14px/20px system-ui;
}
.pv-profile-card{background:#fff;border:1px solid #ece6f8;border-radius:24px;color:#241b38;font:16px/1.5 system-ui,sans-serif;box-shadow:0 18px 50px #32146e14}
.pv-profile-hero{height:clamp(240px,38vh,380px);min-height:240px;position:relative;background:#e9e4f4;border-radius:24px 24px 0 0;overflow:hidden}
.pv-profile-map-slot{position:relative;height:100%;width:100%}
.pv-profile-placeholder{position:absolute;inset:0;margin:0;display:grid;place-items:center;text-align:center;padding:80px 36px 50px;color:#66597f;font-size:13px}
.pv-profile-chip{position:absolute;top:12px;left:50%;transform:translateX(-50%);background:#fffffff2;border-radius:14px;padding:6px 14px;text-align:center;box-shadow:0 4px 14px #241b381f;pointer-events:none;z-index:3;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#66597f;font-weight:700}
.pv-profile-sheet{background:#fff;border-radius:22px 22px 24px 24px;padding:10px 22px 22px;position:relative}
.pv-profile-grip{width:40px;height:4px;border-radius:4px;background:#ece6f8;margin:0 auto 14px}
.pv-profile-google-region{padding:4px 0 12px;border-bottom:1px solid #ece6f8}
.pv-profile-primary{display:block;margin:18px 0 10px;width:100%;border:0;border-radius:14px;padding:14px 10px;background:#7c3aed;color:white;font:650 14px/1.5 system-ui;cursor:pointer}
.pv-profile-primary:disabled{opacity:.45;cursor:default}
.pv-profile-link{border:0;background:none;padding:0;color:#7c3aed;font:13px/1.5 system-ui;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pv-profile-under{text-align:center;margin:7px 0}
.pv-profile-modal{position:fixed;inset:0;z-index:20000;background:#241b3866;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.pv-profile-modal>.pv-profile-card{width:min(100%,540px);max-height:calc(100dvh - 32px);overflow:auto}
.pv-profile-modal button:focus-visible,.pv-profile-card button:focus-visible{outline:3px solid #b89aff;outline-offset:3px}
.pv-profile-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pv-profile-field-grid label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600;color:var(--pv-profile-text,#241b38)}
.pv-profile-field-grid input,.pv-profile-field-grid select{display:block;width:100%;box-sizing:border-box;border:1px solid var(--pv-profile-border,#ece6f8);border-radius:10px;padding:10px;font:inherit}
.pv-profile-wide{grid-column:1/-1}
@media(max-width:420px){.pv-profile-sheet{padding:10px 16px 18px}.pv-profile-field-grid{grid-template-columns:1fr}.pv-profile-modal{padding:8px}.pv-profile-modal>.pv-profile-card{max-height:calc(100dvh - 16px)}}
@media print{.pv-profile-modal,gmp-place-details-compact,gmp-basic-place-autocomplete{display:none!important}}

.pv-profile-modal[hidden],.pv-profile-field-grid[hidden]{display:none}

.pv-profile-field-grid input,.pv-profile-field-grid select{background:var(--pv-profile-surface,#fff);color:var(--pv-profile-text,#241b38)}
.pv-profile-field-grid [role="alert"]{color:#b91c1c;font-size:12px}

.pv-profile-manual-map{height:275px;border-radius:18px;overflow:hidden;margin:16px 0;background:#e9e4f4}

/* The UA [hidden] rule loses to display:grid on the empty-map overlay. */
.pv-profile-primary[hidden],.pv-profile-placeholder[hidden],.pv-profile-manual-map[hidden],.pv-profile-field-grid [hidden]{display:none}
.pv-profile-card,.pv-profile-card *{box-sizing:border-box}
.pv-profile-card h2{margin:0 0 14px;font-size:1.35rem;line-height:1.3}
.pv-profile-card [data-role="modal-status"],.pv-profile-card [data-role="draft-notice"],.pv-profile-card [data-role="origin-notice"]{font-size:13px;color:#66597f;margin:12px 0}
.pv-profile-card [data-role="search"]{margin-bottom:12px}
.pv-profile-field-grid{margin:14px 0}
.pv-profile-field-grid input:focus-visible,.pv-profile-field-grid select:focus-visible{outline:2px solid var(--pv-profile-accent,#7c3aed);outline-offset:2px}
/* Match the dashboard Btn ghost sizing, using its host's existing theme tokens. */
.pv-profile-action{background:transparent;color:var(--pv-profile-text2,#66597f);border:1px solid var(--pv-profile-border,#ece6f8);border-radius:9px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.5;cursor:pointer;margin:8px 0}
.pv-profile-action:disabled{opacity:.5;cursor:not-allowed}
.pv-profile-action:focus-visible{outline:2px solid var(--pv-profile-accent,#7c3aed);outline-offset:2px}
.pv-profile-card .pv-profile-action{color:#66597f;border-color:#ece6f8}

/* Recovery remains readable next to the narrow welcome form and in Settings. */
.pv-profile-recovery{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.pv-profile-recovery[hidden]{display:none}
.pv-profile-recovery>.pv-profile-action,.pv-profile-recovery>p{margin:0}
.pv-profile-recovery>label{display:flex;align-items:center;gap:8px;min-width:0;white-space:normal}
.pv-profile-recovery input[type="checkbox"]{flex:none}

.pv-profile-place-step{margin:12px 0;padding:14px;border:1px solid var(--pv-profile-border,#e2e8f0);border-radius:14px;background:var(--pv-profile-surface,#fff);color:var(--pv-profile-text,#172033)}
.pv-profile-place-step > .pv-profile-place-lead{display:flex;gap:8px;align-items:flex-start;font-size:15px;font-weight:700;line-height:1.45;color:var(--pv-profile-text,#172033)}
.pv-profile-warn-mark{display:inline-grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border-radius:50%;background:var(--pv-profile-red,#dc2626);color:#fff;font-size:12px;font-weight:900;line-height:1;margin-top:1px}
.pv-profile-place-map-wrap > .pv-profile-place-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);max-width:calc(100% - 24px);padding:8px 12px;margin:0;background:var(--pv-profile-surface,#fff);border-radius:10px;font-size:13px;font-weight:700;color:var(--pv-profile-text,#172033);pointer-events:none;z-index:2}
.pv-profile-place-map-wrap{position:relative}
.pv-profile-place-map-wrap .pv-profile-chip{position:absolute;top:10px;left:50%;max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.pv-profile-place-step .pv-profile-manual-map{height:240px;width:100%;overflow:hidden;border-radius:12px}
