/* EscrowVillage authored interface system — 2026 rebuild */
:root{
  
  
  --evx-mono:"Cascadia Code","SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --evx-bg:#f4f5f0;
  --evx-bg-2:#eeefe9;
  --evx-panel:#fbfcf8;
  --evx-ink:#0c1014;
  --evx-muted:#687078;
  --evx-faint:#929a9f;
  --evx-line:rgba(12,16,20,.12);
  --evx-line-2:rgba(12,16,20,.2);
  --evx-accent:#285cff;
  --evx-accent-rgb:40,92,255;
  --evx-accent-2:#00a67e;
  --evx-accent-3:#ff6a3d;
  --evx-danger:#d83b47;
  --evx-warning:#b87500;
  --evx-success:#00875f;
  --evx-radius:18px;
  --evx-radius-sm:12px;
  --evx-ease:cubic-bezier(.16,1,.3,1);
  --evx-spring:cubic-bezier(.2,1.4,.4,1);
  --evx-shadow:0 28px 80px rgba(20,28,38,.12);
  --evx-mx:72%;
  --evx-my:18%;
}
html.dark{
  --evx-bg:#0b0f13;
  --evx-bg-2:#10161c;
  --evx-panel:#11181f;
  --evx-ink:#eef2f4;
  --evx-muted:#9ca8b2;
  --evx-faint:#6f7c87;
  --evx-line:rgba(234,242,246,.12);
  --evx-line-2:rgba(234,242,246,.21);
  --evx-shadow:0 32px 90px rgba(0,0,0,.4);
}
html,body,input,button,select,textarea{font-family:var(--evx-font)!important}
html{background:var(--evx-bg)!important;scroll-behavior:smooth}
body{
  --evx-route:var(--evx-accent);
  min-height:100vh;
  color:var(--evx-ink)!important;
  background:
    radial-gradient(700px 520px at var(--evx-mx) var(--evx-my),rgba(var(--evx-accent-rgb),.105),transparent 66%),
    linear-gradient(180deg,var(--evx-bg),var(--evx-bg-2))!important;
  letter-spacing:-.012em;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(12,16,20,.033) 1px,transparent 1px),
    linear-gradient(90deg,rgba(12,16,20,.033) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 82%);
}
html.dark body::before{background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px)}
body::after{
  content:"";
  position:fixed;
  width:340px;height:340px;
  left:var(--evx-mx);top:var(--evx-my);
  transform:translate(-50%,-50%);
  border:1px solid color-mix(in srgb,var(--evx-route) 16%,transparent);
  border-radius:50%;
  opacity:.42;
  pointer-events:none;
  z-index:-1;
  transition:width .8s var(--evx-ease),height .8s var(--evx-ease),opacity .4s ease;
}
@media(pointer:coarse){body::after{display:none}}
*{box-sizing:border-box}
::selection{}
:focus-visible{outline:2px solid color-mix(in srgb,var(--evx-route) 72%,white)!important;outline-offset:3px!important}

/* Product-area identity */
body[data-ev-section="chat"]{--evx-route:#6557ff;--evx-accent-rgb:101,87,255}
body[data-ev-section="finance"],body[data-ev-section="wallet"]{--evx-route:#008f68;--evx-accent-rgb:0,143,104}
body[data-ev-section="escrow"]{--evx-route:#285cff;--evx-accent-rgb:40,92,255}
body[data-ev-section="market"]{--evx-route:#f05a31;--evx-accent-rgb:240,90,49}
body[data-ev-section="security"]{--evx-route:#7b4dff;--evx-accent-rgb:123,77,255}
body[data-ev-section="support"]{--evx-route:#e17c16;--evx-accent-rgb:225,124,22}
body[data-ev-section="profile"]{--evx-route:#0a8cab;--evx-accent-rgb:10,140,171}
body[data-ev-section="admin"]{--evx-route:#69d39e;--evx-accent-rgb:105,211,158}

/* Typography */
h1,h2,h3,h4,.font-black,.font-extrabold,.font-bold{
  font-family:var(--evx-display)!important;
  letter-spacing:-.045em!important;
}
h1{font-size:clamp(2.35rem,5.6vw,6.6rem)!important;line-height:.92!important;font-weight:780!important}
h2{line-height:1!important;font-weight:760!important}
h3{line-height:1.08!important;font-weight:730!important}
p{line-height:1.68}
.text-xs,.text-\[11px\],.text-\[12px\]{letter-spacing:.005em}

/* Old visual language removal */
body:not(.ev-village-chat-page):not(.ev-private-clean-page):not(.ev-admin-village-chat-page):not(.ev-admin-direct-clean-page) :is(.glass,.app-card,.ev-card){
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body:not(.ev-village-chat-page):not(.ev-private-clean-page):not(.ev-admin-village-chat-page):not(.ev-admin-direct-clean-page) :is(.glass,.app-card,.ev-card)+:is(.glass,.app-card,.ev-card){border-top:1px solid var(--evx-line)!important}
.rounded-2xl,.rounded-3xl,.rounded-\[28px\],.rounded-\[30px\],.rounded-\[32px\],.rounded-\[34px\]{border-radius:var(--evx-radius)!important}
.shadow-soft,.shadow-xl,.shadow-2xl{box-shadow:none!important}

/* Buttons and links */
a,button,[role="button"]{-webkit-tap-highlight-color:transparent}
button,.ev-btn,.market-btn,input[type="submit"],input[type="button"]{
  border-radius:999px!important;
  font-weight:720!important;
  letter-spacing:-.02em!important;
  transition:transform .28s var(--evx-ease),background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .28s var(--evx-ease),opacity .22s ease!important;
}
button:not(.ev-center-fab):hover,.ev-btn:hover,.market-btn:hover,input[type="submit"]:hover,input[type="button"]:hover{transform:translateY(-2px)}
button:not(.ev-center-fab):active,.ev-btn:active,.market-btn:active,input[type="submit"]:active,input[type="button"]:active{transform:translateY(0) scale(.975)}
.bg-\[var\(--ev-brand\)\],.bg-evbrand,.ev-btn.primary,.market-btn.primary{
  background:var(--evx-route)!important;
  color:white!important;
  border-color:transparent!important;
  box-shadow:0 12px 32px color-mix(in srgb,var(--evx-route) 22%,transparent)!important;
}
a{transition:color .2s ease,opacity .2s ease,transform .24s var(--evx-ease)}

/* Inputs: polished slab, not generic rounded fields */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),select,textarea{
  background:color-mix(in srgb,var(--evx-panel) 82%,transparent)!important;
  color:var(--evx-ink)!important;
  border:1px solid var(--evx-line)!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3)!important;
  min-height:48px;
  padding-left:14px!important;
  padding-right:14px!important;
  transition:border-color .2s ease,box-shadow .25s var(--evx-ease),transform .25s var(--evx-ease),background-color .2s ease!important;
}
input:focus,select:focus,textarea:focus{
  border-color:color-mix(in srgb,var(--evx-route) 62%,var(--evx-line))!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--evx-route) 11%,transparent)!important;
  transform:translateY(-1px);
  outline:0!important;
}
textarea{padding-top:13px!important;padding-bottom:13px!important}
label{font-weight:700!important;color:var(--evx-muted)!important;letter-spacing:.01em!important}

/* Route entrance + reveal */
@keyframes evxPageIn{0%{opacity:0;transform:translate3d(0,16px,0) scale(.995)}100%{opacity:1;transform:none}}
@keyframes evxRise{0%{opacity:0;transform:translateY(22px)}100%{opacity:1;transform:none}}
@keyframes evxLine{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes evxPulseDot{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--evx-route) 32%,transparent)}50%{box-shadow:0 0 0 8px transparent}}
@keyframes evxFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-8px,0)}}
@keyframes evxSheen{0%{transform:translateX(-120%) skewX(-16deg)}100%{transform:translateX(220%) skewX(-16deg)}}
@media(prefers-reduced-motion:reduce){.evx-marquee-track,.evx-kinetic-word{animation:none!important}}

/* Mouse spotlight / magnetic enhancements */
.evx-magnetic{will-change:transform}
.evx-sheen{position:relative;overflow:hidden!important}
.evx-sheen::after{content:"";position:absolute;inset:-20% auto -20% -28%;width:24%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:translateX(-120%) skewX(-16deg);pointer-events:none}
.evx-sheen:hover::after{animation:evxSheen .8s var(--evx-ease)}

/* Route masthead injected on app pages */







/* Route masthead — server-rendered before first paint. One owner for current page + EV Quick. */
.evx-routebar{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  min-height:58px;padding:0 0 18px;margin:0 0 22px;
  border-bottom:1px solid var(--evx-line);position:relative;min-width:0;
}
.evx-routebar::after{content:"";position:absolute;left:0;bottom:-1px;width:min(160px,28vw);height:2px;background:var(--evx-route);}
.evx-routebar-copy{min-width:0;}
.evx-routebar-kicker{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--evx-muted);}
.evx-routebar-kicker i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--evx-route);}
.evx-routebar-title{margin-top:3px;font-family:var(--evx-display);font-size:clamp(1.15rem,2.2vw,1.72rem);font-weight:760;letter-spacing:-.045em;color:var(--evx-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.evx-routebar-tools{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
body.ev-user[data-ev-composition="split"] #ev-app-main>.max-w-5xl>.mt-2>.evx-routebar{grid-column:1/-1;}
.evx-command-hint{height:30px;min-height:30px;min-width:72px;padding:3px 5px 3px 9px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(var(--ev-brand-rgb),.20);border-radius:9px;background:color-mix(in srgb,var(--evx-panel) 92%,var(--ev-brand) 8%);color:var(--ev-brand);cursor:pointer;font-size:10px;font-weight:720;box-shadow:0 2px 8px rgba(var(--ev-brand-rgb),.06);transition:transform .18s ease,border-color .18s ease,background .18s ease;}
.evx-command-hint>span:first-child{display:inline;white-space:nowrap;}
.evx-command-hint:hover,.evx-command-hint:focus-visible{transform:translateY(-1px);border-color:rgba(var(--ev-brand-rgb),.42);background:color-mix(in srgb,var(--evx-panel) 84%,var(--ev-brand) 16%);outline:0;}
.evx-command-go{width:21px;height:21px;display:grid;place-items:center;border-radius:6px;background:var(--ev-brand);color:#fff;font-size:11px;font-weight:800;line-height:1;}
html.dark .evx-command-hint{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.09);color:#f8fafc;}
html.dark .evx-command-hint:hover,html.dark .evx-command-hint:focus-visible{border-color:rgba(125,211,252,.42);background:rgba(255,255,255,.14);}
html.dark .evx-command-go{background:#e0f2fe;color:#102a3d;}
@media(max-width:640px){.evx-routebar{min-height:50px;margin-bottom:16px;padding-bottom:13px;gap:10px}.evx-routebar-title{font-size:1.05rem}.evx-routebar-kicker{font-size:9px;letter-spacing:.13em}.evx-command-hint{min-width:72px;padding-inline:8px 4px}}

/* Command palette */
.evx-command{
  position:fixed;inset:0;z-index:2147483000;display:none;align-items:flex-start;justify-content:center;padding:10vh 18px 18px;
  background:rgba(6,9,12,.44);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)
}
.evx-command.is-open{display:flex}
.evx-command-panel{width:min(680px,100%);background:color-mix(in srgb,var(--evx-panel) 96%,transparent);border:1px solid var(--evx-line-2);border-radius:24px;box-shadow:0 42px 120px rgba(0,0,0,.28);overflow:hidden;animation:evxPageIn .34s var(--evx-ease) both}
.evx-command-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--evx-line)}
.evx-command-head svg{width:20px;height:20px;color:var(--evx-muted)}
.evx-command-input{all:unset!important;box-sizing:border-box!important;flex:1!important;color:var(--evx-ink)!important;font-size:16px!important;font-weight:620!important;min-height:30px!important}
.evx-command-close{border:1px solid var(--evx-line)!important;background:transparent!important;color:var(--evx-muted)!important;width:34px;height:34px;padding:0!important}
.evx-command-list{max-height:min(62vh,540px);overflow:auto;padding:8px}
.evx-command-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border-radius:14px;color:var(--evx-ink);text-decoration:none}
.evx-command-item:hover,.evx-command-item.is-active{background:color-mix(in srgb,var(--evx-route) 10%,transparent)}
.evx-command-item small{color:var(--evx-muted)}
.evx-command-empty{padding:28px;text-align:center;color:var(--evx-muted);font-size:13px}

/* PUBLIC HOME — authored editorial composition */








#evThemeBtn{top:auto!important;right:clamp(18px,3vw,36px)!important;bottom:20px!important;width:44px;height:44px;padding:0!important;font-size:0!important;border:1px solid var(--evx-line-2)!important;background:color-mix(in srgb,var(--evx-panel) 92%,transparent)!important;color:var(--evx-ink)!important;box-shadow:var(--evx-shadow)!important;z-index:900!important}
#evThemeBtn::before{content:"◐";font-size:18px}















/* Home login as a dramatic side stage, not a generic card */

















/* Home content sections: editorial rows */







/* Marketplace cards become image-led editorial tiles */
.village-market-shell .market-grid{gap:18px!important}
.market-card{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.market-card .market-thumb-wrap{border-radius:20px!important;overflow:hidden!important;background:var(--evx-bg-2)!important;aspect-ratio:1.25/1;position:relative}
.market-card .market-thumb{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .65s var(--evx-ease),filter .3s ease!important}
.market-card:hover .market-thumb{transform:scale(1.045)}
.market-card-body{padding:14px 2px 4px!important}
.market-title{font-size:1.08rem!important;font-weight:760!important;letter-spacing:-.035em!important}
.market-snippet-title,.market-location-row,.market-listedby{color:var(--evx-muted)!important}
.market-actions{gap:7px!important;margin-top:12px!important}
.market-btn{min-height:40px!important}
.market-amount-chip{background:transparent!important;border:0!important;padding:0!important;font-size:1rem!important;color:var(--evx-ink)!important}

/* USER APP SHELL */
body.ev-user:not(.ev-village-chat-page):not(.ev-private-clean-page){padding-left:0!important}
body.ev-user:not(.ev-village-chat-page):not(.ev-private-clean-page)>header.fixed{
  position:fixed!important;left:248px!important;right:0!important;top:0!important;width:auto!important;height:72px!important;
  border:0!important;border-bottom:1px solid var(--evx-line)!important;
  background:color-mix(in srgb,var(--evx-bg) 82%,transparent)!important;
  backdrop-filter:blur(22px) saturate(135%)!important;-webkit-backdrop-filter:blur(22px) saturate(135%)!important;
  z-index:1000!important
}
body.ev-user:not(.ev-village-chat-page):not(.ev-private-clean-page) .ev-user-topbar{height:72px!important;max-width:none!important;padding:0 28px!important}
.ev-user-brand{gap:11px!important}
.ev-user-brand img,.ev-user-brand>div:first-child{width:36px!important;height:36px!important;border-radius:11px!important;border:0!important;background:transparent!important}
.ev-user-brand .leading-tight>div:first-child{font-size:13px!important;font-weight:800!important}
.ev-user-brand .leading-tight>div:nth-child(2){font-size:10px!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--evx-muted)!important}
.ev-user-top-actions a,.ev-user-top-actions button{width:38px!important;min-width:38px!important;height:38px!important;border-radius:999px!important;border:1px solid var(--evx-line)!important;background:transparent!important;color:var(--evx-ink)!important;padding:0!important;box-shadow:none!important}
.ev-user-top-actions a:hover,.ev-user-top-actions button:hover{background:color-mix(in srgb,var(--evx-route) 9%,transparent)!important;border-color:color-mix(in srgb,var(--evx-route) 24%,var(--evx-line))!important}
.ev-user-theme-btn{font-size:0!important}
.ev-user-theme-btn::before{content:"◐";font-size:17px}
.ev-logout-power{color:var(--evx-danger)!important}
body.ev-user:not(.ev-village-chat-page):not(.ev-private-clean-page) #ev-app-main{padding:98px clamp(18px,3.2vw,54px) 80px 280px!important;min-height:100vh!important;overflow:visible!important}
body.ev-user:not(.ev-village-chat-page):not(.ev-private-clean-page) #ev-app-main>.max-w-5xl{width:100%!important;max-width:1540px!important;padding:0!important;margin:0 auto!important}

/* User left rail — real app navigation */
/* Floating EV menu ownership lives in user/footer.php. */

/* User route compositions */
body.ev-user[data-ev-composition="split"] #ev-app-main>.max-w-5xl>.mt-2{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:28px;align-items:start}

body.ev-user[data-ev-composition="wide"] #ev-app-main>.max-w-5xl{max-width:1680px!important}
body.ev-user[data-ev-composition="focus"] #ev-app-main>.max-w-5xl{max-width:980px!important;margin-left:0!important}
body.ev-user[data-ev-section="finance"] #ev-app-main>.max-w-5xl>.mt-2,
body.ev-user[data-ev-section="wallet"] #ev-app-main>.max-w-5xl>.mt-2{position:relative}
body.ev-user[data-ev-section="finance"] #ev-app-main>.max-w-5xl>.mt-2::before,
body.ev-user[data-ev-section="wallet"] #ev-app-main>.max-w-5xl>.mt-2::before{content:"";position:absolute;right:0;top:58px;width:min(48vw,620px);height:220px;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 49px,color-mix(in srgb,var(--evx-route) 8%,transparent) 49px 50px),repeating-linear-gradient(0deg,transparent 0 39px,color-mix(in srgb,var(--evx-route) 7%,transparent) 39px 40px);mask-image:linear-gradient(90deg,transparent,#000);opacity:.8}

/* Financial numbers */
body[data-ev-section="finance"] :is(.text-2xl,.text-3xl,.text-4xl,.font-black),body[data-ev-section="wallet"] :is(.text-2xl,.text-3xl,.text-4xl,.font-black){font-variant-numeric:tabular-nums;letter-spacing:-.045em!important}
body[data-ev-section="finance"] table,body[data-ev-section="wallet"] table{font-variant-numeric:tabular-nums}

/* Tables: modern data canvas */
.ev-table-wrap,.overflow-x-auto{border:1px solid var(--evx-line)!important;border-radius:18px!important;background:color-mix(in srgb,var(--evx-panel) 78%,transparent)!important;overflow:auto!important}
table{border-collapse:separate!important;border-spacing:0!important;width:100%}
thead th{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--evx-panel) 96%,transparent)!important;color:var(--evx-muted)!important;font-size:9px!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important;border-bottom:1px solid var(--evx-line)!important;padding:13px 14px!important}
tbody td{border-bottom:1px solid var(--evx-line)!important;padding:13px 14px!important;transition:background .18s ease!important}
tbody tr:last-child td{border-bottom:0!important}
tbody tr:hover td{background:color-mix(in srgb,var(--evx-route) 5%,transparent)!important}

/* Forms and operational sections */
.evx-focus-form{position:relative;padding:clamp(20px,3vw,34px)!important;border:1px solid var(--evx-line)!important;border-radius:22px!important;background:color-mix(in srgb,var(--evx-panel) 72%,transparent)!important}
.evx-focus-form::before{content:"";position:absolute;left:22px;right:22px;top:0;height:2px;background:linear-gradient(90deg,var(--evx-route),transparent);border-radius:2px}
.notice,.attention,[class*="alert" i]{border:0!important;border-left:3px solid currentColor!important;border-radius:0 14px 14px 0!important;box-shadow:none!important}

/* Escrow: timeline language */

body[data-ev-section="escrow"] :is(.app-card,.glass)[class*="border"]{position:relative}
body[data-ev-section="escrow"] :is(.app-card,.glass)[class*="border"]::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:linear-gradient(var(--evx-route),transparent);opacity:.7}

/* Security: technical precision */
body[data-ev-section="security"]{background:radial-gradient(700px 520px at var(--evx-mx) var(--evx-my),rgba(var(--evx-accent-rgb),.12),transparent 66%),linear-gradient(180deg,var(--evx-bg),var(--evx-bg-2))!important}
body[data-ev-section="security"] code,body[data-ev-section="security"] .text-\[11px\]{font-family:var(--evx-mono)!important}
body[data-ev-section="security"] input{font-family:var(--evx-mono)!important;letter-spacing:.01em!important}

/* CHAT LIST */
body.ev-user.ev-chat-list-page-body #ev-app-main>.max-w-5xl{max-width:1240px!important}
body.ev-user.ev-chat-list-page-body #ev-app-main{background:var(--ev-bg)!important}

body.ev-user.ev-chat-list-page-body :is(.hsc-chat-row,[class*="chat-row"],a[href*="chat"]){transition:background .2s ease,transform .28s var(--evx-ease),border-color .2s ease}
body.ev-user.ev-chat-list-page-body :is(.hsc-chat-row,[class*="chat-row"]):hover{transform:translateX(5px)}

/* Clean chat surfaces */
body.ev-village-chat-page,body.ev-private-clean-page,body.ev-admin-village-chat-page,body.ev-admin-direct-clean-page{
  --evx-bg:#f2f3ef;
  background:linear-gradient(135deg,color-mix(in srgb,var(--evx-route) 5%,var(--evx-bg)),var(--evx-bg))!important
}
html.dark body.ev-village-chat-page,html.dark body.ev-private-clean-page,html.dark body.ev-admin-village-chat-page,html.dark body.ev-admin-direct-clean-page{--evx-bg:#0b1015}
body.ev-village-chat-page :is(.ev-chat-head,.hvc-head),body.ev-private-clean-page :is(.evdm-head),body.ev-admin-village-chat-page :is(.hvc-head),body.ev-admin-direct-clean-page :is(.evdm-head){backdrop-filter:blur(24px) saturate(140%)!important;-webkit-backdrop-filter:blur(24px) saturate(140%)!important;border-bottom-color:var(--evx-line)!important}
body.ev-village-chat-page :is(.ev-msg,.hvc-msg),body.ev-private-clean-page .evdm-msg,body.ev-admin-village-chat-page .hvc-msg,body.ev-admin-direct-clean-page .evdm-msg{animation:evxPageIn .32s var(--evx-ease) both}
body.ev-village-chat-page :is(.ev-composer,.hvc-composer),body.ev-private-clean-page .evdm-composer,body.ev-admin-village-chat-page .hvc-composer,body.ev-admin-direct-clean-page .evdm-composer{background:color-mix(in srgb,var(--evx-bg) 86%,transparent)!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important}

/* MARKET route */
body[data-ev-section="market"] .village-market-shell{max-width:1680px!important;padding-left:clamp(18px,3vw,52px)!important;padding-right:clamp(18px,3vw,52px)!important}
body[data-ev-section="market"] .market-card:nth-child(3n/**/+2){transform:translateY(22px)}
body[data-ev-section="market"] .market-card:nth-child(3n/**/+2):hover{transform:translateY(18px)}
@media(max-width:900px){body[data-ev-section="market"] .market-card:nth-child(3n/**/+2){transform:none}}

/* ADMIN / STAFF
   v267: theme colours are intentionally owned by evrefine.css. Keep this layer structural only. */
body.ev-admin .ev-admin-shell{min-height:100vh!important}
body.ev-admin:not(.ev-admin-village-chat-page):not(.ev-admin-direct-clean-page) .ev-main.hsc{width:100%!important;max-width:none!important}

/* Auth pages apart from home */
body:not(.ev-user):not(.ev-admin)[data-ev-section="auth"] main,body:not(.ev-user):not(.ev-admin)[data-ev-section="security"] main{min-height:100vh;display:grid;place-items:center;padding:clamp(24px,5vw,70px)!important}
body:not(.ev-user):not(.ev-admin)[data-ev-section="auth"] .ev-auth-wide,body:not(.ev-user):not(.ev-admin)[data-ev-section="security"] .ev-auth-wide{width:min(1100px,100%)!important;max-width:none!important}

/* Variant compositions: every route gets a subtle different authored layout */






/* Mobile app shell */
@media(max-width:1099px){
  body.ev-user:not(.ev-village-chat-page):not(.ev-private-clean-page)>header.fixed{left:0!important;height:62px!important}
  body.ev-user:not(.ev-village-chat-page):not(.ev-private-clean-page) .ev-user-topbar{height:62px!important;padding:0 12px!important}
  body.ev-user:not(.ev-village-chat-page):not(.ev-private-clean-page) #ev-app-main{padding:82px 16px 98px!important}
  /* Floating EV menu remains owned by user/footer.php at mobile widths. */
  body.ev-user[data-ev-composition="split"] #ev-app-main>.max-w-5xl>.mt-2{display:block}
  
  
}
@media(max-width:720px){
  
  
  
  
  
  
  
  
  body[data-ev-section="market"] .market-card:nth-child(3n/**/+2){transform:none}
  body.ev-admin .ev-content{padding:88px 14px 60px!important}
}

/* Remove every visible loading metaphor, but preserve functional media elements */
#ev-loading-overlay,.ev-loader-wrap,.ev-loader-circle,.ev-loader-shield,[class*="spinner" i],[class*="loading-overlay" i],.animate-spin{display:none!important;animation:none!important}

/* Small delight */
.evx-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--evx-route);animation:evxPulseDot 2.2s ease-in-out infinite}
.evx-hover-arrow::after{content:"↗";display:inline-block;margin-left:7px;transition:transform .25s var(--evx-ease)}
.evx-hover-arrow:hover::after{transform:translate(3px,-3px)}

@keyframes evxWordIn{to{opacity:1;transform:none}}



/* Standalone recovery, appeal, offline, 404 and maintenance surfaces */
body[data-ev-section="support"] .wrap .appeal-card{width:min(920px,100%)!important;margin:0 auto!important;padding:clamp(26px,5vw,58px)!important;border:1px solid var(--evx-line)!important;border-radius:28px!important;background:color-mix(in srgb,var(--evx-panel) 82%,transparent)!important;box-shadow:var(--evx-shadow)!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important}
body[data-ev-section="support"] .appeal-card .title{font-family:var(--evx-display)!important;font-size:clamp(2.6rem,7vw,6rem)!important;line-height:.92!important;letter-spacing:-.065em!important;font-weight:780!important}
body[data-ev-section="support"] .appeal-card .brand-head{padding-bottom:20px;border-bottom:1px solid var(--evx-line)}
body[data-ev-section="support"] .appeal-card .msg{border:1px solid var(--evx-line)!important;border-radius:18px!important;background:color-mix(in srgb,var(--evx-panel) 72%,transparent)!important;padding:16px 18px!important;transition:transform .28s var(--evx-ease),border-color .2s ease!important}
body[data-ev-section="support"] .appeal-card .msg:hover{transform:translateX(4px);border-color:color-mix(in srgb,var(--evx-route) 28%,var(--evx-line))!important}
body[data-ev-section="support"] .appeal-card form{padding-top:24px;border-top:1px solid var(--evx-line)}
body[data-ev-section="support"] .ev-appeal-theme-btn{font-size:0!important;width:44px!important;height:44px!important;padding:0!important;background:color-mix(in srgb,var(--evx-panel) 90%,transparent)!important;color:var(--evx-ink)!important;border:1px solid var(--evx-line-2)!important;box-shadow:var(--evx-shadow)!important}
body[data-ev-section="support"] .ev-appeal-theme-btn::before{content:"◐";font-size:18px}

body:has(.wrap .h404) .wrap{padding:clamp(28px,6vw,84px)!important}
body:has(.wrap .h404) .card{width:min(1120px,100%)!important;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr)!important;gap:clamp(34px,7vw,100px)!important}
body:has(.wrap .h404) .spin{width:220px!important;height:220px!important;border:1px solid var(--evx-line)!important;border-radius:50%!important;animation:evxFloat 5.8s ease-in-out infinite!important}
body:has(.wrap .h404) .spin img{width:150px!important;height:150px!important}
body:has(.wrap .h404) .h404{color:var(--evx-route)!important;font:800 10px var(--evx-mono)!important;letter-spacing:.2em!important}
body:has(.wrap .h404) h1{font-size:clamp(3rem,8vw,7.4rem)!important;line-height:.86!important;letter-spacing:-.07em!important;max-width:760px}
body:has(.wrap .h404) .loaderText{margin-top:28px!important;padding:18px 0 18px 18px!important;border-left:2px solid var(--evx-route)!important}
body:has(.wrap .h404) a.btn{border-radius:999px!important}

body:has(.wrap .steps) .wrap{width:min(980px,100%)!important;padding:clamp(34px,7vw,96px) clamp(20px,5vw,58px)!important}
body:has(.wrap .steps) .title{font-size:clamp(3rem,9vw,7.8rem)!important;line-height:.86!important;letter-spacing:-.07em!important}
body:has(.wrap .steps) .head{grid-template-columns:auto minmax(0,1fr)!important;gap:22px!important}
body:has(.wrap .steps) .steps{margin-top:38px!important;border-color:var(--evx-line)!important}
body:has(.wrap .steps) .steps li{padding:18px 0!important;border-color:var(--evx-line)!important;transition:transform .28s var(--evx-ease),color .2s ease!important}
body:has(.wrap .steps) .steps li:hover{transform:translateX(7px);color:var(--evx-ink)!important}
body:has(.wrap .steps) .steps .n{font-family:var(--evx-mono)!important;color:var(--evx-route)!important}

body:has(.machine) .page{background:transparent!important}
body:has(.machine) .container{width:min(1240px,100%)!important}
body:has(.machine) .hero{gap:clamp(40px,8vw,110px)!important}
body:has(.machine) .machine{animation:evxFloat 6.5s ease-in-out infinite!important}
body:has(.machine) .ring{border-color:color-mix(in srgb,var(--evx-route) 20%,transparent)!important;animation:none!important}
body:has(.machine) .orbit{animation:none!important}
body:has(.machine) .title{font-family:var(--evx-display)!important;font-size:clamp(3.2rem,8vw,7.8rem)!important;line-height:.87!important;letter-spacing:-.07em!important}
body:has(.machine) .home-link{border-radius:999px!important;background:var(--evx-route)!important;color:white!important;box-shadow:0 16px 44px color-mix(in srgb,var(--evx-route) 20%,transparent)!important}

body[data-ev-section="auth"] main .lg\:grid-cols-\[1\.02fr_\.98fr\]{gap:clamp(34px,7vw,100px)!important;align-items:center!important}
body[data-ev-section="auth"] main .lg\:grid-cols-\[1\.02fr_\.98fr\] h1{font-size:clamp(3rem,7vw,6.8rem)!important;line-height:.9!important;letter-spacing:-.065em!important}
body[data-ev-section="auth"] main .lg\:grid-cols-\[1\.02fr_\.98fr\] > div:last-child{padding:clamp(24px,4vw,42px)!important;border:1px solid var(--evx-line)!important;border-radius:28px!important;background:color-mix(in srgb,var(--evx-panel) 82%,transparent)!important;box-shadow:var(--evx-shadow)!important}

@media(max-width:760px){
  body:has(.wrap .h404) .card{grid-template-columns:1fr!important}
  body:has(.wrap .h404) .spin{width:130px!important;height:130px!important}
  body:has(.wrap .h404) .spin img{width:92px!important;height:92px!important}
  body[data-ev-section="support"] .wrap .appeal-card{padding:22px!important;border-radius:22px!important}
}



/* Wallet overview: typographic money canvas instead of glossy cards */
body.ev-user[data-ev-section="wallet"] .ev-wallet-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;border-top:1px solid var(--evx-line)!important;border-bottom:1px solid var(--evx-line)!important;}
body.ev-user[data-ev-section="wallet"] .ev-wallet-card{position:relative!important;min-height:190px!important;padding:26px clamp(18px,3vw,34px)!important;border-radius:0!important;background:transparent!important;color:var(--evx-ink)!important;box-shadow:none!important;backdrop-filter:none!important;overflow:hidden!important}
body.ev-user[data-ev-section="wallet"] .ev-wallet-card+ .ev-wallet-card{border-left:1px solid var(--evx-line)!important}
body.ev-user[data-ev-section="wallet"] .ev-wallet-card::before{content:""!important;position:absolute!important;left:0!important;top:0!important;width:72px!important;height:3px!important;background:var(--evx-route)!important}
body.ev-user[data-ev-section="wallet"] .ev-wallet-card--usd::before{background:#775cff!important}
body.ev-user[data-ev-section="wallet"] .ev-wallet-card::after{display:none!important}
body.ev-user[data-ev-section="wallet"] .ev-wallet-top{display:flex!important;align-items:center!important;justify-content:space-between!important;position:relative!important;z-index:1!important}
body.ev-user[data-ev-section="wallet"] .ev-wallet-badge{font-size:10px!important;font-weight:800!important;letter-spacing:.15em!important;text-transform:uppercase!important;color:var(--evx-muted)!important;background:transparent!important;border:0!important;padding:0!important}
body.ev-user[data-ev-section="wallet"] .ev-wallet-dot{width:34px!important;height:34px!important;border-radius:50%!important;border:1px solid var(--evx-line)!important;background:transparent!important;color:var(--evx-route)!important;box-shadow:none!important}
body.ev-user[data-ev-section="wallet"] .ev-wallet-dot::before,body.ev-user[data-ev-section="wallet"] .ev-wallet-dot::after{display:none!important}
body.ev-user[data-ev-section="wallet"] .ev-wallet-balance{position:relative!important;z-index:1!important;font-family:var(--evx-display)!important;font-variant-numeric:tabular-nums!important;}
body.ev-user[data-ev-section="wallet"] .ev-wallet-freeze{position:relative!important;z-index:1!important;}
body.ev-user[data-ev-section="wallet"] .ev-wallet-hide-btn{box-shadow:none!important;font-size:0!important;}
body.ev-user[data-ev-section="wallet"] .ev-wallet-hide-btn::before{font-size:14px;}
body.ev-user[data-ev-section="wallet"] .ev-wallet-hide-btn[aria-pressed="true"]::before{content:"○"}
body.ev-user[data-ev-section="wallet"] .ev-market-showcase{margin:0 0 22px!important;border:1px solid var(--evx-line)!important;border-radius:18px!important;background:color-mix(in srgb,var(--evx-panel) 62%,transparent)!important;overflow:hidden!important}
body.ev-user[data-ev-section="wallet"] .ev-market-showcase-window{padding:0!important;min-height:72px!important}
body.ev-user[data-ev-section="wallet"] .ev-market-showcase-item{display:none!important;align-items:center!important;gap:12px!important;padding:12px 14px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body.ev-user[data-ev-section="wallet"] .ev-market-showcase-item.is-active{display:flex!important;animation:evxPageIn .4s var(--evx-ease) both!important}
body.ev-user[data-ev-section="wallet"] .ev-market-showcase-item::before,body.ev-user[data-ev-section="wallet"] .ev-market-showcase-item::after{display:none!important}
body.ev-user[data-ev-section="wallet"] .ev-market-showcase-thumb{width:48px!important;height:48px!important;border-radius:12px!important}
body.ev-user[data-ev-section="wallet"] .ev-market-showcase-title{font-size:12px!important;font-weight:760!important;color:var(--evx-ink)!important}
body.ev-user[data-ev-section="wallet"] .ev-market-showcase-desc,body.ev-user[data-ev-section="wallet"] .ev-market-showcase-meta{color:var(--evx-muted)!important}
body.ev-user[data-ev-section="wallet"] .ev-market-showcase-share{border:1px solid var(--evx-line)!important;background:transparent!important;color:var(--evx-ink)!important}

/* Chat inbox: dense conversational list, not stacked cards */
body.ev-user.ev-chat-list-page-body .ev-chat-list-page{padding-top:0!important}
body.ev-user.ev-chat-list-page-body .ev-chat-tools{margin:0 0 14px!important}
body.ev-user.ev-chat-list-page-body .ev-chat-searchbox{min-height:52px!important;border:1px solid var(--evx-line)!important;border-radius:999px!important;background:color-mix(in srgb,var(--evx-panel) 72%,transparent)!important;padding:6px 16px!important;box-shadow:none!important}
body.ev-user.ev-chat-list-page-body .ev-chat-searchbox>span{font-size:0!important}
body.ev-user.ev-chat-list-page-body .ev-chat-searchbox>span::before{content:"⌕";font-size:19px;color:var(--evx-muted)}
body.ev-user.ev-chat-list-page-body .ev-chat-searchbox input{border:0!important;background:transparent!important;box-shadow:none!important;min-height:38px!important;padding:0!important}
body.ev-user.ev-chat-list-page-body .ev-chat-thin-row{position:relative!important;min-height:72px!important;padding:10px 6px!important;border-radius:0!important;border:0!important;border-bottom:1px solid var(--evx-line)!important;background:transparent!important;box-shadow:none!important;opacity:1!important}
body.ev-user.ev-chat-list-page-body .ev-chat-thin-row::before{content:"";position:absolute;left:-10px;top:50%;width:3px;height:0;border-radius:3px;background:var(--evx-route);transform:translateY(-50%);transition:height .28s var(--evx-ease)}
body.ev-user.ev-chat-list-page-body .ev-chat-thin-row:hover{transform:translateX(6px)!important;background:color-mix(in srgb,var(--evx-route) 5%,transparent)!important}
body.ev-user.ev-chat-list-page-body .ev-chat-thin-row:hover::before{height:32px}
body.ev-user.ev-chat-list-page-body .ev-chat-avatar{width:46px!important;height:46px!important;border-radius:14px!important;border:1px solid var(--evx-line)!important;box-shadow:none!important;background:color-mix(in srgb,var(--evx-panel) 72%,transparent)!important;color:var(--evx-ink)!important}
body.ev-user.ev-chat-list-page-body .ev-support-avatar{border-color:color-mix(in srgb,var(--evx-route) 30%,var(--evx-line))!important}
body.ev-user.ev-chat-list-page-body .ev-chat-title{font-size:13px!important;font-weight:760!important;letter-spacing:-.025em!important;color:var(--evx-ink)!important}
body.ev-user.ev-chat-list-page-body .ev-chat-preview{color:var(--evx-muted)!important}
body.ev-user.ev-chat-list-page-body .ev-chat-thin-row .px-2.py-1{border:1px solid var(--evx-line)!important;background:transparent!important;color:var(--evx-muted)!important}



/* Escrow list and create flow */
body.ev-user[data-ev-section="escrow"] #ev-app-main .glass.rounded-2xl{padding:20px 0!important;border-radius:0!important;border-top:1px solid var(--evx-line)!important}
body.ev-user[data-ev-section="escrow"] #ev-app-main .glass.rounded-2xl:first-of-type{border-top:0!important;padding-top:0!important}
body.ev-user[data-ev-section="escrow"] #ev-app-main .grid.grid-cols-2.gap-3>a,body.ev-user[data-ev-section="escrow"] #ev-app-main .grid.grid-cols-2.gap-3>button{min-height:52px!important}
body.ev-user[data-ev-section="escrow"] #ev-app-main form.evx-focus-form{max-width:980px!important}

/* Marketplace search and product rhythm */





body.ev-user[data-ev-section="market"] .market-filter-panel{padding:18px!important;border:1px solid var(--evx-line)!important;border-radius:18px!important;background:color-mix(in srgb,var(--evx-panel) 82%,transparent)!important}
body.ev-user[data-ev-section="market"] .market-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:34px 18px!important}
body.ev-user[data-ev-section="market"] .market-card-body{padding-top:14px!important}

/* Profile and security become linked settings canvases */
body.ev-user[data-ev-section="profile"] #ev-app-main a.glass.rounded-2xl{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;min-height:88px!important;padding:18px 0!important;border-radius:0!important;border:0!important;border-bottom:1px solid var(--evx-line)!important;background:transparent!important;box-shadow:none!important;transform:none!important}
body.ev-user[data-ev-section="profile"] #ev-app-main a.glass.rounded-2xl::after{content:"→";font-size:20px;color:var(--evx-muted);transition:transform .3s var(--evx-ease),color .2s ease}
body.ev-user[data-ev-section="profile"] #ev-app-main a.glass.rounded-2xl:hover::after{transform:translateX(6px);color:var(--evx-route)}
body.ev-user[data-ev-section="security"] #ev-app-main section.glass.app-card{padding:22px!important;border:1px solid var(--evx-line)!important;border-radius:18px!important;background:color-mix(in srgb,var(--evx-panel) 66%,transparent)!important}
body.ev-user[data-ev-section="security"] #ev-app-main .md\:grid-cols-2{gap:14px!important}

/* Ad manager becomes a campaign operations workspace */
body.ev-user[data-ev-section="market"] .ev-adm-table{font-variant-numeric:tabular-nums!important}
body.ev-user[data-ev-section="market"] .ev-adm-btn{border-radius:999px!important;background:var(--evx-route)!important;box-shadow:0 14px 38px color-mix(in srgb,var(--evx-route) 20%,transparent)!important}
body.ev-user[data-ev-section="market"] .ev-adm-input{border-color:var(--evx-line)!important;background:color-mix(in srgb,var(--evx-panel) 78%,transparent)!important}

/* Admin overview: operational dashboard without boxed-card repetition */
body.ev-admin .ev-content>.mt-6.grid,body.ev-admin .ev-content>.mt-4.grid{gap:0!important;border-top:1px solid var(--evx-line)!important;border-left:1px solid var(--evx-line)!important}
body.ev-admin .ev-content>.mt-6.grid>*,body.ev-admin .ev-content>.mt-4.grid>*{border-right:1px solid var(--evx-line)!important;border-bottom:1px solid var(--evx-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body.ev-admin .ev-content h1{font-family:var(--evx-display)!important;font-size:clamp(1.65rem,2.4vw,2.8rem)!important;line-height:1.02!important;letter-spacing:-.04em!important;font-weight:720!important}
body.ev-admin .ev-content h2{letter-spacing:-.035em!important}
body.ev-admin .ev-content .ev-table-wrap{border-radius:16px!important}
body.ev-admin .ev-content form.evx-focus-form{background:var(--evx-panel)!important;color:var(--evx-ink)!important}

@media(max-width:800px){
  body.ev-user[data-ev-section="wallet"] .ev-wallet-grid{grid-template-columns:1fr!important;}
  body.ev-user[data-ev-section="wallet"] .ev-wallet-card+ .ev-wallet-card{border-left:0!important;border-top:1px solid var(--evx-line)!important}
  body.ev-user[data-ev-section="wallet"] .ev-wallet-card{min-height:150px!important;padding:22px 4px!important}
  body.ev-user[data-ev-section="wallet"] .ev-wallet-balance{}
  
  body.ev-user[data-ev-section="market"] .market-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:26px 10px!important}
}
@media(max-width:520px){body.ev-user[data-ev-section="market"] .market-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
