/* ============================================================
   AccountShop — Main CSS
   ============================================================ */
:root{
  --bg:#09090f;--card:#111219;--border:#1e1f2e;--border2:#2a2b3d;
  --text:#e8e9f4;--text2:#8b8da8;--muted:#555770;
  --blue:#3b9eff;--blue-dim:rgba(59,158,255,.1);
  --green:#22c55e;--green-dim:rgba(34,197,94,.1);
  --red:#ef4444;--red-dim:rgba(239,68,68,.1);
  --yellow:#f59e0b;--purple:#a855f7;--purple-dim:rgba(168,85,247,.1);
  --tag:rgba(255,255,255,.05);--sb:220px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Be Vietnam Pro',sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6;}
a{color:var(--blue);text-decoration:none;}

/* ─── LAYOUT ─── */
.app{display:flex;height:100vh;overflow:hidden;}
.main{flex:1;display:flex;flex-direction:column;overflow:hidden;}
.content{flex:1;overflow-y:auto;padding:24px;}

/* ─── SIDEBAR ─── */
.sidebar{width:var(--sb);min-width:var(--sb);background:var(--card);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width .25s,min-width .25s;overflow:hidden;}
.sidebar.mini{width:58px;min-width:58px;}
.sb-logo{display:flex;align-items:center;gap:10px;padding:20px 16px 16px;border-bottom:1px solid var(--border);}
.sb-logo-icon{width:32px;height:32px;background:linear-gradient(135deg,#3b9eff,#a855f7);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.sb-logo-text{font-size:17px;font-weight:800;white-space:nowrap;}
.sb-logo-text span{color:var(--blue);}
.sb-scroll{flex:1;overflow-y:auto;padding:10px 0;}
.sb-section{margin-bottom:6px;}
.sb-label{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--muted);padding:10px 16px 4px;white-space:nowrap;overflow:hidden;}
.sb-item{display:flex;align-items:center;gap:10px;padding:9px 16px;cursor:pointer;border-radius:8px;margin:1px 8px;transition:all .18s;position:relative;}
.sb-item:hover{background:var(--tag);}
.sb-item.active{background:var(--blue-dim);}
.sb-item.active .sb-name{color:var(--blue);}
.sb-icon{font-size:17px;flex-shrink:0;width:22px;text-align:center;}
.sb-name{font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;flex:1;}
.sb-badge{padding:2px 7px;border-radius:5px;font-size:10px;font-weight:700;white-space:nowrap;}
.sb-badge.hot{background:var(--red-dim);color:var(--red);}
.sb-badge.new{background:var(--green-dim);color:var(--green);}
.sb-badge.num{background:var(--blue-dim);color:var(--blue);}
.sidebar.mini .sb-name,.sidebar.mini .sb-label,.sidebar.mini .sb-badge,.sidebar.mini .sb-logo-text,.sidebar.mini .sb-collapse-label{display:none;}
.sidebar.mini .sb-item{justify-content:center;padding:10px;}
.sb-footer{padding:12px 8px;border-top:1px solid var(--border);}
.sb-collapse{display:flex;align-items:center;gap:10px;padding:8px 10px;cursor:pointer;border-radius:8px;transition:background .18s;}
.sb-collapse:hover{background:var(--tag);}
.sb-collapse-icon{font-size:13px;color:var(--text2);}
.sb-collapse-label{font-size:13px;font-weight:500;color:var(--text2);}
.sidebar.mini .sb-collapse{justify-content:center;}
.sidebar.mini .sb-collapse-icon{transform:rotate(180deg);}

/* ─── TOPBAR ─── */
.topbar{height:56px;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:16px;background:var(--card);flex-shrink:0;}
.topbar-logo{font-size:18px;font-weight:900;flex-shrink:0;}
.topbar-logo span{color:var(--blue);}
.topbar-nav{display:flex;gap:4px;flex:1;}
.tnav-item{padding:6px 12px;border-radius:8px;font-size:13px;font-weight:500;color:var(--text2);cursor:pointer;transition:all .17s;}
.tnav-item:hover{background:var(--tag);color:var(--text);}
.tnav-item.active{background:var(--blue-dim);color:var(--blue);}
.topbar-right{display:flex;align-items:center;gap:8px;margin-left:auto;}
.tb-balance{font-size:13px;font-weight:700;color:var(--green);background:var(--green-dim);padding:6px 12px;border-radius:8px;}
.tb-user{font-size:13px;font-weight:600;color:var(--text2);padding:6px 12px;cursor:pointer;border-radius:8px;transition:background .17s;}
.tb-user:hover{background:var(--tag);}

/* ─── BUTTONS ─── */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 20px;border-radius:9px;background:linear-gradient(135deg,#3b9eff,#2563eb);color:#fff;font-weight:700;font-size:13.5px;border:none;cursor:pointer;transition:all .18s;font-family:inherit;width:100%;margin-bottom:8px;}
.btn-primary:hover{opacity:.9;transform:translateY(-1px);}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 20px;border-radius:9px;background:var(--tag);color:var(--text2);font-weight:600;font-size:13.5px;border:1px solid var(--border2);cursor:pointer;transition:all .18s;font-family:inherit;width:100%;}
.btn-secondary:hover{border-color:var(--blue);color:var(--blue);}
.tb-btn{padding:7px 14px;border-radius:8px;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .17s;font-family:inherit;border:1px solid var(--border2);}
.tb-btn.primary{background:var(--blue);color:#fff;border-color:var(--blue);}
.tb-btn.primary:hover{opacity:.88;}
.tb-btn.outline{background:transparent;color:var(--text2);}
.tb-btn.outline:hover{background:var(--tag);}
.btn-buy-sm{padding:8px 16px;border-radius:8px;background:linear-gradient(135deg,#3b9eff,#2563eb);color:#fff;font-size:12.5px;font-weight:700;border:none;cursor:pointer;transition:all .18s;white-space:nowrap;font-family:inherit;}
.btn-buy-sm:hover{opacity:.88;}

/* ─── DOWNLOAD BUTTON ─── */
.btn-download{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:10px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-weight:700;font-size:14px;border:none;cursor:pointer;transition:all .2s;font-family:inherit;text-decoration:none;}
.btn-download:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 8px 24px rgba(34,197,94,.3);}
.btn-download-sm{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:8px;background:var(--green-dim);color:var(--green);font-size:12.5px;font-weight:700;border:1px solid rgba(34,197,94,.3);cursor:pointer;font-family:inherit;text-decoration:none;transition:all .17s;}
.btn-download-sm:hover{background:var(--green);color:#fff;}

/* ─── DOWNLOAD PAGE ─── */
.dl-hero{background:linear-gradient(135deg,#0a1a0a,#0d2d0d);border:1px solid rgba(34,197,94,.2);border-radius:20px;padding:36px;text-align:center;margin-bottom:24px;}
.dl-hero-icon{font-size:64px;margin-bottom:16px;display:block;}
.dl-hero-title{font-size:26px;font-weight:900;color:var(--green);margin-bottom:8px;}
.dl-hero-sub{font-size:14px;color:var(--text2);}
.dl-card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-bottom:16px;}
.dl-card-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;}
.dl-card-head .dl-icon{width:44px;height:44px;border-radius:12px;background:var(--green-dim);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.dl-card-body{padding:20px;}
.dl-info-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);}
.dl-info-row:last-child{border-bottom:none;}
.dl-info-label{font-size:12.5px;color:var(--text2);}
.dl-info-val{font-size:13.5px;font-weight:600;}
.dl-account-box{background:rgba(34,197,94,.07);border:1px solid rgba(34,197,94,.25);border-radius:12px;padding:16px;margin:16px 0;}
.dl-account-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;}
.dl-account-label{font-size:12px;color:var(--text2);}
.dl-account-val{font-size:13px;font-weight:700;font-family:monospace;color:var(--text);}
.copy-inline{background:none;border:none;color:var(--blue);cursor:pointer;font-size:12px;padding:3px 7px;border-radius:5px;transition:background .15s;}
.copy-inline:hover{background:var(--blue-dim);}

/* ─── HISTORY TABLE ─── */
.order-row{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--border);transition:background .15s;}
.order-row:hover{background:rgba(255,255,255,.02);}
.order-row:last-child{border-bottom:none;}
.order-icon{width:42px;height:42px;border-radius:11px;background:var(--tag);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.order-info{flex:1;min-width:0;}
.order-name{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.order-meta{font-size:12px;color:var(--text2);margin-top:2px;}
.order-price{font-size:14px;font-weight:800;color:var(--yellow);white-space:nowrap;}
.order-actions{display:flex;gap:6px;align-items:center;}

/* ─── PANEL ─── */
.panel{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:16px;}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);}
.panel-head h3{font-size:14px;font-weight:700;}
.panel-body{padding:16px 18px;}

/* ─── FORMS ─── */
.fi,.fsel,.fta{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border2);border-radius:9px;padding:10px 13px;color:var(--text);font-size:13.5px;font-family:inherit;transition:border .17s;outline:none;}
.fi:focus,.fsel:focus,.fta:focus{border-color:var(--blue);}
.fsel{cursor:pointer;}
.fta{resize:vertical;min-height:90px;line-height:1.65;}
.fi::placeholder,.fta::placeholder{color:var(--muted);}
.fsel option{background:var(--card);color:var(--text);}
.fg{display:flex;flex-direction:column;gap:6px;}
.fg label{font-size:12.5px;font-weight:600;color:var(--text2);}
.fg.full{grid-column:1/-1;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fgroup{margin-bottom:14px;}
.fgroup label{display:block;font-size:12.5px;font-weight:600;color:var(--text2);margin-bottom:6px;}
.form-error{background:var(--red-dim);border:1px solid var(--red);border-radius:8px;padding:9px 13px;font-size:13px;color:var(--red);margin-bottom:12px;}
.fi-download{border-color:rgba(34,197,94,.3) !important;background:rgba(34,197,94,.04) !important;}
.fi-download:focus{border-color:var(--green) !important;}
.tag-input-wrap{display:flex;flex-wrap:wrap;gap:6px;background:rgba(255,255,255,.04);border:1px solid var(--border2);border-radius:9px;padding:8px;}
.tag-input-wrap input{border:none;background:transparent;outline:none;color:var(--text);font-size:13px;font-family:inherit;flex:1;min-width:120px;}
.tag-chip{display:flex;align-items:center;gap:5px;background:var(--blue-dim);color:var(--blue);border:1px solid rgba(59,158,255,.3);border-radius:6px;padding:3px 9px;font-size:12px;font-weight:600;}
.tag-chip button{background:none;border:none;color:var(--blue);cursor:pointer;padding:0;font-size:14px;line-height:1;}

/* ─── PAGE HEADER ─── */
.page-header{margin-bottom:22px;}
.page-header h1{font-size:22px;font-weight:900;margin-bottom:4px;}
.page-header p{color:var(--text2);font-size:13.5px;}
.page{display:none;}
.page.active{display:block;}

/* ─── PRODUCT CARDS ─── */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;}
.pcard{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:all .22s;display:flex;flex-direction:column;}
.pcard:hover{border-color:var(--border2);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.35);}
.pcard-top{padding:18px;background:linear-gradient(135deg,#111219,#1a1b2e);display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);}
.pcard-logo{width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:26px;background:rgba(255,255,255,.06);}
.pcard-name{font-size:14px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pcard-sub{font-size:11.5px;color:var(--text2);margin-top:2px;}
.pcard-body{padding:12px 14px;flex:1;display:flex;flex-direction:column;gap:8px;}
.pcard-desc{font-size:12px;color:var(--text2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pcard-tags{display:flex;flex-wrap:wrap;gap:5px;}
.tag{display:inline-flex;padding:3px 8px;background:var(--tag);border-radius:5px;font-size:11px;color:var(--text2);}
.pcard-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-top:1px solid var(--border);}
.price-row{display:flex;flex-direction:column;}
.price-old{font-size:11px;color:var(--muted);text-decoration:line-through;}
.price-new{font-size:15px;font-weight:800;color:var(--yellow);}
.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:5px;font-size:11px;font-weight:700;}
.badge.hot{background:var(--red-dim);color:var(--red);}
.badge.new{background:var(--green-dim);color:var(--green);}
.badge.ok{background:var(--green-dim);color:var(--green);}
.badge.pend{background:rgba(245,158,11,.1);color:var(--yellow);}
.badge.fail{background:var(--red-dim);color:var(--red);}

/* ─── CHATBOT PROMPT CARDS ─── */
.cp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.cp-card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .22s;}
.cp-card:hover{border-color:var(--border2);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.3);}
.cp-thumb{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.cp-thumb-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,.7));}
.cp-thumb-badges{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;}
.cp-badge{padding:3px 9px;border-radius:5px;font-size:11px;font-weight:700;}
.cpb-premium{background:rgba(245,158,11,.2);color:#f59e0b;}
.cpb-new{background:var(--green-dim);color:var(--green);}
.cpb-cat{background:rgba(255,255,255,.15);color:#fff;}
.cp-save-btn{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:7px;padding:5px 9px;cursor:pointer;font-size:13px;}
.cp-body{padding:14px;}
.cp-title{font-size:14.5px;font-weight:700;margin-bottom:7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cp-desc{font-size:12.5px;color:var(--text2);line-height:1.6;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cp-foot{display:flex;align-items:center;justify-content:space-between;}
.cp-price{font-size:16px;font-weight:800;color:#f59e0b;}
.cp-old{font-size:11px;color:var(--muted);text-decoration:line-through;margin-right:6px;}

/* ─── FREE PROMPT ─── */
.pmf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
@media(max-width:1200px){.pmf-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:800px){.pmf-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:500px){.pmf-grid{grid-template-columns:1fr;}}
.pmf-card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .22s;display:block;}
.pmf-card:hover{border-color:var(--border2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.3);}
.pmf-media-placeholder{width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-size:36px;}
.pmf-video-badge{position:absolute;top:10px;left:10px;background:rgba(239,68,68,.85);color:#fff;padding:3px 9px;border-radius:5px;font-size:11px;font-weight:700;}
.pmf-body{padding:10px 12px;}
.pmf-cat-tag{display:inline-flex;padding:3px 9px;border-radius:5px;font-size:11px;font-weight:600;background:var(--tag);color:var(--text2);margin-bottom:8px;}
.pmf-title{font-size:13px;font-weight:700;margin-bottom:4px;line-height:1.35;}
.pmf-desc{font-size:12px;color:var(--text2);line-height:1.55;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pmf-code{background:#07080d;border-radius:7px;padding:8px 10px;font-family:'Courier New',monospace;font-size:10.5px;color:#7dd3fc;line-height:1.55;margin-bottom:8px;border:1px solid rgba(125,211,252,.1);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;}
.pmf-foot{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid var(--border);}
.pmf-stats{display:flex;gap:12px;}
.pmf-stat{font-size:11.5px;color:var(--muted);}
.pmf-actions{display:flex;gap:7px;}
.pmf-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:7px;border:1px solid var(--border2);background:var(--tag);color:var(--text2);font-size:12px;font-weight:600;cursor:pointer;transition:all .18s;font-family:inherit;}
.pmf-btn:hover{border-color:var(--blue);color:var(--blue);}
.pmf-btn.copy{border-color:rgba(59,158,255,.3);color:var(--blue);background:var(--blue-dim);}
.pmf-btn.copy:hover{background:var(--blue);color:#fff;}

/* ─── TABLE ─── */
table{width:100%;border-collapse:collapse;}
th{text-align:left;font-size:12px;font-weight:700;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--border);}
td{padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;}
tr:last-child td{border-bottom:none;}
tr:hover td{background:rgba(255,255,255,.02);}

/* ─── SELL LAYOUT ─── */
.sell-layout{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start;}
.img-upload{background:rgba(255,255,255,.03);border:2px dashed var(--border2);border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:border .18s;}
.img-upload:hover{border-color:var(--blue);}
.img-upload-icon{font-size:32px;margin-bottom:8px;}
.img-upload-text{font-size:13.5px;font-weight:600;margin-bottom:4px;}
.img-upload-sub{font-size:11.5px;color:var(--muted);}

/* ─── LISTING ROWS ─── */
.listing-row{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--border);}
.listing-row:last-child{border-bottom:none;}
.listing-row:hover{background:rgba(255,255,255,.02);}
.listing-icon{width:40px;height:40px;border-radius:10px;background:var(--tag);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.listing-info{flex:1;min-width:0;}
.listing-name{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.listing-sub{font-size:12px;color:var(--text2);}
.listing-price{font-size:14px;font-weight:800;color:var(--yellow);white-space:nowrap;}
.listing-status{padding:4px 10px;border-radius:6px;font-size:11.5px;font-weight:700;white-space:nowrap;}
.ls-active{background:var(--green-dim);color:var(--green);}
.ls-pending{background:rgba(245,158,11,.1);color:var(--yellow);}
.la-btn{padding:6px 12px;border-radius:7px;border:1px solid var(--border2);background:var(--tag);color:var(--text2);font-size:12px;cursor:pointer;transition:all .17s;font-family:inherit;font-weight:500;}
.la-btn:hover{border-color:var(--blue);color:var(--blue);}
.la-btn.del:hover{border-color:var(--red);color:var(--red);}
.ml-tab{padding:7px 14px;border-radius:8px;font-size:12.5px;font-weight:600;border:1px solid var(--border);background:var(--tag);color:var(--text2);cursor:pointer;transition:all .17s;font-family:inherit;margin-bottom:10px;}
.ml-tab.on{background:var(--blue-dim);border-color:var(--blue);color:var(--blue);}

/* ─── MODAL ─── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:200;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.modal-overlay.open{display:flex;}
.modal{background:var(--card);border:1px solid var(--border2);border-radius:18px;padding:28px;width:100%;max-width:420px;position:relative;max-height:90vh;overflow-y:auto;}
.modal h2{font-size:20px;font-weight:900;margin-bottom:4px;}
.modal-sub{color:var(--text2);font-size:13px;margin-bottom:20px;}
.modal-close{position:absolute;top:14px;right:14px;background:var(--tag);border:none;color:var(--text2);width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;}
.modal-close:hover{background:var(--border2);}
.modal-wide{max-width:540px;}

/* ─── ADMIN STATS ─── */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:20px;}
.sc{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;align-items:center;gap:14px;}
.sc-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.sc-val{font-size:20px;font-weight:900;}
.sc-lbl{font-size:11.5px;color:var(--muted);}

/* ─── TOAST ─── */
.toast{position:fixed;bottom:22px;right:22px;z-index:999;background:var(--card);border:1px solid var(--green);border-radius:10px;padding:11px 18px;font-size:13px;font-weight:600;color:var(--green);box-shadow:0 8px 32px rgba(0,0,0,.5);opacity:0;transform:translateY(10px);transition:all .3s;pointer-events:none;}
.toast.show{opacity:1;transform:translateY(0);}

/* ─── LOADING ─── */
.loading{display:flex;align-items:center;justify-content:center;padding:60px;flex-direction:column;gap:12px;color:var(--text2);}
.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeOut{to{opacity:0;transform:translateX(20px);max-height:0;padding:0;margin:0;}}
@keyframes popIn{0%{transform:scale(.85);opacity:0;}100%{transform:scale(1);opacity:1;}}

/* ─── MISC ─── */
.filter-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
.pill{padding:7px 16px;border-radius:20px;font-size:13px;font-weight:600;border:1px solid var(--border);background:var(--tag);color:var(--text2);cursor:pointer;transition:all .17s;}
.pill:hover{border-color:var(--blue);color:var(--blue);}
.pill.active{background:var(--blue-dim);border-color:var(--blue);color:var(--blue);}
.empty-state{text-align:center;padding:60px 20px;color:var(--muted);}
.empty-state .es-icon{font-size:52px;margin-bottom:12px;}
.empty-state p{font-size:14px;}

@media(max-width:900px){
  .sell-layout{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .topbar-nav{display:none;}
}

/* ═══ PRICING CARDS ══════════════════════════════════════ */
.pricing-card { transition: transform .2s, box-shadow .2s; }
.pricing-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,.3); }

/* ═══ FAQ ════════════════════════════════════════════════ */
.faq-item { transition: border-color .17s; }
.faq-item:hover { border-color: var(--border2) !important; }

/* ═══ ADMIN SETTINGS TABS ════════════════════════════════ */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
@media (max-width: 600px) { .form-grid { grid-template-columns: 1fr; } }

/* ═══ SUBSCRIPTION BADGE ════════════════════════════════ */
.sub-badge { display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#f59e0b22,#d97706);border:1px solid #f59e0b55;color:var(--yellow);font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:20px; }

/* ═══ TEXTAREA ═══════════════════════════════════════════ */
.fta { width:100%;background:var(--input);border:1.5px solid var(--border);border-radius:10px;padding:10px 14px;font-size:13.5px;color:var(--text);font-family:inherit;resize:vertical;min-height:80px;transition:border-color .17s;outline:none;box-sizing:border-box; }
.fta:focus { border-color:var(--blue); }

/* ═══ GIỚI THIỆU — Responsive feature grid ══════════════ */
@media (max-width: 860px) {
  .gt-features { grid-template-columns: repeat(2,1fr) !important; }
}
@media (max-width: 520px) {
  .gt-features { grid-template-columns: 1fr !important; }
}

/* ═══ UPLOAD BOX ═══════════════════════════════════════════ */
.upload-box {
  width: 100%;
  border: 2px dashed var(--border);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  transition: border-color .2s, background .2s, transform .15s;
  overflow: hidden;
  padding: 20px 16px;
  background: rgba(255,255,255,.02);
  min-height: 140px;
}
.upload-box:hover {
  border-color: var(--blue);
  background: rgba(59,130,246,.05);
  transform: translateY(-2px);
}
/* Ảnh: tỉ lệ 4:3 */
.upload-box.upload-img {
  aspect-ratio: 4/3;
  min-height: unset;
}
/* Video: tỉ lệ 9:16 */
.upload-box.upload-vid {
  aspect-ratio: 9/16;
  min-height: unset;
  max-height: 320px;
}
