
:root{--pink:#d4145a;--pink2:#f53b71;--orange:#ff7a00;--ink:#1f1431;--muted:#74677e;--line:#eadfe3;--bg:#fffaf8;--card:#fff;--shadow:0 14px 38px rgba(74,33,55,.10)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font:inherit}.top{position:sticky;top:0;z-index:20;background:rgba(255,250,248,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header{max-width:1280px;margin:auto;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{display:flex;align-items:center;gap:10px}.brand img{height:58px;width:auto}.brand-text b{display:block;font-size:25px;background:linear-gradient(90deg,var(--pink),var(--orange));color:transparent;background-clip:text}.brand-text span{font-size:12px;color:var(--muted)}
.header-actions{display:flex;gap:8px}.header-actions button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-weight:700;cursor:pointer}.header-actions .admin{background:var(--pink);color:#fff;border-color:var(--pink)}
main{max-width:1280px;margin:auto;padding:18px 20px 110px}.hero{height:390px;position:relative;overflow:hidden;border-radius:24px;box-shadow:var(--shadow)}.hero>img{width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,10,20,.66),transparent 65%)}.hero-copy{position:absolute;z-index:2;left:40px;bottom:45px;color:#fff;max-width:520px}.hero-copy h1{font-family:Georgia,serif;font-size:42px;line-height:1.05;margin:0}.hero-copy p{font-size:17px}.hero-copy button,.primary{border:0;background:linear-gradient(135deg,var(--pink2),var(--pink));color:#fff;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}
.home-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.feature-card{display:flex;flex-direction:column;gap:7px;text-align:left;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);cursor:pointer}.feature-card b{font-size:18px}.feature-card span{color:var(--muted)}.admin-card{border:2px solid var(--pink)}
.page-head{display:flex;justify-content:space-between;align-items:end;margin:10px 0 18px}.page-head h1{font-family:Georgia,serif;font-size:38px;margin:0;color:#4a1730}.page-head p{color:var(--muted);margin:5px 0 0}.filter-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-weight:700;cursor:pointer}.chip.active{background:var(--pink);color:#fff;border-color:var(--pink)}#browseCount{margin-left:auto;color:var(--muted);font-size:13px}
.profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.profile-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);cursor:pointer}.profile-body{padding:13px}.profile-body h3{margin:0 0 4px;font-size:18px}.profile-body p{margin:5px 0;color:var(--muted);font-size:13px}.small{width:100%;padding:9px 10px;margin-top:9px}
.avatar{position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#c7a7b8,#78628c);color:#fff;overflow:hidden}.avatar span{font-family:Georgia,serif;font-size:28px;font-weight:800}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}.card-avatar{width:100%;height:230px}.large-avatar{width:130px;height:130px;border-radius:50%;margin:auto}.member-layout{display:flex;justify-content:center}.member-card{max-width:850px;width:100%;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow);text-align:center}.member-card h2{font-size:30px;margin:12px 0 5px}.member-card>p{color:var(--muted)}.details{text-align:left;margin-top:18px}.detail-row{display:grid;grid-template-columns:190px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.detail-row b{color:#6d5d74}.action-row{display:flex;gap:10px;justify-content:center;margin-top:18px}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;padding:11px 16px;font-weight:800;cursor:pointer}
.form-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:14px;box-shadow:var(--shadow)}.form-card label{display:flex;flex-direction:column;gap:6px;font-weight:700}.form-card input,.form-card textarea,.form-card select,.admin-panel select{border:1px solid #d8cdd2;border-radius:10px;padding:11px;background:#fff}.form-card .full{grid-column:1/-1}.form-actions{display:flex;gap:10px}
.admin-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}.admin-panel>label{display:flex;flex-direction:column;gap:7px;font-weight:800}.admin-preview{display:flex;align-items:center;gap:14px;margin:16px 0;background:#fff7f5;border:1px solid var(--line);border-radius:16px;padding:14px}.admin-preview .avatar{width:72px;height:72px;border-radius:50%;flex:0 0 72px}.admin-preview h3{margin:0}.admin-preview p{margin:4px 0;color:var(--muted)}.admin-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.admin-actions button,.upload-btn{text-align:center}.upload-btn input{display:none}.admin-actions [disabled]{opacity:.45;cursor:not-allowed}
.bottom-nav{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:30;display:flex;gap:3px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:8px;box-shadow:0 18px 40px rgba(40,20,35,.20)}.bottom-nav button{border:0;background:transparent;padding:11px 16px;border-radius:15px;font-weight:700;color:#6d6173;cursor:pointer}.bottom-nav button.active{background:#fff0f5;color:var(--pink)}.bottom-nav .admin.active{background:var(--pink);color:#fff}
.toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%) translateY(20px);background:#25182b;color:#fff;padding:10px 16px;border-radius:999px;opacity:0;pointer-events:none;transition:.2s;z-index:50}.toast.show{opacity:1;transform:translateX(-50%)}
@media(max-width:900px){.profile-grid{grid-template-columns:repeat(2,1fr)}.home-actions{grid-template-columns:1fr}.hero{height:330px}.header-actions{display:none}.form-card{grid-template-columns:1fr}.form-card .full{grid-column:auto}.admin-actions{grid-template-columns:1fr}.detail-row{grid-template-columns:120px 1fr}.bottom-nav button{padding:9px 10px;font-size:12px}}
@media(max-width:520px){main{padding:10px 10px 105px}.header{padding:7px 10px}.brand img{height:44px}.brand-text b{font-size:20px}.brand-text span{display:none}.hero{height:280px;border-radius:16px}.hero-copy{left:20px;bottom:25px}.hero-copy h1{font-size:30px}.profile-grid{grid-template-columns:1fr 1fr;gap:9px}.card-avatar{height:180px}.profile-body{padding:10px}.profile-body h3{font-size:15px}.profile-body p{font-size:11px}.page-head h1{font-size:30px}.bottom-nav{width:calc(100% - 18px);bottom:8px;justify-content:space-around}.bottom-nav button{font-size:10px;padding:9px 7px}.bottom-nav button span{display:block}.large-avatar{width:105px;height:105px}}

.search-panel{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;margin-bottom:12px}.search-panel input,.search-panel select{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px}
.match-pill{display:inline-block;margin-top:7px;background:#fff0f5;color:var(--pink);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}
.match-summary{display:flex;justify-content:center;align-items:center;gap:12px;margin:12px 0}.match-summary>b{font-size:20px;color:var(--pink)}.link-btn{border:0;background:transparent;color:var(--pink);font-weight:800;cursor:pointer}
.why-box{margin:12px auto;max-width:620px;text-align:left;border:1px solid var(--line);border-radius:14px;background:#fff9fb;padding:12px}.why-box.hidden{display:none}.why-box>div{display:flex;gap:9px;padding:6px 0}.why-box>div b{width:18px;color:var(--pink)}
.kundli-card{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:14px;border:1px solid var(--line);background:#fff9f3;border-radius:14px}.kundli-card b,.kundli-card span{display:block}.kundli-card span{font-size:12px;color:var(--muted);margin-top:3px}
.activity-card{margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.section-title{display:flex;justify-content:space-between;align-items:end}.section-title h2{margin:0}.section-title span{font-size:12px;color:var(--muted)}
.viewer-list{display:grid;gap:9px;margin-top:12px}.viewer-item{border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;text-align:left;cursor:pointer}.viewer-initials{width:48px;height:48px;border-radius:50%;background:linear-gradient(145deg,#c7a7b8,#78628c);color:#fff;display:grid;place-items:center;font-weight:800}.viewer-item b,.viewer-item small{display:block}.viewer-item small{color:var(--muted);margin-top:3px}.viewer-item em{font-style:normal;color:var(--pink);font-weight:800}
.connect-list{display:grid;gap:10px}.connect-item{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.connect-item b,.connect-item span{display:block}.connect-item span{color:var(--muted);font-size:12px;margin-top:4px}.connect-item>div:last-child{display:flex;gap:8px}.empty-state{padding:30px;background:#fff;border:1px dashed var(--line);border-radius:16px;text-align:center;color:var(--muted)}
.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(25,15,25,.58);z-index:100;align-items:center;justify-content:center;padding:20px}.modal-backdrop.show{display:flex}.modal{position:relative;background:#fff;max-width:620px;width:100%;max-height:90vh;overflow:auto;border-radius:22px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:30px;cursor:pointer}.koota-list{display:grid;gap:9px;margin-top:16px}.koota-row{display:grid;grid-template-columns:120px 1fr 50px;gap:10px;align-items:center}.koota-row>div{height:8px;background:#f2e5ea;border-radius:999px;overflow:hidden}.koota-row i{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--orange))}.fineprint{font-size:11px;color:var(--muted);margin-top:16px}
@media(max-width:900px){.search-panel{grid-template-columns:1fr 1fr}.connect-item{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.search-panel{grid-template-columns:1fr}.kundli-card{align-items:flex-start;flex-direction:column}.viewer-item{grid-template-columns:42px 1fr}.viewer-item em{grid-column:2}.connect-item>div:last-child{width:100%;flex-wrap:wrap}.connect-item button{flex:1}}

.wedding-hero{border-radius:22px;padding:34px;margin-bottom:18px;background:linear-gradient(135deg,#6d1739,#c2185b 60%,#e87837);color:#fff;box-shadow:var(--shadow)}.wedding-hero span{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.wedding-hero h2{font-family:Georgia,serif;font-size:34px;margin:8px 0}.wedding-hero p{max-width:700px;margin:0;opacity:.9}
.vendor-cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.vendor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.vendor-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.vendor-icon{height:120px;display:grid;place-items:center;font-size:55px;background:linear-gradient(135deg,#fff1f5,#fff6e8)}.vendor-body{padding:15px}.vendor-cat{display:inline-block;color:var(--pink);font-size:11px;font-weight:800;text-transform:uppercase}.vendor-card h3{margin:5px 0}.vendor-card p{color:var(--muted);font-size:12px;margin:6px 0}.vendor-desc{min-height:44px}.vendor-meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.vendor-meta b{color:#a96000}.vendor-meta span{font-weight:800}.vendor-detail{max-width:800px;margin:auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.vendor-detail-icon{font-size:72px;margin-bottom:8px}.vendor-detail>h2{font-family:Georgia,serif;font-size:34px;margin:7px}.vendor-detail>p{color:var(--muted)}.vendor-meta.big{justify-content:center;gap:24px;font-size:16px}
@media(max-width:900px){.vendor-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.vendor-grid{grid-template-columns:1fr}.wedding-hero{padding:22px}.wedding-hero h2{font-size:27px}}

.wedding-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.secondary.light{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.45)}
.vendor-search-panel{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:12px}.vendor-search-panel input,.vendor-search-panel select{border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px}.vendor-count{font-size:12px;color:var(--muted);margin:0 0 12px}
.vendor-card-top{display:flex;justify-content:space-between;align-items:center}.fav-btn,.fav-large{border:0;background:transparent;color:var(--pink);font-size:22px;font-weight:800;cursor:pointer}.fav-large{font-size:14px;border:1px solid var(--line);border-radius:999px;padding:8px 12px}.fav-large.on{background:#fff0f5}
.vendor-photo{height:170px;background:#f7edf1;overflow:hidden}.vendor-photo img,.vendor-detail-photo img{width:100%;height:100%;object-fit:cover}.vendor-detail-photo{height:300px;border-radius:16px;overflow:hidden;margin-bottom:15px}.vendor-detail-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.subhead{text-align:left;margin:22px 0 10px}.package-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;text-align:left}.package-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fffaf8}.package-card h3{margin:0 0 5px}.package-card>b{color:var(--pink)}.package-card p{font-size:12px}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.portfolio-tile{height:130px;border-radius:14px;background:linear-gradient(135deg,#fff0f5,#fff5e8);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.portfolio-tile span{font-size:36px}.portfolio-tile b{font-size:11px;color:#654f5c}
.admin-vendor-photo{display:block;margin-top:10px;text-align:center}.connect-item small{display:block;color:var(--muted);font-size:11px;margin-top:5px}
@media(max-width:900px){.vendor-search-panel{grid-template-columns:1fr 1fr}.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.vendor-search-panel{grid-template-columns:1fr}.package-grid,.portfolio-grid{grid-template-columns:1fr}.vendor-detail-head{align-items:flex-start;flex-direction:column}}

.req{color:#c2185b;font-weight:900}.optional{color:var(--muted);font-size:11px;font-weight:500}
.field-error{display:block;min-height:16px;margin-top:4px;color:#c2185b;font-size:11px;font-weight:700}
.form-card input.field-invalid,.form-card select.field-invalid,.form-card textarea.field-invalid{
  border:2px solid #c2185b!important;background:#fff7f9!important;
}

.admin-inline-panel{
  margin-top:24px;padding:18px;border:2px solid var(--pink);border-radius:18px;background:#fff8fb;text-align:left;
}
.admin-inline-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.admin-inline-head h3{margin:4px 0;font-size:22px}.admin-inline-head p{margin:4px 0;color:var(--muted)}
.status-approved{color:#14864a}.status-pending{color:#c2185b}
.inline-admin-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.inline-admin-form label{display:flex;flex-direction:column;gap:6px;font-weight:700}
.inline-admin-form input,.inline-admin-form textarea{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}
.inline-admin-form .full{grid-column:1/-1}
.inline-admin-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:4px}
.inline-upload{text-align:center}.inline-upload input{display:none}
.approve-btn{border-color:#14864a!important;color:#14864a!important}.disapprove-btn{border-color:#c2185b!important;color:#c2185b!important}
@media(max-width:900px){.inline-admin-actions{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.inline-admin-form{grid-template-columns:1fr}.inline-admin-form .full{grid-column:auto}.inline-admin-actions{grid-template-columns:1fr}}

.activity-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.notification-list,.connection-requests,.message-thread-list{display:grid;gap:10px}.notification-item,.message-thread-item{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:10px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.note-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff0f5;font-size:20px}.notification-item b,.notification-item small,.message-thread-item b,.message-thread-item small{display:block}.notification-item small,.message-thread-item small{color:var(--muted);margin-top:3px}.notification-item em,.message-thread-item em{font-style:normal;color:var(--pink);font-weight:800}
.request-card{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line);border-radius:15px;padding:14px;background:#fff}.request-card b,.request-card span,.request-card small{display:block}.request-card span,.request-card small{color:var(--muted);margin-top:4px}.request-card>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
.chat-card{max-width:850px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow)}.chat-head{display:flex;justify-content:space-between;gap:8px}.chat-messages{display:flex;flex-direction:column;gap:9px;min-height:320px;max-height:520px;overflow:auto;padding:14px 0}.bubble{max-width:72%;padding:10px 12px;border-radius:15px}.bubble span,.bubble small{display:block}.bubble small{font-size:9px;margin-top:5px;opacity:.7}.bubble.mine{align-self:flex-end;background:#ffeaf1}.bubble.theirs{align-self:flex-start;background:#f2edf4}.message-form{display:grid;grid-template-columns:1fr auto;gap:8px}.message-form input{border:1px solid var(--line);border-radius:12px;padding:11px}
.privacy-card{max-width:760px;margin:auto;display:grid;gap:10px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.privacy-card label{display:grid;grid-template-columns:22px 1fr;column-gap:9px;padding:13px;border:1px solid var(--line);border-radius:13px}.privacy-card label input{grid-row:1/3}.privacy-card label span{color:var(--muted);font-size:12px;margin-top:3px}
@media(max-width:700px){.request-card{align-items:flex-start;flex-direction:column}.notification-item,.message-thread-item{grid-template-columns:42px 1fr}.notification-item em,.message-thread-item em{grid-column:2}.bubble{max-width:88%}}

.profile-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.review-pill{display:inline-block;margin-top:7px;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.review-pill.reviewed{background:#e8f7ef;color:#14864a}.review-pill.pending{background:#fff4df;color:#a96000}
.danger-outline{border-color:#c2185b!important;color:#c2185b!important}
.safety-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.safety-card{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.safety-icon{width:48px;height:48px;border-radius:14px;background:#f3eee8;display:grid;place-items:center;font-size:22px;flex:0 0 48px}.safety-card h3{margin:0 0 5px}.safety-card p{margin:0;color:var(--muted);font-size:12px}.safety-settings{margin-bottom:18px}
#reportForm{display:grid;gap:12px;margin-top:15px}#reportForm label{display:grid;gap:6px;font-weight:700}#reportForm select,#reportForm textarea{border:1px solid var(--line);border-radius:10px;padding:10px}
.moderation-list{display:grid;gap:10px}.moderation-card{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.moderation-card b,.moderation-card span,.moderation-card small{display:block}.moderation-card span,.moderation-card small{color:var(--muted);margin-top:4px}.moderation-card>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:900px){.safety-grid{grid-template-columns:1fr}.moderation-card{align-items:flex-start;flex-direction:column}}

.account-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow);margin-bottom:16px}.account-summary h2{margin:6px 0}.account-summary p{margin:0;color:var(--muted)}.account-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase}.account-status.active{background:#e8f7ef;color:#14864a}.account-status.deactivated{background:#fff4df;color:#a96000}.account-status.deleted{background:#ffe9ef;color:#c2185b}
.completion-ring{width:110px;height:110px;border-radius:50%;background:conic-gradient(var(--pink) 0 75%,#f1e7eb 75%);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 110px}.completion-ring:before{content:"";position:absolute}.completion-ring b{font-size:24px}.completion-ring span{font-size:9px;color:var(--muted)}
.onboarding-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:14px}.onboarding-card h3{margin-top:0}.onboarding-card p,.onboarding-card small{color:var(--muted)}.progress{height:10px;background:#f0e5e9;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--orange))}
.account-actions{display:flex;gap:10px;flex-wrap:wrap}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.auth-form{max-width:760px;margin:auto}.delete-confirm-label{display:grid;gap:6px;font-weight:700;margin:14px 0}.delete-confirm-label input{border:1px solid var(--line);border-radius:10px;padding:10px}.danger-solid{background:#b0003a!important}
.profile-completion-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:15px;padding:13px 15px;margin-bottom:14px}.profile-completion-banner.complete{background:#ecf9f1;border:1px solid #b9e5cb}.profile-completion-banner.incomplete{background:#fff4df;border:1px solid #f0d59a}.profile-completion-banner b,.profile-completion-banner span{display:block}.profile-completion-banner span{font-size:11px;color:var(--muted);margin-top:3px}
@media(max-width:650px){.account-summary{align-items:flex-start}.completion-ring{width:88px;height:88px;flex-basis:88px}.auth-grid{grid-template-columns:1fr}.profile-completion-banner{align-items:flex-start;flex-direction:column}}

.otp-primary-card{max-width:760px;margin:0 auto 18px;background:linear-gradient(135deg,#fff1f6,#fff8ed);border:2px solid var(--pink);border-radius:20px;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:18px;box-shadow:var(--shadow)}.otp-primary-card h2{margin:6px 0}.otp-primary-card p{margin:0;color:var(--muted)}.otp-badge{display:inline-block;background:var(--pink);color:#fff;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;text-transform:uppercase}.auth-divider{max-width:760px;margin:16px auto;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}
.phone-input-wrap{display:grid;grid-template-columns:auto 1fr;align-items:center;border:1px solid #d8cdd2;border-radius:10px;overflow:hidden;background:#fff}.phone-input-wrap span{padding:11px 12px;background:#fff5f8;border-right:1px solid var(--line);font-weight:800}.phone-input-wrap input{border:0!important;border-radius:0!important;outline:0}.otp-demo-note{padding:11px;border:1px dashed #e5bfd0;border-radius:12px;background:#fff8fb;color:var(--muted);font-size:12px}.otp-controls{display:flex;gap:10px;flex-wrap:wrap}.otp-controls button[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:650px){.otp-primary-card{align-items:stretch;flex-direction:column}.otp-controls{flex-direction:column}}

.search-partner-intro{display:flex;justify-content:space-between;gap:14px;align-items:center;background:#fff8fb;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px}.search-partner-intro b,.search-partner-intro span{display:block}.search-partner-intro b{font-size:18px;color:#4a1730}.search-partner-intro span{font-size:12px;color:var(--muted);margin-top:3px}.search-partner-intro>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
.profile-card-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.profile-shortlist{border:0;background:transparent;color:var(--pink);font-size:24px;cursor:pointer;line-height:1}.profile-shortlist.on{color:#c2185b}
.multi-options{display:flex;flex-wrap:wrap;gap:8px}.multi-options label{display:flex!important;flex-direction:row!important;align-items:center;gap:5px!important;border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:#fff;font-weight:600!important}.multi-options input{width:auto}
.recommendation-toolbar{display:flex;gap:8px;justify-content:flex-end;margin-bottom:14px}.saved-search-list{display:grid;gap:10px}.saved-search-card{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.saved-search-card b,.saved-search-card span{display:block}.saved-search-card span{font-size:11px;color:var(--muted);margin-top:4px;word-break:break-word}.saved-search-card>div:last-child{display:flex;gap:8px}
@media(max-width:750px){.search-partner-intro,.saved-search-card{align-items:flex-start;flex-direction:column}.recommendation-toolbar{justify-content:flex-start}}

.page-history-nav{
  position:sticky;
  top:0;
  z-index:90;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  width:min(1180px,calc(100% - 28px));
  margin:10px auto 4px;
  pointer-events:none;
}
.history-nav-btn{
  pointer-events:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:112px;
  min-height:42px;
  padding:9px 15px;
  border:2px solid var(--pink);
  border-radius:999px;
  background:#fff;
  color:#7a173f;
  font-weight:900;
  font-size:13px;
  box-shadow:0 5px 16px rgba(70,30,45,.14);
  cursor:pointer;
}
.history-nav-btn:hover{background:#fff2f6;transform:translateY(-1px)}
.history-nav-btn:active{transform:translateY(0)}
.history-arrow{font-size:20px;line-height:1}
@media(max-width:600px){
  .page-history-nav{width:calc(100% - 20px);margin-top:7px;gap:8px}
  .history-nav-btn{min-width:104px;min-height:40px;padding:8px 12px;font-size:12px}
}

.history-nav-btn:disabled,.history-nav-btn.disabled{
  opacity:.38;
  cursor:not-allowed;
  background:#f6f1f3;
  color:#8f8188;
  border-color:#d9ced3;
  box-shadow:none;
  transform:none!important;
}

.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.kpi-card span,.kpi-card small{display:block}.kpi-card span{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase}.kpi-card b{display:block;font-size:30px;margin:6px 0;color:#4a1730}.kpi-card small{font-size:11px;color:var(--muted)}.kpi-card.alert{border-color:#f0b6c8;background:#fff8fb}
.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.dashboard-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;box-shadow:var(--shadow)}
.health-row{display:grid;grid-template-columns:160px 1fr 48px;align-items:center;gap:10px;padding:10px 0}.health-row>span{font-size:12px;color:var(--muted)}.health-bar{height:9px;border-radius:999px;background:#f0e5e9;overflow:hidden}.health-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--orange))}.health-bar.warning i{background:linear-gradient(90deg,#f3a61a,#d54d26)}
.quick-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.quick-admin{border:1px solid var(--line);background:#fff8fb;border-radius:14px;padding:14px;text-align:left;cursor:pointer}.quick-admin b,.quick-admin span{display:block}.quick-admin span{font-size:11px;color:var(--muted);margin-top:4px}
.platform-controls form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.platform-controls label{display:grid;grid-template-columns:22px 1fr;gap:8px;padding:13px;border:1px solid var(--line);border-radius:13px}.platform-controls label input{margin-top:3px}.platform-controls label b,.platform-controls label small{display:block}.platform-controls label small{color:var(--muted);font-size:11px;margin-top:3px}.platform-controls .maintenance-toggle{border-color:#f0b6c8;background:#fff7f9}.platform-controls button{justify-self:start}
@media(max-width:1000px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}}
@media(max-width:620px){.dashboard-kpis{grid-template-columns:1fr 1fr}.quick-admin-grid,.platform-controls form{grid-template-columns:1fr}.health-row{grid-template-columns:120px 1fr 42px}}

/* ===== v9.0 Final Integration / Responsive Polish ===== */
.release-badge{
  display:inline-flex;align-items:center;justify-content:center;
  background:#fff0f5;color:var(--pink);border:1px solid #f0c5d4;
  padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900;
}
.page-head h1{overflow-wrap:anywhere}
button{touch-action:manipulation}
input,select,textarea{max-width:100%}
img{max-width:100%}
.field-error{display:block;min-height:15px;margin-top:4px;color:#c2185b;font-size:11px;font-weight:700}
.field-invalid{border:2px solid #c2185b!important;background:#fff7f9!important}
.empty-state{min-height:100px;display:grid;place-items:center}
.bottom-nav{max-width:calc(100vw - 18px);overflow-x:auto;scrollbar-width:none}
.bottom-nav::-webkit-scrollbar{display:none}
.header{min-height:72px}
main{min-height:calc(100vh - 90px)}
@media(max-width:1100px){
  .header{align-items:flex-start}
  .header-actions{flex-wrap:wrap;justify-content:flex-end}
}
@media(max-width:820px){
  .header{padding:8px 12px}
  .brand img{height:48px}
  .brand-text b{font-size:21px}
  .header-actions{display:none!important}
  .page-history-nav{position:sticky;top:0;z-index:95;background:rgba(255,250,248,.95);backdrop-filter:blur(10px);padding:5px 0}
  main{padding-left:12px;padding-right:12px}
  .hero{height:320px}
  .profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vendor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  body{padding-bottom:82px}
  .brand-text span{display:block;font-size:9px}
  .release-badge{display:none}
  .hero{height:260px}
  .hero-copy{left:18px;right:18px;bottom:22px}
  .hero-copy h1{font-size:28px}
  .hero-copy p{font-size:13px}
  .profile-grid{grid-template-columns:1fr 1fr;gap:8px}
  .card-avatar{height:170px}
  .profile-body{padding:9px}
  .profile-body h3{font-size:14px}
  .profile-body p{font-size:10.5px}
  .vendor-grid{grid-template-columns:1fr}
  .dashboard-kpis{grid-template-columns:1fr 1fr}
  .dashboard-columns{grid-template-columns:1fr}
  .form-card{padding:14px}
  .member-card{padding:14px}
  .detail-row{grid-template-columns:105px 1fr}
  .action-row{flex-direction:column}
  .action-row button{width:100%}
  .history-nav-btn{min-width:96px}
  .bottom-nav{
    left:9px;right:9px;transform:none;width:auto;bottom:8px;
    justify-content:flex-start;padding:6px;
  }
  .bottom-nav button{min-width:58px;flex:0 0 auto}
}
@media(max-width:390px){
  .profile-grid{grid-template-columns:1fr}
  .dashboard-kpis{grid-template-columns:1fr}
  .page-head h1{font-size:27px}
}

.backend-status-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px;border-radius:20px;margin-bottom:16px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.backend-status-card.local{background:#fffaf0}.backend-status-card.supabase{background:#f0fbf5}.backend-mode{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.08em;border-radius:999px;padding:5px 8px;background:#4a1730;color:#fff}.backend-status-card h2{margin:7px 0}.backend-status-card p{margin:0;color:var(--muted)}.backend-light{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:900;flex:0 0 58px}.backend-light.ok{background:#e8f7ef;color:#14864a}.backend-light.warn{background:#fff0e5;color:#b45309}.migration-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.migration-grid>div{border:1px solid var(--line);border-radius:13px;padding:13px;background:#fffaf8}.migration-grid b,.migration-grid span{display:block}.migration-grid span{margin-top:4px;color:var(--muted);text-transform:uppercase;font-size:11px}.backend-next ul{columns:2;line-height:1.8;color:var(--muted)}@media(max-width:700px){.migration-grid{grid-template-columns:1fr 1fr}.backend-next ul{columns:1}.backend-status-card{align-items:flex-start}}

.backend-status-card.supabase .backend-mode{background:#14864a}

.photo-access-banner{margin:10px auto;max-width:620px;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:700}.photo-access-banner.allowed{background:#eaf8ef;color:#14864a;border:1px solid #bfe5cc}.photo-access-banner.restricted{background:#fff2f5;color:#8e2346;border:1px solid #efc5d1}.photo-access-banner.pending{background:#fff7e6;color:#9a6800;border:1px solid #eed69a}.secure-media-panel>p{color:var(--muted);line-height:1.55}

.activity-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.notification-item.unread{border-color:#e8aabd;background:#fff8fb}.notification-item.read{opacity:.78}.audit-list{display:grid;gap:10px}.audit-row{display:flex;justify-content:space-between;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px}.audit-row b,.audit-row span{display:block}.audit-row span,.audit-row small{color:var(--muted);font-size:11px;margin-top:3px}@media(max-width:650px){.audit-row{align-items:flex-start;flex-direction:column}}

.role-manager{display:grid;gap:16px}.role-list{display:grid;gap:9px}.role-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px}.role-row b,.role-row span{display:block}.role-row span{font-size:11px;color:var(--muted);margin-top:3px;word-break:break-all}@media(max-width:650px){.role-row{align-items:flex-start;flex-direction:column}}

.cutover-summary{display:flex;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:14px}.cutover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.cutover-row{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px}.cutover-row b{text-transform:uppercase;font-size:10px}.cutover-row b.ready{color:#14864a}.cutover-row b.local{color:#a96000}@media(max-width:900px){.cutover-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cutover-grid{grid-template-columns:1fr}.cutover-summary{align-items:flex-start;flex-direction:column}}

.preflight-loading{min-height:180px;display:grid;place-items:center;color:var(--muted);font-weight:800}
.preflight-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;border-radius:18px;padding:18px;margin-bottom:14px;border:1px solid var(--line);background:#fff}
.preflight-summary span{font-size:10px;font-weight:900;text-transform:uppercase;color:var(--muted)}.preflight-summary h2{margin:5px 0}.preflight-summary p{margin:0;color:var(--muted)}
.preflight-summary.pass{background:#eefaf3;border-color:#bfe5cc}.preflight-summary.warn{background:#fff8e8;border-color:#efd797}.preflight-summary.fail{background:#fff1f4;border-color:#efbecb}
.preflight-score{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:#fff;font-size:20px;font-weight:900;box-shadow:var(--shadow);flex:0 0 78px}
.preflight-list{display:grid;gap:9px;margin-bottom:14px}.preflight-row{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.preflight-row b,.preflight-row small{display:block}.preflight-row small{color:var(--muted);margin-top:3px}.preflight-row em{font-style:normal;font-size:10px;font-weight:900;text-transform:uppercase}.preflight-row.pass em{color:#14864a}.preflight-row.warn em{color:#a96000}.preflight-row.fail em{color:#c2185b}.preflight-mark{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:900}.preflight-row.pass .preflight-mark{background:#e8f7ef;color:#14864a}.preflight-row.warn .preflight-mark{background:#fff4df;color:#a96000}.preflight-row.fail .preflight-mark{background:#ffe9ef;color:#c2185b}
@media(max-width:600px){.preflight-summary{align-items:flex-start}.preflight-row{grid-template-columns:36px 1fr}.preflight-row em{grid-column:2}}


/* ===== v10.2.1 Auth & Admin Access Hotfix ===== */
body:not(.admin-authorized) .admin{display:none!important}
body.admin-authorized .header-actions .admin{display:inline-flex}
body.admin-authorized .bottom-nav .admin{display:flex}
body.admin-authorized .home-actions .admin{display:flex}

/* ============================================================
   JaipurVibe v10.3.2 - Desktop & Mobile Navigation Polish
   Frontend-only. Backend/security behavior is unchanged.
   ============================================================ */

/* Brand is always kept clear of page-history controls. */
.brand{flex:0 0 auto;min-width:250px;cursor:pointer}
.release-badge{white-space:nowrap}

/* Page history becomes a compact content-width row below the sticky header. */
.page-history-nav{
  position:relative!important;
  top:auto!important;
  z-index:10!important;
  width:min(1280px,calc(100% - 40px))!important;
  margin:12px auto 0!important;
  padding:0!important;
}
.history-nav-btn{
  min-width:auto!important;
  min-height:38px!important;
  padding:7px 13px!important;
  font-size:12px!important;
  box-shadow:none!important;
}

/* ---------- Desktop navigation ---------- */
.desktop-nav{
  min-width:0;
  flex:1 1 auto;
  justify-content:flex-end;
  align-items:center;
  gap:6px!important;
}
.desktop-nav>button{
  padding:8px 10px!important;
  font-size:12px!important;
  white-space:nowrap;
}
.desktop-nav>button span{display:inline}

.nav-dropdown{position:relative}
.nav-dropdown summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-dropdown[open] summary{background:#fff2f6;border-color:#efb7ca;color:#8f1745}

.desktop-admin-menu summary{
  background:linear-gradient(135deg,var(--pink2),var(--pink));
  color:#fff;
  border-color:transparent;
}

.nav-dropdown-panel{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  z-index:120;
  min-width:220px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 16px 38px rgba(42,20,34,.18);
}
.nav-dropdown-panel button{
  width:100%;
  border:0!important;
  border-radius:10px!important;
  padding:10px 11px!important;
  background:transparent!important;
  color:var(--ink)!important;
  text-align:left;
  font-size:12px!important;
  font-weight:750!important;
  cursor:pointer;
}
.nav-dropdown-panel button:hover{background:#fff1f5!important;color:var(--pink)!important}

.mobile-more{display:none}

/* Give wide desktop nav more room without forcing horizontal clipping. */
@media (min-width:901px){
  .header{
    max-width:1440px!important;
    padding:8px 18px!important;
    gap:12px!important;
  }
  .brand img{height:52px!important}
  .brand-text b{font-size:23px!important}
  .bottom-nav{display:none!important}
  .mobile-more{display:none!important}
}

/* Compact desktop/laptop widths */
@media (min-width:901px) and (max-width:1180px){
  .brand{min-width:205px}
  .brand img{height:46px!important}
  .brand-text b{font-size:20px!important}
  .brand-text span{font-size:10px!important}
  .release-badge{display:none!important}
  .desktop-nav>button{padding:7px 8px!important;font-size:11px!important}
  .desktop-nav>button span{display:none}
}

/* ---------- Tablet / mobile ---------- */
@media (max-width:900px){
  .header{
    min-height:64px;
    padding:7px 12px!important;
    gap:8px!important;
  }
  .brand{
    min-width:0;
    flex:1 1 auto;
    gap:7px!important;
  }
  .brand img{height:46px!important}
  .brand-text b{font-size:21px!important}
  .brand-text span{font-size:10px!important}
  .release-badge{display:none!important}

  .desktop-nav{display:none!important}
  .mobile-more{
    display:block!important;
    flex:0 0 auto;
  }
  .mobile-more summary{
    display:flex;
    align-items:center;
    gap:5px;
    padding:8px 11px;
  }
  .mobile-menu-panel{
    position:fixed!important;
    top:68px!important;
    right:10px!important;
    left:auto!important;
    width:min(290px,calc(100vw - 20px))!important;
    max-height:calc(100vh - 150px);
    overflow:auto;
  }
  .mobile-menu-separator{
    height:1px;
    margin:7px 4px;
    background:var(--line);
  }

  .page-history-nav{
    width:calc(100% - 20px)!important;
    margin:7px auto 2px!important;
  }
  .history-nav-btn{
    min-height:34px!important;
    padding:6px 10px!important;
    font-size:11px!important;
  }

  /* Six equal primary actions: no horizontal scrolling needed. */
  .bottom-nav{
    display:grid!important;
    grid-template-columns:repeat(6,1fr)!important;
    width:calc(100% - 14px)!important;
    max-width:720px!important;
    bottom:7px!important;
    gap:1px!important;
    padding:6px!important;
    border-radius:20px!important;
    overflow:visible!important;
  }
  .bottom-nav button{
    min-width:0!important;
    padding:7px 2px!important;
    font-size:16px!important;
    line-height:1!important;
  }
  .bottom-nav button span{
    display:block!important;
    margin-top:4px;
    font-size:9px!important;
    line-height:1.1;
    white-space:nowrap;
  }
  main{padding-bottom:96px!important}
  body{padding-bottom:76px!important}
}

/* Small phones: tighten typography/cards while keeping tap targets. */
@media (max-width:520px){
  .header{min-height:58px;padding:5px 9px!important}
  .brand img{height:42px!important}
  .brand-text b{font-size:19px!important}
  .brand-text span{display:block!important;font-size:9px!important}
  .mobile-more summary span{display:none}
  .mobile-more summary{width:42px;height:42px;justify-content:center;padding:0;font-size:19px}

  .page-history-nav{margin-top:5px!important}
  .history-nav-btn{padding:5px 9px!important}
  .history-nav-btn .history-arrow{font-size:16px!important}

  .bottom-nav{
    width:calc(100% - 10px)!important;
    bottom:5px!important;
    border-radius:18px!important;
    padding:5px 3px!important;
  }
  .bottom-nav button{font-size:15px!important}
  .bottom-nav button span{font-size:8.5px!important}
  main{padding:8px 9px 92px!important}
}

/* Admin visibility remains authoritative and role-controlled. */
body:not(.admin-authorized) .admin{display:none!important}
body.admin-authorized .desktop-admin-menu.admin{display:block}

/* ============================================================
   JaipurVibe v10.3.3 - Mobile UX & Hero Polish
   ============================================================ */

/* Home does not waste mobile vertical space on disabled history controls. */
@media (max-width:900px){
  body.route-home .page-history-nav{display:none!important}
  body.route-home main{padding-top:8px!important}
}

/* Hero: crop the lower baked-in caption area on mobile and keep one live
   HTML headline/CTA only. This preserves the original image asset. */
@media (max-width:900px){
  .hero{
    height:285px!important;
    border-radius:18px!important;
  }
  .hero>img{
    object-fit:cover!important;
    object-position:center top!important;
    transform:scale(1.035);
    transform-origin:center top;
  }
  .hero:after{
    background:linear-gradient(90deg,rgba(30,10,20,.63),rgba(30,10,20,.18) 70%,transparent)!important;
  }
  .hero-copy{
    left:20px!important;
    right:18px!important;
    bottom:18px!important;
    max-width:76%!important;
  }
  .hero-copy h1{
    font-size:27px!important;
    line-height:1.04!important;
    text-shadow:0 2px 8px rgba(0,0,0,.32);
  }
  .hero-copy p{
    margin:7px 0 10px!important;
    font-size:13px!important;
  }
  .hero-copy button{
    padding:10px 16px!important;
    border-radius:12px!important;
    font-size:14px!important;
  }

  /* Tighter home cards while keeping comfortable touch targets. */
  .home-actions{
    gap:10px!important;
    margin-top:12px!important;
  }
  .home-actions .feature-card{
    padding:15px 16px!important;
    min-height:0!important;
    gap:5px!important;
  }
  .home-actions .feature-card b{
    font-size:17px!important;
    line-height:1.2!important;
  }
  .home-actions .feature-card span{
    font-size:13px!important;
    line-height:1.35!important;
  }

  /* Stronger bottom navigation readability. */
  .bottom-nav button span{
    font-weight:800!important;
    letter-spacing:.01em;
  }
}

/* Small phones receive a shorter, cleaner first viewport. */
@media (max-width:520px){
  .hero{height:245px!important}
  .hero>img{
    transform:scale(1.06);
    object-position:center top!important;
  }
  .hero-copy{
    left:16px!important;
    right:14px!important;
    bottom:14px!important;
    max-width:82%!important;
  }
  .hero-copy h1{font-size:23px!important}
  .hero-copy p{font-size:12px!important}
  .hero-copy button{
    padding:9px 14px!important;
    font-size:13px!important;
  }
  .home-actions .feature-card{padding:13px 14px!important}
  .home-actions .feature-card b{font-size:16px!important}
  .home-actions .feature-card span{font-size:12.5px!important}
  .bottom-nav button span{font-size:9px!important}
}

/* Match Admin control to the pill language used across desktop navigation. */
@media (min-width:901px){
  .desktop-admin-menu summary{
    border-radius:999px!important;
    padding:8px 13px!important;
  }
}


/* ============================================================
   JaipurVibe v10.3.4 - Mobile Hero Final Polish
   ============================================================ */

.hero-picture{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}
.hero-picture img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

@media (max-width:900px){
  .hero{height:300px!important}
  .hero-picture img{
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
  }
  .hero-copy{
    left:18px!important;
    right:16px!important;
    bottom:17px!important;
    max-width:78%!important;
  }
  .hero-copy h1{
    margin:0!important;
    font-size:28px!important;
    line-height:1.05!important;
  }
  .hero-copy p{
    margin:8px 0 11px!important;
    font-size:13px!important;
  }
  .header{min-height:68px!important}
  .brand img{height:50px!important}
  .brand-text b{font-size:23px!important}
  .brand-text span{font-size:10.5px!important}
}

@media (max-width:520px){
  .hero{height:270px!important}
  .hero-copy{
    left:15px!important;
    right:13px!important;
    bottom:14px!important;
    max-width:84%!important;
  }
  .hero-copy h1{font-size:24px!important}
  .hero-copy p{
    font-size:11.5px!important;
    margin:6px 0 9px!important;
  }
  .hero-copy button{
    padding:9px 13px!important;
    font-size:12px!important;
  }
  .header{min-height:62px!important}
  .brand img{height:46px!important}
  .brand-text b{font-size:21px!important}
}

@media (min-width:901px){
  .hero-picture img{object-position:center center}
}


/* ============================================================
   JaipurVibe v10.3.5 - Clean Mobile Hero & Message Panel
   Mobile only. Desktop hero remains unchanged.
   ============================================================ */

@media (max-width:900px){
  /* The photograph is now completely clean on mobile. */
  .hero{
    height:auto!important;
    overflow:visible!important;
    background:transparent!important;
    display:flex!important;
    flex-direction:column!important;
    border-radius:0!important;
  }
  .hero-picture{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:260px!important;
    overflow:hidden!important;
    border-radius:20px!important;
    display:block!important;
  }
  .hero-picture img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
  }

  /* Jaipur-inspired message panel directly beneath the clean photograph. */
  .hero-copy.mobile-message-panel{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    top:auto!important;
    max-width:none!important;
    width:100%!important;
    margin:10px 0 0!important;
    padding:18px 18px 17px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(219,15,89,.18)!important;
    border-radius:18px!important;
    background:linear-gradient(135deg,#fff3f6 0%,#fff8ef 100%)!important;
    color:#4d1530!important;
    text-shadow:none!important;
    box-shadow:0 8px 22px rgba(77,21,48,.08)!important;
  }
  .hero-copy.mobile-message-panel h1{
    color:#4d1530!important;
    font-size:28px!important;
    line-height:1.05!important;
    margin:0!important;
    text-shadow:none!important;
  }
  .hero-copy.mobile-message-panel p{
    color:#756675!important;
    font-size:14px!important;
    margin:8px 0 13px!important;
    text-shadow:none!important;
  }
  .hero-copy.mobile-message-panel button{
    background:#ef2e6c!important;
    color:white!important;
    border:0!important;
    box-shadow:0 5px 14px rgba(239,46,108,.20)!important;
  }

  /* Slightly stronger mobile brand and cards. */
  .header{min-height:68px!important}
  .brand img{height:50px!important}
  .brand-text b{font-size:23px!important}
  .brand-text span{font-size:10.5px!important}

  .home-actions{
    margin-top:10px!important;
    gap:10px!important;
  }
  .home-actions .card{
    min-height:76px!important;
    padding:15px 16px!important;
  }
  .home-actions .card h3{
    font-size:18px!important;
    margin-bottom:5px!important;
  }
  .home-actions .card p{
    font-size:13px!important;
    line-height:1.35!important;
  }

  /* Content should naturally occupy the page instead of a forced tall blank zone. */
  main,.main{
    min-height:auto!important;
  }
}

@media (max-width:520px){
  .hero-picture{
    height:225px!important;
    border-radius:16px!important;
  }
  .hero-copy.mobile-message-panel{
    padding:15px 15px 14px!important;
    border-radius:16px!important;
    margin-top:8px!important;
  }
  .hero-copy.mobile-message-panel h1{
    font-size:24px!important;
    line-height:1.06!important;
  }
  .hero-copy.mobile-message-panel p{
    font-size:12px!important;
    margin:6px 0 10px!important;
  }
  .hero-copy.mobile-message-panel button{
    padding:10px 14px!important;
    font-size:12px!important;
  }
  .header{min-height:64px!important}
  .brand img{height:47px!important}
  .brand-text b{font-size:21px!important}
  .home-actions .card{
    min-height:70px!important;
    padding:13px 14px!important;
  }
  .home-actions .card h3{font-size:17px!important}
  .home-actions .card p{font-size:12px!important}
}

/* ============================================================
   JaipurVibe v10.3.6 - Mobile Hero Image Quality Fix
   ============================================================ */

@media (max-width:900px){
  /* Preserve native source pixels: no CSS zoom/scale and no blur filters. */
  .hero-picture img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
    filter:none!important;
    image-rendering:auto!important;
  }

  /* Keep the clean-image/message-panel layout from v10.3.5. */
  .hero-picture{
    height:260px!important;
    background:#f6ede7;
  }
}

@media (max-width:520px){
  .hero-picture{
    height:225px!important;
  }
}

/* ============================================================
   JaipurVibe v10.3.7 - Mobile Home Final Refinement
   Final cosmetic pass; no backend/navigation behavior changes.
   ============================================================ */

@media (max-width:900px){
  /* Treat image + message as one coordinated hero component. */
  .hero-picture{
    border-radius:18px 18px 0 0!important;
    margin-bottom:0!important;
  }

  .hero-copy.mobile-message-panel{
    margin-top:0!important;
    border-top:0!important;
    border-radius:0 0 18px 18px!important;
    padding:15px 17px 14px!important;
    box-shadow:0 8px 22px rgba(77,21,48,.07)!important;
  }

  .hero-copy.mobile-message-panel h1{
    font-size:26px!important;
    line-height:1.04!important;
    margin:0!important;
  }

  .hero-copy.mobile-message-panel p{
    margin:6px 0 10px!important;
    font-size:13px!important;
  }

  .hero-copy.mobile-message-panel button{
    padding:9px 14px!important;
    min-height:38px!important;
  }

  /* Compact Home cards while retaining easy tap targets. */
  .home-actions{
    margin-top:9px!important;
    gap:8px!important;
  }

  .home-actions .feature-card,
  .home-actions .card{
    min-height:64px!important;
    padding:12px 14px!important;
    border-radius:15px!important;
  }

  .home-actions .feature-card b,
  .home-actions .card h3{
    font-size:16.5px!important;
    margin-bottom:3px!important;
  }

  .home-actions .feature-card span,
  .home-actions .card p{
    font-size:12px!important;
    line-height:1.3!important;
  }
}

@media (max-width:520px){
  .hero-picture{
    border-radius:15px 15px 0 0!important;
  }

  .hero-copy.mobile-message-panel{
    border-radius:0 0 15px 15px!important;
    padding:13px 14px 12px!important;
  }

  .hero-copy.mobile-message-panel h1{
    font-size:22px!important;
    line-height:1.05!important;
  }

  .hero-copy.mobile-message-panel p{
    font-size:11.5px!important;
    margin:5px 0 8px!important;
  }

  .hero-copy.mobile-message-panel button{
    padding:8px 12px!important;
    min-height:35px!important;
    font-size:11.5px!important;
  }

  .home-actions{
    margin-top:8px!important;
    gap:7px!important;
  }

  .home-actions .feature-card,
  .home-actions .card{
    min-height:60px!important;
    padding:11px 12px!important;
  }

  .home-actions .feature-card b,
  .home-actions .card h3{
    font-size:15.5px!important;
  }

  .home-actions .feature-card span,
  .home-actions .card p{
    font-size:11.5px!important;
  }
}

/* ============================================================
   JaipurVibe v10.4 - Passwordless Email OTP Authentication
   Frozen Home UI remains unchanged.
   ============================================================ */

.otp-auth-grid .otp-primary-choice{
  border-color:#f2b4c9!important;
  background:linear-gradient(135deg,#fff2f6,#fff9f2)!important;
}
.otp-auth-grid .otp-primary-choice b{color:#b0174e!important}
.otp-primary-note{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 14px;
  border:1px solid #f2d1dc;
  border-radius:13px;
  background:#fff7fa;
}
.otp-primary-note b{color:#7d183d}
.otp-primary-note span{font-size:12px;color:var(--muted);line-height:1.4}
#emailOtpCodeInput{
  letter-spacing:.18em;
  font-size:20px;
  font-weight:800;
  text-align:center;
}
