
/* DateAx application pages — companion styles built for the current DateAx visual system. */
:root{--page-max:1180px;--page-border:#e7e0ea;--page-soft:#fbf8fc}
body{min-height:100vh}
.site-header{position:sticky!important;top:0!important;left:auto!important;width:100%!important;height:78px!important;padding:0 4%!important;background:rgba(255,255,255,.96)!important;color:var(--ink)!important;border-bottom:1px solid var(--page-border);backdrop-filter:blur(16px)}
.site-header .brand{min-width:205px}
.site-header .brand-mark{width:48px;height:42px;border-width:6px}
.site-header .brand-mark span{font-size:24px}
.site-header .brand-copy b{font-size:24px}
.site-header .brand-copy small{font-size:8px}
.site-header .main-nav{gap:2px}
.site-header .main-nav a{color:var(--ink);font-size:13px;padding:10px 11px}
.site-header .main-nav a:hover,.site-header .main-nav a.active{color:#fff;background:linear-gradient(135deg,#e61788,#d80c79)}
.site-header .header-actions{gap:10px}
.site-header .text-btn{color:var(--ink);border-left:0;padding-left:12px}
.site-header .header-logout{background:none;border:0}
.header-inline-form{margin:0}
.page-footer{margin-top:70px;background:#21172b;color:#fff;padding:42px 5% 24px;display:grid;grid-template-columns:1.2fr 2fr;gap:28px}
.page-footer .small-brand{display:inline-flex;align-items:center;color:#fff}
.page-footer .brand-mark{width:44px;height:40px;border-width:5px}
.page-footer .brand-mark span{font-size:22px}
.page-footer .brand-copy b{font-size:22px}
.page-footer p{color:#c9bfd0;max-width:380px}
.footer-links{display:flex;flex-wrap:wrap;gap:18px;align-content:flex-start;justify-content:flex-end}
.footer-links a{color:#eee6f2;font-size:13px}
.footer-links a:hover{color:#f2269a}
.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;color:#a99ead;font-size:12px;display:flex;justify-content:space-between;gap:15px}
.container{width:min(calc(100% - 40px),var(--page-max));margin-inline:auto}
.page{padding:56px 0}
.page.narrow{max-width:760px}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px;color:#e60083}
.page h1,.member-page h1{font-size:clamp(34px,5vw,56px);line-height:1.05;letter-spacing:-1.8px;margin:8px 0 12px}
.page h2,.member-page h2{letter-spacing:-.7px}
.muted{color:var(--muted)}
.text-link{color:#e60083;text-decoration:underline}
.alert,.success{border-radius:10px;padding:13px 16px;margin:0 0 14px;border:1px solid #f0d6e5;background:#fff5fa}
.success{border-color:#cdebd5;background:#f2fbf5;color:#2f7c43}
.form-card,.member-panel,.profile-preview,.admin-card{background:#fff;border:1px solid var(--page-border);border-radius:16px;box-shadow:var(--shadow)}
.form-card{padding:24px;display:grid;gap:16px}
.form-card label{display:grid;gap:7px;font-weight:700;font-size:13px}
.form-card input,.form-card select,.form-card textarea,.danger-zone input,.chat-compose input,.chat-compose textarea,.admin-login-card input{width:100%;border:1px solid #dcd4e1;border-radius:9px;padding:11px 12px;background:#fff;outline:none}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus,.danger-zone input:focus{border-color:#e60083;box-shadow:0 0 0 3px rgba(230,0,131,.1)}
.form-card textarea{min-height:120px;resize:vertical}
.form-card .btn,.btn{display:inline-flex;justify-content:center;align-items:center;width:max-content;border:0;background:linear-gradient(135deg,#e61788,#d80c79);color:#fff;border-radius:9px;padding:12px 18px;font-weight:800;text-decoration:none}
.btn:hover{transform:translateY(-1px)}
.soft-button,.outline-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d9d0df;background:#fff;color:var(--ink);border-radius:9px;padding:10px 15px;font-weight:700}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.password-wrap{display:flex;position:relative}.password-wrap input{padding-right:45px}.password-eye{position:absolute;right:8px;top:6px;border:0;background:none;padding:7px}
.member-page{padding:46px 0}
.member-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:26px;align-items:start}
.member-sidebar{background:#251e2d;color:#fff;border-radius:18px;padding:14px;position:sticky;top:100px}
.member-sidebar-title{font-size:11px;font-weight:900;letter-spacing:2px;color:#ff77bd;padding:8px 10px 15px}
.member-nav-item,.member-more-toggle,.member-logout button{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#eee7f0;padding:11px 10px;border-radius:9px;text-align:left;font-size:13px;text-decoration:none}
.member-nav-item:hover,.member-nav-active,.member-more-toggle:hover{background:rgba(255,255,255,.1);color:#fff}
.member-nav-icon{width:22px;text-align:center}.member-badge{margin-left:auto;background:#e60083;border-radius:999px;padding:2px 7px;font-size:10px}
.member-sidebar-more{position:relative}.member-more-toggle{cursor:pointer}.member-more-menu{display:none;padding-left:8px}.member-more-menu.is-open{display:block}.member-sidebar-divider{height:1px;background:rgba(255,255,255,.12);margin:10px}.member-logout button{cursor:pointer}
.member-main{min-width:0}.member-page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.member-page-head p{margin:0;color:var(--muted)}
.member-panel{padding:22px}.panel-top{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.panel-top h2{margin:0 0 4px}.panel-top span{color:var(--muted);font-size:13px}
.member-card-grid,.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.member-profile-card{border:1px solid var(--page-border);border-radius:14px;overflow:hidden;background:#fff;text-decoration:none}
.card-photo,.profile-photo{height:230px;background:#f0eaf3;position:relative;overflow:hidden}.card-photo img,.profile-photo img{width:100%;height:100%;object-fit:cover}.card-photo>span:first-child{display:grid;place-items:center;height:100%;font-size:48px;color:#e60083}
.card-heart{position:absolute!important;right:10px;top:10px;width:34px!important;height:34px!important;border-radius:50%;background:#fff;display:grid!important;place-items:center;color:#e60083!important;font-size:16px!important}
.card-body,.profile-info{padding:14px}.card-body h3,.profile-info h3{margin:0 0 5px;font-size:18px}.card-body p,.profile-info p{margin:0 0 7px;color:var(--muted);font-size:12px}.card-body>span,.profile-info>span{font-size:12px;color:#554b5e}
.online{position:absolute;left:10px;top:10px;background:#fff;color:#e60083;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}
.member-empty{text-align:center;padding:45px 20px;color:var(--muted)}.member-empty>div{font-size:38px;color:#e60083}.member-empty h3{color:var(--ink);margin:8px 0}
.profile-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px}.profile-preview{padding:22px}.profile-preview h2{margin:6px 0 14px}.avatar-large{width:100%;aspect-ratio:1;border-radius:16px;object-fit:cover;background:#f0e8f4}.profile-avatar-placeholder{display:grid;place-items:center;color:#e60083;font-size:70px}.profile-detail{font-size:13px}.profile-detail b{color:#4d4356}
.welcome-banner,.activity-hero{background:linear-gradient(135deg,#251e2d,#4a204d);color:#fff;padding:42px 0;margin-bottom:28px}.welcome-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.welcome-banner h1,.activity-hero h1{margin:8px 0;color:#fff}.welcome-banner p,.activity-hero p{color:#ded2e3}.activity-hero{display:flex;gap:20px;align-items:center;border-radius:18px;padding:20px}.activity-hero img{width:170px;height:120px;border-radius:12px;object-fit:cover}
.alerts-list{display:grid;gap:8px}.alert-row{display:grid;grid-template-columns:38px 1fr auto 20px;gap:12px;align-items:center;padding:13px;border:1px solid var(--page-border);border-radius:10px;color:inherit}.alert-row.unread{background:#fff4fa;border-color:#f0c9dc}.alert-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f8e4ef;color:#e60083}.alert-copy{display:grid;gap:3px}.alert-copy strong{font-size:13px}.alert-copy span,time{font-size:11px;color:var(--muted)}
.filter-pills{display:flex;gap:5px}.filter-pills a{padding:7px 10px;border-radius:999px;background:#f4eff6;font-size:11px}.filter-pills a.active{background:#e60083;color:#fff}
.member-panel form.inline-form{display:inline-flex;gap:6px}
.danger-zone{padding:16px;border:1px solid #f0ccd9;border-radius:12px;background:#fff7fa}.danger-zone button{border:0;background:#d81b66;color:#fff;border-radius:8px;padding:10px 14px;font-weight:800}
.chat-layout{display:grid;grid-template-columns:270px 1fr;gap:18px}.chat-users,.chat-window{border:1px solid var(--page-border);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.chat-users{padding:12px}.chat-user{display:flex;gap:10px;padding:11px;border-radius:10px}.chat-user:hover,.chat-user.active{background:#faf0f7}.chat-window{min-height:560px;display:flex;flex-direction:column}.chat-head{padding:16px;border-bottom:1px solid var(--page-border);font-weight:800}.chat-messages{padding:18px;display:flex;flex-direction:column;gap:9px;flex:1;overflow:auto}.chat-message{max-width:72%;padding:10px 12px;border-radius:13px;background:#f2edf5}.chat-message.mine{align-self:flex-end;background:#e60083;color:#fff}.chat-compose{display:flex;gap:8px;padding:12px;border-top:1px solid var(--page-border)}.chat-compose textarea{min-height:48px;resize:none}.chat-compose button{border:0;background:#e60083;color:#fff;border-radius:9px;padding:0 16px;font-weight:800}
.search-grid{display:grid;grid-template-columns:220px 1fr;gap:22px}.search-filters{background:#fff;border:1px solid var(--page-border);border-radius:16px;padding:18px;align-self:start}.search-filters label{display:grid;gap:6px;font-size:12px;font-weight:700;margin-bottom:12px}.search-filters input,.search-filters select{padding:9px;border:1px solid #dcd4e1;border-radius:8px}.search-results{min-width:0}
.admin-body{background:#fbf8fc;color:var(--ink)}.admin-login-wrap{min-height:100vh;display:grid;place-items:center;padding:30px}.admin-login-card{width:min(460px,100%);background:#fff;border:1px solid var(--page-border);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.admin-login-brand{display:flex;align-items:center;gap:10px;font-weight:900;color:#e60083}.admin-login-brand img{display:none}.admin-shell{max-width:1200px;margin:0 auto;padding:40px 20px}.admin-top{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}.admin-top h1{margin:6px 0}.admin-muted{color:var(--muted)}.admin-warning{background:#fff5fa;border:1px solid #f0d2e1;padding:12px;border-radius:10px;margin-bottom:20px}.admin-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:20px}.admin-stat{background:#fff;border:1px solid var(--page-border);border-radius:12px;padding:16px}.admin-stat b{font-size:25px;display:block}.admin-stat span{font-size:11px;color:var(--muted)}.admin-card{padding:18px;margin-bottom:18px}.admin-card-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:12px}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;font-size:12px}.admin-table th,.admin-table td{padding:10px;border-bottom:1px solid #eee7f0;text-align:left;vertical-align:top}.inline-form{display:flex;gap:6px;align-items:center}.inline-form select,.inline-form button{padding:7px;border:1px solid #d8d0dd;border-radius:7px;background:#fff}.inline-form button{background:#251e2d;color:#fff}
@media(max-width:900px){
 .site-header{height:auto!important;min-height:72px;flex-wrap:wrap;padding:12px 4%!important}.site-header .main-nav{display:none;width:100%;order:3;flex-direction:column;align-items:stretch}.site-header .main-nav.open,.site-header .main-nav.is-open{display:flex}.site-header .header-actions{margin-left:auto}.site-header .nav-toggle{display:block;color:var(--ink);order:2}.site-header .main-nav a{width:100%}
 .member-layout,.profile-layout,.chat-layout,.search-grid{grid-template-columns:1fr}.member-sidebar{position:static}.member-card-grid,.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-page-head,.welcome-inner{align-items:flex-start;flex-direction:column}
 .admin-stats{grid-template-columns:repeat(3,1fr)}.page-footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.footer-bottom{grid-column:auto}
}
@media(max-width:560px){
 .two-col,.member-card-grid,.profile-grid{grid-template-columns:1fr}.site-header .header-actions{width:100%;justify-content:flex-end}.page{padding:38px 0}.member-page{padding:30px 0}.activity-hero{flex-direction:column;align-items:flex-start}.activity-hero img{width:100%;height:180px}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-top{flex-direction:column;align-items:flex-start}.alert-row{grid-template-columns:34px 1fr 18px}.alert-row time{display:none}
}

/* DateAx visual refinement: compact branding, structured table-like panels, exact 1.5in member photos. */
:root{--dateax-pink:#e60083;--dateax-pink-2:#f2269a;--dateax-plum:#251e2d;--dateax-line:#e9e1eb;--dateax-surface:#fff;--dateax-soft:#fcf8fc;--dateax-shadow:0 14px 40px rgba(37,30,45,.09)}
body{background:var(--dateax-soft)}
.brand{gap:9px}.brand-logo{width:34px;height:34px;display:block;flex:0 0 34px}.site-header .brand-copy b{font-size:23px;letter-spacing:-.7px}.site-header .brand-copy small{font-size:7px;letter-spacing:.7px}.page-footer .brand-logo{width:32px;height:32px;flex:0 0 32px}.page-footer .brand-copy b{font-size:20px}
.page,.member-page{position:relative}.page-head{background:linear-gradient(135deg,#fff,#fff8fc);border:1px solid var(--dateax-line);border-radius:18px;padding:24px 26px;box-shadow:var(--dateax-shadow);margin-bottom:22px}.page-head h1{margin-bottom:8px}.page-head p{max-width:760px}
.form-card,.member-panel,.profile-preview,.admin-card,.search-filters,.chat-users,.chat-window,.conversation-list,.chat-pane{box-shadow:var(--dateax-shadow);border-color:var(--dateax-line)}
.form-card,.member-panel,.profile-preview,.admin-card{border-radius:16px}
/* Member/profile images: exactly 1.5in x 1.5in (144 CSS px at the standard 96dpi). */
.profile-photo,.card-photo{width:1.5in!important;height:1.5in!important;margin:14px auto 0;border-radius:14px;background:#f4edf6}.profile-photo img,.card-photo img{width:1.5in!important;height:1.5in!important;object-fit:cover;display:block}.member-profile-card{display:flex;flex-direction:column}.card-body{padding-top:12px}.avatar-large{width:1.5in!important;height:1.5in!important;aspect-ratio:auto!important;border-radius:14px;display:block;object-fit:cover;margin:0 auto 14px}.avatar-ring{width:1.5in;height:1.5in;min-width:1.5in;min-height:1.5in;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:#f4edf6}.avatar-ring.small{width:1.5in;height:1.5in;min-width:1.5in;min-height:1.5in}.avatar-ring img{width:1.5in;height:1.5in;object-fit:cover;display:block}.admin-user img,.admin-thumb{width:1.5in!important;height:1.5in!important;min-width:1.5in;object-fit:cover;border-radius:12px}.admin-user{display:flex;align-items:center;gap:12px}
/* Keep the user-photo rule exact even on narrow screens. Decorative editorial images are intentionally unaffected. */
.activity-hero img{width:1.5in;height:1.5in;object-fit:cover;border-radius:14px}.person-card> a > img{width:1.5in;height:1.5in;object-fit:cover;display:block;margin:14px auto 0;border-radius:14px}.person-card{background:#fff;border:1px solid var(--dateax-line);border-radius:16px;box-shadow:var(--dateax-shadow);overflow:hidden}.person-body{padding:14px}
/* Structured table presentation for data-heavy areas. */
.admin-table,.data-table{border:1px solid var(--dateax-line);border-radius:12px;overflow:hidden;background:#fff}.admin-table thead th,.data-table thead th{background:#faf5fb;color:#51475a;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.admin-table tbody tr:nth-child(even),.data-table tbody tr:nth-child(even){background:#fffafd}.admin-table tbody tr:hover,.data-table tbody tr:hover{background:#fff3fa}.admin-table td,.admin-table th,.data-table td,.data-table th{border-bottom:1px solid #eee7f0}.admin-table tbody tr:last-child td,.data-table tbody tr:last-child td{border-bottom:0}
/* Consistent controls and focus states. */
.btn,.primary-btn,.pill-btn,.search-btn{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.btn:hover,.primary-btn:hover,.pill-btn:hover,.search-btn:hover{transform:translateY(-1px);filter:saturate(1.06);box-shadow:0 8px 22px rgba(230,0,131,.18)}
/* Home page brand now matches application pages. */
body>footer .small-brand .brand-logo{width:32px;height:32px}
@media(max-width:900px){.profile-photo,.card-photo,.profile-photo img,.card-photo img{width:1.5in!important;height:1.5in!important}.avatar-ring,.avatar-ring.small,.avatar-ring img,.avatar-large{width:1.5in!important;height:1.5in!important;min-width:1.5in;min-height:1.5in}.page-head{padding:20px}.admin-user img,.admin-thumb{width:1.5in!important;height:1.5in!important;min-width:1.5in}}

/* DateAx supplied brand artwork — intentionally compact across all layouts. */
.brand-logo{width:112px!important;height:auto!important;max-height:32px!important;object-fit:contain;display:block;flex:0 0 auto!important}
.site-header .brand{gap:8px;align-items:center}
.site-header .brand-logo{width:112px!important;height:auto!important;max-height:30px!important}
.page-footer .brand-logo,.small-brand .brand-logo{width:108px!important;height:auto!important;max-height:30px!important}
.admin-logo{width:140px!important;height:auto!important;max-height:40px!important;object-fit:contain}
@media (max-width:700px){
  .brand-logo,.site-header .brand-logo{width:96px!important;max-height:28px!important}
  .page-footer .brand-logo,.small-brand .brand-logo{width:96px!important;max-height:28px!important}
}


/* Search results: six-member row layout styled like a clean dating-profile table/card grid. */
.search-results-table{background:#fff;border:1px solid var(--dateax-line);border-radius:20px;padding:14px;box-shadow:var(--dateax-shadow);overflow:hidden}
.people-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;align-items:stretch}
.person-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #ebe4ed;border-radius:15px;overflow:hidden;box-shadow:0 7px 22px rgba(37,30,45,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.person-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(37,30,45,.13);border-color:#f0b5d6}
.person-photo-link{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:1.5in;min-height:1.5in;background:linear-gradient(135deg,#faf5fb,#f1e8f3);overflow:hidden}
.person-photo-link>img,.person-placeholder{width:1.5in!important;height:1.5in!important;min-width:1.5in;min-height:1.5in;object-fit:cover;display:block}
.person-photo-link>img{transition:transform .3s ease}
.person-card:hover .person-photo-link>img{transform:scale(1.04)}
.person-placeholder{display:grid;place-items:center;color:#d61b86;font-size:34px;background:#f7eef6}
.person-online{position:absolute;top:8px;right:8px;padding:5px 8px;border-radius:999px;background:#36a83f;color:#fff;font-size:9px;line-height:1;font-weight:800;letter-spacing:.02em;box-shadow:0 3px 10px rgba(0,0,0,.14)}
.person-body{display:flex;flex-direction:column;flex:1;padding:12px 12px 13px}
.person-body h3{margin:0 0 4px;font-size:15px;line-height:1.25;color:#292337}
.person-body>span{font-size:11px;color:#756d7c;line-height:1.4;min-height:16px}
.person-body>small{display:block;margin-top:2px;font-size:10px;color:#938a97;line-height:1.35}
.person-body p{margin:8px 0 11px;font-size:11px;line-height:1.5;color:#706977;min-height:33px}
.person-body .text-link{margin-top:auto;font-size:11px;font-weight:800;color:#d91684}
.results-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 12px;padding:10px 14px;background:#fff;border:1px solid var(--dateax-line);border-radius:12px;color:#6e6574}
.results-bar strong{color:#292337}
@media(max-width:1350px){.people-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.search-results-table{padding:10px}.people-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(max-width:620px){.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.person-body{padding:10px}.person-body p{display:none}.person-online{font-size:8px;padding:4px 6px}.results-bar{align-items:flex-start;flex-direction:column}}
