/* Owner profile editor structural redesign, phase 1. */

body.nsv-profile-v48-page { overflow-x: clip !important; background: linear-gradient(180deg,#f5f1e9,#fbfaf7 440px,#f3f6f4) !important; }
.nsp48 { color: #102f34 !important; }
.nsp48-shell { width: min(calc(100% - 40px),1280px) !important; margin-inline: auto !important; padding: 32px 0 110px !important; }
.nsp48-head { display: grid !important; grid-template-columns: minmax(0,1fr) 300px !important; align-items: center !important; gap: 34px !important; border: 1px solid rgba(16,47,52,.1) !important; border-radius: 25px !important; background: #fff !important; padding: 26px !important; box-shadow: 0 18px 52px rgba(16,47,52,.09) !important; }
.nsp48-head__identity { min-width: 0 !important; }
.nsp48-avatar { width: 76px !important; height: 76px !important; border-radius: 20px !important; }
.nsp48-head__copy h1 { color: #102f34 !important; font-family: var(--nsv-font-heading,Georgia,serif) !important; font-size: clamp(32px,3.2vw,44px) !important; line-height: 1.02 !important; }
.nsp48-head__copy p span { color: #718486 !important; }
.nsp48-completion { border-radius: 15px !important; background: #f3f8f6 !important; padding: 16px !important; }
.nsp48-btn { min-height: 44px !important; border-radius: 11px !important; }
.nsp48-btn--primary { background: #075f67 !important; color: #fff !important; box-shadow: 0 11px 25px rgba(7,95,103,.18) !important; }
.nsp48-btn--secondary { border-color: #d4e1de !important; background: #fff !important; color: #075f67 !important; }

.nsp48-steps { position: sticky !important; z-index: 35 !important; top: 82px !important; display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)) !important; gap: 5px !important; margin: 16px 0 0 !important; border: 1px solid rgba(16,47,52,.1) !important; border-radius: 17px !important; background: rgba(255,255,255,.95) !important; padding: 7px !important; box-shadow: 0 13px 36px rgba(16,47,52,.08) !important; backdrop-filter: blur(16px); }
.nsp48-step { min-width: 0 !important; min-height: 54px !important; border: 1px solid transparent !important; border-radius: 12px !important; background: transparent !important; padding: 7px 9px !important; }
.nsp48-step.is-active { border-color: #c8ded9 !important; background: #eaf4f2 !important; color: #04484f !important; }
.nsp48-step > b { width: 28px !important; height: 28px !important; background: #eef3f2 !important; color: #607779 !important; }
.nsp48-step.is-active > b { background: #075f67 !important; color: #fff !important; }
.nsp48-step small { font-size: 9px !important; }

.nsp48-workspace { margin-top: 26px !important; }
.nsp48-panel { min-width: 0 !important; }
.nsp48-panel-head { margin-bottom: 20px !important; border: 0 !important; background: transparent !important; padding: 0 4px !important; box-shadow: none !important; }
.nsp48-panel-head__icon { width: 48px !important; height: 48px !important; border-radius: 15px !important; background: #075f67 !important; color: #fff !important; box-shadow: 0 11px 25px rgba(7,95,103,.18) !important; }
.nsp48-panel-head h2 { color: #102f34 !important; font-family: var(--nsv-font-heading,Georgia,serif) !important; font-size: 34px !important; line-height: 1.05 !important; }
.nsp48-panel-head p { color: #718486 !important; font-size: 12px !important; }
.nsp48-card { margin-top: 16px !important; border: 1px solid rgba(16,47,52,.1) !important; border-radius: 21px !important; background: #fff !important; padding: 25px !important; box-shadow: 0 13px 38px rgba(16,47,52,.06) !important; }
.nsp48-card__head { margin-bottom: 22px !important; border-bottom: 1px solid rgba(16,47,52,.09) !important; padding-bottom: 17px !important; }
.nsp48-card__head h3 { color: #102f34 !important; font-family: var(--nsv-font-heading,Georgia,serif) !important; font-size: 23px !important; line-height: 1.08 !important; }
.nsp48-card__head p { color: #718486 !important; font-size: 11px !important; line-height: 1.5 !important; }
.nsp48-badge { border-radius: 9px !important; background: #edf5f3 !important; color: #075f67 !important; }
.nsp48-grid { gap: 16px !important; }
.nsp48-field label { margin-bottom: 8px !important; color: #36565a !important; font-size: 11px !important; font-weight: 850 !important; }
.nsp48-field input,
.nsp48-field select,
.nsp48-field textarea { min-height: 48px !important; border: 1px solid #d7e2e0 !important; border-radius: 12px !important; background: #fbfcfb !important; color: #102f34 !important; font-size: 13px !important; }
.nsp48-field textarea { min-height: 118px !important; padding-top: 12px !important; }
.nsp48-field input:focus,
.nsp48-field select:focus,
.nsp48-field textarea:focus { border-color: #67a49f !important; outline: 3px solid rgba(7,95,103,.1) !important; background: #fff !important; }
.nsp48-field small { color: #8a9899 !important; font-size: 10px !important; line-height: 1.45 !important; }
.nsp48-facts { gap: 10px !important; }
.nsp48-picker,
.nsp48-accordion,
.nsp48-note { border-color: #dce5e3 !important; border-radius: 14px !important; background: #fbfcfb !important; }
.nsp48-picker summary,
.nsp48-accordion summary,
.nsp48-note summary { min-height: 48px !important; padding: 0 15px !important; }

.nsp48-gallery { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 12px !important; }
.nsp48-gallery-slot { min-width: 0 !important; overflow: hidden !important; border: 1px solid #dce5e3 !important; border-radius: 17px !important; background: #fbfcfb !important; }
.nsp48-gallery-slot--cover { grid-column: span 2 !important; }
.nsp48-gallery-slot__media { min-height: 155px !important; background: #edf3f1 !important; }
.nsp48-gallery-slot--cover .nsp48-gallery-slot__media { min-height: 250px !important; }
.nsp48-gallery-slot__media img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.nsp48-gallery-slot__body { padding: 14px !important; }
.nsp48-gallery-slot__body strong { color: #274b4f !important; font-size: 12px !important; }
.nsp48-gallery-slot__body small { color: #849394 !important; font-size: 9px !important; }
.nsp48-file input[type='file'] { max-width: 100% !important; font-size: 10px !important; }

.nsp48-toggle { border: 1px solid #dce5e3 !important; border-radius: 14px !important; background: #fbfcfb !important; padding: 15px !important; }
.nsp48-dock { position: fixed !important; z-index: 60 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; display: grid !important; grid-template-columns: auto minmax(180px,1fr) auto !important; align-items: center !important; gap: 20px !important; border-top: 1px solid rgba(16,47,52,.12) !important; background: rgba(255,255,255,.96) !important; padding: 10px max(20px,calc((100vw - 1280px)/2)) !important; box-shadow: 0 -14px 40px rgba(16,47,52,.1) !important; backdrop-filter: blur(16px); }
.nsp48-dock__progress { max-width: 330px !important; justify-self: center !important; }
.nsp48-dock__actions { gap: 8px !important; }
.nsp48-dock__actions .nsp48-btn { min-height: 44px !important; }

@media (max-width: 900px) {
	.nsp48-head { grid-template-columns: minmax(0,1fr) !important; }
	.nsp48-head__status { display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; align-items: center !important; }
	.nsp48-gallery { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
	.nsp48-gallery-slot--cover { grid-column: 1 / -1 !important; }
}

@media (max-width: 700px) {
	.nsp48-shell { width: min(calc(100% - 24px),1280px) !important; padding-top: 14px !important; padding-bottom: 122px !important; }
	.nsp48-head { gap: 18px !important; border-radius: 20px !important; padding: 19px 17px !important; }
	.nsp48-head__identity { align-items: flex-start !important; }
	.nsp48-avatar { width: 60px !important; height: 60px !important; border-radius: 16px !important; }
	.nsp48-head__copy h1 { font-size: 31px !important; }
	.nsp48-head__copy p span,
	.nsp48-head__meta,
	.nsp48-completion small { display: none !important; }
	.nsp48-head__status { grid-template-columns: minmax(0,1fr) !important; }
	.nsp48-steps { top: 70px !important; display: flex !important; overflow-x: auto !important; scroll-snap-type: x mandatory !important; scrollbar-width: none !important; }
	.nsp48-steps::-webkit-scrollbar { display: none !important; }
	.nsp48-step { min-width: 150px !important; flex: 0 0 150px !important; scroll-snap-align: center !important; }
	.nsp48-workspace { margin-top: 20px !important; }
	.nsp48-panel-head__icon { display: none !important; }
	.nsp48-panel-head h2 { font-size: 30px !important; }
	.nsp48-panel-head p { display: none !important; }
	.nsp48-card { border-radius: 18px !important; padding: 19px 16px !important; }
	.nsp48-card__head { align-items: flex-start !important; }
	.nsp48-card__head h3 { font-size: 21px !important; }
	.nsp48-card__head p { display: none !important; }
	.nsp48-grid--2,
	.nsp48-grid--3,
	.nsp48-facts { grid-template-columns: minmax(0,1fr) !important; }
	.nsp48-gallery { grid-template-columns: minmax(0,1fr) !important; }
	.nsp48-gallery-slot--cover { grid-column: 1 !important; }
	.nsp48-gallery-slot__media,
	.nsp48-gallery-slot--cover .nsp48-gallery-slot__media { min-height: 210px !important; }
	.nsp48-dock { grid-template-columns: auto minmax(0,1fr) !important; gap: 8px !important; padding: 9px 12px !important; }
	.nsp48-dock__progress { display: none !important; }
	.nsp48-dock__actions { display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; }
	.nsp48-dock__actions .nsp48-btn--secondary span { max-width: 120px !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
}

@media (max-width: 420px) {
	.nsp48-head__identity { display: block !important; }
	.nsp48-avatar { margin-bottom: 14px !important; }
	.nsp48-dock__back span,
	.nsp48-dock__actions .nsp48-btn--secondary { display: none !important; }
	.nsp48-dock { grid-template-columns: auto minmax(0,1fr) !important; }
	.nsp48-dock__actions { grid-template-columns: minmax(0,1fr) !important; }
	.nsp48-dock__actions .nsp48-btn--primary { width: 100% !important; }
}
