:root{--bg:#f6f7f8;--surface:#fff;--ink:#18212b;--muted:#5f6c7a;--line:#dce3e9;--teal:#0f766e;--teal-strong:#0b5f59;--teal-soft:#e2f3f1;--coral:#d95d49;--coral-soft:#fdeae7;--blue:#2563eb;--blue-soft:#e8f0fe;--amber:#b45309;--amber-soft:#fdf1dc;--green:#16794a;--green-soft:#e5f4ec;--radius:8px;--shadow:0 1px 2px #1018200d, 0 10px 28px #10182012}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}input,select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);outline:none;width:100%;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f766e1f}textarea{resize:vertical}::placeholder{color:#8a96a3}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:60;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#fffffff0;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1200px;height:64px;margin:0 auto;padding:0 20px;display:flex}.brand{align-items:center;gap:10px;display:inline-flex}.brand-icon{border-radius:var(--radius);background:var(--teal);color:#fff;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-text strong{letter-spacing:.08em;font-size:18px}.brand-text small{color:var(--muted);font-size:11px}.desktop-nav{align-items:center;gap:6px;display:flex}.nav-link{border-radius:var(--radius);color:var(--muted);padding:9px 14px;font-size:14px;font-weight:600}.nav-link:hover,.nav-link.active{background:var(--teal-soft);color:var(--teal-strong)}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:26px 20px 90px}.site-footer{border-top:1px solid var(--line);background:var(--surface)}.footer-inner{max-width:1200px;color:var(--muted);justify-content:space-between;gap:12px;margin:0 auto;padding:18px 20px;font-size:13px;display:flex}.bottom-nav{display:none}.page{animation:.2s ease-out fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-heading h1{font-size:26px;line-height:1.25}.page-heading p{color:var(--muted);max-width:640px;margin-top:6px;font-size:14px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{border-radius:var(--radius);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{background:var(--teal-strong)}.btn-ghost{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.btn-ghost:hover{background:#f3f5f7;border-color:#b8c3cd}.btn-danger{background:var(--coral);color:#fff}.btn-danger:hover{background:#bd4937}.btn-success{background:var(--green);color:#fff}.btn-success:hover{background:#105f3a}.btn-small{padding:7px 10px;font-size:13px}.btn-icon{flex:0 0 42px;width:42px;padding:0}.btn-block{width:100%}.btn-large{padding:14px 18px;font-size:15px}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.filter-bar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:14px;padding:16px;display:grid}.city-filter-bar{align-items:center;padding:12px 14px;display:flex}.city-filter{align-items:center;gap:10px;width:100%;max-width:460px;display:flex}.city-filter>svg{color:var(--teal);flex:none}.city-filter span{color:var(--muted);white-space:nowrap;font-size:14px;font-weight:600}.city-filter select{flex:1}.search-field{align-items:center;gap:10px;display:flex}.search-field>svg{color:var(--muted);flex:none}.search-field input{flex:1}.filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.filter-grid label{gap:6px;display:grid}.filter-grid label span,.booking-card label span,.apply-form label>span,.login-card label span{color:var(--muted);font-size:13px;font-weight:600}.check-row{color:var(--ink);cursor:pointer;align-items:center;gap:9px;font-size:13px;display:flex}.check-row input{width:16px;height:16px;accent-color:var(--teal);flex:0 0 16px}.filter-check{justify-self:start}.location-note{border-radius:var(--radius);background:var(--blue-soft);color:#274b8f;border:1px solid #c9dbf8;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:13px;display:flex}.location-note svg{flex:none}.location-clear{color:#274b8f;align-items:center;gap:4px;margin-left:auto;font-weight:600;display:inline-flex}.safety-strip{border-radius:var(--radius);background:var(--amber-soft);color:#6b4a12;border:1px solid #f2ddb8;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.safety-strip svg{flex:none;margin-top:1px}.results-heading{justify-content:space-between;align-items:center;margin:26px 0 14px;display:flex}.results-heading h2{font-size:19px}.results-heading span{color:var(--muted);font-size:13px}.companion-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;display:grid}.companion-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex;overflow:hidden}.companion-card:hover{border-color:#bcd0cd;transform:translateY(-3px);box-shadow:0 14px 34px #1018201f}.card-photo{aspect-ratio:4/5;background:#e9edf0;position:relative}.card-photo img{object-fit:cover;width:100%;height:100%}.verified-badge{color:#fff;background:#0f766eeb;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;top:10px;left:10px}.card-body{gap:9px;padding:14px;display:grid}.card-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-title-row h3{font-size:18px}.age-chip,.status-pill{color:var(--muted);background:#eef1f4;border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.card-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.card-meta span,.profile-meta span{align-items:center;gap:5px;display:inline-flex}.card-meta .rating{color:var(--amber)}.card-tagline{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:40px;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.tag-chip{background:var(--teal-soft);color:var(--teal-strong);border-radius:999px;padding:4px 9px;font-size:12px;font-weight:600}.card-footer{border-top:1px solid #edf0f3;justify-content:space-between;align-items:center;gap:10px;margin-top:2px;padding-top:11px;display:flex}.rate{color:var(--muted);font-size:13px}.rate strong{color:var(--coral);font-size:20px}.card-link{color:var(--teal);align-items:center;gap:2px;font-size:13px;font-weight:600;display:inline-flex}.state-block{min-height:240px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.state-block .btn{margin-top:4px}.form-error{color:var(--coral);background:var(--coral-soft);border-radius:var(--radius);border:1px solid #f5c9c1;padding:10px 12px;font-size:13px}.form-hint,.muted-copy{color:var(--muted);font-size:13px;line-height:1.55}.back-link{color:var(--muted);align-items:center;gap:6px;margin-bottom:16px;font-size:14px;font-weight:600;display:inline-flex}.back-link:hover{color:var(--teal)}.profile-layout{grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:20px;display:grid}.profile-main{gap:18px;display:grid}.profile-hero{grid-template-columns:290px minmax(0,1fr);gap:20px;padding:20px;display:grid}.profile-photo{border-radius:var(--radius);aspect-ratio:4/5;background:#e9edf0;position:relative;overflow:hidden}.profile-photo img{object-fit:cover;width:100%;height:100%}.profession-overlay{-webkit-backdrop-filter:blur(8px);color:#fff;background:#080c1299;padding:10px 12px;font-size:14px;font-weight:600;position:absolute;bottom:0;left:0;right:0}.profile-info{align-content:start;gap:12px;display:grid}.profile-title-row{align-items:center;gap:10px;display:flex}.profile-title-row h1{font-size:26px}.profile-tagline{color:var(--muted);font-size:15px}.profile-meta{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:14px;display:flex}.profile-meta span:nth-child(2){color:var(--amber)}.info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:6px;display:grid}.info-grid>div{border-radius:var(--radius);background:#f5f7f8;border:1px solid #edf0f3;gap:4px;padding:11px 12px;display:grid}.info-span-full{grid-column:1/-1}.info-label{color:var(--muted);font-size:12px}.info-value{font-size:14px;font-weight:600}.share-support{justify-self:start;margin-top:6px}.profile-support-row{flex-direction:column;align-items:stretch;gap:10px;margin-top:8px;display:flex}.about-link{color:var(--muted);align-items:center;gap:7px;font-size:13px;font-weight:600;display:inline-flex}.about-link img{border-radius:6px;width:24px;height:24px}.about-link:hover{color:var(--teal)}.profile-partner-logos{flex-wrap:wrap;gap:8px;display:flex}.profile-partner-logos img{object-fit:contain;border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:44px;height:44px;padding:4px}.about-hero{text-align:center;justify-items:center;gap:12px;padding:36px 28px;display:grid}.about-logo-mark{background:var(--teal);color:#fff;border-radius:16px;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.about-hero h1{font-size:32px}.about-tagline{color:var(--teal-strong);font-weight:700}.about-meta{color:var(--muted);font-size:14px;font-weight:600}.about-copy{max-width:720px;color:var(--muted);line-height:1.8}.about-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.stat-box{text-align:center;gap:4px;padding:18px;display:grid}.stat-box strong{color:var(--teal-strong);font-size:26px}.stat-box span{color:var(--muted);font-size:13px}.about-story{gap:10px;margin-top:18px;padding:22px;display:grid}.about-story h2{font-size:19px}.about-story p{color:var(--muted);font-size:14px;line-height:1.8}.trust-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.trust-card{gap:8px;padding:18px;display:grid}.trust-card svg{color:var(--teal)}.trust-card h3{font-size:16px}.trust-card p{color:var(--muted);font-size:13px;line-height:1.6}.logo-wall-panel{gap:10px;margin-top:18px;padding:22px;display:grid}.logo-wall-panel h2{font-size:19px}.logo-wall-panel p{color:var(--muted);font-size:13px}.logo-wall{flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;display:flex}.logo-wall img{object-fit:contain;border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:64px;height:64px;padding:6px}.profile-section{gap:12px;padding:20px;display:grid}.profile-section h2{font-size:18px}.section-head-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.feature-actions{flex-wrap:wrap;gap:8px;display:flex}.poster-modal{background:var(--surface);border-radius:var(--radius);gap:14px;width:100%;max-width:460px;max-height:92vh;padding:16px;display:grid;overflow-y:auto;box-shadow:0 24px 70px #00000047}.poster-modal img{border-radius:var(--radius);width:100%}.poster-actions{justify-content:flex-end;gap:10px;display:flex}.bio-copy{color:#33404d;font-size:14px;line-height:1.8}.service-list{gap:8px;display:grid}.service-row{border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;font-size:14px;display:flex}.service-row span:last-child{color:var(--coral);font-weight:700}.safety-box{background:var(--amber-soft);border-color:#f2ddb8;align-items:flex-start;gap:12px;display:flex}.safety-box>svg{color:var(--amber);flex:none;margin-top:2px}.safety-box p{color:#6b4a12;font-size:13px;line-height:1.6}.booking-column{gap:16px;display:grid;position:sticky;top:84px}.booking-card{gap:14px;padding:18px;display:grid}.booking-header{justify-content:space-between;align-items:center;gap:12px;padding-bottom:4px;display:flex}.booking-header h2{font-size:19px}.booking-header p{color:var(--muted);margin-top:3px;font-size:13px}.rate-large{color:var(--coral);font-size:26px;font-weight:800}.booking-card label{gap:6px;display:grid}.date-select{grid-template-columns:1.5fr .8fr 1fr;gap:8px;display:grid}.two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.inline-link{color:var(--teal);text-decoration:underline}.report-card{padding:16px}.report-card h2{margin-bottom:10px;font-size:16px}.report-card form{gap:12px;display:grid}.report-card label{gap:6px;display:grid}.report-card label span{color:var(--muted);font-size:13px;font-weight:600}.success-copy{color:var(--green);font-size:14px}.success-panel{text-align:center;justify-items:center;gap:12px;max-width:620px;margin:40px auto;padding:32px;display:grid}.success-icon{background:var(--green-soft);width:64px;height:64px;color:var(--green);border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.success-panel h1,.success-panel h2{font-size:22px}.apply-form{gap:18px;max-width:840px;display:grid}.form-section{gap:16px;padding:20px;display:grid}.form-section-title{border-bottom:1px solid #edf0f3;align-items:flex-start;gap:10px;padding-bottom:12px;display:flex}.form-section-title>svg{color:var(--teal);flex:none;margin-top:2px}.form-section-title h2{font-size:17px}.form-section-title p{color:var(--muted);margin-top:3px;font-size:13px}.apply-form label>span{margin-bottom:7px;display:block}.check-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.check-card{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:center;gap:8px;padding:11px 12px;font-size:14px;display:flex}.check-card:has(input:checked){border-color:var(--teal);background:var(--teal-soft);color:var(--teal-strong)}.check-card input{width:16px;height:16px;accent-color:var(--teal);flex:0 0 16px}.check-inline{flex-wrap:wrap;gap:8px;display:flex}.mini-check{border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:inline-flex}.mini-check:has(input:checked){border-color:var(--teal);background:var(--teal-soft);color:var(--teal-strong)}.mini-check input{width:15px;height:15px;accent-color:var(--teal)}.upload-box{border-radius:var(--radius);cursor:pointer;background:#fafbfc;border:1.5px dashed #c6d0d8;justify-content:center;align-items:center;min-height:220px;display:flex;overflow:hidden}.upload-box:hover{border-color:var(--teal)}.upload-box input{opacity:0;width:1px;height:1px;position:absolute}.upload-box img{object-fit:contain;max-height:340px}.upload-box>span{color:var(--muted);flex-direction:column;align-items:center;gap:10px;font-size:14px;display:flex}.admin-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.admin-header h1{font-size:24px}.admin-header p{color:var(--muted);margin-top:4px;font-size:14px}.admin-header-actions{align-items:center;gap:10px;display:flex}.role-badge{background:var(--teal-soft);color:var(--teal-strong);border-radius:999px;align-items:center;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.current-badge{background:var(--green-soft);color:var(--green);border-radius:999px;align-items:center;margin-left:8px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.staff-panel{gap:16px;display:grid}.staff-form{gap:14px;padding:18px;display:grid}.staff-form h2{font-size:17px}.credit-form{gap:14px;margin-bottom:16px;padding:18px;display:grid}.credit-form h2{font-size:17px}.credit-form label{gap:6px;display:grid}.credit-form label span{color:var(--muted);font-size:13px;font-weight:600}.settings-form{gap:14px;max-width:640px;padding:20px;display:grid}.settings-form h2{font-size:18px}.settings-form label{gap:6px;display:grid}.settings-form label span{color:var(--muted);font-size:13px;font-weight:600}.brand-logo-section{gap:10px;display:grid}.brand-logo-section>span{color:var(--muted);font-size:13px;font-weight:600}.brand-logo-list{flex-wrap:wrap;gap:10px;display:flex}.brand-logo-item{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:72px;height:72px;position:relative;overflow:hidden}.brand-logo-item img{object-fit:contain;width:100%;height:100%;padding:6px}.brand-logo-item button{color:#fff;background:#d95d49eb;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:4px;right:4px}.staff-form label{gap:6px;display:grid}.staff-form label span{color:var(--muted);font-size:13px;font-weight:600}.staff-role-select{width:130px}.tab-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.tab-toolbar h2{font-size:18px}.companion-form{gap:14px;display:grid}.companion-form label{gap:6px;display:grid}.companion-form label>span{color:var(--muted);font-size:13px;font-weight:600}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:6px;padding:16px;display:grid}.stat-card span{color:var(--muted);font-size:13px}.stat-card strong{font-size:26px}.admin-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.finance-sub-tabs{margin-top:4px}.amount-positive{color:var(--green);font-weight:700}.amount-negative{color:var(--coral);font-weight:700}.admin-tab{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--muted);align-items:center;gap:7px;padding:9px 14px;font-size:14px;font-weight:600;display:inline-flex}.admin-tab.active{background:var(--teal);border-color:var(--teal);color:#fff}.tab-count{background:var(--coral);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;display:inline-flex}.admin-list{gap:12px;display:grid}.admin-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px;display:grid}.admin-row-main{gap:5px;min-width:0;font-size:14px;display:grid}.admin-row-main span{color:var(--muted)}.admin-row-main strong{font-size:15px}.status-pill{background:var(--blue-soft);color:var(--blue)}.status-pill.pending{background:var(--amber-soft);color:var(--amber)}.status-pill.confirmed,.status-pill.approved{background:var(--green-soft);color:var(--green)}.status-pill.cancelled,.status-pill.rejected{background:var(--coral-soft);color:var(--coral)}.admin-actions{gap:8px;display:flex}.admin-avatar{object-fit:cover;border-radius:var(--radius);background:#e9edf0;width:58px;height:68px}.admin-thumb{object-fit:cover;border-radius:var(--radius);width:56px;height:56px}.empty-copy{color:var(--muted);text-align:center;padding:24px 0}.login-card{text-align:center;justify-items:center;gap:16px;max-width:420px;margin:40px auto;padding:28px;display:grid}.login-card h1{font-size:22px}.login-card form{text-align:left;gap:12px;width:100%;display:grid}.login-card form label{gap:6px;display:grid}.login-icon{background:var(--teal-soft);width:62px;height:62px;color:var(--teal);border-radius:50%;justify-content:center;align-items:center;display:flex}.login-tabs{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.login-tab{border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);background:var(--surface);padding:10px;font-weight:600}.login-tab.active{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-strong)}.terms-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.terms-content{gap:14px;display:grid}.terms-section{gap:14px;padding:18px;display:flex}.terms-icon{border-radius:var(--radius);background:var(--teal-soft);width:40px;height:40px;color:var(--teal);flex:0 0 40px;justify-content:center;align-items:center;display:flex}.terms-section h2{margin-bottom:6px;font-size:16px}.terms-section p{color:#33404d;font-size:14px;line-height:1.75}.terms-note{color:var(--amber);gap:10px;padding:18px;display:grid;position:sticky;top:84px}.terms-note h2{color:var(--ink);font-size:16px}.terms-note p{color:var(--muted);font-size:13px;line-height:1.7}.age-gate-overlay{z-index:200;-webkit-backdrop-filter:blur(8px);background:#0d161ea8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.age-gate-card{background:var(--surface);border-radius:var(--radius);gap:14px;width:100%;max-width:460px;padding:28px;display:grid;box-shadow:0 24px 70px #00000047}.age-gate-icon{background:var(--teal-soft);width:58px;height:58px;color:var(--teal);border-radius:50%;justify-content:center;align-items:center;display:flex}.age-gate-card h1{font-size:21px}.age-gate-copy{color:var(--muted);font-size:14px;line-height:1.65}.age-fields{grid-template-columns:1.4fr 1fr 1fr;gap:10px;display:grid}.age-fields label{gap:6px;display:grid}.age-fields label span{color:var(--muted);font-size:13px;font-weight:600}.icon-button{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--muted);flex:0 0 38px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{color:var(--coral);border-color:#f0c4bc}.profile-photo-wrap{align-content:start;gap:10px;display:grid}.photo-thumbs{flex-wrap:wrap;gap:8px;display:flex}.photo-thumb{border-radius:var(--radius);background:#e9edf0;border:2px solid #0000;width:64px;height:78px;padding:0;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%}.photo-thumb.active{border-color:var(--teal)}.video-list{gap:14px;display:grid}.video-list video{border-radius:var(--radius);background:#0c141b;width:100%;max-height:440px}.media-modal-overlay{z-index:150;-webkit-backdrop-filter:blur(6px);background:#0d161e8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.media-modal{background:var(--surface);border-radius:var(--radius);gap:20px;width:100%;max-width:860px;max-height:88vh;padding:22px;display:grid;overflow-y:auto;box-shadow:0 24px 70px #0000003d}.media-modal-header{border-bottom:1px solid #edf0f3;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.media-modal-header h2{font-size:19px}.media-modal-header p{color:var(--muted);margin-top:5px;font-size:13px}.media-section{gap:12px;display:grid}.media-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.media-section-head h3{font-size:16px}.media-section-head label input[type=file]{opacity:0;width:1px;height:1px;position:absolute}.media-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.media-item{aspect-ratio:4/5;border-radius:var(--radius);border:1px solid var(--line);background:#e9edf0;position:relative;overflow:hidden}.media-item img{object-fit:cover;width:100%;height:100%}.media-order{color:#fff;background:#0d161eb8;border-radius:999px;padding:3px 8px;font-size:12px;position:absolute;bottom:8px;left:8px}.media-remove{border-radius:var(--radius);color:#fff;opacity:0;background:#d95d49eb;justify-content:center;align-items:center;width:30px;height:30px;transition:opacity .15s;display:flex;position:absolute;top:8px;right:8px}.media-item:hover .media-remove,.media-item:focus-within .media-remove,.video-item:hover .media-remove,.video-item:focus-within .media-remove{opacity:1}.video-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.video-item{border-radius:var(--radius);border:1px solid var(--line);background:#0c141b;position:relative;overflow:hidden}.video-item video{aspect-ratio:16/9;object-fit:cover;background:#0c141b;width:100%}.media-actions{border-top:1px solid #edf0f3;justify-content:flex-end;gap:10px;padding-top:16px;display:flex}.wallet-button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);white-space:nowrap;align-items:center;gap:7px;padding:8px 11px;font-size:13px;font-weight:600;display:inline-flex}.wallet-button:hover{border-color:var(--teal);background:var(--teal-soft)}.wallet-button svg:first-child{color:var(--teal)}.wallet-button strong{color:var(--teal-strong)}.support-button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:38px;height:38px;color:var(--teal);flex:0 0 38px;justify-content:center;align-items:center;display:inline-flex}.support-button:hover{background:var(--teal-soft);border-color:var(--teal)}.topup-modal{background:var(--surface);border-radius:var(--radius);gap:18px;width:100%;max-width:460px;max-height:88vh;padding:22px;display:grid;overflow-y:auto;box-shadow:0 24px 70px #0000003d}.topup-form{gap:16px;display:grid}.topup-balance{background:var(--teal-soft);border-radius:var(--radius);color:var(--teal-strong);border:1px solid #c5e4e0;align-items:center;gap:10px;padding:13px 14px;display:flex}.topup-balance span{flex:1;font-size:14px}.topup-balance strong{font-size:20px}.support-card{text-align:center;border:1px solid var(--line);border-radius:var(--radius);background:#f5f7f8;justify-items:center;gap:10px;padding:20px;display:grid}.support-card svg{color:var(--teal)}.support-card h3{font-size:17px}.support-card p{color:var(--muted);font-size:13px;line-height:1.65}.amount-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.amount-option{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:var(--surface);padding:12px 8px;font-weight:700}.amount-option.active{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-strong)}.topup-summary{border:1px solid var(--line);border-radius:var(--radius);background:#f5f7f8;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:11px 12px;font-size:13px;display:flex}.topup-summary span{color:var(--muted)}.topup-summary strong{color:var(--teal-strong);font-size:14px}.topup-form label{gap:6px;display:grid}.topup-form label span{color:var(--muted);font-size:13px;font-weight:600}.checkout-note{border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);background:#f5f7f8;align-items:flex-start;gap:10px;padding:12px;font-size:13px;line-height:1.55;display:flex}.checkout-note svg{color:var(--teal);flex:none;margin-top:1px}.checkout-note.warning{background:var(--coral-soft);color:#8f3b2f;border-color:#f5c9c1}.checkout-note.warning svg{color:var(--coral)}.topup-success{text-align:center;justify-items:center;gap:12px;padding:18px 0 6px;display:grid}.topup-success>svg{color:var(--green)}.topup-success h3{font-size:19px}.topup-success p{color:var(--muted);font-size:14px;line-height:1.6}.credit-pay-row{border:1px solid var(--line);border-radius:var(--radius);background:#fafbfc;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.credit-pay-row .check-row{font-size:13px}.credit-short{color:var(--coral)}.deposit-notice{background:var(--blue-soft);border-radius:var(--radius);color:#274b8f;border:1px solid #c9dbf8;align-items:flex-start;gap:9px;padding:11px 12px;font-size:13px;line-height:1.55;display:flex}.deposit-notice svg{flex:none;margin-top:1px}.success-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.membership-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:18px;display:grid}.membership-hero{text-align:center;justify-items:center;gap:10px;padding:24px;display:grid}.membership-icon{background:var(--amber-soft);width:64px;height:64px;color:var(--amber);border-radius:50%;justify-content:center;align-items:center;display:flex}.membership-hero h2{font-size:21px}.membership-price{color:var(--coral);font-size:36px;font-weight:800}.benefit-list{gap:8px;width:100%;margin:8px 0 12px;display:grid}.benefit-list span{border:1px solid var(--line);border-radius:var(--radius);text-align:left;align-items:center;gap:9px;padding:11px 12px;font-size:14px;display:flex}.benefit-list svg{color:var(--teal)}.membership-table-panel{gap:14px;padding:20px;display:grid}.table-head h2{font-size:19px}.table-head p{color:var(--muted);margin-top:4px;font-size:13px}.bonus-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.bonus-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;gap:8px;padding:12px 14px;font-size:14px;display:grid}.bonus-row:last-child{border-bottom:0}.bonus-head{color:var(--muted);background:#f5f7f8;font-weight:600}.bonus-amount{color:var(--coral);font-weight:700}.membership-bonus-note{background:var(--amber-soft);border-radius:var(--radius);color:#6b4a12;border:1px solid #f2ddb8;align-items:flex-start;gap:9px;padding:10px 12px;font-size:13px;line-height:1.55;display:flex}.membership-bonus-note svg{color:var(--amber);flex:none;margin-top:1px}@media (width<=980px){.profile-layout,.terms-layout{grid-template-columns:1fr}.booking-column,.terms-note{position:static}.filter-grid,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-layout{grid-template-columns:1fr}.trust-grid,.about-stats,.amount-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.desktop-nav,.brand-text small,.wallet-button span{display:none}.wallet-button{padding:7px 9px}.bottom-nav{z-index:80;-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:#fffffff5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:9px 4px;font-size:11px;font-weight:600;display:flex}.bottom-nav-item.active{color:var(--teal)}.main-content{padding:18px 14px 96px}.booking-card .btn-primary[type=submit]{left:14px;right:14px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:110;position:fixed}.booking-card{padding-bottom:70px}.page-heading h1{font-size:22px}.companion-grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:12px}.card-body{gap:7px;padding:11px}.card-title-row h3{font-size:16px}.card-tagline{min-height:36px;font-size:13px}.card-footer{flex-direction:column;align-items:flex-start;gap:7px}.rate strong{font-size:17px}.profile-hero{grid-template-columns:1fr;padding:14px}.profile-photo{width:100%;max-width:420px;margin:0 auto}.info-grid{grid-template-columns:1fr 1fr}.admin-row{grid-template-columns:1fr;gap:10px}.admin-actions{flex-wrap:wrap}.footer-inner{flex-direction:column;gap:6px;padding-bottom:78px}.age-gate-card{padding:22px}.age-fields{grid-template-columns:1fr 1fr}.age-fields label:first-child{grid-column:1/-1}.media-modal{padding:16px}.media-remove{opacity:1}.topup-modal{padding:16px}}@media (width<=520px){.filter-grid,.two-col,.check-grid,.stat-grid{grid-template-columns:1fr}.search-field{gap:7px}.companion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-photo{aspect-ratio:3/4}.chip-row{display:none}.profile-meta{gap:10px}.trust-grid,.about-stats{grid-template-columns:1fr}.success-panel{padding:24px 18px}}
