.marketplace-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:22px}.marketplace-nav nav{display:flex;gap:18px;flex-wrap:wrap;font-size:.86rem}.marketplace-shell{padding-block:42px 70px;min-height:68vh}.page-head{max-width:800px}.page-head h1{font-size:clamp(2.5rem,5vw,4.2rem);margin:.2em 0}.page-head>p:last-child{color:var(--muted);max-width:650px}.booking-tabs{display:flex;gap:8px;overflow:auto;margin:28px 0 20px;padding-bottom:4px}.booking-tabs button{border:1px solid var(--line);background:white;border-radius:999px;padding:9px 14px;white-space:nowrap}.booking-tabs button.active{background:var(--ink);color:white}.booking-list{display:grid;gap:16px}.booking-card{border:1px solid var(--line);border-radius:18px;background:white;padding:20px;display:grid;gap:12px}.booking-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.booking-card h2,.booking-card h3{margin:0}.booking-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.86rem}.status-pill{display:inline-flex;border-radius:999px;background:#f4e8ee;padding:5px 10px;font-size:.75rem;text-transform:capitalize}.booking-actions{display:flex;gap:10px;flex-wrap:wrap}.booking-note{white-space:pre-wrap;color:var(--muted)}.booking-form{margin-top:30px;padding:26px;border:1px solid #ead8e1;border-radius:20px;background:linear-gradient(180deg,#fff 0%,#fff8fb 100%);box-shadow:0 14px 34px rgba(83,35,58,.06)}.booking-form h2{margin:0;font-size:1.65rem}.booking-form>p{margin:7px 0 0;color:var(--muted);font-size:.9rem}.booking-form form{margin-top:20px}.booking-form .booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.booking-form .booking-field{min-width:0}.booking-form .booking-field.full{grid-column:1/-1}.booking-form label{display:block;margin:0 0 7px;font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--ink)}.booking-form input,.booking-form select,.booking-form textarea{width:100%;margin:0;padding:13px 14px;border:1px solid #dcc8d2;border-radius:11px;background:#fff;color:var(--ink);font:inherit;box-sizing:border-box;transition:border-color .18s ease,box-shadow .18s ease}.booking-form textarea{resize:vertical;min-height:96px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px rgba(149,56,94,.11)}.booking-form .booking-helper{display:block;margin-top:6px;color:var(--muted);font-size:.74rem;line-height:1.45}.booking-form .booking-submit-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}.booking-form button{margin:0;min-width:180px}.booking-form .field-hint{margin:0;color:var(--muted);font-size:.8rem}.booking-form .field-hint:not(:empty){padding:10px 12px;border-radius:10px;background:#f6eaf0}.chat-shell{max-width:850px;padding-block:38px 70px}.chat-head h1{font-size:clamp(2.2rem,5vw,3.7rem)}.safety-strip{margin-top:18px;padding:13px 16px;border-radius:12px;background:#f8edf2;font-size:.86rem}.messages{display:grid;gap:10px;margin:22px 0}.message{max-width:78%;padding:11px 14px;border-radius:16px;background:white;border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}.message.mine{justify-self:end;background:#f8edf2}.message time{display:block;margin-top:6px;font-size:.7rem;color:var(--muted)}.message-form{position:sticky;bottom:0;background:rgba(255,252,250,.96);padding:14px 0}.message-form textarea{width:100%;padding:12px;border:1px solid #d8c5cf;border-radius:10px;font:inherit}.message-form button{margin-top:8px}.safety-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:20px}.review-form{display:grid;gap:10px;margin-top:10px}.review-form select,.review-form textarea{padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit}.ad-slot{border:1px dashed #cdb7c2;border-radius:14px;min-height:86px;display:grid;place-items:center;color:var(--muted);font-size:.78rem;margin:22px 0}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:650px){.booking-form{padding:20px}.booking-form .booking-grid{grid-template-columns:1fr}.booking-form .booking-field.full{grid-column:auto}.booking-form .booking-submit-row{align-items:stretch}.booking-form button{width:100%}.marketplace-nav{align-items:flex-start}.marketplace-nav nav{justify-content:flex-end}.booking-top{flex-direction:column}.booking-form .two{grid-template-columns:1fr}.message{max-width:90%}}
.request-card{scroll-margin-top:120px}.request-highlight{border-color:#b76082;box-shadow:0 0 0 3px rgba(142,54,85,.09),0 15px 35px rgba(87,44,67,.08)}
.message-compose-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:9px}.message-compose-actions .button{margin-top:0}.photo-button{cursor:pointer}.chat-photo-frame{max-width:min(360px,70vw);border-radius:13px;overflow:hidden;background:#f5edf1;min-height:90px;display:grid;place-items:center}.chat-photo{width:100%;max-height:420px;object-fit:cover;display:block}.chat-photo-loading{padding:24px;color:var(--muted);font-size:.8rem}.message-caption{margin-top:8px}.message-form>.field-hint{display:block;margin-top:8px;color:var(--muted);font-size:.72rem}

.chat-photo-button{border:0;padding:0;cursor:zoom-in;text-align:inherit}.chat-photo-button:disabled{cursor:default}.chat-photo,.secure-media-image{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.view-once-toggle{display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;min-height:44px}.view-once-toggle input{width:18px;height:18px;margin:0}.view-once-toggle span{display:grid;line-height:1.2}.view-once-toggle strong{font-size:.76rem}.view-once-toggle small{font-size:.65rem;color:var(--muted);margin-top:3px}
.view-once-card{display:flex;align-items:center;gap:11px;min-width:min(320px,68vw);padding:12px;border:1px solid #dcc6d0;border-radius:13px;background:linear-gradient(135deg,#fff7fa,#f8edf2)}.view-once-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--rose);font-size:1.1rem;flex:0 0 auto}.view-once-card>div{display:grid;flex:1}.view-once-card strong{font-size:.82rem}.view-once-card small{font-size:.68rem;color:var(--muted);margin-top:3px}.view-once-action{border:0;background:var(--plum);color:#fff;border-radius:999px;padding:8px 11px;font-size:.7rem;cursor:pointer}.view-once-action:disabled{opacity:.5;cursor:not-allowed}.view-once-state{font-size:.68rem;color:var(--muted)}
.secure-media-viewer{position:fixed;inset:0;z-index:9999;background:rgba(17,10,14,.97);display:grid;grid-template-rows:auto 1fr auto;gap:10px;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));color:#fff;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.secure-media-viewer[hidden]{display:none!important}.secure-media-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.secure-media-badge{font-size:.78rem;opacity:.9}.secure-media-close{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:9px 13px;cursor:pointer}.secure-media-stage{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden}.secure-media-image{max-width:96vw;max-height:82dvh;width:auto;height:auto;object-fit:contain;border-radius:8px}.secure-watermark{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);pointer-events:none;overflow:hidden}.secure-watermark span{display:grid;place-items:center;font-size:clamp(.65rem,1.6vw,.9rem);font-weight:700;letter-spacing:.04em;opacity:.18;transform:rotate(-24deg);white-space:nowrap;text-shadow:0 1px 2px #000}.secure-media-note{margin:0;text-align:center;font-size:.72rem;color:rgba(255,255,255,.72);line-height:1.5}.media-open{overflow:hidden}
.messages,.secure-media-viewer{-webkit-touch-callout:none}
@media print{.chat-shell,.site-header,.directory-footer{display:none!important}body:after{content:'Private Sathivo chat is not available for printing.';display:block;padding:40px;font:18px sans-serif}}
@media(max-width:640px){.message-compose-actions{grid-template-columns:1fr 1fr}.view-once-toggle{grid-column:1/-1}.view-once-card{min-width:min(300px,78vw)}.secure-media-image{max-width:100%;max-height:78dvh}.secure-watermark{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,1fr)}}

.photo-draft{margin-bottom:12px;padding:12px;border:1px solid #e1ced7;border-radius:14px;background:#fff8fb;display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:14px;align-items:center}.photo-draft[hidden]{display:none!important}.photo-draft-preview{position:relative;border-radius:12px;overflow:hidden;background:#f3e8ed;aspect-ratio:4/3}.photo-draft-preview img{width:100%;height:100%;display:block;object-fit:cover}.photo-draft-remove{position:absolute;top:7px;right:7px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(24,14,19,.78);color:#fff;cursor:pointer;font-size:.9rem}.photo-draft-options{display:grid;gap:10px}.photo-draft-options>strong{font-size:.84rem}.photo-draft .view-once-toggle{width:fit-content;max-width:100%}
.message-caption{margin:9px 2px 2px;white-space:pre-wrap}.chat-photo-frame{min-height:0}.chat-photo-frame .chat-photo{min-height:90px}
@media(max-width:640px){.photo-draft{grid-template-columns:100px 1fr;gap:10px;padding:10px}.photo-draft .view-once-toggle{width:100%}.message-compose-actions{grid-template-columns:1fr 1fr}.message-compose-actions .photo-button,.message-compose-actions #send-message{width:100%}}
@media(max-width:390px){.photo-draft{grid-template-columns:1fr}.photo-draft-preview{max-height:220px}.message-compose-actions{grid-template-columns:1fr}}

.chat-shell{position:relative}.chat-shell>*:not(.chat-watermark-layer){position:relative;z-index:1}.chat-watermark-layer{position:absolute;inset:0;z-index:0;pointer-events:none;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:180px;overflow:hidden;opacity:.045}.chat-watermark-layer span{display:grid;place-items:center;transform:rotate(-24deg);font-size:.72rem;font-weight:700;letter-spacing:.05em;white-space:nowrap;color:var(--plum)}
.presence-status{margin:.35rem 0 0;color:var(--muted);font-size:.78rem}.presence-status.online{color:#35724b}.presence-status.online:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#4f9d68;margin-right:6px}.presence-status.typing{color:var(--rose);font-weight:700}
.date-separator{justify-self:center;padding:5px 10px;border-radius:999px;background:#f5eaef;color:var(--muted);font-size:.67rem;font-weight:700;letter-spacing:.03em;margin:7px 0}.unread-divider{display:flex;align-items:center;gap:10px;color:var(--rose);font-size:.72rem;font-weight:700;margin:8px 0}.unread-divider:before,.unread-divider:after{content:'';height:1px;background:#dfb6c7;flex:1}
.message{animation:chatBubbleIn .2s ease both;box-shadow:0 5px 16px rgba(65,32,47,.035)}@keyframes chatBubbleIn{from{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}.message-text{margin:0;white-space:pre-wrap}.message-meta{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-top:6px}.message-meta time{display:inline;margin:0}.delivery-state{font-size:.64rem;color:var(--muted)}.delivery-state.seen{color:var(--rose);font-weight:700}
.jump-latest{position:sticky;bottom:120px;z-index:6;margin-left:auto;display:block;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--plum);box-shadow:0 8px 24px rgba(53,24,39,.12);padding:8px 12px;font:inherit;font-size:.72rem;cursor:pointer}.jump-latest[hidden]{display:none!important}
.upload-spinner{display:inline-block;width:12px;height:12px;border:2px solid #d8bbc8;border-top-color:var(--rose);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px;margin-right:5px}@keyframes spin{to{transform:rotate(360deg)}}
.secure-media-viewer{animation:mediaIn .18s ease both}.secure-media-viewer.closing{animation:mediaOut .12s ease both}@keyframes mediaIn{from{opacity:0}to{opacity:1}}@keyframes mediaOut{to{opacity:0}}.secure-media-image{animation:mediaZoom .2s ease both}@keyframes mediaZoom{from{opacity:.4;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
.request-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(135deg,#f7dde7,#ead8ef);color:var(--plum);font-weight:800}.request-identity{display:flex;gap:12px;align-items:flex-start}.request-accepting{animation:acceptPulse .55s ease}@keyframes acceptPulse{50%{transform:scale(1.012);box-shadow:0 0 0 5px rgba(84,151,102,.12)}}
@media(max-width:640px){.chat-watermark-layer{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.jump-latest{bottom:138px}.message-meta{gap:5px}}

.chat-list{display:grid;gap:10px;margin-top:18px}.chat-list-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;padding:15px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;color:inherit;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.chat-list-card:hover{transform:translateY(-2px);border-color:#d8b5c4;box-shadow:0 10px 26px rgba(76,35,55,.07)}.chat-list-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#f7dce7,#eadbf1);color:var(--plum);font-weight:800}.chat-list-main{min-width:0}.chat-list-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.chat-list-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-list-top time{font-size:.66rem;color:var(--muted);white-space:nowrap}.chat-list-preview{margin:4px 0 3px;color:var(--muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-list-preview.photo-preview:before{content:'📷 ';}.chat-list-meta{color:var(--muted);font-size:.66rem}.chat-unread-count{min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--rose);color:white;display:grid;place-items:center;font-size:.65rem;font-weight:800}.skeleton-card{pointer-events:none}.skeleton-dot,.skeleton-lines i{display:block;background:linear-gradient(90deg,#f1e6eb 25%,#faf4f7 37%,#f1e6eb 63%);background-size:400% 100%;animation:skeleton 1.3s ease infinite}.skeleton-dot{width:48px;height:48px;border-radius:50%}.skeleton-lines{display:grid;gap:7px}.skeleton-lines i{height:10px;border-radius:999px}.skeleton-lines i:nth-child(1){width:55%}.skeleton-lines i:nth-child(2){width:82%}.skeleton-lines i:nth-child(3){width:42%}@keyframes skeleton{0%{background-position:100% 0}100%{background-position:0 0}}
@media(max-width:640px){.chat-list-card{padding:13px}.chat-list-avatar{width:44px;height:44px}.chat-list-top{align-items:flex-start}.chat-list-top time{font-size:.59rem}.chat-list-preview{font-size:.78rem}}

.request-skeleton{pointer-events:none}.request-skeleton .skeleton-lines{flex:1;min-width:180px}.request-skeleton .request-identity{width:100%}.admin-users{margin-bottom:34px}.admin-section-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:14px}.admin-section-head h2{margin:0}.admin-section-head input{width:min(100%,380px);padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}.safety-code{padding:5px 8px;border-radius:8px;background:#f7edf2;color:var(--plum);font-size:.72rem}.admin-user-card .booking-note{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem}
@media(max-width:640px){.admin-section-head{align-items:stretch;flex-direction:column}.admin-section-head input{width:100%}}

.admin-overview{margin:24px 0 38px}.admin-dashboard-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.admin-dashboard-head h2{margin:0}.admin-dashboard-head p{margin:4px 0 0;color:var(--muted);font-size:.82rem}.admin-dashboard-head small{color:var(--muted);font-size:.7rem;white-space:nowrap}.admin-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-stat-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;gap:5px}.admin-stat-card>span{font-size:.75rem;font-weight:700;color:var(--muted)}.admin-stat-card>strong{font-family:var(--serif);font-size:2.25rem;line-height:1.08;font-weight:600;color:var(--ink)}.admin-stat-card>small{font-size:.66rem;color:var(--muted)}.admin-stat-online>span{display:flex;align-items:center;gap:7px}.admin-stat-online i{width:8px;height:8px;border-radius:50%;background:#45a564;box-shadow:0 0 0 4px rgba(69,165,100,.12)}.admin-metric-note{margin:10px 1px 0;color:var(--muted);font-size:.7rem}.admin-users{border-top:1px solid var(--line);padding-top:28px}
@media(max-width:640px){.admin-dashboard-head{align-items:flex-start;flex-direction:column;gap:6px}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-stat-card{padding:15px}.admin-stat-card>strong{font-size:1.9rem}.admin-dashboard-head small{white-space:normal}}

.rate-chip{display:inline-flex;align-self:flex-start;padding:7px 10px;border-radius:999px;background:#fff4e8;border:1px solid #efd9be;color:#7b4c19;font-size:.78rem;font-weight:800}
.detail-rate{display:inline-flex;margin:12px 0 4px;padding:10px 14px;border-radius:12px;background:#fff4e8;border:1px solid #efd9be;color:#6f4518;font-weight:800;font-size:1.05rem}
.payment-note{margin:14px 0;padding:12px 14px;border:1px solid #ead6b9;border-radius:12px;background:#fffaf1;color:#6d5538!important;font-size:.78rem!important;line-height:1.55}
.deal-box{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0 2px}.deal-box span,.deal-box strong{display:inline-flex;padding:6px 9px;border-radius:999px;background:#f5f1f3;color:#61515a;font-size:.72rem}.deal-box strong{background:#fff1dc;color:#724919}.deal-box .deal-agreed{background:#eaf7ee;color:#27653a}
.deal-estimate{display:block;padding:10px 12px!important;border-radius:10px;background:#f8f2f5;color:var(--plum)!important;font-weight:700}
@media(max-width:640px){.detail-rate{font-size:.95rem}.deal-box{gap:6px}.payment-note{font-size:.75rem!important}}
