.admin{padding:34px 20px 80px}
.guard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:40px;text-align:center;color:var(--mut);max-width:460px;margin:60px auto}
.guard a{color:#b9a7ff;text-decoration:underline}
.ahead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.ahead h1{margin:0;font-size:28px}
.ahead .sub{color:var(--mut);margin:6px 0 0;font-size:14px}
.atable{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.arow{display:grid;grid-template-columns:2.4fr 1fr .8fr .7fr .6fr auto;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}
.arow:last-child{border-bottom:none}
.ahdr{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.5px;font-weight:700;background:var(--bg2)}
.arow .pname{display:flex;align-items:center;gap:11px;min-width:0}
.arow .ic{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,#2a2550,#1a1c2b);display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0}
.arow .pname b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arow .pname small{color:var(--mut);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arow .acts{display:flex;gap:7px;justify-content:flex-end}
.arow .acts button{border:1px solid var(--line);background:var(--bg2);color:var(--txt);border-radius:9px;padding:7px 12px;cursor:pointer;font-size:13px;font-weight:600}
.arow .acts button:hover{border-color:#39414f}
.arow .acts .del:hover{border-color:var(--warn);color:var(--warn)}
.so{color:var(--warn);font-size:12px}
.eform{padding:0 20px 20px;overflow:auto}
.eform select{width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:11px;padding:12px 14px;color:var(--txt);font-size:15px}
.eform input[type=number]{width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:11px;padding:12px 14px;color:var(--txt);font-size:15px}
.eform input[type=text],.eform input:not([type]){width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:11px;padding:12px 14px;color:var(--txt);font-size:15px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media(max-width:560px){
  .arow{grid-template-columns:2fr auto;gap:8px}
  .arow span:nth-child(2),.arow span:nth-child(3),.arow span:nth-child(4),.arow span:nth-child(5){display:none}
  .ahdr{display:none}
}

/* ---------- panel v2: bloqueo, pestañas, stock, pedidos ---------- */
.guard .small{font-size:13px}
.primary.inline{width:auto;margin:0;padding:11px 20px}
.ghost.full{width:100%;margin-top:10px}
.ghost.danger:hover{border-color:var(--warn);color:var(--warn)}
button.chip{font:inherit;font-size:13px;font-weight:600}
.lockbar{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 8px 8px 14px;font-size:13px;color:var(--mut)}
.lockbar.on{border-color:#1d5a40;color:#5fe0a8;background:#0f1f19}
.atabs{display:flex;gap:6px;background:var(--bg2);padding:5px;border-radius:12px;margin-bottom:18px;width:fit-content;max-width:100%;overflow:auto}
.atabs button{background:transparent;border:none;color:var(--mut);padding:9px 16px;border-radius:9px;font-weight:700;cursor:pointer;font-size:14px;display:flex;gap:7px;align-items:center;white-space:nowrap}
.atabs button.active{background:var(--accent);color:#fff}
.badge{background:var(--warn);color:#fff;border-radius:999px;font-size:11px;padding:1px 7px}
.tabhead{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.tabhead .hint{margin:0;max-width:640px;font-size:13px;color:var(--mut)}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.autotag{font-style:normal;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;background:#201d33;color:#b9a7ff;border-radius:999px;padding:2px 7px;margin-left:7px}
.arow .acts .stockbtn{border-color:#3a3360;color:#c9bbff}
.arow .acts .stockbtn:hover{border-color:var(--accent)}

.switch{display:flex;gap:9px;align-items:center;color:var(--txt);font-weight:600;cursor:pointer;margin-top:16px}
.switch input{width:16px;height:16px;accent-color:var(--accent)}
.switch.small{margin:0;font-size:12px;color:var(--mut)}
.eform input:disabled{opacity:.45}

.drawer.wide{width:620px}
.stockcount{background:linear-gradient(135deg,#1c1838,#14161d);border:1px solid #3a3360;border-radius:14px;padding:16px 18px;margin-top:18px;color:var(--mut)}
.stockcount b{font-size:30px;color:var(--txt);margin-right:6px}
textarea{width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:11px;padding:12px 14px;color:var(--txt);font:13px/1.55 ui-monospace,Consolas,monospace;resize:vertical;white-space:pre;overflow:auto}
textarea:focus{outline:none;border-color:var(--accent)}
.stockbar{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.stockhead{display:flex;justify-content:space-between;align-items:center;margin-top:26px;border-top:1px solid var(--line);padding-top:16px}
.stockhead h3{margin:0;font-size:16px}
.stockhead .btnrow{margin:0}
.slines{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:6px}
.sline{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);font-size:13px}
.sline:last-child{border-bottom:none}
.sline .n{color:#5e6676;font-size:11px;min-width:28px}
.sline code{flex:1;font:12px ui-monospace,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d6d9e0}
.sline button{border:1px solid var(--line);background:var(--card);color:var(--txt);border-radius:8px;padding:4px 10px;cursor:pointer;font-size:12px}
.sline .del:hover{border-color:var(--warn);color:var(--warn)}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:80;display:flex;align-items:center;justify-content:center;padding:20px}
.modal[hidden]{display:none}
.modal input[type=password]{margin-bottom:0}

.olist{display:grid;gap:12px}
.ocard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.ohead{display:flex;align-items:center;gap:10px}
.ohead .sp{flex:1}
.ostatus{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;border-radius:999px;padding:3px 9px;background:#242833;color:var(--mut)}
.ostatus.pending{background:#33290f;color:#ffcf5c}
.ostatus.delivered{background:#132a22;color:#5fe0a8}
.ostatus.cancelled,.ostatus.expired{background:#2e1616;color:#ff8f8f}
.ometa{color:var(--mut);font-size:12px;margin-top:4px}
.oitems{margin:10px 0 0;padding-left:18px;font-size:14px}

.aurow{display:grid;grid-template-columns:130px 200px 1fr;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);font-size:13px;align-items:center}
.aurow:last-child{border-bottom:none}
.aurow .t{color:var(--mut);font-size:12px}
.aurow .d{color:var(--mut);font-size:12px;overflow:hidden;text-overflow:ellipsis}
.aurow.warn b{color:var(--warn)}
@media(max-width:620px){
  .aurow{grid-template-columns:1fr}
  .lockbar{width:100%;justify-content:space-between}
}
.oline{margin-top:12px;font-weight:600;font-size:14px}
.ocard .slines{margin-top:8px}
.ghost.small{margin-top:8px;padding:6px 12px;font-size:12px}
.ocard .hint{margin:10px 0 0;font-size:12px;color:var(--mut)}
.empty a{color:#b9a7ff;text-decoration:underline}
.filters .chip{border-color:var(--line);background:var(--bg2)}
.filters .chip.active{background:var(--grad);border-color:transparent}
.atable,.ocard,.lockbar{backdrop-filter:blur(8px)}

/* carpeta automática */
.inboxhero{display:flex;gap:18px;align-items:flex-start;padding:22px;border-radius:18px;border:1px solid rgba(139,92,246,.4);background:radial-gradient(500px 200px at 0 0,rgba(139,92,246,.18),transparent 70%),var(--card);margin-bottom:24px}
.inboxhero h2{margin:0 0 4px;font-size:20px}
.inboxhero .hint{margin:0 0 12px;font-size:13px;color:var(--mut)}
.tico.big{width:54px;height:54px;font-size:26px;border-radius:14px;display:grid;place-items:center;background:rgba(139,92,246,.15);flex-shrink:0}
.pathbox{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pathbox code{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;font:13px ui-monospace,Consolas,monospace;color:#c4b5fd;word-break:break-all}
.h3{margin:0;font-size:16px}
.inrow{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.inrow:last-child{border-bottom:none}
.inrow b{display:block}
.inrow small{color:var(--mut);font-size:12px}
.fname{font:12.5px ui-monospace,Consolas,monospace;background:var(--bg2);border:1px dashed var(--line2);color:#67e8f9;border-radius:9px;padding:7px 11px}
.fname:hover{border-color:var(--cyan)}
#tab-inbox .atable{margin-bottom:12px}
#tab-inbox .tabhead{margin-top:22px}
textarea.drop{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(34,211,238,.15)}
@media(max-width:620px){.inrow{grid-template-columns:1fr}.inboxhero{flex-direction:column}}

/* categorías */
.catform{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.catform input,.catrow input{background:var(--bg2);border:1px solid var(--line);border-radius:11px;padding:11px 13px;color:var(--txt);font-size:15px}
.catform input:focus,.catrow input:focus{outline:none;border-color:var(--accent)}
#catName{flex:1;min-width:200px}
.catrow{display:grid;grid-template-columns:auto 52px 1fr auto auto;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line)}
.catrow:last-child{border-bottom:none}
.catrow .catname{width:100%;font-weight:700}
.catrow input{padding:8px 11px;background:transparent;border-color:transparent}
.catrow input:hover{border-color:var(--line)}
.catord{display:flex;flex-direction:column;gap:2px}
.catord button{width:26px;height:20px;border:1px solid var(--line);background:var(--bg2);color:var(--txt);border-radius:6px;cursor:pointer;font-size:11px;line-height:1}
.catord button:disabled{opacity:.3;cursor:default}
.catcount{color:var(--mut);font-size:12px;white-space:nowrap}
.catrow .acts{display:flex;gap:7px}
.catrow .acts button{border:1px solid var(--line);background:var(--bg2);color:var(--txt);border-radius:9px;padding:7px 12px;cursor:pointer;font-size:13px;font-weight:600}
.catrow .acts button:not(.del){border-color:var(--accent);background:rgba(139,92,246,.18)}
.catrow .acts .del:hover{border-color:var(--warn);color:var(--warn)}
@media(max-width:620px){.catrow{grid-template-columns:auto 52px 1fr}.catcount,.catrow .acts{grid-column:2/-1}}

.catlogo{width:52px;height:52px;border-radius:12px;border:1px dashed var(--line2);background:var(--bg2);color:var(--mut);font-size:10.5px;font-weight:700;cursor:pointer;display:grid;place-items:center;padding:0;overflow:hidden;transition:.2s}
.catlogo:hover{border-color:var(--accent);color:var(--txt)}
.catlogo.has{border-style:solid;border-color:var(--line);background:#0b0c12;padding:6px}
.catlogo img{width:100%;height:100%;object-fit:contain}
.catrow .acts .ghostbtn{border-color:var(--line)!important;background:var(--bg2)!important}

.opay{margin-top:6px;font-size:12.5px;color:#c4b5fd}
.onote{margin-top:6px;font-size:12.5px;color:var(--gold)}
.ostatus.review{background:#33290f;color:#fbbf24}
.paybtn{display:inline-flex;margin-top:12px;text-decoration:none}

/* subcategorías */
.catblock{border-bottom:1px solid var(--line)}
.catblock:last-child{border-bottom:none}
.catblock .catrow{border-bottom:none}
.subrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:0 16px 14px 96px}
.sublbl{color:var(--dim);font-size:12px;font-weight:700;margin-right:2px}
.subchip{display:inline-flex;align-items:center;background:var(--bg2);border:1px solid var(--line);border-radius:999px;overflow:hidden}
.subchip button{background:none;border:none;color:var(--txt);cursor:pointer;font-size:13px;padding:5px 7px}
.subchip .nm{font-weight:650;padding:5px 4px}
.subchip .nm:hover{color:#c4b5fd}
.subchip .mv{color:var(--dim);padding-left:10px}
.subchip .mv:disabled{opacity:.25;cursor:default}
.subchip .cnt{font-size:11px;color:var(--mut);background:rgba(255,255,255,.06);border-radius:999px;padding:0 6px;margin:0 2px}
.subchip .rm{color:var(--dim);padding-right:11px;font-size:15px}
.subchip .rm:hover{color:var(--warn)}
.subadd input{background:transparent;border:1px dashed var(--line2);border-radius:999px;padding:6px 13px;color:var(--txt);font-size:13px;width:190px}
.subadd input:focus{outline:none;border-color:var(--accent);border-style:solid}
.opt{color:var(--dim);font-weight:500}
.eform select:disabled{opacity:.5}
@media(max-width:620px){.subrow{padding-left:16px}}
.atabs{scrollbar-width:none}.atabs::-webkit-scrollbar{display:none}

/* árbol de subcategorías */
.subrow{align-items:flex-start}
.sublbl{padding-top:7px}
.subtree{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}
.subnode{display:flex;flex-direction:column;gap:7px;align-items:flex-start}
.subkids{display:flex;flex-direction:column;gap:7px;margin-left:22px;padding-left:12px;border-left:1px dashed var(--line2)}
.subchip .add{color:#67e8f9;font-weight:800;font-size:15px;padding:5px 5px}
.subchip .add:hover{color:#fff}

.eform textarea.desc{white-space:pre-wrap;font:14px/1.55 inherit;font-family:inherit;resize:vertical;min-height:110px}
.arow .pname small{white-space:nowrap}

/* modo de stock y subida de archivos */
.modepick{display:grid;gap:8px;margin-top:10px}
.mode{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border:1px solid var(--line);border-radius:12px;cursor:pointer;margin:0;color:var(--txt);transition:.2s}
.mode:has(input:checked){border-color:rgba(167,139,250,.7);background:rgba(139,92,246,.1)}
.mode input{margin-top:3px;accent-color:var(--accent)}
.mode b{display:block;font-size:14px}
.mode small{display:block;color:var(--mut);font-size:12px;font-weight:500;margin-top:2px}
.dropzone{margin-top:16px;border:2px dashed var(--line2);border-radius:16px;padding:34px 20px;text-align:center;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:.2s;background:rgba(255,255,255,.02)}
.dropzone b{font-size:16px}
.dropzone span{color:var(--mut);font-size:12.5px}
.dropzone:hover,.dropzone.over,.dropzone:focus{outline:none;border-color:var(--cyan);background:rgba(34,211,238,.06)}

.sline a.dl{border:1px solid var(--accent);background:rgba(139,92,246,.18);color:#fff;border-radius:8px;padding:4px 12px;font-size:12px;font-weight:700;text-decoration:none}
.sline a.dl:hover{background:rgba(139,92,246,.35)}
.ocard .hint.warranty{color:var(--gold)}

.arow .acts .stockbtn{border-color:var(--accent)!important;background:rgba(139,92,246,.22)!important;color:#fff!important;font-weight:700}
.arow .acts .stockbtn:hover{background:rgba(139,92,246,.4)!important}
.modepick .hint{margin:4px 2px 0;font-size:12.5px;color:#c9cde0}

.modeswitch{display:flex;gap:4px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:4px;margin-top:16px}
.modeswitch button{flex:1;background:none;border:none;color:var(--mut);padding:9px 8px;border-radius:9px;font-weight:700;font-size:13px;cursor:pointer}
.modeswitch button.on{background:var(--grad);color:#fff}
#filesBox .btnrow{justify-content:center}

.subchip .lg{font-size:10.5px;color:var(--dim);border:1px dashed var(--line2)!important;border-radius:6px;padding:2px 5px!important;margin:0 2px;line-height:1}
.subchip .lg.has{border:none!important;padding:0 2px!important}
.subchip .lg img{width:18px;height:18px;object-fit:contain;display:block}
.subchip .lg:hover{color:var(--txt);border-color:var(--accent)!important}

/* fila de producto: que nada se salga de su columna */
@media(min-width:561px){.arow{grid-template-columns:minmax(0,2.6fr) minmax(0,1.3fr) minmax(0,.7fr) minmax(0,.6fr) minmax(0,.5fr) 250px}}
.arow > span{min-width:0}
.arow .pname > div{min-width:0;overflow:hidden}
@media(min-width:561px){.arow:not(.ahdr) > span:nth-child(2){display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;line-height:1.3;font-size:13.5px}}
.arow:not(.ahdr) > span:nth-child(2) .autotag{margin-left:0}

/* pestañas de idioma de la descripción */
.trtabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.trtab{display:inline-flex;align-items:center;gap:5px;background:var(--bg2);border:1px solid var(--line);color:var(--mut);border-radius:9px;padding:5px 8px;font-size:11.5px;font-weight:800;cursor:pointer;position:relative}
.trtab img{width:16px;height:11px;border-radius:2px;object-fit:cover}
.trtab.on{border-color:var(--accent);background:rgba(139,92,246,.2);color:#fff}
.trtab.has::after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:#4ade80}
#trName{margin-bottom:8px}
#trHint{margin-top:6px}
.arow .unl{color:#67e8f9;font-weight:700;font-size:12.5px}

/* selector de emojis */
.emojitools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}
.emojitools .hint{margin:0;font-size:12px}
.emojipanel{margin-top:10px;border:1px solid var(--line);border-radius:14px;background:var(--bg2);padding:10px 12px;max-height:230px;overflow:auto}
.emojipanel[hidden]{display:none}
.egroup{color:var(--dim);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;margin:8px 0 4px}
.egroup:first-child{margin-top:0}
.erow{display:flex;flex-wrap:wrap;gap:2px}
.erow button{background:none;border:none;font-size:20px;line-height:1;padding:6px;border-radius:8px;cursor:pointer}
.erow button:hover{background:rgba(255,255,255,.1)}

/* códigos al crear producto */
.inlinestock{margin-top:12px}
.inlinestock textarea{min-height:110px}
/* emojis propios */
.emojiprev img{width:32px;height:32px;object-fit:contain;display:block}
.emojilib{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:6px}
.ecard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:8px}
.ecard img{width:48px;height:48px;object-fit:contain}
.ecard code{font:12.5px ui-monospace,Consolas,monospace;color:#67e8f9}
.ecard .btnrow{margin:0;justify-content:center}
.erow button.cust{padding:4px}
.erow button.cust img{width:24px;height:24px;object-fit:contain;display:block}
.report{margin:12px 0 0;max-height:180px;overflow:auto;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:12px/1.5 ui-monospace,Consolas,monospace;color:#c9cde0;white-space:pre-wrap}
.inboxhero + .inboxhero{margin-top:-8px}

#tab-emojis.drop .emojilib,#tab-emojis.drop .catform{outline:2px dashed var(--cyan);outline-offset:6px;border-radius:14px}
#emojiCustom .hint{margin:4px 2px}

.trbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}
.trbar .switch{margin:0}
#trEngine{margin-top:4px;font-size:12px}

/* icono con emoji propio */
.iconrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.iconrow input{flex:1;min-width:140px}
.iconprev{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#2a2550,#1a1c2b);font-weight:800;font-size:18px;flex-shrink:0}
.iconprev[hidden]{display:none}
.iconprev .iconimg,.arow .ic .iconimg{width:70%;height:70%;object-fit:contain;display:block}
#iconPanel{margin-top:8px}

/* autolistado desde la RDP */
.folderbox{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}
.folderbox label{margin-top:0}
.folderbox select{width:100%;margin-top:8px;background:var(--bg2);border:1px solid var(--line);border-radius:11px;padding:11px 12px;color:var(--txt);font-size:14px}
.autotag.folder{background:rgba(34,211,238,.12);color:#67e8f9}
.agentbody{min-width:0;flex:1}
.agentstate{display:inline-block;margin:6px 0 12px;padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:700;background:var(--bg2);border:1px solid var(--line);color:var(--mut)}
.agentstate.ok{color:#4ade80;border-color:rgba(74,222,128,.4);background:rgba(34,197,94,.08)}
.agentstate.wait{color:var(--gold);border-color:rgba(251,191,36,.4);background:rgba(251,191,36,.07)}
.tokenbox{margin-top:12px;padding:12px 14px;border:1px solid rgba(251,191,36,.5);border-radius:12px;background:rgba(251,191,36,.07)}
.tokenbox code{word-break:break-all}
.agenthelp{margin-top:12px;font-size:13px;color:#c9cde0}
.agenthelp summary{cursor:pointer;font-weight:700;color:var(--txt)}
.agenthelp ol{padding-left:20px;line-height:1.7}
.agenthelp code,.agentbody p code{background:var(--bg2);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font:12px ui-monospace,Consolas,monospace;color:#c4b5fd}
.agenth{margin:18px 0 8px}
.agentlast{color:var(--mut);font-size:12px;text-align:right}
#agentFolders .inrow{grid-template-columns:1fr auto auto}
@media(max-width:620px){#agentFolders .inrow{grid-template-columns:1fr}.agentlast{text-align:left}}
