/* === Marketplace Pro v4 === */
:root{
  --mkt-primary:#6c63ff; --mkt-primary-d:#5a52d5;
  --mkt-purple:#8b5cf6;  --mkt-green:#10b981;
  --mkt-amber:#f59e0b;   --mkt-red:#ef4444;
  --mkt-text:#1e293b;    --mkt-text-m:#475569; --mkt-text-l:#94a3b8;
  --mkt-bg:#f8fafc;      --mkt-card:#ffffff;
  --mkt-border:#e2e8f0;  --mkt-radius:12px;
  --mkt-shadow:0 1px 4px rgba(0,0,0,.06);
}
/* ── Layout ── */
.mkt-wrapper{display:flex;min-height:80vh;align-items:stretch}
.mkt-sidebar{width:240px;flex-shrink:0;background:var(--mkt-card);border-right:1px solid var(--mkt-border);display:flex;flex-direction:column}
.mkt-main{flex:1;padding:28px 32px;min-width:0;background:var(--mkt-bg)}
.mkt-user-card{display:flex;align-items:center;gap:12px;padding:20px 16px;border-bottom:1px solid var(--mkt-border)}
.mkt-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--mkt-primary);flex-shrink:0}
.mkt-user-info strong{font-size:14px;font-weight:700;color:var(--mkt-text);display:block}
.mkt-balance{font-size:12px;color:var(--mkt-primary);font-weight:600;margin-top:2px}
.mkt-nav-list{list-style:none;margin:0;padding:8px 0;flex:1}
.mkt-nav-list li a{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:14px;color:var(--mkt-text-m);text-decoration:none;border-left:3px solid transparent;transition:all .15s}
.mkt-nav-list li a:hover,.mkt-nav-list li.mkt-active a{color:var(--mkt-primary);background:#f5f3ff;border-left-color:var(--mkt-primary)}
.mkt-nav-list li.mkt-active a{font-weight:700}
/* ── Page header ── */
.mkt-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.mkt-page-header h2{margin:0;font-size:22px;font-weight:800;color:var(--mkt-text)}
.mkt-page-header p{margin:4px 0 0;color:var(--mkt-text-m);font-size:14px}
.mkt-header-left{display:flex;align-items:center;gap:14px}
.mkt-welcome-sub{margin:2px 0 0;font-size:13px;color:var(--mkt-text-m)}
/* ── KPIs ── */
.mkt-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px}
.mkt-kpi{background:var(--mkt-card);border:1px solid var(--mkt-border);border-radius:var(--mkt-radius);padding:20px;box-shadow:var(--mkt-shadow);transition:transform .15s}
.mkt-kpi:hover{transform:translateY(-2px)}
.mkt-kpi-tokens{border-top:3px solid var(--mkt-primary)}
.mkt-kpi-alert{border-color:var(--mkt-red)}
.mkt-kpi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.mkt-kpi-icon{font-size:24px}
.mkt-kpi-value{font-size:28px;font-weight:800;color:var(--mkt-text);line-height:1}
.mkt-kpi-label{font-size:13px;color:var(--mkt-text-m);margin-top:4px}
.mkt-kpi-sub{font-size:12px;color:var(--mkt-text-l);margin-top:2px}
.mkt-kpi-action{font-size:12px;color:var(--mkt-primary);text-decoration:none;font-weight:600}
.mkt-kpi-pending{font-size:11px;color:var(--mkt-amber);margin-top:4px;font-weight:600}
/* ── Action cards ── */
.mkt-action-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:28px}
.mkt-action-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 16px;border-radius:var(--mkt-radius);text-align:center;text-decoration:none;border:1px solid transparent;transition:transform .15s,box-shadow .15s}
.mkt-action-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1);text-decoration:none}
.mkt-ac-icon{font-size:28px}
.mkt-action-card strong{font-size:14px;font-weight:700}
.mkt-action-card small{font-size:12px;opacity:.8}
.mkt-ac-green{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}
.mkt-ac-amber{background:#fffbeb;color:#92400e;border-color:#fcd34d}
.mkt-ac-blue{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}
.mkt-ac-purple{background:#f5f3ff;color:#5b21b6;border-color:#ddd6fe}
/* ── Cards & Cols ── */
.mkt-dash-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.mkt-card{background:var(--mkt-card);border:1px solid var(--mkt-border);border-radius:var(--mkt-radius);overflow:hidden;box-shadow:var(--mkt-shadow)}
.mkt-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--mkt-border)}
.mkt-card-header h4{margin:0;font-size:15px;font-weight:700}
.mkt-card-link{font-size:13px;color:var(--mkt-primary);text-decoration:none;font-weight:600}
.mkt-card-body{max-height:300px;overflow-y:auto}
/* ── Badges ── */
.mkt-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}
.mkt-badge-green{background:#d1fae5;color:#065f46}
.mkt-badge-amber{background:#fef3c7;color:#92400e}
.mkt-badge-red{background:#fee2e2;color:#991b1b}
.mkt-badge-gray{background:#f1f5f9;color:#475569}
.mkt-badge-blue{background:#dbeafe;color:#1e40af}
.mkt-badge-pill{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--mkt-red);color:#fff;font-size:11px;font-weight:700;margin-left:4px}
/* ── History ── */
.mkt-history-item{display:flex;align-items:center;gap:14px;padding:12px 20px;border-bottom:1px solid var(--mkt-border)}
.mkt-history-item:last-child{border-bottom:none}
.mkt-history-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.mkt-credit .mkt-history-icon,.mkt-history-icon.mkt-credit{background:#d1fae5;color:#065f46}
.mkt-debit  .mkt-history-icon,.mkt-history-icon.mkt-debit{background:#fee2e2;color:#991b1b}
.mkt-history-info{flex:1;min-width:0}
.mkt-history-desc{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mkt-history-date{font-size:12px;color:var(--mkt-text-m);margin-top:2px}
.mkt-history-amount{font-size:15px;font-weight:700;white-space:nowrap}
.mkt-credit{color:#065f46}.mkt-debit{color:#991b1b}
/* ── Withdrawal items ── */
.mkt-wd-item{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--mkt-border)}
.mkt-wd-item:last-child{border-bottom:none}
.mkt-wd-amount{font-size:14px;font-weight:600}
.mkt-wd-date{font-size:12px;color:var(--mkt-text-m);margin-top:2px}
/* ── Section titles ── */
.mkt-section-title{font-size:16px;font-weight:700;color:var(--mkt-text);margin:0 0 14px;display:flex;align-items:center;gap:10px}
.mkt-section-link{font-size:13px;font-weight:400;color:var(--mkt-primary);text-decoration:none}
/* ── Product grid ── */
.mkt-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:8px}
.mkt-product-grid-sm{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.mkt-product-card{background:var(--mkt-card);border:1px solid var(--mkt-border);border-radius:var(--mkt-radius);overflow:hidden;box-shadow:var(--mkt-shadow);display:flex;flex-direction:column}
.mkt-product-thumb{height:170px;background-size:cover;background-position:center;background-color:#f1f5f9;position:relative;flex-shrink:0}
.mkt-product-status-badge{position:absolute;top:8px;left:8px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700}
.mkt-status-publish{background:#d1fae5;color:#065f46}
.mkt-status-pending{background:#fef3c7;color:#92400e}
.mkt-status-draft{background:#f1f5f9;color:#475569}
.mkt-product-info{padding:12px;flex:1}
.mkt-product-title{font-size:14px;font-weight:600;margin-bottom:4px;line-height:1.3}
.mkt-product-price{font-size:16px;font-weight:700;color:var(--mkt-primary)}
.mkt-product-actions{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--mkt-border)}
/* ── Buttons ── */
.mkt-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:8px;font-size:14px;font-weight:600;border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:all .15s;font-family:inherit;line-height:1;white-space:nowrap}
.mkt-btn:hover{text-decoration:none}
.mkt-btn-primary{background:var(--mkt-primary);color:#fff;border-color:var(--mkt-primary)}
.mkt-btn-primary:hover{background:var(--mkt-primary-d);border-color:var(--mkt-primary-d);color:#fff}
.mkt-btn-secondary{background:transparent;border-color:var(--mkt-border);color:var(--mkt-text-m)}
.mkt-btn-secondary:hover{border-color:var(--mkt-primary);color:var(--mkt-primary)}
.mkt-btn-sm{padding:6px 12px;font-size:13px}
.mkt-btn-lg{padding:13px 28px;font-size:16px}
.mkt-btn-block{width:100%}
.mkt-btn:disabled{opacity:.55;cursor:not-allowed}
/* ── Forms ── */
.mkt-form-section{background:var(--mkt-card);border:1px solid var(--mkt-border);border-radius:var(--mkt-radius);padding:28px;margin-bottom:20px;box-shadow:var(--mkt-shadow)}
.mkt-section-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}
.mkt-section-num{width:36px;height:36px;border-radius:50%;background:var(--mkt-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;flex-shrink:0}
.mkt-section-header h3{margin:0 0 4px;font-size:17px;font-weight:700}
.mkt-section-header p{margin:0;font-size:13px;color:var(--mkt-text-m)}
.mkt-form-group{display:flex;flex-direction:column;gap:6px;position:relative}
.mkt-label{font-size:14px;font-weight:600;color:var(--mkt-text)}
.mkt-req{color:var(--mkt-red)}
.mkt-input{width:100%;padding:10px 14px;border:1.5px solid var(--mkt-border);border-radius:8px;font-size:14px;font-family:inherit;color:var(--mkt-text);background:var(--mkt-card);transition:border-color .15s,box-shadow .15s;box-sizing:border-box}
.mkt-input:focus{outline:none;border-color:var(--mkt-primary);box-shadow:0 0 0 3px rgba(108,99,255,.12)}
.mkt-input::placeholder{color:var(--mkt-text-l)}
.mkt-select{appearance:none;cursor:pointer}
.mkt-select-wrap{position:relative}
.mkt-select-wrap::after{content:'▾';position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--mkt-text-m)}
.mkt-textarea{resize:vertical;min-height:100px}
.mkt-textarea-sm{min-height:60px}
.mkt-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mkt-form-row-3{grid-template-columns:1fr 1fr 1fr}
.mkt-char-count{font-size:12px;color:var(--mkt-text-l);text-align:right;margin-top:2px}
/* ── Rich editor ── */
.mkt-editor-toolbar{display:flex;gap:4px;margin-bottom:6px}
.mkt-editor-toolbar button{padding:5px 10px;border:1px solid var(--mkt-border);border-radius:5px;background:var(--mkt-card);cursor:pointer;font-size:13px;color:var(--mkt-text)}
.mkt-editor-toolbar button:hover{background:var(--mkt-bg)}
.mkt-richtext{min-height:140px;border:1.5px solid var(--mkt-border);border-radius:8px;padding:12px 14px;font-size:14px;line-height:1.6;outline:none;transition:border-color .15s}
.mkt-richtext:focus{border-color:var(--mkt-primary);box-shadow:0 0 0 3px rgba(108,99,255,.12)}
.mkt-richtext:empty:before{content:attr(data-placeholder);color:var(--mkt-text-l)}
/* ── Image drop ── */
.mkt-image-drop{border:2px dashed var(--mkt-border);border-radius:var(--mkt-radius);padding:32px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:var(--mkt-bg)}
.mkt-image-drop:hover,.mkt-drag-active{border-color:var(--mkt-primary);background:#f5f3ff}
.mkt-drop-placeholder p{margin:8px 0 0;font-size:14px;color:var(--mkt-text-m)}
.mkt-drop-placeholder small{font-size:12px;color:var(--mkt-text-l)}
.mkt-drop-link{color:var(--mkt-primary);font-weight:600}
.mkt-image-previews{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.mkt-img-prev{width:90px;height:90px;border-radius:8px;position:relative;overflow:hidden;border:2px solid var(--mkt-border);background:#f8fafc;display:flex;align-items:center;justify-content:center}
.mkt-img-prev img{width:100%;height:100%;object-fit:cover}
.mkt-img-loading{border-color:var(--mkt-primary)}
.mkt-img-spinner{width:24px;height:24px;border:2px solid #ddd;border-top-color:var(--mkt-primary);border-radius:50%;animation:mkt-spin .7s linear infinite}
@keyframes mkt-spin{to{transform:rotate(360deg)}}
.mkt-img-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;border:none;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}
.mkt-img-cover{position:absolute;bottom:0;left:0;right:0;background:rgba(108,99,255,.85);color:#fff;font-size:10px;font-weight:700;text-align:center;padding:3px}
/* ── Condition pills ── */
.mkt-condition-grid{display:flex;flex-wrap:wrap;gap:8px}
.mkt-condition-opt input{display:none}
.mkt-condition-opt span{display:inline-block;padding:6px 14px;border:1.5px solid var(--mkt-border);border-radius:20px;font-size:13px;font-weight:500;color:var(--mkt-text-m);cursor:pointer;transition:all .15s}
.mkt-condition-opt input:checked+span{border-color:var(--mkt-primary);background:#f0eeff;color:var(--mkt-primary);font-weight:700}
/* ── Tags ── */
.mkt-tags-input-wrap{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border:1.5px solid var(--mkt-border);border-radius:8px;padding:8px 10px;min-height:44px;cursor:text;transition:border-color .15s}
.mkt-tags-input-wrap:focus-within{border-color:var(--mkt-primary);box-shadow:0 0 0 3px rgba(108,99,255,.12)}
.mkt-tag-text-input{border:none;outline:none;font-size:14px;flex:1;min-width:120px;font-family:inherit;color:var(--mkt-text);background:transparent}
.mkt-tag-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:#ede9fe;color:var(--mkt-purple);border-radius:20px;font-size:13px;font-weight:600}
.mkt-tag-rm{border:none;background:none;cursor:pointer;color:var(--mkt-purple);font-size:14px;padding:0;line-height:1}
.mkt-tag-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}
.mkt-tag-sug-label{font-size:12px;color:var(--mkt-text-l)}
.mkt-tag-sug{padding:3px 10px;border:1px solid var(--mkt-border);border-radius:20px;background:none;font-size:12px;cursor:pointer;color:var(--mkt-text-m);transition:all .1s}
.mkt-tag-sug:hover{border-color:var(--mkt-primary);color:var(--mkt-primary)}
/* ── Commission preview ── */
.mkt-commission-preview{padding:10px 14px;background:#f0eeff;border:1.5px solid #ddd6fe;border-radius:8px;min-height:42px}
.mkt-commission-preview span{font-size:18px;font-weight:700;color:var(--mkt-primary);display:block}
.mkt-commission-preview small{font-size:12px;color:var(--mkt-text-m);margin-top:2px;display:block}
/* ── New category ── */
.mkt-new-cat-wrap{background:#f8fafc;border:1px solid var(--mkt-border);border-radius:8px;padding:14px;flex-direction:column;gap:10px}
.mkt-new-cat-actions{display:flex;gap:8px}
/* ── Form submit ── */
.mkt-form-submit{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:20px 0}
.mkt-info-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}
.mkt-info-badge-green{background:#d1fae5;color:#065f46}
.mkt-info-badge-amber{background:#fef3c7;color:#92400e}
/* ── Input prefix ── */
.mkt-input-prefix{position:relative;display:flex;align-items:center}
.mkt-input-prefix span{position:absolute;left:12px;font-size:12px;color:var(--mkt-text-l);pointer-events:none;z-index:1;white-space:nowrap}
.mkt-input-prefix .mkt-input{padding-left:52px}
/* ── Alerts ── */
.mkt-alert{padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}
.mkt-alert-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.mkt-alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
/* ── Empty states ── */
.mkt-empty-state{text-align:center;padding:48px 20px}
.mkt-empty-icon{font-size:56px;margin-bottom:16px}
.mkt-empty-state h3{margin:0 0 8px;font-size:18px}
.mkt-empty-state p{color:var(--mkt-text-m);margin:0 0 20px}
.mkt-empty-text{color:var(--mkt-text-m);font-size:14px;padding:16px 20px}
.mkt-login-required{padding:40px 20px;text-align:center;background:var(--mkt-bg);border-radius:var(--mkt-radius);border:1px dashed var(--mkt-border)}
/* ── Tokens / Wallet ── */
.mkt-wallet-card{background:linear-gradient(135deg,var(--mkt-primary),var(--mkt-purple));border-radius:16px;padding:28px;color:#fff;margin-bottom:24px;box-shadow:0 8px 32px rgba(108,99,255,.3)}
.mkt-wallet-label{font-size:13px;opacity:.8;text-transform:uppercase;letter-spacing:.5px}
.mkt-wallet-amount{font-size:42px;font-weight:800;margin:6px 0;line-height:1}
.mkt-wallet-eur{font-size:14px;opacity:.75}
.mkt-stripe-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fffbeb;border:1.5px solid #fcd34d;border-radius:var(--mkt-radius);padding:20px 24px;margin-bottom:24px;flex-wrap:wrap}
.mkt-stripe-ok{display:flex;align-items:center;gap:10px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:12px 16px;margin-bottom:20px;font-size:14px;font-weight:600;color:#065f46}
.mkt-wd-section{background:var(--mkt-card);border:1px solid var(--mkt-border);border-radius:var(--mkt-radius);padding:24px;margin-bottom:24px;box-shadow:var(--mkt-shadow)}
.mkt-wd-form{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.mkt-wd-input-wrap{flex:1;min-width:200px}
.mkt-wd-preview{font-size:13px;color:var(--mkt-primary);font-weight:600;margin-top:4px}
.mkt-history-section{background:var(--mkt-card);border:1px solid var(--mkt-border);border-radius:var(--mkt-radius);box-shadow:var(--mkt-shadow);overflow:hidden}
.mkt-history-section h3{margin:0;padding:18px 20px;border-bottom:1px solid var(--mkt-border);font-size:16px}
.mkt-history-list{max-height:400px;overflow-y:auto}
/* ── Chat ── */
.mkt-chat-layout{display:flex;height:620px;background:var(--mkt-card);border:1px solid var(--mkt-border);border-radius:var(--mkt-radius);overflow:hidden;box-shadow:var(--mkt-shadow);position:relative}
.mkt-conv-list{width:280px;flex-shrink:0;border-right:1px solid var(--mkt-border);display:flex;flex-direction:column;overflow:hidden}
.mkt-conv-search-wrap{padding:10px 12px;border-bottom:1px solid var(--mkt-border)}
.mkt-conv-search-inner{display:flex;align-items:center;gap:8px;background:var(--mkt-bg);border:1px solid var(--mkt-border);border-radius:20px;padding:6px 12px}
.mkt-conv-search-inner input{border:none;background:transparent;outline:none;font-size:13px;flex:1;font-family:inherit}
.mkt-convs-scroll{flex:1;overflow-y:auto}
.mkt-conv-item{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;border-bottom:1px solid var(--mkt-border);transition:background .1s}
.mkt-conv-item:hover,.mkt-conv-item.mkt-active{background:#f5f3ff}
.mkt-conv-av-wrap{position:relative;flex-shrink:0}
.mkt-conv-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}
.mkt-conv-dot{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;background:var(--mkt-red);border:2px solid var(--mkt-card)}
.mkt-conv-info{flex:1;min-width:0}
.mkt-conv-top{display:flex;align-items:center;justify-content:space-between;gap:4px}
.mkt-conv-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mkt-conv-time{font-size:11px;color:var(--mkt-text-l);white-space:nowrap;flex-shrink:0}
.mkt-conv-prod{font-size:11px;color:var(--mkt-primary);font-weight:600;margin:2px 0}
.mkt-conv-direct{color:var(--mkt-text-l)}
.mkt-conv-last{font-size:12px;color:var(--mkt-text-m);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mkt-chat-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--mkt-card)}
.mkt-chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--mkt-text-m)}
.mkt-chat-empty-icon{font-size:48px;margin-bottom:12px}
.mkt-chat-empty h3{margin:0 0 8px;font-size:18px}
.mkt-chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#1e293b;color:#fff;flex-shrink:0}
.mkt-chat-hinfo{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.mkt-chat-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}
.mkt-chat-username{font-size:14px;font-weight:700}
.mkt-chat-sub{font-size:11px;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mkt-chat-back{background:none;border:none;cursor:pointer;font-size:18px;color:rgba(255,255,255,.7);padding:0 8px 0 0;display:none}
.mkt-chat-product-ctx{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#f0eeff;border-bottom:1px solid #ddd6fe;flex-shrink:0}
.mkt-cpb-thumb{width:48px;height:48px;border-radius:8px;object-fit:cover;flex-shrink:0;border:1px solid #ddd6fe}
.mkt-cpb-thumb-ph{width:48px;height:48px;border-radius:8px;background:#ede9fe;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.mkt-cpb-info{flex:1;min-width:0}
.mkt-cpb-name{font-size:13px;font-weight:700;color:#5b21b6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mkt-cpb-price{font-size:15px;font-weight:800;color:#6c63ff}
.mkt-cpb-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:2px}
.mkt-cpb-badge{font-size:11px;padding:2px 7px;border-radius:8px;background:#ede9fe;color:#5b21b6;font-weight:600}
.mkt-cpb-link{font-size:12px;color:#7c3aed;font-weight:600;text-decoration:none}
.mkt-cpb-link:hover{text-decoration:underline}
.mkt-cpb-buy{padding:7px 12px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}
.mkt-cpb-buy:hover{background:#059669;color:#fff}
.mkt-chat-messages{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.mkt-msg{display:flex;flex-direction:column;gap:2px}
.mkt-msg-in{align-items:flex-start}
.mkt-msg-out{align-items:flex-end}
.mkt-msg-bubble{max-width:72%;padding:9px 13px;border-radius:14px;font-size:14px;line-height:1.5;word-break:break-word}
.mkt-msg-in  .mkt-msg-bubble{background:#f1f5f9;border-bottom-left-radius:4px}
.mkt-msg-out .mkt-msg-bubble{background:var(--mkt-primary);color:#fff;border-bottom-right-radius:4px}
.mkt-msg-time{font-size:10px;color:var(--mkt-text-l)}
.mkt-date-sep{text-align:center;margin:8px 0}
.mkt-date-sep span{font-size:11px;background:#f1f5f9;color:var(--mkt-text-l);padding:3px 10px;border-radius:10px}
.mkt-chat-nomsgs{text-align:center;color:var(--mkt-text-l);padding:32px;margin:auto}
.mkt-chat-nomsgs span{font-size:32px;display:block;margin-bottom:8px}
.mkt-chat-input-bar{display:flex;align-items:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--mkt-border);flex-shrink:0;background:#fafafa}
.mkt-chat-textarea{flex:1;border:1px solid var(--mkt-border);border-radius:18px;padding:8px 14px;font-size:13px;resize:none;font-family:inherit;outline:none;max-height:100px;transition:border-color .15s}
.mkt-chat-textarea:focus{border-color:var(--mkt-primary)}
.mkt-btn-send{width:38px;height:38px;border-radius:50%;background:var(--mkt-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}
.mkt-btn-send:hover{background:var(--mkt-primary-d)}
.mkt-chat-conv-empty{padding:24px;text-align:center;color:var(--mkt-text-m);font-size:14px}
/* ── Product chat button widget ── */
.mkt-pcb-wrap{font-family:inherit}
.mkt-pcb-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:18px;margin-bottom:14px}
.mkt-pcb-vendor-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.mkt-pcb-avatar-link{display:block;flex-shrink:0}
.mkt-pcb-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid #e2e8f0}
.mkt-pcb-vendor-name{font-size:15px;font-weight:700;color:#1e293b;text-decoration:none;display:block}
.mkt-pcb-vendor-name:hover{color:#6c63ff}
.mkt-pcb-location{font-size:12px;color:#64748b;margin-top:2px}
.mkt-pcb-stats{display:flex;gap:12px;margin-top:4px;font-size:12px;color:#64748b}
.mkt-pcb-product-row{border-top:1px solid #e2e8f0;padding-top:12px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.mkt-pcb-product-label{font-size:12px;color:#64748b;display:block;margin-bottom:2px}
.mkt-pcb-price{font-size:20px;font-weight:800;color:#6c63ff;display:block}
.mkt-pcb-condition,.mkt-pcb-brand{font-size:11px;padding:3px 9px;border-radius:10px;background:#ede9fe;color:#5b21b6;font-weight:600}
.mkt-pcb-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;background:#6c63ff;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s;text-decoration:none;font-family:inherit}
.mkt-pcb-btn:hover{background:#5a52d5;transform:translateY(-1px);color:#fff}
.mkt-pcb-btn-secondary{background:transparent;color:#6c63ff;border:2px solid #6c63ff}
.mkt-pcb-btn-secondary:hover{background:#f0eeff;color:#6c63ff}
.mkt-pcb-btn-login{background:#f1f5f9;color:#64748b;border:1.5px solid #e2e8f0}
.mkt-pcb-btn-login:hover{background:#e2e8f0;color:#475569}
.mkt-pcb-own-notice{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;font-size:13px;font-weight:600;color:#92400e}
.mkt-pcb-panel{flex-direction:column;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;margin-top:12px;box-shadow:0 8px 32px rgba(0,0,0,.12);background:#fff;max-height:440px}
.mkt-pcb-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#1e293b;color:#fff;flex-shrink:0}
.mkt-pcb-chat-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}
.mkt-pcb-chat-vname{font-size:14px;font-weight:700}
.mkt-pcb-chat-pname{font-size:11px;opacity:.7}
.mkt-pcb-chat-price{font-size:14px;font-weight:800;color:#a78bfa}
.mkt-pcb-close{background:rgba(255,255,255,.15);border:none;color:#fff;width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:14px;line-height:1}
.mkt-pcb-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:6px;min-height:120px}
.mkt-pcb-msg{display:flex;flex-direction:column}
.mkt-pcb-msg-in{align-items:flex-start}
.mkt-pcb-msg-out{align-items:flex-end}
.mkt-pcb-bubble{max-width:75%;padding:8px 12px;border-radius:12px;font-size:13px;line-height:1.4}
.mkt-pcb-msg-in .mkt-pcb-bubble{background:#f1f5f9}
.mkt-pcb-msg-out .mkt-pcb-bubble{background:#6c63ff;color:#fff}
.mkt-pcb-input-wrap{display:flex;align-items:flex-end;gap:8px;padding:8px 12px;border-top:1px solid #e2e8f0;flex-shrink:0;background:#fafafa}
.mkt-pcb-textarea{flex:1;border:1px solid #e2e8f0;border-radius:16px;padding:7px 12px;font-size:13px;resize:none;font-family:inherit;outline:none;max-height:80px}
.mkt-pcb-textarea:focus{border-color:#6c63ff}
.mkt-pcb-send-btn{width:34px;height:34px;border-radius:50%;background:#6c63ff;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mkt-pcb-panel-footer{padding:8px 16px;background:#f8fafc;border-top:1px solid #e2e8f0;text-align:center;flex-shrink:0}
.mkt-pcb-panel-footer a{font-size:12px;color:#6c63ff;text-decoration:none;font-weight:600}
/* ── Profile ── */
.mkt-profile-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}
.mkt-profile-sidebar{display:flex;flex-direction:column;gap:16px;position:sticky;top:24px}
.mkt-profile-avatar-card{background:var(--mkt-card);border:1px solid var(--mkt-border);border-radius:var(--mkt-radius);padding:28px 20px;text-align:center;box-shadow:var(--mkt-shadow)}
.mkt-avatar-wrap{position:relative;display:inline-block;cursor:pointer;margin-bottom:14px}
.mkt-profile-avatar-img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid var(--mkt-primary);display:block}
.mkt-avatar-overlay{position:absolute;inset:0;border-radius:50%;background:rgba(0,0,0,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;opacity:0;transition:opacity .2s;color:#fff}
.mkt-avatar-wrap:hover .mkt-avatar-overlay{opacity:1}
.mkt-avatar-overlay span{font-size:11px;font-weight:600}
.mkt-profile-name{font-size:18px;font-weight:700;margin-bottom:4px}
.mkt-profile-email,.mkt-profile-joined{font-size:13px;color:var(--mkt-text-m)}
.mkt-profile-stats-card{background:var(--mkt-card);border:1px solid var(--mkt-border);border-radius:var(--mkt-radius);padding:16px;display:flex;justify-content:space-around}
.mkt-ps-val{display:block;font-size:22px;font-weight:800;color:var(--mkt-primary)}
.mkt-ps-label{display:block;font-size:12px;color:var(--mkt-text-m);margin-top:2px}
.mkt-social-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mkt-label-social{display:flex;align-items:center;gap:6px}
/* ── Public profile ── */
.mkt-public-profile{max-width:1100px;margin:0 auto}
.mkt-profile-banner{background:#1e293b;border-radius:16px;padding:36px;margin-bottom:32px}
.mkt-profile-banner-inner{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap}
.mkt-pub-avatar{width:90px;height:90px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.3);flex-shrink:0}
.mkt-pub-info{flex:1;min-width:200px}
.mkt-pub-info h1{margin:0 0 6px;font-size:24px;font-weight:800;color:#fff}
.mkt-pub-location{font-size:13px;color:rgba(255,255,255,.6);margin-bottom:8px}
.mkt-pub-bio{font-size:14px;color:rgba(255,255,255,.8);margin:0 0 14px;line-height:1.6}
.mkt-pub-socials{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.mkt-social-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.1);text-decoration:none;transition:background .15s}
.mkt-social-icon:hover{background:rgba(255,255,255,.2)}
.mkt-pub-actions{display:flex;flex-direction:column;align-items:flex-end;gap:14px;margin-left:auto}
.mkt-pub-stats{display:flex;gap:20px}
.mkt-pub-stat strong{display:block;font-size:22px;font-weight:800;color:#fff}
.mkt-pub-stat span{font-size:12px;color:rgba(255,255,255,.6)}
.mkt-pub-products-section h2{font-size:20px;font-weight:700;margin-bottom:20px}
.mkt-pub-prod-img{height:170px;background-size:cover;background-position:center;background-color:#f1f5f9}
.mkt-pub-prod-info{padding:12px}
.mkt-pub-prod-name{font-size:14px;font-weight:600;margin-bottom:4px}
.mkt-pub-prod-price{font-size:16px;font-weight:700;color:var(--mkt-primary)}
/* ── Admin mgmt ── */
.mkt-mgmt-tabs{display:flex;gap:6px;flex-wrap:wrap}
.mkt-mgmt-tab{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;color:var(--mkt-text-m);background:var(--mkt-bg);border:1.5px solid var(--mkt-border);transition:all .15s;white-space:nowrap}
.mkt-mgmt-tab:hover{border-color:var(--mkt-primary);color:var(--mkt-primary);text-decoration:none}
.mkt-tab-active{background:var(--mkt-primary)!important;color:#fff!important;border-color:var(--mkt-primary)!important}
.mkt-mgmt-section{background:var(--mkt-card);border:1px solid var(--mkt-border);border-radius:var(--mkt-radius);overflow:hidden;box-shadow:var(--mkt-shadow)}
.mkt-mgmt-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--mkt-border);flex-wrap:wrap;gap:10px;background:var(--mkt-bg)}
.mkt-mgmt-filters,.mkt-mgmt-bulk{display:flex;gap:8px;flex-wrap:wrap}
.mkt-input-sm{padding:7px 12px!important;font-size:13px!important;height:36px}
.mkt-mgmt-table-wrap{overflow-x:auto}
.mkt-mgmt-table{width:100%;border-collapse:collapse;font-size:13px}
.mkt-mgmt-table th{padding:10px 14px;background:#f8fafc;border-bottom:2px solid var(--mkt-border);font-weight:700;color:var(--mkt-text-m);text-align:left;white-space:nowrap}
.mkt-mgmt-table td{padding:11px 14px;border-bottom:1px solid var(--mkt-border);vertical-align:middle}
.mkt-mgmt-table tr:hover td{background:#fafafa}
.mkt-table-loading{text-align:center;padding:32px;color:var(--mkt-text-m)}
.mkt-table-prod{display:flex;align-items:center;gap:10px}
.mkt-table-thumb{width:44px;height:44px;border-radius:6px;object-fit:cover;flex-shrink:0;border:1px solid var(--mkt-border);background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:18px}
.mkt-table-prod-name{font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mkt-table-vendor{display:flex;align-items:center;gap:6px}
.mkt-table-vendor-av{width:28px;height:28px;border-radius:50%;object-fit:cover}
.mkt-table-actions{display:flex;gap:6px;flex-wrap:nowrap}
.mkt-spin{display:inline-block;width:18px;height:18px;border:2px solid #e2e8f0;border-top-color:var(--mkt-primary);border-radius:50%;animation:mkt-spin .7s linear infinite;vertical-align:middle;margin-right:6px}
.mkt-pagination{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:14px 16px;border-top:1px solid var(--mkt-border)}
.mkt-page-btn{padding:6px 12px;border:1px solid var(--mkt-border);border-radius:6px;background:var(--mkt-card);cursor:pointer;font-size:13px;color:var(--mkt-text-m);transition:all .1s}
.mkt-page-btn:hover{border-color:var(--mkt-primary);color:var(--mkt-primary)}
.mkt-page-active{background:var(--mkt-primary)!important;color:#fff!important;border-color:var(--mkt-primary)!important}
.mkt-page-info{font-size:12px;color:var(--mkt-text-l);margin-left:8px}
/* ── Modal ── */
.mkt-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.mkt-modal{background:var(--mkt-card);border-radius:16px;width:100%;max-width:680px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,.2)}
.mkt-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--mkt-border);position:sticky;top:0;background:var(--mkt-card);z-index:1}
.mkt-modal-header h3{margin:0;font-size:18px}
.mkt-modal-close{background:#f1f5f9;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}
.mkt-modal-close:hover{background:#e2e8f0}
.mkt-modal-body{padding:24px}
.mkt-modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:16px;border-top:1px solid var(--mkt-border)}
.mkt-modal-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--mkt-text-m)}
/* ── Skeleton ── */
.mkt-skel{height:56px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:mkt-shimmer 1.4s infinite;border-radius:8px;margin-bottom:8px}
@keyframes mkt-shimmer{0%{background-position:200%}100%{background-position:-200%}}
/* ── Responsive ── */
@media(max-width:900px){
  .mkt-dash-cols{grid-template-columns:1fr}
  .mkt-profile-layout{grid-template-columns:1fr}
  .mkt-profile-sidebar{position:static}
  .mkt-social-grid{grid-template-columns:1fr}
  .mkt-profile-banner-inner{flex-direction:column}
  .mkt-pub-actions{align-items:flex-start;margin-left:0}
}
@media(max-width:768px){
  .mkt-wrapper{flex-direction:column}
  .mkt-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--mkt-border)}
  .mkt-nav-list{display:flex;flex-wrap:wrap;padding:8px}
  .mkt-nav-list li a{border-left:none;border-bottom:2px solid transparent;padding:8px 12px}
  .mkt-nav-list li.mkt-active a{border-left:none;border-bottom-color:var(--mkt-primary)}
  .mkt-main{padding:20px 16px}
  .mkt-chat-layout{height:auto;min-height:500px}
  .mkt-chat-panel{position:absolute;inset:0;z-index:10;transform:translateX(100%);transition:transform .25s}
  .mkt-chat-layout.mkt-chat-open .mkt-chat-panel{transform:translateX(0)}
  .mkt-conv-list{width:100%;max-height:240px}
  .mkt-chat-back{display:block!important}
}
@media(max-width:640px){
  .mkt-form-row,.mkt-form-row-3{grid-template-columns:1fr}
  .mkt-kpi-grid{grid-template-columns:1fr 1fr}
  .mkt-form-section{padding:20px 16px}
  .mkt-form-submit{flex-direction:column;align-items:stretch}
  .mkt-product-grid{grid-template-columns:1fr 1fr}
  .mkt-wd-form{flex-direction:column}
  .mkt-mgmt-toolbar{flex-direction:column;align-items:stretch}
}
