html.v15-admin #adminTabs.asetGrid,html.v15-admin #adminGrid{
display:grid !important;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;}
html.v15-admin .agrp{
position:static !important;z-index:auto !important;animation:none !important;transform:none !important;display:block;width:100%;box-shadow:none !important;margin:10px 0 4px;padding:8px 10px;border-radius:10px;background:linear-gradient(135deg,#4a148c,#6a1b9a);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.2px;}
html.v15-admin .aset{
position:static !important;transform:none !important;min-height:44px;display:flex !important;align-items:center;gap:6px;border-radius:12px !important;box-shadow:0 1px 3px rgba(0,0,0,.08) !important;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
html.v15-admin .aset.on{
outline:2px solid #e91e63;background:#fff0f5 !important;}
html.v15-admin .aset .albl{
overflow:hidden;text-overflow:ellipsis;}
html.v15-admin .aset .achv{
margin-left:auto;opacity:.45;}
.v15adminSearch{
width:100%;margin:8px 0;padding:9px 12px;border-radius:10px;border:1px solid #e0e0e0;font-size:13px;background:#fff;}
.v15wrap{
padding:10px 10px 90px;}
.v15card{
background:#fff;border-radius:14px;padding:12px 12px 14px;margin:0 0 12px;box-shadow:0 1px 4px rgba(0,0,0,.07);border:1px solid #f1f1f1;}
.v15card>h4{
margin:2px 0 10px;font-size:14.5px;color:#4a148c;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.v15card>h4 small{
font-weight:500;color:#888;font-size:11px;}
.v15note{
background:#f7f8ff;border-left:3px solid #7b1fa2;border-radius:8px;padding:8px 10px;font-size:12.5px;line-height:1.65;color:#333;margin:6px 0;}
.v15note.good{
background:#e8f5e9;border-left-color:#2e7d32;}
.v15note.bad{
background:#ffebee;border-left-color:#c62828;}
.v15note.warn{
background:#fff8e1;border-left-color:#f9a825;}
.v15row{
display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0;font-size:12.5px;color:#444;}
.v15grid{
display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));}
.v15grid.wide{
grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}
.v15btn{
border:1px solid #e91e63;background:#fff;color:#c2185b;font-weight:600;font-size:12px;padding:8px 11px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-family:inherit;}
.v15btn:active{
transform:scale(.97);}
.v15btn.ghost{
border-color:#ccc;color:#555;}
.v15btn.dark{
background:#3a3a52;border-color:#3a3a52;color:#fff;}
.v15btn.ok{
background:#2e7d32;border-color:#2e7d32;color:#fff;}
.v15btn.danger{
background:#c62828;border-color:#c62828;color:#fff;}
.v15btn.on{
background:linear-gradient(135deg,#2e7d32,#1b5e20);color:#fff;border-color:transparent;}
.v15btn.warn{
background:linear-gradient(135deg,#ef5350,#c62828);color:#fff;border-color:transparent;}
.v15btn.sm{
padding:5px 9px;font-size:11px;border-radius:8px;}
.v15btn[disabled]{
opacity:.5;pointer-events:none;}
.v15tabs{
display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;-webkit-overflow-scrolling:touch;}
.v15tabs button{
flex:0 0 auto;border:1px solid #e6e6e6;background:#fff;color:#555;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;}
.v15tabs button.on{
background:linear-gradient(135deg,#e91e63,#7b1fa2);color:#fff;border-color:transparent;}
.v15kv{
display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;}
.v15kv>div{
background:#fafafa;border:1px solid #eee;border-radius:10px;padding:8px 10px;}
.v15kv b{
display:block;font-size:15px;color:#222;}
.v15kv small{
color:#888;font-size:11px;}
.v15f{
display:grid;gap:4px;margin:6px 0;}
.v15f label{
font-size:11.5px;color:#666;font-weight:600;}
.v15f input,.v15f select,.v15f textarea{
width:100%;padding:8px 10px;border:1px solid #e0e0e0;border-radius:10px;font-size:13px;font-family:inherit;background:#fff;}
.v15f.row2{
grid-template-columns:1fr 1fr;}
.v15f.row3{
grid-template-columns:1fr 1fr 1fr;}
.v15f .hint{
font-size:10.5px;color:#999;}
.v15sw{
display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px dashed #eee;font-size:12.5px;}
.v15sw:last-child{
border-bottom:0;}
.v15sw input[type=checkbox]{
width:40px;height:22px;accent-color:#7b1fa2;}
.v15chk{
display:inline-flex;align-items:center;gap:6px;font-size:12.5px;cursor:pointer;}
.v15chk input{
width:16px;height:16px;accent-color:var(--primary,#e91e63);}
.v15ta{
width:100%;border:1px solid #ddd;border-radius:10px;padding:8px;font-size:12.5px;font-family:inherit;line-height:1.6;}
.v15tbl{
width:100%;border-collapse:collapse;font-size:12px;}
.v15tbl th,.v15tbl td{
border-bottom:1px solid #eee;padding:7px 6px;text-align:left;vertical-align:middle;}
.v15tbl th{
background:#f7f7f9;font-size:11px;color:#666;position:sticky;top:0;}
.v15tblwrap{
max-height:52vh;overflow:auto;border:1px solid #eee;border-radius:12px;margin-top:8px;}
.v15pill{
display:inline-block;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;}
.v15pill.ok{
background:#e8f5e9;color:#2e7d32;}
.v15pill.bad{
background:#ffebee;color:#c62828;}
.v15pill.off{
background:#eceff1;color:#546e7a;}
.v15pill.wait{
background:#fff8e1;color:#ef6c00;}
.v15bad{
color:#c62828;}
.v15ok{
color:#2e7d32;}
.v15thumb{
position:relative;border:1px solid #eee;border-radius:12px;overflow:hidden;background:#fafafa;}
.v15thumb img{
width:100%;height:96px;object-fit:cover;display:block;}
.v15thumb .cap{
font-size:10.5px;padding:5px 6px;line-height:1.35;color:#555;}
.v15thumb .tag{
position:absolute;top:4px;left:4px;background:rgba(0,0,0,.6);color:#fff;font-size:9.5px;padding:2px 6px;border-radius:999px;}
.v15DemoBadge{
display:inline-block;background:#fff3e0;color:#e65100;border:1px dashed #ffb74d;border-radius:8px;padding:2px 6px;font-size:10.5px;font-weight:700;margin:4px 2px 0;white-space:nowrap;}
.ecs-tile.ecs-photo,.cat.cat-photo,.ecp-th.ecp-photo{
position:relative;}
.ecs-tile>img.v15-tile-img,.cat>img.v15-cat-img{
position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;z-index:0;}
.ecs-tile>img.v15-tile-img ~ *,.cat>img.v15-cat-img ~ *{
position:relative;z-index:1;}
.ecs-tile .v15-tile-nm,.cat .v15-cat-nm{
position:absolute;left:0;right:0;bottom:0;z-index:2;background:linear-gradient(transparent,rgba(0,0,0,.68));color:#fff;font-size:10.5px;font-weight:700;padding:12px 6px 5px;text-align:center;border-radius:0 0 inherit inherit;text-shadow:0 1px 2px rgba(0,0,0,.5);}
.ecs-scroll.v15-hide-row2 .ecs-row:nth-child(2){
display:none;}
.v15-hidden{
display:none !important;}
.v15-paused .ecs-row{
animation-play-state:paused !important;}
.v15-one .ecs-row{
flex-wrap:nowrap;}
.v15rescue{
position:fixed;left:8px;right:8px;bottom:74px;z-index:100055;background:#fff;border:1px solid #ffb74d;border-left:4px solid #ef6c00;border-radius:12px;box-shadow:0 6px 22px rgba(0,0,0,.18);padding:10px 12px;}
.v15rescue b{
display:block;font-size:13px;color:#e65100;margin-bottom:2px;}
.v15rescue p{
margin:0 0 8px;font-size:11.5px;color:#555;line-height:1.6;}
#v15Modal{
position:fixed;inset:0;z-index:100060;background:rgba(0,0,0,.5);display:none;}
#v15Modal.on{
display:block;}
#v15Modal .box{
position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,94vw);max-height:88vh;overflow:auto;background:#fff;border-radius:16px;padding:14px;}
#v15Modal .box h3{
margin:0 0 8px;font-size:15px;color:#4a148c;display:flex;justify-content:space-between;gap:8px;}
#v15Modal .box h3 button{
border:0;background:#f1f1f1;border-radius:8px;width:28px;height:28px;cursor:pointer;font-size:14px;}
.v15sellBadge{
display:inline-block;background:linear-gradient(135deg,#e91e63,#7b1fa2);color:#fff;font-size:10px;font-weight:700;border-radius:999px;padding:2px 8px;margin:3px 3px 0 0;}
.ecp-c.v15-out .ecp-img,.card.v15-out .cimg{
filter:grayscale(.7) brightness(.95);}
.v15OutTag{
position:absolute;top:6px;right:6px;background:rgba(198,40,40,.92);color:#fff;font-size:10px;font-weight:700;padding:3px 7px;border-radius:999px;}
#v15BnrHost{
margin:10px 0;}
#v15BnrHost .v15bg{
border-radius:14px;overflow:hidden;position:relative;background:#fafafa;}
#v15BnrHost img{
width:100%;display:block;}
#v15BnrHost .bt{
position:absolute;left:0;right:0;bottom:0;padding:14px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;}
#v15BnrHost .bt b{
display:block;font-size:14px;}
#v15BnrHost .bt small{
font-size:11px;opacity:.92;}
#v15BnrHost .bb{
margin-top:6px;display:inline-block;background:#fff;color:#c2185b;font-weight:700;font-size:11.5px;padding:6px 10px;border-radius:999px;}
@media (min-width:720px){
#v15BnrHost .v15bGrid{
display:grid;gap:10px;grid-template-columns:1fr 1fr;}
}
#v15FbStage{
position:fixed;inset:0;z-index:100070;background:rgba(0,0,0,.55);display:none;}
#v15FbStage.on{
display:block;}
#v15FbStage .fr{
position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(430px,94vw);max-height:62vh;overflow:auto;background:#fff;border-radius:16px;padding:12px;}
#v15FbStage .tgl{
background:#ffeaea;color:#b71c1c;font-size:11px;padding:6px 9px;border-radius:8px;margin-bottom:8px;}
.v15prev{
display:grid;gap:10px;grid-template-columns:1fr;margin-top:8px;}
@media (min-width:860px){
.v15prev{
grid-template-columns:360px 1fr;}
}
.v15prev .mob,.v15prev .desk{
border:1px solid #ddd;border-radius:14px;padding:8px;background:#fbfbfd;}
.v15prev .mob{
max-width:360px;}
.v15prev .nm{
font-size:11px;color:#777;margin-bottom:6px;font-weight:700;}
.v15mock{
border-radius:10px;overflow:hidden;background:#fff;border:1px solid #eee;}
.v15mock .hd{
padding:8px 10px;font-size:12px;font-weight:700;color:#fff;display:flex;align-items:center;gap:6px;}
.v15mock .bd{
padding:8px 10px;font-size:11.5px;color:#555;}
.v15mock .st{
height:3px;background:linear-gradient(90deg,#e91e63,#ffb300);}
.v15tpl{
display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));}
.v15tpl .t{
border:2px solid #eee;border-radius:12px;overflow:hidden;cursor:pointer;background:#fff;}
.v15tpl .t.sel{
border-color:#e91e63;box-shadow:0 0 0 3px rgba(233,30,99,.15);}
.v15tpl .t .pv{
height:42px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;font-weight:700;}
.v15tpl .t .nm{
font-size:10.5px;padding:5px 6px;color:#555;text-align:center;line-height:1.3;}
.v15sellerStat{
display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));}
.v15sellerStat>div{
background:linear-gradient(135deg,#fff,#faf7ff);border:1px solid #efe6f7;border-radius:12px;padding:9px 10px;}
.v15sellerStat b{
display:block;font-size:15px;}
.v15sellerStat small{
color:#7a7a8c;font-size:10.5px;}
.v15chat{
max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:6px;padding:6px;background:#fafafa;border-radius:12px;}
.v15chat .m{
max-width:82%;padding:7px 10px;border-radius:12px;font-size:12px;line-height:1.55;}
.v15chat .m.me{
align-self:flex-end;background:#e3f2fd;}
.v15chat .m.them{
align-self:flex-start;background:#fff;border:1px solid #eee;}
.v15chat .m small{
display:block;font-size:9.5px;color:#999;margin-top:3px;}
@media (max-width:480px){
.v15wrap{
padding:8px 8px 96px;}
.v15f.row2,.v15f.row3{
grid-template-columns:1fr;}
.v15grid{
grid-template-columns:repeat(auto-fill,minmax(104px,1fr));}
.v15keypad{
grid-template-columns:repeat(3,1fr);}
}
html.v15-navpad body{
padding-bottom:66px;}
.ecs-tile>img.ecs-img,.cat>img.cimg{
position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;z-index:0;display:block;}
.ecs-tile{
position:relative;overflow:hidden;}
.cat{
position:relative;overflow:hidden;}
#catGrid .cat>img.cimg ~ span,.ecs-tile>img.ecs-img ~ b,.ecs-tile>img.ecs-img ~ small{
position:relative;z-index:1;}
.ecs-tile>img.ecs-img ~ b{
text-shadow:0 1px 3px rgba(0,0,0,.6);}
.ecp-card .ecp-th{
position:relative;overflow:hidden;}
.ecp-card .ecp-th>img{
width:100%;height:100%;object-fit:cover;}
