/* ===========================
   PubliMarket - CSS
   =========================== */

:root {
    --adspot-primary:    #5B5BD6;
    --adspot-primary-dk: #4747c2;
    --adspot-premium:    #F59E0B;
    --adspot-success:    #10B981;
    --adspot-danger:     #EF4444;
    --adspot-warning:    #F59E0B;
    --adspot-gray-100:   #F9FAFB;
    --adspot-gray-200:   #F3F4F6;
    --adspot-gray-300:   #E5E7EB;
    --adspot-gray-600:   #4B5563;
    --adspot-gray-900:   #111827;
    --adspot-radius:     10px;
    --adspot-shadow:     0 1px 3px rgba(0,0,0,.08), 0 4px 16px rgba(0,0,0,.06);
}

/* MARKETPLACE */
.publimarket-marketplace { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }

.publimarket-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-bottom: 28px;
    padding: 16px;
    background: #0F1320;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
}
.publimarket-filters__search { flex: 1; min-width: 200px; }
.publimarket-filters__channels { display: flex; flex-wrap: wrap; gap: 6px; }
.publimarket-input {
    width: 100%;
    padding: 8px 14px;
    border: 1.5px solid rgba(255,255,255,.1);
    border-radius: 6px;
    font-size: 14px;
    outline: none;
    background: #161B2E;
    color: #F1F5F9;
    -webkit-text-fill-color: #F1F5F9;
}
.publimarket-input::placeholder { color: #475569; }
.publimarket-input:focus { border-color: #6C3DE8; box-shadow: 0 0 0 3px rgba(108,61,232,.2); }
.publimarket-select {
    padding: 8px 12px;
    border: 1.5px solid rgba(255,255,255,.1);
    border-radius: 6px;
    font-size: 14px;
    background: #161B2E;
    color: #F1F5F9;
    cursor: pointer;
}
.publimarket-select option { background: #161B2E; color: #F1F5F9; }
.publimarket-filter-btn {
    padding: 6px 14px;
    border: 1.5px solid rgba(255,255,255,.15);
    border-radius: 20px;
    background: rgba(255,255,255,.05);
    color: #94A3B8;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s;
}
.publimarket-filter-btn:hover {
    background: rgba(108,61,232,.15);
    border-color: #6C3DE8;
    color: #A78BFA;
}
.publimarket-filter-btn.active {
    background: #6C3DE8;
    color: white;
    border-color: #6C3DE8;
    box-shadow: 0 4px 12px rgba(108,61,232,.4);
}

/* GRID */
.publimarket-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}

/* CARD */
.publimarket-service-card {
    background: #0F1320;
    border: 1.5px solid rgba(255,255,255,.1);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,.3), 0 4px 16px rgba(0,0,0,.2);
    transition: transform .2s, box-shadow .2s;
    position: relative;
}
.publimarket-service-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
.publimarket-service-card--featured {
    border-color: #F59E0B;
    box-shadow: 0 0 0 2px rgba(245,158,11,.2), 0 1px 3px rgba(0,0,0,.3), 0 4px 16px rgba(0,0,0,.2);
}
.publimarket-service-card__thumb { position: relative; }
.publimarket-service-card__thumb img { width: 100%; height: 180px; object-fit: cover; display: block; }
.publimarket-channel-badge {
    position: absolute;
    bottom: 8px;
    left: 8px;
    background: rgba(0,0,0,.65);
    color: white;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 12px;
}
.publimarket-service-card__body { padding: 16px; }
.publimarket-service-card__title { margin: 0 0 10px; font-size: 16px; line-height: 1.4; }
.publimarket-service-card__title a { color: #F1F5F9; text-decoration: none; }
.publimarket-service-card__title a:hover { color: #6C3DE8; }
.publimarket-service-card__vendor {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    font-size: 13px;
    color: #94A3B8;
}
.publimarket-service-card__vendor img { border-radius: 50%; }
.publimarket-service-card__audience {
    font-size: 12px;
    color: #94A3B8;
    margin: 0 0 12px;
}
.publimarket-service-card__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 12px;
    border-top: 1px solid #161B2E;
}
.publimarket-price { font-size: 18px; font-weight: 700; background: linear-gradient(135deg,#6C3DE8,#00B4FF); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.publimarket-delivery { font-size: 12px; color: #94A3B8; display: block; }

/* BADGES */
.publimarket-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
}
.publimarket-badge--featured {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #F59E0B;
    color: white;
}
.publimarket-badge--premium { background: rgba(245,158,11,.15); color: #B45309; }

/* BUTTONS */
.publimarket-btn {
    display: inline-block;
    padding: 8px 18px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    text-decoration: none;
    transition: background .2s, opacity .2s;
}
.publimarket-btn--primary { background: #6C3DE8; color: white; }
.publimarket-btn--primary:hover { background: #4747c2; color: white; }
.publimarket-btn--secondary { background: #161B2E; color: #F1F5F9; }
.publimarket-btn--small { padding: 4px 10px; font-size: 12px; }
.publimarket-btn:disabled { opacity: .6; cursor: not-allowed; }

/* VENDOR CTA */
.publimarket-vendor-cta { text-align: center; padding: 30px 0 10px; }

/* EMPTY STATE */
.publimarket-empty { text-align: center; padding: 40px 20px; color: #94A3B8; }

/* =======================
   CHAT
   ======================= */
.publimarket-chat {
    display: flex;
    flex-direction: column;
    height: 600px;
    border: 1.5px solid rgba(255,255,255,.1);
    border-radius: 10px;
    overflow: hidden;
    background: white;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.publimarket-chat__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    background: #0F1320;
    border-bottom: 1px solid rgba(255,255,255,.1);
}
.publimarket-chat__user { display: flex; align-items: center; gap: 10px; }
.publimarket-chat__user img { border-radius: 50%; }
.publimarket-chat__user strong { display: block; font-size: 15px; }
.publimarket-chat__order-title { font-size: 12px; color: #94A3B8; }
.publimarket-chat__notice {
    padding: 8px 16px;
    background: #FEF3C7;
    border-bottom: 1px solid #FDE68A;
    font-size: 12px;
    color: #92400E;
}
.publimarket-chat__messages {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #0F1320;
}
.publimarket-chat__loading,
.publimarket-chat__empty {
    text-align: center;
    color: #94A3B8;
    padding: 20px;
    font-size: 14px;
}
.publimarket-message { display: flex; gap: 8px; max-width: 75%; align-self: flex-start; }
.publimarket-message--own { align-self: flex-end; flex-direction: row-reverse; }
.publimarket-message__avatar { width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0; }
.publimarket-message__bubble { display: flex; flex-direction: column; }
.publimarket-message__name { font-size: 11px; color: #94A3B8; margin-bottom: 3px; padding-left: 4px; }
.publimarket-message__text {
    background: white;
    padding: 10px 14px;
    border-radius: 14px 14px 14px 4px;
    font-size: 14px;
    line-height: 1.5;
    box-shadow: 0 1px 3px rgba(0,0,0,.08);
    word-break: break-word;
}
.publimarket-message--own .publimarket-message__text {
    background: #6C3DE8;
    color: white;
    border-radius: 14px 14px 4px 14px;
}
.publimarket-message__time {
    font-size: 10px;
    color: #94A3B8;
    margin-top: 3px;
    padding: 0 4px;
}
.publimarket-message--own .publimarket-message__time { text-align: right; }
.publimarket-chat__input-area {
    padding: 12px 16px;
    border-top: 1px solid rgba(255,255,255,.1);
    display: flex;
    gap: 10px;
    align-items: flex-end;
    background: white;
}
.publimarket-chat__input {
    flex: 1;
    border: 1.5px solid rgba(255,255,255,.1);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 14px;
    resize: none;
    outline: none;
    font-family: inherit;
}
.publimarket-chat__input:focus { border-color: #6C3DE8; }
.publimarket-chat-notice {
    padding: 8px 14px;
    border-radius: 6px;
    font-size: 13px;
    margin: 8px 16px;
}
.publimarket-chat-notice--error { background: #FEE2E2; color: #991B1B; }
.publimarket-chat-notice--warning { background: #FEF3C7; color: #92400E; }

/* Conversations list */
.publimarket-conversations { list-style: none; padding: 0; margin: 0; }
.publimarket-conversation-item a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #161B2E;
    text-decoration: none;
    color: #F1F5F9;
    transition: background .15s;
}
.publimarket-conversation-item a:hover { background: #0F1320; }
.publimarket-conversation-item img { border-radius: 50%; }
.publimarket-conversation-info { flex: 1; }
.publimarket-conversation-title { font-size: 12px; color: #94A3B8; display: block; }
.publimarket-conversation-status { font-size: 11px; color: #94A3B8; }
.publimarket-conversation-price { font-weight: 700; color: #6C3DE8; }

/* =======================
   ORDER DETAIL
   ======================= */
.publimarket-back-link { display:inline-block; margin-bottom:16px; color:#6C3DE8; text-decoration:none; font-size:14px; }
.publimarket-back-link:hover { text-decoration:underline; }

.publimarket-order-header {
    display:flex; justify-content:space-between; align-items:flex-start;
    margin-bottom:24px; flex-wrap:wrap; gap:12px;
}
.publimarket-order-header h2 { margin:0 0 4px; }
.publimarket-order-id { font-size:13px; color:#94A3B8; }
.publimarket-order-price-box { text-align:right; }
.publimarket-price-big { font-size:28px; font-weight:800; color:#6C3DE8; display:block; }
.publimarket-earning { font-size:13px; color:#94A3B8; }

/* Timeline */
.publimarket-timeline {
    display:flex; align-items:center; flex-wrap:nowrap;
    overflow-x:auto; margin-bottom:28px; padding-bottom:8px;
    gap:0;
}
.publimarket-timeline__step { display:flex; flex-direction:column; align-items:center; min-width:72px; }
.publimarket-timeline__dot {
    width:36px; height:36px; border-radius:50%;
    background:#161B2E; border:2px solid rgba(255,255,255,.1);
    display:flex; align-items:center; justify-content:center;
    font-size:14px; font-weight:700; color:#94A3B8;
    transition:all .2s;
}
.publimarket-timeline__step.done .publimarket-timeline__dot {
    background:#10B981; border-color:#10B981; color:white;
}
.publimarket-timeline__step.current .publimarket-timeline__dot {
    background:#6C3DE8; border-color:#6C3DE8; color:white;
    box-shadow:0 0 0 4px rgba(91,91,214,.2);
}
.publimarket-timeline__label { font-size:10px; color:#94A3B8; margin-top:4px; text-align:center; }
.publimarket-timeline__step.done .publimarket-timeline__label,
.publimarket-timeline__step.current .publimarket-timeline__label { color:#F1F5F9; font-weight:600; }
.publimarket-timeline__line { flex:1; height:2px; background:#161B2E; min-width:16px; }
.publimarket-timeline__line.done { background:#10B981; }

/* Order grid */
.publimarket-order-grid { display:grid; grid-template-columns:1fr 280px; gap:20px; align-items:start; }
.publimarket-order-main { display:flex; flex-direction:column; gap:16px; }
.publimarket-order-sidebar { display:flex; flex-direction:column; gap:16px; }

.publimarket-order-card {
    background:white; border:1.5px solid rgba(255,255,255,.1);
    border-radius:10px; padding:20px;
    box-shadow:0 1px 3px rgba(0,0,0,.3), 0 4px 16px rgba(0,0,0,.2);
}
.publimarket-order-card h3 { margin:0 0 14px; font-size:16px; }
.publimarket-order-card h4 { margin:0 0 12px; font-size:14px; color:#94A3B8; text-transform:uppercase; letter-spacing:.04em; }
.publimarket-order-card--action { border-color:#6C3DE8; }
.publimarket-order-card--success { border-color:#10B981; background:#F0FDF4; }

.publimarket-message-box {
    background:#0F1320; border-radius:6px;
    padding:12px 16px; font-size:14px; line-height:1.6;
    margin-bottom:14px; border-left:3px solid #6C3DE8;
}
.publimarket-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }

.publimarket-info-row {
    display:flex; justify-content:space-between; align-items:center;
    padding:8px 0; border-bottom:1px solid #161B2E;
    font-size:14px;
}
.publimarket-info-row--total { border-bottom:none; font-size:15px; margin-top:4px; }
.publimarket-info-row--total strong { color:#10B981; font-size:17px; }

/* Forms */
.publimarket-form { max-width:680px; }
.publimarket-form-group { margin-bottom:18px; }
.publimarket-form-group label { display:block; font-weight:600; font-size:14px; margin-bottom:6px; }
.publimarket-form-group input[type="text"],
.publimarket-form-group input[type="number"],
.publimarket-form-group input[type="date"],
.publimarket-form-group input[type="url"],
.publimarket-form-group select,
.publimarket-form-group textarea {
    width:100%; padding:9px 14px;
    border:1.5px solid rgba(255,255,255,.1); border-radius:6px;
    font-size:14px; font-family:inherit; outline:none; box-sizing:border-box;
}
.publimarket-form-group input:focus,
.publimarket-form-group select:focus,
.publimarket-form-group textarea:focus { border-color:#6C3DE8; }
.publimarket-form-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:16px; }
.publimarket-hint { font-size:12px; color:#94A3B8; margin-top:4px; display:block; }
.required { color:#EF4444; }
.publimarket-form-actions { margin-top:24px; }
.publimarket-btn--large { padding:12px 28px; font-size:15px; }
.publimarket-btn--full { display:block; text-align:center; width:100%; margin-top:10px; }
.publimarket-btn--danger { background:#FEE2E2; color:#EF4444; }
.publimarket-btn--danger:hover { background:#EF4444; color:white; }
.publimarket-btn--premium { background:linear-gradient(135deg,#F59E0B,#D97706); color:white; }

/* Metrics form */
.publimarket-metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:14px 0; }
.publimarket-metrics-display { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:14px 0; }
.publimarket-metric-item {
    background:#0F1320; border-radius:6px;
    padding:10px 14px; display:flex; flex-direction:column;
}
.publimarket-metric-label { font-size:11px; color:#94A3B8; margin-bottom:4px; }
.publimarket-metric-value { font-size:18px; font-weight:700; color:#F1F5F9; }

/* Notices */
.publimarket-notice {
    padding:12px 16px; border-radius:6px;
    border-left:4px solid #6C3DE8;
    background:#EEF2FF; margin:12px 0; font-size:14px;
}
.publimarket-notice--success { background:#F0FDF4; border-color:#10B981; color:#166534; }
.publimarket-notice--error { background:#FEF2F2; border-color:#EF4444; color:#991B1B; }
.publimarket-notice--warning { background:#FFFBEB; border-color:#F59E0B; color:#92400E; }
.publimarket-notice--info { background:#EFF6FF; border-color:#3B82F6; color:#1E40AF; }
.publimarket-notice-small { font-size:12px; color:#94A3B8; margin-top:8px; }

/* Activity log */
.publimarket-activity-log { list-style:none; padding:0; margin:0; font-size:13px; }
.publimarket-activity-log li { padding:8px 0; border-bottom:1px solid #161B2E; display:flex; flex-wrap:wrap; gap:6px; align-items:baseline; }
.publimarket-log-date { color:#94A3B8; min-width:110px; }
.publimarket-log-text { flex:1; }
.publimarket-log-note { font-style:italic; color:#94A3B8; width:100%; padding-left:116px; }

/* Commission preview */
.publimarket-commission-preview {
    background:#F0FDF4; border:1.5px solid #A7F3D0;
    border-radius:10px; padding:16px; margin:16px 0;
}
.publimarket-commission-preview h4 { margin:0 0 10px; color:#065F46; }

/* =======================
   ORDERS LIST
   ======================= */
.publimarket-orders-page h3 { margin:20px 0 10px; font-size:16px; color:#94A3B8; }
.publimarket-orders-list { display:flex; flex-direction:column; gap:6px; }
.publimarket-order-row {
    display:grid; grid-template-columns:1fr auto auto;
    align-items:center; gap:16px;
    background:white; border:1.5px solid #161B2E;
    border-radius:8px; padding:14px 16px;
    text-decoration:none; color:#F1F5F9;
    transition:border-color .15s, box-shadow .15s;
}
.publimarket-order-row:hover { border-color:#6C3DE8; box-shadow:0 1px 3px rgba(0,0,0,.3), 0 4px 16px rgba(0,0,0,.2); }
.publimarket-order-row__service strong { display:block; font-size:14px; }
.publimarket-order-row__service span { font-size:12px; color:#94A3B8; }
.publimarket-order-row__status { font-size:13px; font-weight:600; white-space:nowrap; }
.publimarket-order-row__price { text-align:right; }
.publimarket-order-row__price strong { display:block; color:#6C3DE8; }
.publimarket-order-row__price span { font-size:12px; color:#94A3B8; }

/* =======================
   DASHBOARD
   ======================= */
.publimarket-dashboard__header {
    display:flex; justify-content:space-between; align-items:center;
    margin-bottom:24px; flex-wrap:wrap; gap:16px;
}
.publimarket-dashboard__user { display:flex; align-items:center; gap:14px; }
.publimarket-dashboard__user img { border-radius:50%; }
.publimarket-dashboard__user h2 { margin:0 0 6px; }
.publimarket-dashboard__actions { display:flex; gap:10px; }
.publimarket-user-badges { display:flex; gap:6px; flex-wrap:wrap; }
.publimarket-badge--vendor { background:#EEF2FF; color:#4338CA; }
.publimarket-badge--buyer { background:#F0FDF4; color:#166534; }

.publimarket-dashboard__stats {
    display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
    gap:14px; margin-bottom:28px;
}
.publimarket-stat {
    background:white; border:1.5px solid #161B2E;
    border-radius:10px; padding:16px; text-align:center;
    box-shadow:0 1px 3px rgba(0,0,0,.3), 0 4px 16px rgba(0,0,0,.2);
}
.publimarket-stat--highlight { border-color:#6C3DE8; }
.publimarket-stat--premium { border-color:#F59E0B; }
.publimarket-stat__value { font-size:26px; font-weight:800; color:#F1F5F9; display:block; }
.publimarket-stat--highlight .publimarket-stat__value { color:#6C3DE8; }
.publimarket-stat__label { font-size:12px; color:#94A3B8; margin-top:4px; display:block; }

.publimarket-dashboard__section { margin-bottom:28px; }
.publimarket-section-header {
    display:flex; justify-content:space-between; align-items:center;
    margin-bottom:12px;
}
.publimarket-section-header h3 { margin:0; font-size:16px; }
.publimarket-section-header a { font-size:13px; color:#6C3DE8; text-decoration:none; }
.publimarket-empty-small { color:#94A3B8; font-size:14px; }

.publimarket-my-services { display:flex; flex-direction:column; gap:8px; }
.publimarket-my-service-row {
    display:flex; justify-content:space-between; align-items:center;
    padding:12px 14px; background:white;
    border:1px solid #161B2E; border-radius:6px;
    font-size:14px;
}
.publimarket-my-service-row > div { display:flex; align-items:center; gap:8px; }

.publimarket-premium-cta {
    background:linear-gradient(135deg,#FEF3C7,#FDE68A);
    border:1.5px solid #F59E0B;
    border-radius:10px; padding:24px;
    display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;
    margin-top:28px;
}
.publimarket-premium-cta h3 { margin:0 0 10px; }
.publimarket-premium-cta ul { margin:0; padding:0 0 0 16px; font-size:14px; }
.publimarket-premium-cta ul li { margin-bottom:4px; }

/* RESPONSIVE */
@media (max-width: 600px) {
    .publimarket-services-grid { grid-template-columns: 1fr; }
    .publimarket-filters { flex-direction: column; }
    .publimarket-chat { height: 100vh; border-radius: 0; }
    .publimarket-message { max-width: 90%; }
}

/* =======================
   SINGLE SERVICE
   ======================= */
.publimarket-single-service { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.publimarket-single-grid { display:grid; grid-template-columns:1fr 340px; gap:32px; align-items:start; }
.publimarket-breadcrumb { font-size:13px; color:#94A3B8; margin-bottom:16px; }
.publimarket-breadcrumb a { color:#6C3DE8; text-decoration:none; }
.publimarket-breadcrumb a:hover { text-decoration:underline; }
.publimarket-breadcrumb span { margin:0 6px; }
.publimarket-single-thumb { border-radius:10px; overflow:hidden; margin-bottom:20px; }
.publimarket-single-thumb img { width:100%; max-height:360px; object-fit:cover; display:block; }
.publimarket-single-header { margin-bottom:16px; }
.publimarket-single-header h1 { font-size:26px; line-height:1.3; margin:0 0 12px; }
.publimarket-single-tags { display:flex; flex-wrap:wrap; gap:8px; }
.publimarket-tag-channel { background:#EEF2FF; color:#4338CA; padding:4px 12px; border-radius:20px; font-size:12px; font-weight:600; }
.publimarket-tag-format  { background:#161B2E; color:#94A3B8; padding:4px 12px; border-radius:20px; font-size:12px; }
.publimarket-single-audience { background:#F0FDF4; border:1px solid #A7F3D0; border-radius:8px; padding:12px 16px; font-size:14px; margin-bottom:20px; }
.publimarket-single-description { margin-bottom:28px; }
.publimarket-single-description h2 { font-size:18px; margin-bottom:12px; }
.publimarket-single-description p, .publimarket-single-description li { font-size:15px; line-height:1.7; color:#374151; }

/* Proceso */
.publimarket-single-process { margin-bottom:28px; }
.publimarket-single-process h2 { font-size:18px; margin-bottom:16px; }
.publimarket-process-steps { display:flex; flex-direction:column; gap:12px; }
.publimarket-process-step { display:flex; gap:14px; align-items:flex-start; }
.publimarket-process-step__num {
    width:32px; height:32px; border-radius:50%; background:#6C3DE8;
    color:white; display:flex; align-items:center; justify-content:center;
    font-weight:700; font-size:14px; flex-shrink:0; margin-top:2px;
}
.publimarket-process-step strong { display:block; margin-bottom:2px; }
.publimarket-process-step p { margin:0; font-size:13px; color:#94A3B8; }

/* More services */
.publimarket-single-more h2 { font-size:18px; margin-bottom:14px; }
.publimarket-mini-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:12px; }
.publimarket-mini-card { display:block; border:1px solid #161B2E; border-radius:8px; overflow:hidden; text-decoration:none; color:#F1F5F9; transition:box-shadow .2s; }
.publimarket-mini-card:hover { box-shadow:0 1px 3px rgba(0,0,0,.3), 0 4px 16px rgba(0,0,0,.2); }
.publimarket-mini-card img { width:100%; height:100px; object-fit:cover; display:block; }
.publimarket-mini-card__body { padding:10px 12px; }
.publimarket-mini-card__body strong { display:block; font-size:13px; margin-bottom:4px; }
.publimarket-mini-card__body span { font-size:13px; color:#6C3DE8; font-weight:700; }

/* Contract card (sidebar) */
.publimarket-contract-card {
    background:white; border:2px solid #6C3DE8;
    border-radius:10px; padding:24px;
    box-shadow:0 4px 20px rgba(91,91,214,.12);
    position:sticky; top:100px; margin-bottom:16px;
}
.publimarket-contract-card__price { font-size:32px; font-weight:800; color:#6C3DE8; margin-bottom:16px; }
.publimarket-contract-details { margin-bottom:20px; }
.publimarket-contract-detail { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid #161B2E; font-size:13px; }
.publimarket-contract-detail:last-child { border-bottom:none; }
.publimarket-contract-note { font-size:11px; color:#94A3B8; text-align:center; margin-top:8px; }

/* Vendor card */
.publimarket-vendor-card { background:white; border:1.5px solid #161B2E; border-radius:10px; padding:20px; }
.publimarket-vendor-card h3 { margin:0 0 14px; font-size:15px; color:#94A3B8; text-transform:uppercase; letter-spacing:.04em; font-size:12px; }
.publimarket-vendor-card__user { display:flex; gap:12px; align-items:flex-start; margin-bottom:12px; }
.publimarket-vendor-card__user img { border-radius:50%; }
.publimarket-vendor-card__user strong { display:block; margin-bottom:4px; }
.publimarket-vendor-orders { font-size:12px; color:#94A3B8; display:block; }
.publimarket-vendor-bio { font-size:13px; color:#94A3B8; line-height:1.5; margin:0; }

/* =======================
   MODAL
   ======================= */
.publimarket-modal { position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; }
.publimarket-modal__overlay { position:absolute; inset:0; background:rgba(0,0,0,.5); }
.publimarket-modal__box {
    position:relative; background:white; border-radius:12px;
    padding:32px; max-width:520px; width:90%; z-index:1;
    box-shadow:0 20px 60px rgba(0,0,0,.25);
    max-height:90vh; overflow-y:auto;
}
.publimarket-modal__box h2 { margin:0 0 6px; }
.publimarket-modal__box > p { color:#94A3B8; margin-bottom:20px; }
.publimarket-modal__close {
    position:absolute; top:16px; right:16px;
    background:none; border:none; font-size:18px; cursor:pointer;
    color:#94A3B8; line-height:1; padding:4px 8px;
}
.publimarket-modal__close:hover { color:#F1F5F9; }
.publimarket-modal__actions { display:flex; gap:10px; margin-top:16px; }
body.publimarket-modal-open { overflow:hidden; }

@media (max-width:768px) {
    .publimarket-single-grid { grid-template-columns:1fr; }
    .publimarket-contract-card { position:static; }
    .publimarket-order-grid { grid-template-columns:1fr; }
}

/* ── Fix inputs en themes oscuros ─────────────────────── */
.publimarket-form .adspot-form-group input,
.publimarket-form .adspot-form-group select,
.publimarket-form .adspot-form-group textarea,
.adspot-form-group input[type="text"],
.adspot-form-group input[type="number"],
.adspot-form-group input[type="date"],
.adspot-form-group input[type="url"],
.adspot-form-group input[type="email"],
.adspot-form-group select,
.adspot-form-group textarea,
#adspot-service-form input,
#adspot-service-form select,
#adspot-service-form textarea,
#adspot-request-form textarea,
#adspot-dates-form input,
#adspot-dates-form textarea,
#adspot-content-form input,
#adspot-content-form textarea,
#adspot-metrics-form input,
.adspot-chat__input {
    background-color: #1a1f35 !important;
    color: #F1F5F9 !important;
    border-color: rgba(255,255,255,.15) !important;
    -webkit-text-fill-color: #F1F5F9 !important;
}

.adspot-form-group input::placeholder,
.adspot-form-group textarea::placeholder,
.adspot-form-group select option,
#adspot-service-form input::placeholder,
#adspot-service-form textarea::placeholder,
.adspot-chat__input::placeholder {
    color: rgba(148,163,184,.6) !important;
}

.adspot-form-group input:focus,
.adspot-form-group select:focus,
.adspot-form-group textarea:focus {
    border-color: #6C3DE8 !important;
    box-shadow: 0 0 0 3px rgba(108,61,232,.2) !important;
    outline: none !important;
}

/* Fix select options en navegadores */
.adspot-form-group select option {
    background: #1a1f35;
    color: #F1F5F9;
}

/* Fix labels */
.adspot-form-group label,
.adspot-form-group .adspot-hint {
    color: #94A3B8 !important;
}

/* Fix message box y notices */
.adspot-message-box {
    background: rgba(255,255,255,.05) !important;
    color: #E2E8F0 !important;
    border-left-color: #6C3DE8 !important;
}

/* Fix order cards en theme oscuro */
.adspot-order-card,
.adspot-order-row,
.adspot-my-service-row,
.adspot-conversation-item a {
    background: #0F1320 !important;
    border-color: rgba(255,255,255,.1) !important;
    color: #F1F5F9 !important;
}

.adspot-order-card h3,
.adspot-order-card h4 {
    color: #F1F5F9 !important;
}

.adspot-info-row {
    color: #94A3B8 !important;
    border-bottom-color: rgba(255,255,255,.08) !important;
}

/* Fix contract sidebar */
.adspot-contract-card {
    background: #0F1320 !important;
}

.adspot-contract-detail {
    border-bottom-color: rgba(255,255,255,.08) !important;
    color: #94A3B8 !important;
}

.adspot-vendor-card {
    background: #0F1320 !important;
    border-color: rgba(255,255,255,.1) !important;
}

/* Fix timeline */
.adspot-timeline__dot {
    background: rgba(255,255,255,.1) !important;
    border-color: rgba(255,255,255,.2) !important;
    color: #94A3B8 !important;
}

/* Fix modal */
.adspot-modal__box {
    background: #0F1320 !important;
    color: #F1F5F9 !important;
}

.adspot-modal__box h2,
.adspot-modal__box p {
    color: #F1F5F9 !important;
}

/* Fix chat en theme oscuro */
.adspot-chat {
    background: #0F1320 !important;
    border-color: rgba(255,255,255,.1) !important;
}

.adspot-chat__messages {
    background: #080B14 !important;
}

.adspot-message__text {
    background: #161B2E !important;
    color: #E2E8F0 !important;
}

/* Fix dashboard stats */
.adspot-stat {
    background: #0F1320 !important;
    border-color: rgba(255,255,255,.1) !important;
}

.adspot-stat__value { color: #F1F5F9 !important; }
.adspot-stat__label { color: #94A3B8 !important; }

/* Fix orders list */
.adspot-order-row__service strong { color: #F1F5F9 !important; }
.adspot-order-row__service span   { color: #64748B !important; }

/* Fix activity log */
.adspot-activity-log li {
    border-bottom-color: rgba(255,255,255,.08) !important;
    color: #94A3B8 !important;
}

/* ── Fix: text legible en themes oscuros ─────────────── */
.adspot-order-card,
.adspot-order-card *,
.adspot-order-sidebar .adspot-order-card,
.adspot-order-sidebar .adspot-order-card * {
    color: #F1F5F9 !important;
}

.adspot-order-card {
    background: #0F1320 !important;
    border: 1px solid rgba(255,255,255,.1) !important;
}

.adspot-order-card h3 { color: #F1F5F9 !important; font-size: 16px !important; }
.adspot-order-card h4 { color: #94A3B8 !important; }
.adspot-order-card p  { color: #94A3B8 !important; }

.adspot-order-card--action {
    border-color: #6C3DE8 !important;
    background: rgba(108,61,232,.05) !important;
}
.adspot-order-card--success {
    background: rgba(16,185,129,.05) !important;
    border-color: #10B981 !important;
}

/* Info rows */
.adspot-info-row { color: #94A3B8 !important; border-bottom-color: rgba(255,255,255,.07) !important; }
.adspot-info-row strong { color: #F1F5F9 !important; }
.adspot-info-row--total strong { color: #34D399 !important; font-size: 17px !important; }

/* Message box */
.adspot-message-box {
    background: rgba(255,255,255,.04) !important;
    color: #E2E8F0 !important;
    border-left: 3px solid #6C3DE8 !important;
    border-radius: 6px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    margin-bottom: 14px !important;
}

/* Back link */
.adspot-back-link { color: #A78BFA !important; }

/* Order header */
.adspot-order-header h2 { color: #F1F5F9 !important; }
.adspot-order-id { color: #64748B !important; }
.adspot-price-big { color: #A78BFA !important; font-size: 28px !important; font-weight: 800 !important; }
.adspot-earning { color: #64748B !important; font-size: 13px !important; }

/* Timeline */
.adspot-timeline__dot { background: rgba(255,255,255,.08) !important; border-color: rgba(255,255,255,.15) !important; color: #64748B !important; }
.adspot-timeline__step.done .adspot-timeline__dot { background: #10B981 !important; border-color: #10B981 !important; color: white !important; }
.adspot-timeline__step.current .adspot-timeline__dot { background: #6C3DE8 !important; border-color: #6C3DE8 !important; color: white !important; }
.adspot-timeline__label { color: #64748B !important; font-size: 10px !important; }
.adspot-timeline__step.done .adspot-timeline__label, .adspot-timeline__step.current .adspot-timeline__label { color: #F1F5F9 !important; }
.adspot-timeline__line { background: rgba(255,255,255,.08) !important; }
.adspot-timeline__line.done { background: #10B981 !important; }

/* Activity log */
.adspot-activity-log li { color: #94A3B8 !important; border-bottom-color: rgba(255,255,255,.06) !important; }
.adspot-log-date { color: #475569 !important; }
.adspot-log-note { color: #475569 !important; font-style: italic !important; }

/* Notices inline */
.adspot-notice { background: rgba(59,130,246,.1) !important; border-left: 4px solid #3B82F6 !important; color: #93C5FD !important; }
.adspot-notice--success { background: rgba(16,185,129,.1) !important; border-color: #10B981 !important; color: #34D399 !important; }
.adspot-notice--error   { background: rgba(239,68,68,.1) !important; border-color: #EF4444 !important; color: #FCA5A5 !important; }
.adspot-notice--warning { background: rgba(245,158,11,.1) !important; border-color: #F59E0B !important; color: #FCD34D !important; }
.adspot-notice--info    { background: rgba(59,130,246,.1) !important; border-color: #3B82F6 !important; color: #93C5FD !important; }
.adspot-notice-small    { color: #64748B !important; font-size: 12px !important; }

/* Order list */
.adspot-orders-page h3 { color: #94A3B8 !important; }
.adspot-order-row { background: #0F1320 !important; border-color: rgba(255,255,255,.08) !important; color: #F1F5F9 !important; }
.adspot-order-row:hover { border-color: #6C3DE8 !important; }
.adspot-order-row__service strong { color: #F1F5F9 !important; }
.adspot-order-row__service span   { color: #64748B !important; }

/* Buttons */
.adspot-btn--primary { background: linear-gradient(135deg,#6C3DE8,#00B4FF) !important; color: white !important; border: none !important; }
.adspot-btn--secondary { background: rgba(255,255,255,.06) !important; color: #F1F5F9 !important; border: 1px solid rgba(255,255,255,.1) !important; }
.adspot-btn--danger { background: rgba(239,68,68,.1) !important; color: #FCA5A5 !important; border: 1px solid rgba(239,68,68,.2) !important; }
.adspot-btn--danger:hover { background: #EF4444 !important; color: white !important; }

/* Forms en pedidos */
.adspot-form-group label { color: #CBD5E1 !important; }
.adspot-form-group input, .adspot-form-group textarea, .adspot-form-group select {
    background: #161B2E !important;
    color: #F1F5F9 !important;
    border-color: rgba(255,255,255,.1) !important;
    -webkit-text-fill-color: #F1F5F9 !important;
}
.adspot-form-group input::placeholder, .adspot-form-group textarea::placeholder { color: #475569 !important; }

/* Metrics */
.adspot-metric-item { background: rgba(255,255,255,.04) !important; }
.adspot-metric-label { color: #64748B !important; }
.adspot-metric-value { color: #F1F5F9 !important; }

/* Contract sidebar in single */
.adspot-contract-card { background: #0F1320 !important; }
.adspot-contract-detail { color: #94A3B8 !important; border-bottom-color: rgba(255,255,255,.07) !important; }
.adspot-contract-detail strong { color: #F1F5F9 !important; }
.adspot-contract-note { color: #475569 !important; }
.adspot-vendor-card { background: #0F1320 !important; border-color: rgba(255,255,255,.08) !important; }
.adspot-vendor-bio { color: #64748B !important; }
.adspot-vendor-orders { color: #64748B !important; }

/* Chat */
.adspot-chat { background: #0F1320 !important; border-color: rgba(255,255,255,.08) !important; }
.adspot-chat__header { background: #080B14 !important; border-bottom-color: rgba(255,255,255,.08) !important; }
.adspot-chat__messages { background: #080B14 !important; }
.adspot-chat__input-area { background: #0F1320 !important; border-top-color: rgba(255,255,255,.08) !important; }
.adspot-chat__input { background: #161B2E !important; color: #F1F5F9 !important; border-color: rgba(255,255,255,.1) !important; -webkit-text-fill-color: #F1F5F9 !important; }
.adspot-chat__input::placeholder { color: #475569 !important; }
.adspot-chat__notice { background: rgba(245,158,11,.08) !important; color: #FCD34D !important; border-bottom-color: rgba(245,158,11,.15) !important; }
.adspot-message__text { background: #161B2E !important; color: #E2E8F0 !important; }
.adspot-message--own .adspot-message__text { background: #6C3DE8 !important; color: white !important; }
.adspot-message__time { color: #475569 !important; }
.adspot-message__name { color: #64748B !important; }
.adspot-chat__user strong { color: #F1F5F9 !important; }
.adspot-chat__order-title { color: #64748B !important; }
.adspot-conversation-item a { background: #0F1320 !important; color: #F1F5F9 !important; border-bottom-color: rgba(255,255,255,.07) !important; }
.adspot-conversation-item a:hover { background: #161B2E !important; }
.adspot-conversation-title { color: #64748B !important; }
.adspot-conversation-price { color: #A78BFA !important; }
