.profile-hero{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:var(--radius-lg, 12px);background:linear-gradient(120deg,var(--tint),#fff 65%);padding:12px 18px;margin-bottom:14px;flex-shrink:0}
.profile-hero-avatar{width:58px;height:58px;flex:0 0 58px;border-radius:50%!important;background:#fff;display:grid;place-items:center;color:var(--primary);overflow:hidden;border:2.5px solid #fff!important;box-shadow:0 0 0 1.5px color-mix(in srgb,var(--primary) 38%,var(--line)),0 3px 10px rgba(0,0,0,0.08)!important}
.profile-hero-avatar>.icon{width:26px;height:26px}.profile-hero-avatar img,.profile-hero-avatar video{width:100%;height:100%;object-fit:cover;border-radius:50%!important;display:block}
.profile-hero-avatar:has(.profile-avatar-initials){padding:3px!important;border:0!important;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 85%,#fff) 0%,var(--primary) 50%,color-mix(in srgb,var(--primary) 70%,var(--success)) 100%)!important;box-shadow:0 4px 14px -2px color-mix(in srgb,var(--primary) 35%,transparent),0 2px 6px rgba(0,0,0,.05)!important}
.profile-portrait:has(.profile-avatar-initials){border-radius:50%!important;padding:4px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 85%,#fff) 0%,var(--primary) 50%,color-mix(in srgb,var(--primary) 70%,var(--success)) 100%)!important;box-shadow:0 4px 14px -2px color-mix(in srgb,var(--primary) 35%,transparent),0 2px 6px rgba(0,0,0,.05)!important}
.profile-avatar-initials{width:100%;height:100%;border-radius:50%;background:#fff;border:2px solid #fff;box-shadow:inset 0 1px 2px rgba(0,0,0,.06);display:grid;place-items:center;font-size:16px;font-weight:700;color:var(--primary);letter-spacing:.02em;user-select:none;box-sizing:border-box}
.profile-portrait .profile-avatar-initials{font-size:26px;border-width:3px}
.profile-hero-title{flex:1;min-width:0}.profile-hero-title .eyebrow{font-size:9px;margin-bottom:7px}.profile-hero-title h2{font-size:19px;font-weight:700;margin:0;overflow-wrap:anywhere}.profile-hero-title p{font-size:12px;color:var(--muted);margin:0 0 10px}.profile-draft{font-size:10px;color:var(--primary-dark);background:#fff;border:1px solid var(--line);padding:4px 8px;border-radius:var(--radius-pill, 999px)}
.settings-head-actions{display:inline-flex;align-items:center;gap:10px}
.profile-head-completeness{display:inline-flex;flex-direction:column;gap:3px;min-width:130px;max-width:160px;margin-right:2px}
.profile-head-completeness>span{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;line-height:1.2}
.profile-head-completeness>span strong{color:var(--ink);font-weight:700}
.profile-head-completeness progress{width:100%;height:5px;accent-color:var(--primary);border-radius:var(--radius-xs, 4px);background:var(--line);border:0}
.profile-head-completeness progress::-webkit-progress-bar{background:var(--line);border-radius:var(--radius-xs, 4px)}
.profile-head-completeness progress::-webkit-progress-value{background:var(--primary);border-radius:var(--radius-xs, 4px)}
.profile-completeness{display:none}
.profile-savebar{display:none}

@media(min-width:761px){
 .content:has(#doctor-profile-root),.content:has(.settings-workspace.has-profile){overflow:hidden!important;display:flex;flex-direction:column;padding-bottom:16px}
 .content:has(#doctor-profile-root) .settings-workspace,.settings-workspace.has-profile{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%}
 .content:has(#doctor-profile-root) .settings-tabs,.settings-workspace.has-profile .settings-tabs{flex-shrink:0;margin-bottom:12px}
 .content:has(#doctor-profile-root) #settings-panel,.settings-workspace.has-profile #settings-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%}
 #doctor-profile-root{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%}
 .profile-editor-layout{display:grid;grid-template-columns:190px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:18px;align-items:stretch;flex:1 1 auto;min-height:0;height:100%;margin-bottom:0}
 .profile-section-nav{display:flex;flex-direction:column;gap:2px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg, 12px);position:static;top:auto;min-height:0;height:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;flex-shrink:0;box-sizing:border-box}
 .profile-section-panel{display:block;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg, 12px);min-width:0;min-height:0;height:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;box-sizing:border-box}
}

.profile-section-nav button{font-size:12px;font-weight:500;padding:8px 10px;gap:8px;line-height:1.35;flex-shrink:0;text-align:left}.profile-section-nav button span{font-size:9px;color:var(--muted)}.profile-section-nav button.active span{color:var(--primary)}
.profile-section-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg, 12px);min-width:0}
.profile-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:23px}.profile-section-heading h3{font-size:19px;margin:6px 0 7px}.profile-section-heading p{font-size:12px;color:var(--muted);margin:0;max-width:540px;line-height:1.6}.profile-section-heading .eyebrow{font-size:9px}.profile-section-heading button{font-size:11px;flex-shrink:0;padding:9px 12px}
.profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.profile-field{min-width:0;font-size:12px}.profile-field>span:first-child{display:block;line-height:1.5}.profile-field input,.profile-field select,.profile-field textarea{font-size:13px;margin-top:7px;min-height:40px}.profile-field textarea{line-height:1.6;min-height:100px}.profile-wide{grid-column:1/-1}.profile-field input:focus,.profile-field select:focus,.profile-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow, rgba(8,126,133,0.16))}
.profile-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md, 8px);font-size:12px;position:relative}.profile-switch input{position:absolute;opacity:0;width:1px;height:1px}.profile-switch-track{width:34px;height:20px;border-radius:var(--radius-pill, 999px);background:var(--line-strong);flex-shrink:0;padding:3px}.profile-switch-track:after{content:'';display:block;width:14px;height:14px;border-radius:50%;background:white;transition:transform .15s}.profile-switch input:checked+.profile-switch-track{background:var(--primary)}.profile-switch input:checked+.profile-switch-track:after{transform:translateX(14px)}.profile-switch input:focus-visible+.profile-switch-track{outline:2px solid var(--primary);outline-offset:3px}
.profile-records{display:grid;gap:16px}.profile-record{padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg, 12px);background:var(--bg);min-width:0}.profile-record-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px}.profile-record-head strong{font-size:13px;overflow-wrap:anywhere}.profile-record-head>div{display:flex;align-items:center;gap:4px;flex-shrink:0}.profile-record-head button{padding:5px 8px;font-size:12px}.profile-record .profile-field input,.profile-record .profile-field textarea{background:#fff}
.profile-empty{padding:35px 20px;background:var(--bg);border:1px dashed var(--line);border-radius:var(--radius-lg, 12px);text-align:center}.profile-empty .icon{color:var(--primary);width:28px;height:28px}.profile-empty h4{font-size:14px;margin:12px 0 7px}.profile-empty p{font-size:12px;color:var(--muted);margin:0}
.profile-upload{display:block;margin-top:12px;border:1px dashed var(--line);border-radius:var(--radius-md, 8px);padding:12px;background:var(--bg)}.profile-upload input{font-size:11px;width:100%;max-width:100%;border:0;background:transparent;padding:0;min-height:0;margin:0}.profile-upload small{display:block;font-size:10px;line-height:1.6;margin-top:6px}.profile-photo-section{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:24px}.profile-photo-section h3{font-size:16px;margin:0 0 7px}.profile-photo-section p{font-size:12px;color:var(--muted)}.profile-portrait{width:100px;height:100px;border-radius:var(--radius-xl, 16px);background:var(--tint);overflow:hidden;display:grid;place-items:center;color:var(--primary)}.profile-portrait img,.profile-portrait video{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.profile-portrait>.icon{width:38px;height:38px}
.profile-media-preview{margin-top:14px}.profile-media-preview img,.profile-media-preview video{max-width:100%;max-height:240px;border-radius:var(--radius-md, 8px)}.profile-map-link{display:inline-block;font-size:12px;margin-top:16px}.profile-office-map{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.profile-office-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.profile-office-map-head .eyebrow{font-size:9px}.profile-office-map-head h4{font-size:15px;margin:5px 0 4px}.profile-office-map-head p{font-size:11px;color:var(--muted);margin:0}.profile-map-status{flex-shrink:0;border:1px solid var(--line);border-radius:var(--radius-pill, 999px);background:var(--bg);color:var(--muted);font-size:10px;font-weight:600;padding:5px 9px}.profile-map-status.is-exact{border-color:#b9d9ce;background:var(--success-tint);color:var(--success-dark)}.profile-map-frame{height:290px;border:1px solid var(--line);border-radius:var(--radius-lg, 12px);overflow:hidden;background:var(--bg)}.profile-map-frame iframe{display:block;width:100%;height:100%;border:0}.profile-map-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.profile-map-actions>div{display:flex;flex-wrap:wrap;gap:7px}.profile-map-actions button,.profile-map-actions a{font-size:11px;padding:7px 10px}.profile-map-actions a{font-weight:600}.profile-map-help{font-size:10px;color:var(--muted);line-height:1.55;margin:10px 0 0}.profile-preview-hero{margin-bottom:24px}.profile-preview-hero h2{margin:14px 0 7px}.profile-preview-details{border-bottom:1px solid var(--line);padding-bottom:12px;margin:0 0 12px;display:grid;gap:8px}.profile-preview-details dt{font-size:10px;color:var(--muted)}.profile-preview-details dd{font-size:12px;margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.profile-preview-gallery{display:grid;gap:12px}.profile-preview-gallery figure{margin:0}.profile-preview-gallery img,.profile-preview-gallery video{max-width:100%;max-height:220px}.profile-preview-gallery figcaption{font-size:12px}.profile-diff{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-height:280px;overflow:auto}.profile-loading{padding:50px;text-align:center;color:var(--muted)}
#profile-conflict[hidden]{display:none}#profile-conflict button{font-size:11px;margin:5px;padding:7px}
@media(max-width:1100px){.profile-hero{flex-wrap:wrap}.profile-completeness{width:100%;display:flex;align-items:center;gap:12px}.profile-completeness>span{min-width:145px;gap:8px}.profile-completeness progress{margin:0;flex:1}.profile-completeness button{width:auto}.profile-editor-layout{grid-template-columns:160px minmax(0,1fr);gap:14px}.profile-section-panel{padding:18px}.profile-section-heading{flex-wrap:wrap}}
@media(max-width:760px){.profile-hero{padding:18px;gap:12px}.profile-hero-avatar{width:52px;height:52px;flex-basis:52px}.profile-hero-title h2{font-size:18px}.profile-hero-title p{font-size:11px}.profile-completeness{flex-wrap:wrap}.profile-completeness>span{min-width:130px}.profile-editor-layout{display:block;height:auto;max-height:none}.profile-section-nav{position:static;display:flex;flex-direction:row;overflow:auto;margin-bottom:14px;gap:4px;height:auto;max-height:none}.profile-section-nav button{white-space:nowrap;flex-shrink:0}.profile-fields,.profile-photo-section{grid-template-columns:1fr}.profile-wide{grid-column:auto}.profile-field input,.profile-field textarea,.profile-field select{font-size:16px}.profile-section-panel{padding:16px;height:auto;max-height:none;overflow:visible}.profile-record{padding:13px}.profile-record-head{align-items:flex-start}.profile-savebar{align-items:flex-start}.profile-savebar>div small{display:none}.profile-section-heading button{min-height:40px}.profile-office-map-head,.profile-map-actions{align-items:flex-start;flex-direction:column}.profile-map-frame{height:235px}.profile-map-actions>a{align-self:stretch;text-align:center;border:1px solid var(--line);border-radius:var(--radius-sm, 6px)}}

.profile-map-provider{display:flex;align-items:center;gap:12px;margin:12px 0;font-size:12px}.profile-map-provider select{width:auto;max-width:100%;font-size:12px}.profile-map-provider label{font-weight:600}
.profile-record.profile-disclosure{padding:0;overflow:hidden}
.profile-disclosure>summary{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:18px 20px;cursor:pointer;list-style:none}
.profile-disclosure>summary::-webkit-details-marker{display:none}
.profile-disclosure>summary:hover{background:var(--tint)}
.profile-disclosure>summary:focus-visible{outline:2px solid var(--primary);outline-offset:-3px;border-radius:var(--radius-lg, 12px)}
.profile-disclosure-copy{display:grid;gap:6px;min-width:0}
.profile-disclosure-copy strong{font-size:14px;color:var(--ink);overflow-wrap:anywhere}
.profile-disclosure-copy>span{font-size:12px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.profile-disclosure-chevron{color:var(--primary);font-size:22px;transition:transform .15s}
.profile-disclosure[open]>summary .profile-disclosure-chevron{transform:rotate(180deg)}
.profile-disclosure[open]>summary{border-bottom:1px solid var(--line)}
.profile-disclosure-body{padding:20px}
.profile-disclosure .profile-photo-section{margin:0}
@media(max-width:760px){.profile-disclosure>summary{padding:15px}.profile-disclosure-body{padding:14px}}
.profile-card-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}
.profile-card-actions .profile-card-action{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:7px;border:1px solid var(--line);border-radius:var(--radius-md, 8px);background:#fff;color:var(--primary)}
.profile-card-action .icon,.profile-disclosure-chevron .icon{width:18px;height:18px}
.profile-card-actions .profile-card-action.danger{color:var(--danger,#dc2626)}
.profile-card-actions .profile-card-action:hover:not(:disabled){background:var(--tint);border-color:var(--primary)}
.profile-card-actions .profile-card-action:disabled{opacity:.35;cursor:not-allowed}
.profile-disclosure-chevron{display:inline-flex;flex-shrink:0}
.profile-card-action{position:relative}
.profile-card-action:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.profile-card-action::after{content:attr(aria-label);position:absolute;right:0;top:calc(100% + 5px);z-index:5;padding:5px 8px;border:1px solid var(--line);border-radius:var(--radius-sm, 6px);background:#fff;color:var(--ink);box-shadow:0 3px 10px #17383d18;font-size:11px;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden}
.profile-card-action:hover:not(:disabled)::after,.profile-card-action:focus-visible::after{opacity:1;visibility:visible}
@media(max-width:760px){.profile-disclosure>summary{gap:8px}.profile-records .profile-disclosure>summary{padding-right:186px}.profile-records .profile-card-actions{top:12px;right:48px}.profile-card-actions .profile-card-action{width:38px;height:38px}}
.profile-social-badge{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md, 8px);background:var(--tint);color:var(--primary);flex-shrink:0}
.profile-social-icon{width:23px;height:23px}
.profile-service-media{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.profile-service-media h4{margin:0 0 12px;font-size:14px}.profile-service-media [role=status]{font-size:12px;overflow-wrap:anywhere}
.profile-service-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(160px,100%),1fr));gap:12px;margin-top:14px}
.profile-media-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg, 12px);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.03);transition:border-color .15s ease,box-shadow .15s ease}
.profile-media-card:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--line));box-shadow:0 4px 12px var(--primary-glow, rgba(8,126,133,0.16))}
.profile-media-thumb-container{position:relative;width:100%;height:115px;background:var(--bg, #f3f7f6);overflow:hidden}
.profile-media-thumb-frame{width:100%;height:100%;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;background:transparent;border:none;padding:0}
.profile-media-thumb-frame img,.profile-media-thumb-frame video{width:100%;height:100%;object-fit:cover;display:block}
.profile-media-thumb-frame .profile-video-embed{height:100%;padding-bottom:0;width:100%}
.profile-media-thumb-frame .profile-video-embed iframe{width:100%;height:100%;pointer-events:none}
.profile-media-zoom-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:5px;background:rgba(25,56,61,0.55);color:#fff;font-size:11.5px;font-weight:600;opacity:0;transition:opacity .15s ease;backdrop-filter:blur(2px);pointer-events:none}
.profile-media-thumb-container:hover .profile-media-zoom-hint{opacity:1}
.profile-media-chips{position:absolute;top:6px;left:6px;display:flex;gap:4px;z-index:2;pointer-events:none}
.media-chip{display:inline-flex;align-items:center;gap:3px;font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:var(--radius-xs, 4px);text-transform:uppercase;letter-spacing:.04em;background:rgba(25,56,61,0.8);color:#fff;backdrop-filter:blur(3px)}
.media-chip.chip-drive{background:rgba(14,116,144,0.88)}
.media-chip.chip-video{background:rgba(194,65,12,0.88)}
.profile-media-quick-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px;z-index:3;opacity:0;transform:translateY(-2px);transition:opacity .15s ease,transform .15s ease}
.profile-media-thumb-container:hover .profile-media-quick-actions{opacity:1;transform:translateY(0)}
.media-btn-circle{width:26px;height:26px;padding:0;border-radius:50%;display:inline-grid;place-items:center;background:rgba(255,255,255,0.96);color:var(--ink, #19383d);border:1px solid rgba(0,0,0,0.1);box-shadow:0 2px 4px rgba(0,0,0,0.12);cursor:pointer;transition:background .12s,color .12s,transform .12s}
.media-btn-circle:hover{background:#fff;color:var(--primary,#087e85);transform:scale(1.08)}
.media-btn-circle.danger:hover{background:var(--danger,#dc2626);color:#fff;border-color:var(--danger,#dc2626)}
.profile-media-info-bar{padding:8px;display:flex;flex-direction:column;gap:5px;background:#fff;border-top:1px solid var(--line)}
.profile-media-quick-title{width:100%;font-size:12px;font-weight:600;color:var(--ink, #19383d);padding:4px 6px;border:1px solid transparent;border-radius:var(--radius-sm, 6px);background:transparent;outline:none;transition:border-color .15s,background .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-media-quick-title:hover{border-color:var(--line);background:var(--bg)}
.profile-media-quick-title:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 2px var(--primary-glow, rgba(8,126,133,0.16))}
.profile-media-sub-actions{display:flex;align-items:center;justify-content:space-between;gap:6px}
.profile-media-btn-edit{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--primary,#087e85);background:transparent;border:none;padding:2px 6px;cursor:pointer;border-radius:var(--radius-xs, 4px)}
.profile-media-btn-edit:hover{background:var(--tint)}
.profile-media-btn-del{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;padding:0;font-size:11px;color:var(--muted, #526b70);background:transparent;border:none;cursor:pointer;border-radius:var(--radius-xs, 4px)}
.profile-media-btn-del:hover{color:var(--danger,#dc2626);background:var(--danger-tint,#fef2f2)}
.profile-media-card-title{display:block;font-size:12px;overflow-wrap:anywhere}
.profile-media-expanded{margin:0;min-width:0}.profile-media-expanded img{display:block;width:100%;max-height:65vh;object-fit:contain;border-radius:var(--radius-md, 8px)}.profile-media-expanded figcaption{margin-top:12px;font-size:13px;overflow-wrap:anywhere}
.profile-video-embed{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--radius-sm, 6px);background:#000}
.profile-video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.profile-service-media-item .profile-video-embed{height:160px;padding-bottom:0}
.profile-service-media-item .profile-video-embed iframe{position:relative;width:100%;height:100%}
.profile-media-thumb-video-box{display:flex;flex-direction:column;width:100%;border-radius:var(--radius-sm, 6px);overflow:hidden;background:var(--bg)}
.profile-media-thumb-video-box video{width:100%;height:160px;object-fit:cover;border-radius:var(--radius-sm, 6px);display:block}
.profile-media-zoom-btn{margin-top:6px;font-size:11.5px;padding:4px 8px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:var(--radius-sm, 6px)}
.profile-media-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.profile-media-header h4{margin:0}
.profile-media-header>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.profile-media-header button{font-size:12px;padding:6px 12px}
.profile-drive-status-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 18px;border:1px solid #c2e0d8;background:linear-gradient(135deg,#f0f9f6 0%,#fff 100%);border-radius:var(--radius-lg, 12px);margin-bottom:20px}
.profile-drive-status-info{flex:1;min-width:260px}
.profile-drive-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#1e7e60;background:#d8f3eb;padding:3px 8px;border-radius:var(--radius-pill, 999px);margin-bottom:6px}
.profile-drive-status-info strong{display:block;font-size:14px;color:var(--ink);margin-bottom:4px}
.profile-drive-status-info p{font-size:12px;color:var(--muted);margin:0;line-height:1.5}
.profile-drive-status-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.profile-drive-status-actions button{font-size:12px;padding:8px 12px}
.profile-drive-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;max-height:65vh;overflow-y:auto;padding:8px}
.profile-drive-file-card{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-lg, 12px);background:#fff}
.profile-drive-file-thumb{width:100%;height:130px;object-fit:cover;border-radius:var(--radius-sm, 6px);background:var(--bg)}
.profile-drive-file-info{flex:1;min-width:0}
.profile-drive-file-info strong{display:block;font-size:12px;overflow-wrap:anywhere;line-height:1.3}
.profile-drive-file-info span{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.profile-drive-file-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.profile-drive-file-actions button{font-size:11px;padding:5px 8px;flex:1}
.profile-social-picker{border:0;padding:0;margin:0;min-width:0}
.profile-social-picker legend{font-size:13px;font-weight:600;margin-bottom:12px}
.profile-social-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:9px}
.profile-social-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:13px 8px;border:1px solid var(--line);border-radius:var(--radius-md, 8px);background:#fff;color:var(--muted);font-size:12px;cursor:pointer}
.profile-social-option input{position:absolute;opacity:0;width:1px;height:1px}
.profile-social-option:hover,.profile-social-option:has(input:checked){color:var(--primary);border-color:var(--primary);background:var(--tint)}
.profile-social-option:has(input:checked){box-shadow:inset 0 0 0 1px var(--primary)}
.profile-social-option:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:3px}
.social-dropdown{border:1px solid var(--line);border-radius:var(--radius-md, 8px);background:#fff}
.social-dropdown>summary{display:flex;align-items:center;justify-content:space-between;padding:12px;cursor:pointer;list-style:none}
.social-dropdown>summary::-webkit-details-marker{display:none}
.social-dropdown [data-social-selected]{display:flex;align-items:center;gap:10px}
.social-dropdown-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));max-height:260px;overflow:auto;gap:6px;padding:10px;border-top:1px solid var(--line)}
.social-dropdown-options button{display:flex;align-items:center;gap:10px;text-align:left;padding:10px;font-size:12px}
.social-dropdown-options button[aria-pressed=true]{background:var(--tint);border-color:var(--primary);color:var(--primary)}
.social-palette{border:0;padding:0;margin:0;min-width:0}.social-palette legend{font-size:12px;font-weight:600;margin-bottom:10px}
.social-color-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;padding:12px;border-top:1px solid var(--line);max-height:260px;overflow:auto}.social-swatch{position:relative;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px}
.social-color-options .social-swatch{min-height:40px;padding:5px;border-radius:var(--radius-sm, 6px)}.social-color-options .social-swatch:hover{background:var(--tint)}
.social-dropdown>summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-md, 8px)}
.social-dropdown>summary>.icon{flex-shrink:0}.social-dropdown[open]>summary>.icon{transform:rotate(180deg)}
.social-palette-background .swatch-predeterminado{--swatch:var(--tint)}
.social-swatch input{position:absolute;opacity:0;width:1px;height:1px}
.social-swatch>span:first-of-type{display:block;width:26px;height:26px;background:var(--swatch,var(--primary));border:1px solid var(--line);border-radius:50%}
.social-swatch:has(input:checked)>span:first-of-type{outline:2px solid var(--primary);outline-offset:2px}
.social-swatch:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:4px;border-radius:var(--radius-xs, 4px)}
.social-color-name{max-width:85px}
.swatch-azul{--swatch:#326baa}.social-fg-azul{color:#326baa}.social-bg-azul{background:#326baa}
.swatch-turquesa{--swatch:#087e8b}.social-fg-turquesa{color:#087e8b}.social-bg-turquesa{background:#087e8b}
.swatch-verde{--swatch:#26834a}.social-fg-verde{color:#26834a}.social-bg-verde{background:#26834a}
.swatch-violeta{--swatch:#7951b0}.social-fg-violeta{color:#7951b0}.social-bg-violeta{background:#7951b0}
.swatch-rosa{--swatch:#bf3e83}.social-fg-rosa{color:#bf3e83}.social-bg-rosa{background:#bf3e83}
.swatch-rojo{--swatch:#c43e42}.social-fg-rojo{color:#c43e42}.social-bg-rojo{background:#c43e42}
.swatch-naranja{--swatch:#c6681c}.social-fg-naranja{color:#c6681c}.social-bg-naranja{background:#c6681c}
.swatch-negro{--swatch:#202a32}.social-fg-negro{color:#202a32}.social-bg-negro{background:#202a32}
.swatch-blanco{--swatch:#ffffff}.social-fg-blanco{color:#ffffff}.social-bg-blanco{background:#ffffff}

/* Profile records as full-width horizontal bars with square action buttons */
.profile-section-panel{container-type:inline-size}
.profile-records{display:grid;grid-template-columns:1fr;gap:12px;width:100%;align-items:stretch}
.profile-records .profile-record{position:relative;width:100%}
.profile-records .profile-disclosure{width:100%}
.profile-records .profile-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;padding-right:176px;cursor:pointer;list-style:none;position:relative}
.profile-records .profile-disclosure>summary::-webkit-details-marker{display:none}
.profile-records .profile-disclosure-copy{flex:1;min-width:0;display:grid;gap:4px}
.profile-records .profile-card-actions{position:absolute;top:15px;right:52px;z-index:2;display:flex;align-items:center;gap:6px;margin-left:0}
.profile-records .profile-disclosure-chevron{display:inline-flex;flex-shrink:0;position:absolute;right:20px;top:23px}
.profile-records [data-social-badge]{flex-shrink:0}
.profile-records .profile-disclosure-body{padding:20px}
.profile-fields{gap:14px}.profile-field textarea{min-height:84px}
.profile-section-panel>[data-profile-disclosure="photo"]{margin-bottom:20px}
.profile-service-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:12px}
.profile-media-description{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6;color:var(--muted)}
.profile-media-description:empty{display:none}
@container(min-width:620px){.profile-service-media-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}}
@container(min-width:960px){.profile-service-media-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr))}.profile-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Office logo upload & badge styles */
.profile-office-logo-field{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:6px}
.profile-office-logo-layout{display:flex;align-items:flex-start;gap:20px}
.profile-office-logo-preview-box{flex:0 0 100px}
.profile-office-logo-img-wrap{width:100px;height:100px;border-radius:var(--radius-lg, 12px);background:var(--tint);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;padding:6px;box-sizing:border-box}
.profile-office-logo-img-wrap img{max-width:100%;max-height:100%;object-fit:contain}
.profile-office-logo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--muted);font-size:11px}
.profile-office-logo-empty .icon{width:28px;height:28px;color:var(--primary)}
.profile-office-logo-details{flex:1;min-width:0}
.profile-field-title{font-size:13px;font-weight:600;color:var(--ink);display:block;margin-bottom:4px}
.profile-field-hint{font-size:11px;color:var(--muted);margin:0 0 10px;line-height:1.5}
.profile-office-logo-inputs{display:grid;gap:10px}
.profile-office-logo-inputs .profile-upload{margin-top:0}
.profile-office-logo-url-row{display:flex;align-items:center;gap:10px}
.profile-office-logo-url-row input{flex:1;min-width:0;margin-top:0}
.profile-office-logo-badge{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-lg, 12px);background:var(--tint);color:var(--primary);flex-shrink:0;overflow:hidden;border:1px solid var(--line);padding:2px;box-sizing:border-box}
.profile-office-logo-badge img{width:100%;height:100%;object-fit:contain}
.profile-office-badge-placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--primary)}
.profile-office-badge-placeholder .icon{width:22px;height:22px}
.profile-preview-office-logo{margin-bottom:10px}
.profile-preview-office-logo img{max-height:60px;max-width:160px;object-fit:contain}
@media(max-width:760px){
 .profile-office-logo-layout{flex-direction:column;align-items:stretch}
 .profile-office-logo-preview-box{align-self:center}
 .profile-office-logo-url-row{flex-direction:column;align-items:stretch}
}

/* Google Drive Profile Integration Styles */
.profile-drive-status-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg, 12px);padding:16px 20px;margin-bottom:20px;flex-wrap:wrap}
.profile-drive-status-info{display:grid;gap:6px;flex:1;min-width:280px}
.profile-drive-status-info p{margin:0;font-size:13px;color:var(--muted);line-height:1.5}
.profile-drive-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill, 999px);background:rgba(38,131,74,0.12);color:#26834a;font-weight:600;font-size:12px;width:fit-content}
.profile-drive-status-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.profile-media-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.profile-media-header h4{margin:0;font-size:14px;font-weight:600}
.profile-media-header-actions{display:flex;align-items:center;gap:8px}
.profile-drive-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;width:100%}
.profile-drive-file-card{border:1px solid var(--line);border-radius:var(--radius-lg, 12px);padding:10px;background:var(--surface);display:flex;flex-direction:column;gap:8px;transition:box-shadow .2s ease}
.profile-drive-file-card:hover{box-shadow:0 4px 12px rgba(0,0,0,0.06)}
.profile-drive-file-thumb{width:100%;height:115px;border-radius:var(--radius-sm, 6px);overflow:hidden;background:var(--tint);display:flex;align-items:center;justify-content:center}
.profile-drive-file-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.profile-drive-thumb-placeholder{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}
.profile-drive-file-info{display:grid;gap:2px}
.profile-drive-file-info strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.profile-drive-file-info small{font-size:11px;color:var(--muted)}
.profile-media-drive-tag{display:inline-flex;align-items:center;font-size:10px;padding:2px 6px;border-radius:var(--radius-xs, 4px);background:rgba(15,74,120,0.1);color:var(--primary);font-weight:600;margin-left:6px;vertical-align:middle}
.profile-video-embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius-md, 8px);overflow:hidden;background:#000}
.profile-video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Customizable service field headers */
.profile-customizable-field{display:flex;flex-direction:column;gap:8px}
.profile-field-custom-header{display:flex;flex-direction:column;gap:4px;width:100%}
.profile-field-custom-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.profile-field-custom-label{display:inline-flex;align-items:center;gap:8px;flex:1;min-width:240px;margin:0;cursor:pointer}
.profile-field-tag-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--muted);background:var(--tint);padding:3px 8px;border-radius:var(--radius-xs, 4px);border:1px solid var(--line);white-space:nowrap}
.profile-field-title-input{font-size:13.5px;font-weight:700;color:var(--ink);background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius-sm, 6px);padding:5px 10px;flex:1;max-width:420px;transition:all .2s ease}
.profile-field-title-input:hover{border-color:var(--primary);background:var(--tint)}
.profile-field-title-input:focus{border:1px solid var(--primary);outline:none;background:var(--surface);box-shadow:0 0 0 3px rgba(15,74,120,0.12)}
.profile-field-edit-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--primary);background:rgba(15,74,120,0.08);padding:3px 8px;border-radius:var(--radius-lg, 12px);user-select:none;white-space:nowrap}
.profile-field-edit-badge .icon{width:12px;height:12px}

/* Schedule synchronization banner */
.profile-schedule-sync-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--tint);border:1px solid rgba(8,126,133,0.22);border-radius:var(--radius-lg, 12px);padding:16px 20px;margin-bottom:20px;flex-wrap:wrap}
.profile-schedule-sync-info{display:grid;gap:6px;flex:1;min-width:260px}
.profile-schedule-sync-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill, 999px);background:var(--primary-glow, rgba(8, 126, 133, 0.16));color:var(--primary);font-weight:600;font-size:12px;width:fit-content}
.profile-schedule-sync-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* Avatar Gallery Styles & Compact Miniatures */
.profile-photo-unified-header{display:flex;gap:20px;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.profile-portrait-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}
.profile-portrait-label{font-size:11px;font-weight:600;color:var(--primary);display:inline-flex;align-items:center;gap:5px;background:rgba(8,126,133,0.08);padding:3px 10px;border-radius:var(--radius-lg, 12px);transition:all .15s ease}
.profile-portrait-label.is-video{color:#7c3aed;background:rgba(124,58,237,0.1);border:1px solid rgba(124,58,237,0.2)}
.profile-portrait-label .icon{width:12px;height:12px}
.profile-photo-unified-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.profile-photo-unified-info h3{margin:0;font-size:15px;font-weight:700;color:var(--ink)}
.profile-photo-unified-info p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.45}
.profile-photo-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px}
.profile-photo-toolbar .avatar-btn-toolbar,
.profile-photo-toolbar .button,
.profile-photo-toolbar .profile-photo-upload-btn{height:38px!important;min-height:38px!important;max-height:38px!important;padding:0 15px!important;font-size:13px!important;font-weight:600!important;font-family:inherit!important;border-radius:8px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;box-sizing:border-box!important;line-height:1!important;cursor:pointer;margin:0!important;transition:all .15s ease-in-out;white-space:nowrap;user-select:none;text-decoration:none}
.profile-photo-toolbar .button.primary,
.profile-photo-toolbar .avatar-btn-toolbar.primary{background:var(--primary,#087e85)!important;border:1px solid var(--primary,#087e85)!important;color:#ffffff!important;box-shadow:0 1px 3px rgba(8,126,133,0.2)}
.profile-photo-toolbar .button.primary:hover,
.profile-photo-toolbar .avatar-btn-toolbar.primary:hover{background:var(--primary-dark,#075f66)!important;border-color:var(--primary-dark,#075f66)!important;color:#ffffff!important;transform:translateY(-1px);box-shadow:0 3px 6px rgba(8,126,133,0.25)}
.profile-photo-toolbar .button:not(.primary),
.profile-photo-toolbar .avatar-btn-toolbar:not(.primary),
.profile-photo-toolbar .profile-photo-upload-btn{background:#ffffff!important;border:1px solid var(--line, #e2eae9)!important;color:var(--ink, #19383d)!important;box-shadow:0 1px 2px rgba(0,0,0,0.04)}
.profile-photo-toolbar .button:not(.primary):hover,
.profile-photo-toolbar .avatar-btn-toolbar:not(.primary):hover,
.profile-photo-toolbar .profile-photo-upload-btn:hover{background:var(--tint,#f0f7f8)!important;border-color:var(--primary,#087e85)!important;color:var(--primary,#087e85)!important;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,0.06)}
.profile-photo-toolbar .button:active,
.profile-photo-toolbar .avatar-btn-toolbar:active,
.profile-photo-toolbar .profile-photo-upload-btn:active{transform:translateY(0)}
.profile-photo-toolbar .icon{width:15px!important;height:15px!important;flex-shrink:0}
.profile-photo-upload-btn{cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-weight:600;margin:0}
.profile-avatar-status{font-size:11.5px;color:var(--primary);font-weight:600;margin:2px 0 0}
.profile-photo-url-details{margin-top:6px;font-size:11.5px}
.profile-photo-url-details summary{cursor:pointer;color:var(--muted);display:inline-flex;align-items:center;gap:4px;user-select:none;font-weight:500}
.profile-photo-url-details summary:hover{color:var(--primary)}
.profile-photo-url-row{display:flex;flex-direction:column;gap:4px;margin-top:6px;max-width:520px}
.profile-photo-url-row input{width:100%;font-size:12px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-sm, 6px);background:var(--surface)}
.profile-photo-url-row small{color:var(--muted);font-size:11px}

.profile-avatar-gallery-section{margin-top:8px}
.profile-avatar-gallery-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.profile-avatar-gallery-head h4{margin:0;font-size:13px;font-weight:700;color:var(--ink);display:inline-flex;align-items:center;gap:6px}
.profile-avatar-count-badge{font-size:11px;color:var(--muted);font-weight:600;background:var(--tint);padding:2px 8px;border-radius:var(--radius-lg, 12px)}

/* Avatar Cards Consistency with Nexo Platform */
.profile-avatar-gallery-section .profile-media-thumb-frame img,
.profile-avatar-gallery-section .profile-media-thumb-frame video{object-position:center top}
.profile-media-card.is-active-avatar{border-color:var(--primary);box-shadow:0 0 0 2px rgba(8,126,133,0.22)}

/* Avatar Preview Modal Enhancement */
#modal.avatar-preview-dialog{width:min(620px,calc(100vw - 28px))!important;max-width:620px!important;height:auto!important;max-height:92vh!important;border-radius:var(--radius-xl, 16px);overflow:hidden;box-shadow:0 20px 48px rgba(15,23,42,0.2)}
#modal.avatar-preview-dialog .modal-header{padding:16px 22px;background:#ffffff;border-bottom:1px solid var(--line)}
#modal.avatar-preview-dialog .modal-scroll-body{padding:20px 22px!important;background:#ffffff!important;overflow-y:auto}
#modal.avatar-preview-dialog .form-actions{padding:12px 22px;background:var(--bg);border-top:1px solid var(--line);display:flex;justify-content:flex-end}

.profile-avatar-preview-dialog{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:start}
.profile-avatar-preview-media{display:flex;flex-direction:column;gap:8px}
.profile-avatar-preview-frame{position:relative;width:100%;aspect-ratio:3/4;background:var(--tint,#f0f7f8);border:1px solid var(--line);border-radius:var(--radius-lg, 12px);overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,0.06);display:flex;align-items:center;justify-content:center;cursor:pointer}
.profile-avatar-preview-frame img,.profile-avatar-preview-frame video{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.profile-avatar-preview-overlay-btn{position:absolute;bottom:8px;right:8px;background:rgba(15,23,42,0.75);color:#ffffff;border:0;border-radius:var(--radius-pill, 999px);padding:3px 9px;font-size:10px;font-weight:600;display:inline-flex;align-items:center;gap:4px;backdrop-filter:blur(4px);cursor:pointer;transition:background .15s ease;z-index:2}
.profile-avatar-preview-overlay-btn:hover{background:rgba(15,23,42,0.92)}
.profile-avatar-preview-overlay-btn .icon{width:11px;height:11px}

.profile-avatar-preview-details{display:flex;flex-direction:column;gap:12px;min-width:0}
.profile-avatar-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.profile-avatar-preview-title{margin:0;font-size:16px;font-weight:700;color:var(--ink);line-height:1.3}
.profile-avatar-preview-desc{margin:4px 0 0;font-size:12px;color:var(--muted);line-height:1.45}

.profile-avatar-mockup-box{background:var(--bg, #f3f7f6);border:1px solid var(--line);border-radius:var(--radius-lg, 12px);padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.profile-avatar-mockup-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.profile-avatar-mockup-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.profile-avatar-mockup-badge{font-size:9.5px;font-weight:700;background:var(--tint);color:var(--primary);padding:1px 6px;border-radius:var(--radius-xs, 4px)}
.profile-avatar-mockup-row{display:flex;align-items:center;gap:12px}
.profile-avatar-mockup-circle{width:52px;height:52px;border-radius:50%;overflow:hidden;background:var(--tint);border:2px solid var(--primary);flex-shrink:0;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px var(--primary-glow, rgba(8,126,133,0.16))}
.profile-avatar-mockup-circle img,.profile-avatar-mockup-circle video{width:100%;height:100%;object-fit:cover;object-position:center top}
.profile-avatar-mockup-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.profile-avatar-mockup-info strong{font-size:13.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-avatar-mockup-info small{font-size:11.5px;color:var(--muted)}
.profile-avatar-mockup-tags{font-size:10.5px;color:var(--primary);font-weight:600;margin-top:2px}

.profile-avatar-set-btn{width:100%;padding:9px 16px;font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-md, 8px)}
.profile-avatar-set-btn .icon{width:14px;height:14px}
.profile-avatar-current-alert{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-md, 8px);background:var(--success-tint, #ecfdf5);border:1px solid rgba(5,150,105,0.22);color:var(--success-dark, #059669)}
.profile-avatar-current-alert .icon{width:18px;height:18px;flex-shrink:0}
.profile-avatar-current-alert strong{display:block;font-size:12px;font-weight:700}
.profile-avatar-current-alert p{margin:1px 0 0;font-size:11px;color:#065f46}

.profile-media-btn-avatar{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--primary);background:transparent;border:none;padding:2px 6px;cursor:pointer;border-radius:var(--radius-xs, 4px)}
.profile-media-btn-avatar:hover{background:var(--tint)}
.profile-media-btn-avatar.is-active{color:var(--success-dark, #059669);font-weight:700}

@media (max-width:640px){
 .profile-photo-unified-header{flex-direction:column;align-items:center;text-align:center}
 .profile-photo-toolbar{justify-content:center}
 .profile-photo-url-row{width:100%}
 #modal.avatar-preview-dialog{width:calc(100vw - 16px)!important}
 .profile-avatar-preview-dialog{grid-template-columns:1fr;text-align:center}
 .profile-avatar-preview-frame{max-width:180px;margin:0 auto}
 .profile-avatar-preview-header{flex-direction:column;align-items:center}
 .profile-avatar-mockup-row{justify-content:center}
}

/* Modal Selector de Avatar (.avatar-gallery-picker-dialog y .avatar-picker-*)
   centralizado en public/assets/app.css para evitar duplicación de código */

/* Office amenities & comfort tags */
.profile-office-amenities-field {
  grid-column: 1 / -1;
  border: 1px solid var(--line, #e2eae9);
  border-radius: var(--radius-lg, 12px);
  background: var(--surface, #ffffff);
  padding: 16px 18px;
  margin: 8px 0;
}
.profile-amenities-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}
.profile-amenities-title-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.profile-amenities-icon {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: var(--radius-sm, 6px);
  background: var(--tint);
  color: var(--primary, #087e85);
}
.profile-amenities-icon .icon {
  width: 16px;
  height: 16px;
}
.profile-amenities-label {
  font-size: var(--font-base, 13.5px);
  font-weight: 700;
  color: var(--ink, #19383d);
  margin: 0;
  cursor: pointer;
}
.profile-amenities-badge {
  font-size: var(--font-xs, 11px);
  font-weight: 600;
  padding: 2px 8px;
  border-radius: var(--radius-pill, 999px);
  background: var(--tint);
  color: var(--primary, #087e85);
  border: 1px solid color-mix(in srgb, var(--primary) 20%, transparent);
}
.profile-amenities-presets-wrap {
  margin-top: 10px;
}
.profile-amenities-presets-label {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--ink, #19383d);
  display: block;
  margin-bottom: 6px;
}
.profile-amenities-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.btn-profile-amenity-preset {
  font-size: 11.5px;
  padding: 4px 10px;
  border-radius: var(--radius-pill, 999px);
  border: 1px solid var(--line, #e2eae9);
  background: var(--tint, var(--bg, #f3f7f6));
  color: var(--ink, #19383d);
  cursor: pointer;
  line-height: 1.2;
  transition: all 0.15s ease;
}
.btn-profile-amenity-preset:hover {
  background: var(--primary, #087e85);
  color: #ffffff;
  border-color: var(--primary, #087e85);
  transform: translateY(-1px);
}


/* ==========================================================================
   KLIO.IM USER ID BADGE (UNDER PROFILE AVATAR)
   ========================================================================== */
.profile-hero-avatar-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}

.profile-avatar-id-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: #ffffff !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-pill, 999px) !important;
  padding: 2px 8px !important;
  font-size: 11px !important;
  color: var(--ink) !important;
  cursor: pointer !important;
  transition: all 0.16s ease-in-out !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  line-height: 1.25 !important;
}

.profile-avatar-id-badge:hover {
  background: var(--tint) !important;
  border-color: var(--primary) !important;
  color: var(--primary-dark) !important;
  box-shadow: 0 2px 6px rgba(8, 126, 133, 0.14) !important;
}

.profile-avatar-id-badge .profile-avatar-id-label {
  font-size: 9px !important;
  font-weight: 700 !important;
  color: var(--primary) !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}

.profile-avatar-id-badge .profile-avatar-id-number {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.6px !important;
  color: var(--ink) !important;
}

.profile-hero-id-helper {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 5px !important;
  flex-wrap: wrap !important;
}

.profile-hero-id-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12.5px !important;
  color: var(--muted) !important;
  line-height: 1.3 !important;
}

.profile-hero-id-badge strong {
  color: var(--ink) !important;
  letter-spacing: 0.5px !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
  font-weight: 700 !important;
}

.profile-copy-id-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  padding: 0 !important;
  background: #ffffff !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-sm, 6px) !important;
  color: var(--muted) !important;
  cursor: pointer !important;
  transition: all 0.15s ease-in-out !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
  margin-left: 2px !important;
}

.profile-copy-id-btn:hover {
  background: var(--tint) !important;
  border-color: var(--primary) !important;
  color: var(--primary-dark) !important;
  box-shadow: 0 2px 5px rgba(8, 126, 133, 0.12) !important;
}

.profile-copy-id-btn:active {
  transform: scale(0.94) !important;
}

/* ==========================================================================
   VISTA PREVIA DEL PERFIL PARA PACIENTES (ESTILO DOCTORALIA · KLIO.IM PRO)
   ========================================================================== */
#modal.clinical-dialog.doc-preview-modal {
  width: min(96vw, 1220px) !important;
  max-width: 1220px !important;
  max-height: 92vh !important;
  padding: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

#modal.clinical-dialog.doc-preview-modal #dialog-form {
  display: flex !important;
  flex-direction: column !important;
  max-height: 92vh !important;
  background: #f4f7f8 !important;
}

#modal.clinical-dialog.doc-preview-modal .modal-header {
  background: #ffffff !important;
  padding: 14px 24px !important;
  border-bottom: 1px solid var(--line) !important;
  flex-shrink: 0 !important;
}

#modal.clinical-dialog.doc-preview-modal #dialog-body {
  padding: 0 !important;
  overflow-y: auto !important;
  flex: 1 1 auto !important;
  scroll-behavior: smooth !important;
}

#modal.clinical-dialog.doc-preview-modal .modal-actions {
  background: #ffffff !important;
  padding: 12px 24px !important;
  border-top: 1px solid var(--line) !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.dpv-shell {
  display: flex;
  flex-direction: column;
  color: var(--ink);
  font-size: 13.5px;
  line-height: 1.5;
}

/* Barra superior de confianza */
.dpv-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 24px;
  background: linear-gradient(90deg, rgba(8, 126, 133, 0.1) 0%, rgba(8, 126, 133, 0.03) 100%);
  border-bottom: 1px solid rgba(8, 126, 133, 0.16);
  flex-wrap: wrap;
}

.dpv-topbar-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.dpv-verified-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 11px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(8, 126, 133, 0.28);
  color: var(--primary-dark, #065f64);
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 1px 2px rgba(8, 126, 133, 0.08);
}

.dpv-verified-pill svg {
  color: var(--primary);
  flex-shrink: 0;
}

.dpv-completion-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid var(--line);
  font-size: 11.5px;
  color: var(--muted);
}

.dpv-completion-pill strong {
  color: var(--primary-dark);
}

.dpv-topbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.dpv-action-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
  cursor: pointer;
  transition: all 0.15s ease;
}

.dpv-action-btn:hover {
  border-color: var(--primary) !important;
  color: var(--primary-dark) !important;
  background: var(--tint) !important;
}

.dpv-action-btn.is-primary-soft {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #ffffff !important;
}

.dpv-action-btn.is-primary-soft:hover {
  background: var(--primary-dark, #065f64) !important;
  color: #ffffff !important;
}

/* Navegación sticky interna */
.dpv-section-nav {
  position: sticky;
  top: 0;
  z-index: 15;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 24px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
  overflow-x: auto;
  scrollbar-width: none;
}

.dpv-section-nav::-webkit-scrollbar {
  display: none;
}

.dpv-nav-btn {
  padding: 6px 13px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.15s ease;
}

.dpv-nav-btn:hover {
  color: var(--ink);
  background: rgba(8, 126, 133, 0.06);
}

.dpv-nav-btn.active {
  background: var(--tint);
  color: var(--primary-dark, #065f64);
  border-color: rgba(8, 126, 133, 0.25);
  font-weight: 700;
}

/* Grid Principal 2 Columnas (Doctoralia Layout) */
.dpv-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 20px;
  padding: 20px 24px 28px;
  align-items: start;
}

.dpv-main-col {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}

.dpv-card {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
  scroll-margin-top: 64px;
}

/* HERO DEL ESPECIALISTA */
.dpv-hero-card {
  padding: 24px;
  border-top: 3px solid var(--primary);
}

.dpv-hero-top {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.dpv-avatar-wrap {
  position: relative;
  flex-shrink: 0;
}

.dpv-avatar-box {
  width: 112px;
  height: 112px;
  border-radius: 18px;
  overflow: hidden;
  border: 2px solid rgba(8, 126, 133, 0.22);
  background: var(--tint);
  display: grid;
  place-items: center;
  box-shadow: 0 6px 16px rgba(8, 126, 133, 0.12);
}

.dpv-avatar-box img,
.dpv-avatar-box video,
.dpv-avatar-box iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dpv-avatar-fallback {
  color: var(--primary);
}

.dpv-avatar-fallback .icon {
  width: 42px;
  height: 42px;
}

.dpv-avatar-verified {
  position: absolute;
  bottom: -6px;
  right: -6px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--primary);
  color: #ffffff;
  border: 2.5px solid #ffffff;
  display: grid;
  place-items: center;
  box-shadow: 0 2px 6px rgba(8, 126, 133, 0.35);
}

.dpv-hero-info {
  flex: 1;
  min-width: 0;
}

.dpv-hero-eyebrow-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}

.dpv-specialty-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--tint);
  color: var(--primary-dark, #065f64);
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.dpv-klio-id-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 9px;
  border-radius: 6px;
  background: #f8fafc;
  border: 1px solid var(--line);
  font-size: 11px;
  color: var(--muted);
  cursor: pointer;
}

.dpv-klio-id-chip strong {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  color: var(--ink);
}

.dpv-doctor-name {
  margin: 0 0 4px;
  font-size: 23px;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.dpv-doctor-headline {
  margin: 0 0 10px;
  font-size: 14.5px;
  font-weight: 500;
  color: #334155;
  line-height: 1.4;
}

.dpv-rating-strip {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 14px;
  font-size: 12.5px;
}

.dpv-stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.dpv-rating-sep {
  color: #cbd5e1;
}

.dpv-rating-text {
  color: var(--muted);
}

.dpv-exp-pill {
  padding: 2px 8px;
  border-radius: 6px;
  background: #f1f5f9;
  color: #0f172a;
  font-weight: 600;
  font-size: 11.5px;
}

/* Cédulas en Hero */
.dpv-licenses-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.dpv-license-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid var(--line);
  font-size: 12px;
}

.dpv-license-chip.is-primary {
  background: rgba(8, 126, 133, 0.06);
  border-color: rgba(8, 126, 133, 0.25);
}

.dpv-license-chip .icon {
  width: 16px;
  height: 16px;
  color: var(--primary);
  flex-shrink: 0;
}

.dpv-license-chip strong {
  display: block;
  font-size: 12px;
  color: var(--ink);
}

.dpv-license-chip strong span {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  color: var(--primary-dark);
}

.dpv-license-chip small {
  display: block;
  font-size: 11px;
  color: var(--muted);
}

/* KPIs rápidos del Hero */
.dpv-quick-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.dpv-fact-box {
  padding: 10px 12px;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dpv-fact-box.is-highlight {
  background: var(--tint);
  border-color: rgba(8, 126, 133, 0.25);
}

.dpv-fact-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: var(--muted);
  font-weight: 600;
}

.dpv-fact-box strong {
  font-size: 13px;
  color: var(--ink);
  font-weight: 700;
}

.dpv-fact-box.is-highlight strong {
  color: var(--primary-dark, #065f64);
  font-size: 14px;
}

/* Redes sociales y contacto en Hero */
.dpv-hero-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed var(--line);
}

.dpv-contact-chips,
.dpv-socials-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.dpv-contact-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #334155;
  background: #f1f5f9;
  padding: 4px 10px;
  border-radius: 999px;
}

.dpv-social-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.15s ease;
}

.dpv-social-pill:hover {
  border-color: var(--primary);
  color: var(--primary-dark);
  background: var(--tint);
}

/* Encabezados de sección */
.dpv-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.dpv-eyebrow {
  display: block;
  font-size: 10.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  color: var(--primary);
  margin-bottom: 2px;
}

.dpv-section-head h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 800;
  color: var(--ink);
}

.dpv-count-badge {
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--tint);
  color: var(--primary-dark);
  font-size: 11.5px;
  font-weight: 700;
  white-space: nowrap;
}

/* Padecimientos tratados */
.dpv-section-sub {
  margin: 0 0 10px;
  font-size: 13px;
  color: var(--muted);
}

.dpv-conditions-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.dpv-condition-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 13px;
  border-radius: 999px;
  background: rgba(8, 126, 133, 0.07);
  border: 1px solid rgba(8, 126, 133, 0.2);
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 600;
}

.dpv-condition-tag .icon {
  width: 14px;
  height: 14px;
  color: var(--primary);
}

.dpv-approach-box {
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 12px;
  background: #f8fafc;
  border-left: 3px solid var(--primary);
}

.dpv-approach-box h4 {
  margin: 0 0 6px;
  font-size: 13.5px;
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--ink);
}

.dpv-approach-box p {
  margin: 0;
  font-size: 13px;
  color: #334155;
  white-space: pre-line;
}

/* Consultorios y Mapa */
.dpv-office-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.dpv-office-tab {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: #f8fafc;
  cursor: pointer;
  text-align: left;
  transition: all 0.15s ease;
}

.dpv-office-tab.active {
  background: var(--tint);
  border-color: var(--primary);
  box-shadow: 0 2px 6px rgba(8, 126, 133, 0.12);
}

.dpv-office-tab-num {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--primary);
}

.dpv-office-tab strong {
  font-size: 13px;
  color: var(--ink);
}

.dpv-office-tab small {
  font-size: 11px;
  color: var(--muted);
}

.dpv-office-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.dpv-office-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
}

.dpv-office-identity {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  flex: 1;
  min-width: 240px;
}

.dpv-office-logo {
  width: 60px;
  height: 60px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: #f8fafc;
  display: grid;
  place-items: center;
  overflow: hidden;
  flex-shrink: 0;
  color: var(--primary);
}

.dpv-office-logo img,
.dpv-office-logo video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dpv-office-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.dpv-pill-mode {
  padding: 2px 8px;
  border-radius: 6px;
  background: var(--tint);
  color: var(--primary-dark);
  font-size: 11px;
  font-weight: 700;
}

.dpv-pill-city {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 6px;
  background: #f1f5f9;
  color: #475569;
  font-size: 11px;
  font-weight: 600;
}

.dpv-office-title-block h4 {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 800;
  color: var(--ink);
}

.dpv-office-address {
  margin: 0;
  font-size: 13px;
  color: #475569;
}

.dpv-office-pricing-box {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.dpv-price-tag {
  padding: 8px 12px;
  border-radius: 10px;
  background: var(--tint);
  border: 1px solid rgba(8, 126, 133, 0.22);
  text-align: right;
}

.dpv-price-tag.is-secondary {
  background: #f8fafc;
  border-color: var(--line);
}

.dpv-price-tag span {
  display: block;
  font-size: 10.5px;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
}

.dpv-price-tag strong {
  font-size: 14.5px;
  color: var(--primary-dark);
  font-weight: 800;
}

.dpv-office-meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  padding: 14px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}

.dpv-meta-label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 6px;
}

.dpv-meta-values {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.dpv-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border-radius: 6px;
  background: #ffffff;
  border: 1px solid var(--line);
  font-size: 12px;
  color: var(--ink);
  font-weight: 500;
}

.dpv-chip.is-whatsapp {
  border-color: rgba(22, 163, 74, 0.3);
  color: #15803d;
}

.dpv-chip.is-insurance {
  border-color: rgba(8, 126, 133, 0.25);
  color: var(--primary-dark);
}

.dpv-amenities-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.dpv-amenity-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 11px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid var(--line);
  font-size: 12px;
  color: #334155;
  font-weight: 500;
}

.dpv-amenity-pill .icon {
  width: 13px;
  height: 13px;
  color: var(--primary);
}

.dpv-hours-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.dpv-hour-pill {
  padding: 7px 12px;
  border-radius: 8px;
  background: #f8fafc;
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dpv-hour-pill strong {
  font-size: 12px;
  color: var(--ink);
}

.dpv-hour-pill span {
  font-size: 12px;
  color: var(--primary-dark);
  font-weight: 600;
}

.dpv-hour-pill small {
  font-size: 10.5px;
  color: var(--muted);
}

.dpv-office-map-box {
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  background: #ffffff;
}

.dpv-office-map-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  background: #f8fafc;
  border-bottom: 1px solid var(--line);
  flex-wrap: wrap;
}

.dpv-office-map-header strong {
  display: block;
  font-size: 12.5px;
}

.dpv-office-map-header span {
  font-size: 11.5px;
  color: var(--muted);
}

.dpv-map-link-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  padding: 5px 11px !important;
  text-decoration: none !important;
}

.dpv-office-map-iframe-wrap {
  height: 220px;
  background: #e2e8f0;
}

.dpv-office-map-iframe-wrap iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* Servicios y Precios */
.dpv-services-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dpv-service-item {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px 16px;
  background: #ffffff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.dpv-service-item:hover {
  border-color: rgba(8, 126, 133, 0.35);
  box-shadow: 0 3px 10px rgba(8, 126, 133, 0.06);
}

.dpv-service-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.dpv-service-info {
  flex: 1;
  min-width: 220px;
}

.dpv-service-tags {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.dpv-service-cat {
  padding: 2px 8px;
  border-radius: 6px;
  background: var(--tint);
  color: var(--primary-dark);
  font-size: 11px;
  font-weight: 700;
}

.dpv-service-dur,
.dpv-service-loc {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11.5px;
  color: var(--muted);
}

.dpv-service-info h4 {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
}

.dpv-service-excerpt {
  margin: 0;
  font-size: 12.5px;
  color: #475569;
}

.dpv-service-cta-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}

.dpv-service-price {
  font-size: 16px;
  font-weight: 800;
  color: var(--primary-dark, #065f64);
}

.dpv-select-service-btn {
  font-size: 12px !important;
  padding: 5px 11px !important;
  border-radius: 8px !important;
  background: var(--tint) !important;
  border: 1px solid rgba(8, 126, 133, 0.25) !important;
  color: var(--primary-dark) !important;
  font-weight: 700 !important;
  cursor: pointer;
}

.dpv-select-service-btn:hover {
  background: var(--primary) !important;
  color: #ffffff !important;
}

.dpv-service-details {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--line);
}

.dpv-service-details summary {
  font-size: 12px;
  font-weight: 600;
  color: var(--primary);
  cursor: pointer;
}

.dpv-service-details-body {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.dpv-service-block {
  padding: 10px 12px;
  border-radius: 8px;
  background: #f8fafc;
}

.dpv-service-block.is-prep {
  background: rgba(245, 158, 11, 0.08);
  border-left: 3px solid #f59e0b;
}

.dpv-service-block h5 {
  margin: 0 0 4px;
  font-size: 12px;
  color: var(--ink);
}

.dpv-service-block p {
  margin: 0;
  font-size: 12.5px;
  color: #334155;
  white-space: pre-line;
}

/* Sobre mí & Filosofía */
.dpv-bio-text {
  margin: 0;
  font-size: 14px;
  color: #334155;
  line-height: 1.65;
  white-space: pre-line;
}

.dpv-philosophy-quote {
  margin: 16px 0 0;
  padding: 16px 20px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--tint) 0%, rgba(8, 126, 133, 0.03) 100%);
  border-left: 4px solid var(--primary);
}

.dpv-philosophy-quote p {
  margin: 0 0 6px;
  font-size: 14.5px;
  font-style: italic;
  font-weight: 600;
  color: var(--ink);
}

.dpv-philosophy-quote footer {
  font-size: 12px;
  color: var(--primary-dark);
}

/* Currículum y Trayectoria */
.dpv-cv-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
}

.dpv-cv-block h4 {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--ink);
}

.dpv-cv-block h4 .icon {
  color: var(--primary);
}

.dpv-timeline-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dpv-timeline-list li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.dpv-tl-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #cbd5e1;
  margin-top: 5px;
  flex-shrink: 0;
}

.dpv-tl-dot.is-verified {
  background: var(--primary);
  box-shadow: 0 0 0 3px var(--tint);
}

.dpv-tl-body strong {
  display: block;
  font-size: 13px;
  color: var(--ink);
}

.dpv-tl-badge {
  display: inline-block;
  margin: 2px 0;
  padding: 1px 7px;
  border-radius: 4px;
  background: var(--tint);
  color: var(--primary-dark);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 11px;
  font-weight: 700;
}

.dpv-tl-date {
  display: inline-block;
  font-size: 11.5px;
  color: var(--primary);
  font-weight: 600;
}

.dpv-tl-body p {
  margin: 2px 0 0;
  font-size: 12.5px;
  color: #475569;
}

.dpv-extra-credentials {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.dpv-extra-cred-box {
  padding: 12px;
  border-radius: 10px;
  background: #f8fafc;
}

.dpv-extra-cred-box h5 {
  margin: 0 0 4px;
  font-size: 12px;
  text-transform: uppercase;
  color: var(--muted);
}

.dpv-extra-cred-box p {
  margin: 0;
  font-size: 12.5px;
  white-space: pre-line;
}

/* Galería */
.dpv-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 14px;
}

.dpv-gallery-card {
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  background: #f8fafc;
}

.dpv-gallery-media {
  height: 150px;
  background: #0f172a;
  overflow: hidden;
}

.dpv-gallery-media img,
.dpv-gallery-media video,
.dpv-gallery-media iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dpv-gallery-card figcaption {
  padding: 10px 12px;
}

.dpv-gallery-card figcaption strong {
  display: block;
  font-size: 12.5px;
  color: var(--ink);
}

.dpv-gallery-card figcaption span {
  font-size: 11px;
  color: var(--primary);
  font-weight: 600;
}

.dpv-gallery-card figcaption p {
  margin: 4px 0 0;
  font-size: 11.5px;
  color: var(--muted);
}

/* Opiniones */
.dpv-reviews-summary {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 20px;
  align-items: center;
}

.dpv-reviews-score-box {
  padding: 18px;
  border-radius: 14px;
  background: var(--tint);
  border: 1px solid rgba(8, 126, 133, 0.2);
  text-align: center;
}

.dpv-reviews-score-box strong {
  display: block;
  font-size: 34px;
  font-weight: 800;
  color: var(--primary-dark);
  line-height: 1;
  margin-bottom: 6px;
}

.dpv-reviews-score-box span {
  display: block;
  margin-top: 6px;
  font-size: 11.5px;
  color: var(--muted);
}

.dpv-reviews-bars {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dpv-bar-row {
  display: grid;
  grid-template-columns: minmax(140px, 1.3fr) 1fr 32px;
  align-items: center;
  gap: 12px;
  font-size: 12.5px;
}

.dpv-bar-track {
  height: 8px;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: hidden;
}

.dpv-bar-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--primary);
}

/* WIDGET STICKY DE RESERVA DE CITA (COLUMNA DERECHA) */
.dpv-sidebar-col {
  position: sticky;
  top: 58px;
}

.dpv-booking-widget {
  background: #ffffff;
  border: 1.5px solid rgba(8, 126, 133, 0.32);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(8, 126, 133, 0.1);
}

@keyframes dpvPulseWidget {
  0% { box-shadow: 0 0 0 0 rgba(8, 126, 133, 0.45); }
  100% { box-shadow: 0 0 0 14px rgba(8, 126, 133, 0); }
}

.dpv-booking-widget.dpv-pulse-highlight {
  animation: dpvPulseWidget 0.75s ease-out;
}

.dpv-booking-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark, #065f64) 100%);
  color: #ffffff;
}

.dpv-booking-header > div {
  display: flex;
  align-items: center;
  gap: 8px;
}

.dpv-booking-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.25);
}

.dpv-booking-badge {
  font-size: 10.5px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}

.dpv-booking-body {
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.dpv-step-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 6px;
}

.dpv-step-label span {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--tint);
  color: var(--primary-dark);
  font-size: 11px;
  display: inline-grid;
  place-items: center;
  font-weight: 800;
}

.dpv-step-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}

.dpv-step-label-row .dpv-step-label {
  margin-bottom: 0;
}

.dpv-tz-hint {
  font-size: 11px;
  color: var(--muted);
}

.dpv-modality-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 4px;
  background: #f1f5f9;
  border-radius: 10px;
}

.dpv-mod-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 7px 10px;
  border-radius: 8px;
  border: 0;
  background: transparent;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}

.dpv-mod-btn.active {
  background: #ffffff;
  color: var(--primary-dark);
  font-weight: 700;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.dpv-booking-select {
  width: 100%;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: #f8fafc;
  font-size: 12.5px;
  color: var(--ink);
  font-weight: 500;
}

.dpv-days-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(64px, 1fr));
  gap: 6px;
  margin-bottom: 8px;
}

.dpv-day-pill {
  padding: 6px 4px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: #f8fafc;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  transition: all 0.15s ease;
}

.dpv-day-pill strong {
  display: none;
}

.dpv-day-short {
  font-size: 12px;
  font-weight: 700;
  color: var(--ink);
}

.dpv-day-pill small {
  font-size: 10px;
  color: var(--muted);
}

.dpv-day-pill.active {
  background: var(--tint);
  border-color: var(--primary);
}

.dpv-day-pill.active .dpv-day-short {
  color: var(--primary-dark);
}

.dpv-slots-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.dpv-slot-btn {
  padding: 6px 8px;
  border-radius: 7px;
  border: 1px solid rgba(8, 126, 133, 0.25);
  background: #ffffff;
  color: var(--primary-dark);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
}

.dpv-slot-btn:hover {
  background: var(--tint);
}

.dpv-slot-btn.active {
  background: var(--primary);
  border-color: var(--primary);
  color: #ffffff;
}

.dpv-booking-summary-box {
  padding: 10px 12px;
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.dpv-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
}

.dpv-summary-row span {
  color: var(--muted);
}

.dpv-sum-price {
  color: var(--primary-dark);
  font-size: 13.5px;
}

.dpv-cta-reserve-btn {
  width: 100%;
  padding: 11px 16px !important;
  border-radius: 10px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.dpv-cta-whatsapp-btn {
  width: 100%;
  padding: 9px 14px !important;
  border-radius: 10px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: #f0fdf4 !important;
  border: 1px solid #86efac !important;
  color: #15803d !important;
  text-decoration: none !important;
}

.dpv-cta-whatsapp-btn:hover {
  background: #dcfce7 !important;
}

.dpv-booking-footer {
  padding: 10px 16px;
  background: #f8fafc;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: var(--muted);
}

.dpv-booking-footer .icon {
  width: 16px;
  height: 16px;
  color: var(--primary);
  flex-shrink: 0;
}

.dpv-empty-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px;
  border-radius: 12px;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  color: var(--muted);
}

.dpv-empty-card .icon {
  width: 28px;
  height: 28px;
  color: var(--primary);
  flex-shrink: 0;
}

.dpv-empty-card strong {
  display: block;
  color: var(--ink);
  font-size: 13.5px;
}

.dpv-empty-card p {
  margin: 2px 0 0;
  font-size: 12.5px;
}

@media (max-width: 960px) {
  .dpv-grid {
    grid-template-columns: 1fr;
  }
  .dpv-sidebar-col {
    position: static;
  }
  .dpv-quick-facts {
    grid-template-columns: repeat(2, 1fr);
  }
  .dpv-reviews-summary {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .dpv-hero-top {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .dpv-hero-eyebrow-row,
  .dpv-rating-strip,
  .dpv-licenses-row {
    justify-content: center;
  }
  .dpv-quick-facts {
    grid-template-columns: 1fr;
  }
  .profile-records .profile-disclosure > summary {
    padding: 12px 132px 12px 14px !important;
    gap: 8px !important;
  }
  .profile-records .profile-card-actions {
    top: 10px !important;
    right: 34px !important;
    gap: 4px !important;
  }
  .profile-card-actions .profile-card-action {
    width: 28px !important;
    height: 28px !important;
    padding: 5px !important;
  }
  .profile-records .profile-disclosure-chevron {
    right: 10px !important;
    top: 16px !important;
  }
  .profile-drive-status-info {
    min-width: 0 !important;
  }
  .profile-office-logo-layout {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }
  .dpv-bar-row {
    grid-template-columns: minmax(90px, 1fr) 1fr 28px !important;
  }
  .dpv-slots-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
