/* AnunciosVarios — CSS extraído de templates (generado automáticamente) */

/* === from 404.html === */
.err-wrap{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;text-align:center}
.err-inner{max-width:480px;width:100%}
.err-code{font-size:clamp(5rem,15vw,9rem);font-weight:900;line-height:1;color:var(--n100);font-family:var(--f-display,sans-serif);margin-bottom:8px;user-select:none}
.err-icon{width:80px;height:80px;border-radius:24px;background:var(--orange);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;box-shadow:0 8px 32px rgba(232,120,0,.3)}
.err-title{font-size:1.5rem;font-weight:900;color:var(--text);margin:0 0 10px;font-family:var(--f-display,sans-serif)}
.err-sub{font-size:.92rem;color:var(--n500);margin:0 0 28px;line-height:1.6}
.err-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.err-btn{display:inline-flex;align-items:center;gap:7px;padding:11px 22px;border-radius:12px;font-size:.875rem;font-weight:700;text-decoration:none;transition:all .15s}
.err-btn-primary{background:var(--orange);color:#fff}
.err-btn-primary:hover{background:var(--orange-dk);transform:translateY(-1px);box-shadow:0 4px 16px rgba(232,120,0,.3)}
.err-btn-secondary{background:var(--n50);color:var(--text);border:1.5px solid var(--border)}
.err-btn-secondary:hover{border-color:var(--orange);color:var(--orange)}
.err-suggestions{margin-top:36px;padding-top:28px;border-top:1.5px solid var(--border)}
.err-suggest-title{font-size:.78rem;font-weight:800;color:var(--n400);text-transform:uppercase;letter-spacing:.07em;margin-bottom:14px}
.err-links{display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;overflow-x:auto}
.err-link{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;background:var(--orange);border:none;border-radius:99px;font-size:.82rem;font-weight:700;color:#fff;text-decoration:none;transition:all .15s}
.err-link:hover{background:var(--orange-dk,#C46400);transform:translateY(-1px);box-shadow:0 4px 14px rgba(232,120,0,.3)}

/* === from ad_detail.html === */
@media(max-width:768px){
    #ad-sticky-cta{
      display:flex!important;
      position:fixed;bottom:0;left:0;right:0;
      background:var(--surface);
      border-top:1.5px solid var(--border);
      padding:10px 16px;
      padding-bottom:calc(10px + env(safe-area-inset-bottom));
      z-index:200;
      gap:10px;
      box-shadow:0 -4px 20px rgba(0,0,0,.1);
    }
  }

/* === from active_sessions.html === */
.sess-wrap { max-width: 1100px; margin: 0 auto; padding: 28px 24px; }
.sess-title { font-size: 1.4rem; font-weight: 900; color: var(--adm-text,#F0F4F8); margin: 0 0 4px; display: flex; align-items: center; gap: 10px; }
.sess-sub { font-size: .84rem; color: #8896A8; margin: 0 0 24px; }
.sess-stats { display: grid; grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr)); gap: 16px; margin-bottom: 24px; }
@media(max-width:600px){ .sess-stats { grid-template-columns: 1fr; } }
.sess-stat { background: var(--adm-surface,#1A2233); border: 1.5px solid var(--adm-border,#253045); border-radius: 14px; padding: 18px 20px; }
.sess-stat-val { font-size: 1.9rem; font-weight: 900; color: var(--adm-text,#F0F4F8); line-height: 1; }
.sess-stat-lbl { font-size: .74rem; color: #8896A8; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-top: 4px; }
.sess-panel { background: var(--adm-surface,#1A2233); border: 1.5px solid var(--adm-border,#253045); border-radius: 16px; overflow: hidden; }
.sess-head { padding: 14px 20px; border-bottom: 1px solid var(--adm-border,#253045); display: flex; align-items: center; justify-content: space-between; }
.sess-head-title { font-weight: 800; font-size: .92rem; color: var(--adm-text,#F0F4F8); display: flex; align-items: center; gap: 8px; }
.sess-table { width: 100%; border-collapse: collapse; font-size: .82rem; }
.sess-table th { padding: 10px 14px; text-align: left; font-size: .7rem; color: #8896A8; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; border-bottom: 1px solid var(--adm-border,#253045); }
.sess-table td { padding: 10px 14px; border-bottom: 1px solid rgba(255,255,255,.04); color: var(--adm-text,#F0F4F8); vertical-align: middle; }
.sess-table tr:last-child td { border-bottom: none; }
.sess-table tr:hover td { background: rgba(255,255,255,.02); }
.adm-badge { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 99px; font-size: .68rem; font-weight: 800; }

/* === from apps.html === */
/* ── Tabs ─────────────────────────────────────────────────────── */
.at{display:flex;gap:0;border-bottom:2px solid var(--adm-border,#E2E5EC);margin-bottom:20px;flex-wrap:wrap}
.at-tab{padding:10px 20px;font-size:.85rem;font-weight:700;color:var(--adm-text-2);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;background:none;transition:all .15s;white-space:nowrap}
.at-tab.on{color:var(--adm-orange,#E87800);border-bottom-color:var(--adm-orange,#E87800)}
.at-tab:hover{color:var(--adm-text)}
.at-pane{display:none}.at-pane.on{display:block}
/* ── Cards ─────────────────────────────────────────────────────── */
.ac{background:var(--adm-surface,#fff);border:1.5px solid var(--adm-border,#E2E5EC);border-radius:14px;overflow:hidden;margin-bottom:16px}
.ac-head{padding:13px 18px;border-bottom:1px solid var(--adm-border,#E2E5EC);background:var(--adm-body-bg,#F4F5F7);display:flex;align-items:center;justify-content:space-between}
.ac-title{font-weight:800;font-size:.9rem;color:var(--adm-text,#1A1F2E);display:flex;align-items:center;gap:8px}
.ac-title svg{color:var(--adm-orange,#E87800)}
.ac-body{padding:18px}
/* ── Grid ──────────────────────────────────────────────────────── */
.ag2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ag3{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:12px}
@media(max-width:700px){.ag2{grid-template-columns:1fr}}
/* ── Stat boxes ────────────────────────────────────────────────── */
.astat{background:var(--adm-body-bg,#F4F5F7);border:1.5px solid var(--adm-border,#E2E5EC);border-radius:12px;padding:16px;display:flex;align-items:center;gap:14px}
.astat-val{font-size:1.8rem;font-weight:900;color:var(--adm-text,#1A1F2E);line-height:1}
.astat-lbl{font-size:.72rem;color:var(--adm-text-2);font-weight:700;text-transform:uppercase;margin-top:3px}
/* ── Toggle ────────────────────────────────────────────────────── */
.trow{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--adm-border,#E2E5EC)}
.trow:last-child{border-bottom:none}
.tlbl{font-size:.85rem;font-weight:600;color:var(--adm-text)}
.tsub{font-size:.73rem;color:var(--adm-text-2);margin-top:2px}
.tsw{position:relative;width:42px;height:24px;flex-shrink:0}
.tsw input{opacity:0;width:0;height:0;position:absolute}
.tsl{position:absolute;cursor:pointer;inset:0;background:var(--adm-border,#E2E5EC);border-radius:24px;transition:.2s}
.tsl:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.tsw input:checked+.tsl{background:var(--adm-orange,#E87800)}
.tsw input:checked+.tsl:before{transform:translateX(18px)}
/* ── Guide steps ───────────────────────────────────────────────── */
.gstep{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--adm-border)}
.gstep:last-child{border-bottom:none}
.gnum{width:30px;height:30px;border-radius:50%;background:var(--adm-orange,#E87800);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.82rem;flex-shrink:0;margin-top:2px}
.gcontent h4{font-size:.88rem;font-weight:800;color:var(--adm-text);margin:0 0 4px}
.gcontent p{font-size:.81rem;color:var(--adm-text-2);line-height:1.65;margin:0 0 6px}
.gcontent code{font-family:monospace;background:var(--adm-body-bg,#F4F5F7);border:1px solid var(--adm-border);border-radius:5px;padding:1px 7px;font-size:.78rem;color:var(--adm-text)}
.gcontent a{color:var(--adm-orange);font-weight:700;text-decoration:none}
.gcontent a:hover{text-decoration:underline}
/* ── Platform badge ────────────────────────────────────────────── */
.pbadge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:99px;font-size:.74rem;font-weight:800}
.pbios{background:#f0f0f0;color:#1a1a1a}
.pbandroid{background:#e8f5e9;color:#1b5e20}
/* ── Upload area ───────────────────────────────────────────────── */
.upload-area{border:2px dashed var(--adm-border,#E2E5EC);border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:all .15s;background:var(--adm-body-bg,#F4F5F7)}
.upload-area:hover{border-color:var(--adm-orange,#E87800);background:#FFF3E0}
/* ── Push history ──────────────────────────────────────────────── */
.push-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--adm-border)}
.push-row:last-child{border-bottom:none}
/* ── Seasonal icon card ────────────────────────────────────────── */
.sic{background:var(--adm-body-bg,#F4F5F7);border:1.5px solid var(--adm-border);border-radius:10px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
/* ── Download button ───────────────────────────────────────────── */
.dl-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;background:var(--adm-orange,#E87800);color:#fff;border-radius:10px;font-size:.84rem;font-weight:700;text-decoration:none;border:none;cursor:pointer;transition:background .15s}
.dl-btn:hover{background:var(--adm-orange-dk,#c46400);color:#fff}
.dl-btn-sec{background:var(--adm-body-bg,#F4F5F7);color:var(--adm-text);border:1.5px solid var(--adm-border)}
.dl-btn-sec:hover{background:var(--adm-border);color:var(--adm-text)}
/* ── Warning box ───────────────────────────────────────────────── */
.warn-box{background:#fef3c7;border:1.5px solid #fde68a;border-radius:10px;padding:12px 14px;font-size:.82rem;color:#92400e;display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}
.info-box{background:#e0f2fe;border:1.5px solid #7dd3fc;border-radius:10px;padding:12px 14px;font-size:.82rem;color:#0369a1;display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}
.ok-box{background:#dcfce7;border:1.5px solid #86efac;border-radius:10px;padding:12px 14px;font-size:.82rem;color:#166534;display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}

/* === from auctions.html === */
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}

/* === from base_admin.html === */
/* ═══════════════════════════════════════════════════════════════════════
     ✦ ADMIN PANEL — "Command Center" Premium 2025
     Estética: dark sidebar editorial · cards con profundidad · micro-motion
     Glassmorphism sutil · gradientes warm · datos que respiran
     ═══════════════════════════════════════════════════════════════════════ */

  /* ── Variables admin — Premium Dark Slate ─────────────────────── */
  :root {
    --adm-sidebar-w: 262px;
    --adm-topbar-h: 62px;
    /* ── LIGHT THEME (default) ───────────────────────────────────── */
    --adm-bg:         #F4F5F7;
    --adm-sidebar-bg: #F8F9FA;
    --adm-sidebar-border: #E8EAED;
    --adm-topbar-bg:  #FFFFFF;
    --adm-body-bg:    #F4F5F7;
    --adm-surface:    #FFFFFF;
    --adm-border:     #E2E5EC;
    --adm-text:       #1A1F2E;
    --adm-text-2:     #636E82;
    --adm-text-inv:   #FFFFFF;
    /* Brand orange */
    --adm-orange:     #E87800;
    --adm-orange-dk:  #C46400;
    --adm-orange-lt:  #FF9500;
    --adm-orange-xs:  #FFF3E0;
    --adm-gold:       #F0C430;
    /* Sidebar nav */
    --adm-nav-bg:     transparent;
    --adm-nav-active: #FFF3E0;
    --adm-nav-active-text: #E87800;
    --adm-nav-hover:  #F4F5F7;
    --adm-nav-text:   #404B5E;
    /* Status colors */
    --adm-green:      #16a34a;
    --adm-red:        #dc2626;
    --adm-yellow:     #d97706;
    /* Helpers */
    --adm-olive-dark: #F4F5F7;
    --adm-olive:      #F4F5F7;
    --adm-olive-mid:  #F4F5F7;
    --adm-olive-lt:   #EAECF0;
    --adm-font:       'Bricolage Grotesque', sans-serif;
    --adm-r:          12px;
    --adm-r-lg:       16px;
    --adm-shadow:     0 1px 4px rgba(0,0,0,.08), 0 2px 12px rgba(0,0,0,.05);
    --adm-shadow-md:  0 4px 16px rgba(0,0,0,.1), 0 2px 6px rgba(0,0,0,.06);
    --adm-shadow-lg:  0 8px 32px rgba(0,0,0,.12), 0 4px 12px rgba(0,0,0,.08);
  }

  /* ── DARK THEME ─────────────────────────────────────────────────── */
  [data-theme="dark"] {
    --adm-bg:         #0F1318;
    --adm-sidebar-bg: #151B24;
    --adm-sidebar-border: rgba(255,255,255,.06);
    --adm-topbar-bg:  rgba(255,255,255,.97);
    --adm-body-bg:    #0F1318;
    --adm-surface:    #1A2233;
    --adm-border:     #253045;
    --adm-text:       #F0F4F8;
    --adm-text-2:     #8896A8;
    --adm-text-inv:   #F0F4F8;
    --adm-nav-bg:     transparent;
    --adm-nav-active: rgba(232,120,0,.15);
    --adm-nav-active-text: #E87800;
    --adm-nav-hover:  rgba(255,255,255,.05);
    --adm-nav-text:   #C8D0DC;
    --adm-olive-dark: #0F1318;
    --adm-olive:      #151B24;
    --adm-olive-mid:  #1E2837;
    --adm-olive-lt:   #263347;
    --adm-shadow:     0 1px 3px rgba(0,0,0,.3), 0 4px 16px rgba(0,0,0,.2);
    --adm-shadow-md:  0 4px 20px rgba(0,0,0,.35), 0 8px 32px rgba(0,0,0,.25);
  }

  /* ── Reset & base ─────────────────────────────────────────────────── */
  *,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
  body.admin-body {
    font-family: 'Outfit', system-ui, sans-serif;
    background: #F4F2EE;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    -webkit-font-smoothing: antialiased;
    color: #1a1a1a;
  }

  /* ── Dark mode ────────────────────────────────────────────────────── */
  [data-theme="dark"] {
    --bg:#0A0F06; --surface:#121809; --text:#F0EEDF;
    --border:#1E2614; --n50:#0D1208; --n100:#141A0A;
    --n200:#1B2210; --n300:#253018; --n400:#3D5026;
    --n500:#617A3E; --n600:#8FAE5A; --n700:#BACE7C;
    --cream:#0A0F06;
  }
  [data-theme="dark"] body.admin-body { background: #0A0F06; }
  [data-theme="dark"] /* sidebar background: see full rule below */
  [data-theme="dark"] .adm-topbar { background: #121809; border-color: #1E2614; }
  [data-theme="dark"] .adm-body { background: var(--adm-body-bg, #0F1318); }
  [data-theme="dark"] .stat-card,
  [data-theme="dark"] .adm-table-wrap,
  [data-theme="dark"] .adm-card { background: #121809; border-color: #1E2614; }
  [data-theme="dark"] .adm-table th { background: #0D1208; }
  [data-theme="dark"] .adm-table tbody tr:hover td { background: #141A0A; }

  /* ── Layout ───────────────────────────────────────────────────────── */
  .adm-layout { display: flex; min-height: 100vh; }

  /* ═══════════════════════════════════════════════════════════════════
     SIDEBAR
     ═══════════════════════════════════════════════════════════════════ */
  .adm-sidebar {
    width: var(--adm-sidebar-w);
    flex-shrink: 0;
    background: var(--adm-sidebar-bg, #F8F9FA);
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    scrollbar-width: none;
    z-index: 10;
    border-right: 1px solid var(--adm-sidebar-border, #E8EAED);
    box-shadow: 2px 0 12px rgba(0,0,0,.06);
  }
  .adm-sidebar::-webkit-scrollbar { display: none; }
  /* Overlay glow sutil en sidebar */
  .adm-sidebar::before {
    content: '';
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(232,120,0,.06) 0%, transparent 70%);
    top: -80px;
    right: -80px;
    pointer-events: none;
  }

  /* Brand */
  .adm-brand {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 22px 18px 16px;
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,.06);
    position: relative;
    z-index: 1;
    transition: opacity .15s;
  }
  .adm-brand:hover { opacity: .9; }
  .adm-brand-logo { width: 38px; height: 38px; flex-shrink: 0; border-radius: 10px; box-shadow: 0 2px 8px rgba(0,0,0,.1); }
  .adm-brand-name {
    font-family: 'Bricolage Grotesque', sans-serif;
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1.1;
  }
  .adm-brand-name .a { color: #F0C430; }
  .adm-brand-name .v { color: #FF9120; }
  .adm-tag {
    display: inline-block;
    background: linear-gradient(90deg, var(--adm-orange), var(--adm-orange-lt));
    color: #fff;
    font-size: .5rem;
    font-weight: 900;
    padding: 2px 8px;
    border-radius: 4px;
    font-family: 'Bricolage Grotesque', sans-serif;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-top: 4px;
    width: fit-content;
    box-shadow: 0 1px 6px rgba(232,120,0,.35);
  }

  /* User pill */
  .adm-user {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    margin: 10px 12px;
    background: var(--adm-body-bg,#F0F1F3);
    border: 1px solid var(--adm-border,#E8EAED);
    border-radius: 14px;
    backdrop-filter: blur(8px);
    position: relative;
    z-index: 1;
  }
  .adm-user-av {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--adm-orange) 0%, var(--adm-orange-lt) 100%);
    color: #fff;
    font-size: .78rem;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Bricolage Grotesque', sans-serif;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(232,120,0,.35);
  }
  .adm-user-name { font-size: .84rem; font-weight: 700; color: var(--adm-text,#1A1F2E); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .adm-user-role { font-size: .62rem; color: var(--adm-text-2,#636E82); text-transform: uppercase; letter-spacing: .08em; margin-top: 1px; }

  /* Navigation */
  .adm-nav { padding: 8px 0; flex: 1; overflow-y: auto; scrollbar-width: none; }
  .adm-nav::-webkit-scrollbar { display: none; }
  .adm-nav-group { margin-bottom: 6px; padding: 0 8px; }
  .adm-nav-group-label {
    font-size: .58rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: rgba(255,255,255,.2);
    padding: 10px 10px 5px;
    font-family: 'Bricolage Grotesque', sans-serif;
  }
  .adm-nav-a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 11px;
    border-radius: 12px;
    font-size: .83rem;
    font-weight: 600;
    color: rgba(255,255,255,.5);
    transition: all .15s ease;
    text-decoration: none;
    margin-bottom: 1px;
    position: relative;
  }
  .adm-nav-a svg { width: 16px; height: 16px; flex-shrink: 0; opacity: .55; transition: opacity .15s; }
  .adm-nav-a:hover {
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.9);
    transform: translateX(2px);
  }
  .adm-nav-a:hover svg { opacity: .85; }
  .adm-nav-a.active {
    background: linear-gradient(135deg, rgba(232,120,0,.22) 0%, rgba(232,120,0,.12) 100%);
    color: #FF9500;
    font-weight: 700;
  }
  .adm-nav-a.active svg { opacity: 1; color: #FF9500; }
  .adm-nav-a.active::before {
    content: '';
    position: absolute;
    left: 0; top: 20%; bottom: 20%;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: linear-gradient(180deg, var(--adm-orange-lt), var(--adm-orange));
  }
  .adm-nav-badge {
    margin-left: auto;
    background: linear-gradient(135deg, var(--adm-orange-lt), var(--adm-orange));
    color: #fff;
    font-size: .6rem;
    font-weight: 900;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Bricolage Grotesque', sans-serif;
    box-shadow: 0 2px 6px rgba(232,120,0,.4);
  }
  .adm-nav-sep { border: none; border-top: 1px solid var(--adm-border,#E8EAED); margin: 6px 8px; }

  /* ═══════════════════════════════════════════════════════════════════
     TOP BAR
     ═══════════════════════════════════════════════════════════════════ */
  .adm-main { flex: 1; display: flex; flex-direction: column; min-width: 0; }
  .adm-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    height: var(--adm-topbar-h);
    background: var(--adm-topbar-bg, #FFFFFF);
    border-bottom: 1px solid var(--adm-border,#E2E5EC);
    position: sticky;
    top: 0;
    z-index: 9;
    gap: 16px;
    backdrop-filter: blur(12px);
    box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.04);
  }
  /* Search */
  .adm-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    background: #F4F2EE;
    border: 1.5px solid #E5E2D8;
    border-radius: 12px;
    padding: 0 12px;
    height: 38px;
    min-width: 220px;
    max-width: 340px;
    flex: 1;
    transition: all .18s;
  }
  .adm-search-wrap:focus-within {
    background: #fff;
    border-color: var(--adm-orange);
    box-shadow: 0 0 0 3px rgba(232,120,0,.12);
  }
  .adm-search-wrap input {
    flex: 1;
    border: none;
    background: transparent;
    outline: none;
    font-size: .82rem;
    color: #1a1a1a;
    min-width: 0;
  }
  .adm-search-wrap input::placeholder { color: #aaa; }
  .adm-search-results {
    position: absolute;
    top: calc(100% + 6px);
    left: 0; right: 0;
    background: #fff;
    border: 1px solid #ECEAE3;
    border-radius: 14px;
    box-shadow: var(--adm-shadow-md);
    overflow: hidden;
    z-index: 999;
    max-height: 340px;
    overflow-y: auto;
  }
  .adm-sr-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    font-size: .82rem;
    color: #1a1a1a;
    cursor: pointer;
    text-decoration: none;
    border-bottom: 1px solid #F4F2EE;
    transition: background .1s;
  }
  .adm-sr-item:last-child { border-bottom: none; }
  .adm-sr-item:hover, .adm-sr-item.focused { background: #FFF3E0; }
  .adm-sr-item svg { flex-shrink: 0; color: #aaa; }
  .adm-sr-label {
    font-size: .66rem;
    color: #888;
    padding: 6px 14px 3px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    background: #F9F7F3;
  }
  .adm-page-title {
    font-family: 'Bricolage Grotesque', sans-serif;
    font-size: 1.1rem;
    font-weight: 800;
    color: #1a1a1a;
    margin: 0;
    letter-spacing: -.03em;
  }
  .adm-topbar-right { display: flex; align-items: center; gap: 8px; }
  .adm-btn-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F4F2EE;
    border: 1px solid #E5E2D8;
    color: #6b6b6b;
    cursor: pointer;
    transition: all .15s;
    text-decoration: none;
  }
  .adm-btn-icon svg { width: 17px; height: 17px; }
  .adm-btn-icon:hover { background: #E8E4DA; color: #1a1a1a; transform: translateY(-1px); }

  /* Theme toggle */
  .theme-toggle {
    width: 36px; height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.14);
    color: rgba(255,255,255,.65);
    cursor: pointer;
    transition: all .2s;
    position: relative;
  }
  .theme-toggle svg { width: 17px; height: 17px; position: absolute; transition: opacity .2s; }
  /* icon toggle handled by main.css display rules */
  .theme-toggle:hover { background: rgba(255,255,255,.18); color: #fff; }

  /* ═══════════════════════════════════════════════════════════════════
     CONTENT AREA
     ═══════════════════════════════════════════════════════════════════ */
  .adm-body { padding: 24px; flex: 1; background: #F4F2EE; }

  /* Flash */
  .adm-flash-wrap { margin-bottom: 18px; display: flex; flex-direction: column; gap: 8px; }
  .adm-flash {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 18px;
    border-radius: 14px;
    font-size: .85rem;
    font-weight: 600;
    font-family: 'Bricolage Grotesque', sans-serif;
    box-shadow: var(--adm-shadow);
    animation: slideDownFade .25s ease both;
  }
  @keyframes slideDownFade { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
  .adm-flash--success { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
  .adm-flash--error { background: #fef2f2; color: #991b1b; border: 1px solid #fca5a5; }
  .adm-flash--warning { background: #fffbeb; color: #92400e; border: 1px solid #fcd34d; }
  .adm-flash--info { background: #eff6ff; color: #1e40af; border: 1px solid #93c5fd; }
  .adm-flash-x { background: transparent; border: none; font-size: 1.2rem; cursor: pointer; opacity: .4; line-height: 1; transition: opacity .15s; }
  .adm-flash-x:hover { opacity: 1; }

  /* ═══════════════════════════════════════════════════════════════════
     STAT CARDS
     ═══════════════════════════════════════════════════════════════════ */
  .stat-grid, .stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 14px;
    margin-bottom: 24px;
  }
  .stat-card {
    background: #fff;
    border: 1px solid #ECEAE3;
    border-radius: var(--adm-r-lg);
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: all .2s cubic-bezier(.34,1.56,.64,1);
    text-decoration: none;
    cursor: default;
    box-shadow: var(--adm-shadow);
    position: relative;
    overflow: hidden;
  }
  /* Accent line top */
  .stat-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, rgba(232,120,0,.3), transparent);
    opacity: 0;
    transition: opacity .2s;
  }
  .stat-card:hover {
    box-shadow: var(--adm-shadow-md);
    transform: translateY(-4px);
    border-color: #DDD9CE;
  }
  .stat-card:hover::before { opacity: 1; }
  .stat-icon {
    width: 48px; height: 48px;
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: transform .2s cubic-bezier(.34,1.56,.64,1);
  }
  .stat-card:hover .stat-icon { transform: scale(1.1) rotate(-5deg); }
  .stat-icon svg { width: 22px; height: 22px; }
  .stat-val, .stat-num {
    font-family: 'Bricolage Grotesque', sans-serif;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1;
    color: #1a1a1a;
    letter-spacing: -.04em;
  }
  .stat-lbl, .stat-label {
    font-size: .74rem;
    color: #888;
    font-weight: 600;
    margin-top: 3px;
  }
  .stat-sub { font-size: .68rem; color: #bbb; margin-top: 2px; }

  /* ═══════════════════════════════════════════════════════════════════
     TABLES
     ═══════════════════════════════════════════════════════════════════ */
  .adm-table-wrap, .admin-table-wrap {
    background: #fff;
    border: 1px solid #ECEAE3;
    border-radius: var(--adm-r-lg);
    overflow: hidden;
    box-shadow: var(--adm-shadow);
    margin-bottom: 20px;
  }
  .adm-table-hdr, .admin-table-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--adm-border,#E2E5EC);
    gap: 12px;
    flex-wrap: wrap;
    background: linear-gradient(180deg, #FAFAF6 0%, #fff 100%);
  }
  .adm-table-title, .admin-table-title {
    font-family: 'Bricolage Grotesque', sans-serif;
    font-size: .92rem;
    font-weight: 800;
    margin: 0;
    color: #1a1a1a;
    letter-spacing: -.02em;
  }
  .adm-table, .admin-table { width: 100%; border-collapse: collapse; font-size: .83rem; }
  .adm-table th, .admin-table th {
    padding: 11px 16px;
    text-align: left;
    font-size: .64rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #999;
    background: #F9F7F3;
    border-bottom: 1px solid var(--adm-border,#E2E5EC);
    white-space: nowrap;
    font-family: 'Bricolage Grotesque', sans-serif;
  }
  .adm-table td, .admin-table td {
    padding: 12px 16px;
    border-bottom: 1px solid #F4F2EE;
    vertical-align: middle;
    color: #2a2a2a;
    transition: background .1s;
  }
  .adm-table tr:last-child td, .admin-table tr:last-child td { border-bottom: none; }
  .adm-table tbody tr:hover td, .admin-table tbody tr:hover td {
    background: #FFF8F0;
  }
  .adm-table a, .admin-table a { color: var(--adm-orange); font-weight: 600; }

  /* ═══════════════════════════════════════════════════════════════════
     TOOLBAR & SEARCH
     ═══════════════════════════════════════════════════════════════════ */
  .adm-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; flex-wrap: wrap; }
  .adm-search-box { flex: 1; min-width: 180px; max-width: 340px; position: relative; }
  .adm-search-box svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 15px; height: 15px; color: #bbb; }
  .adm-search-box input {
    width: 100%;
    padding: 10px 14px 10px 36px;
    border: 1.5px solid #E5E2D8;
    border-radius: 12px;
    font-size: .875rem;
    background: #fff;
    color: #1a1a1a;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
  }
  .adm-search-box input:focus { border-color: var(--adm-orange); box-shadow: 0 0 0 3px rgba(232,120,0,.1); }
  .adm-sel {
    padding: 10px 14px;
    border: 1.5px solid #E5E2D8;
    border-radius: 12px;
    font-size: .875rem;
    background: #fff;
    color: #1a1a1a;
    outline: none;
    cursor: pointer;
    transition: border-color .15s;
  }
  .adm-sel:focus { border-color: var(--adm-orange); }

  /* ═══════════════════════════════════════════════════════════════════
     CARDS
     ═══════════════════════════════════════════════════════════════════ */
  .adm-card {
    background: #fff;
    border: 1px solid #ECEAE3;
    border-radius: var(--adm-r-lg);
    padding: 22px;
    margin-bottom: 16px;
    box-shadow: var(--adm-shadow);
    transition: box-shadow .2s;
  }
  .adm-card:hover { box-shadow: var(--adm-shadow-md); }
  .adm-card-title {
    font-family: 'Bricolage Grotesque', sans-serif;
    font-size: .9rem;
    font-weight: 800;
    margin: 0 0 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #F0EDE5;
    color: #1a1a1a;
    letter-spacing: -.02em;
    display: flex;
    align-items: center;
    gap: 8px;
  }

  /* ═══════════════════════════════════════════════════════════════════
     FORMS
     ═══════════════════════════════════════════════════════════════════ */
  .adm-form { display: flex; flex-direction: column; gap: 16px; max-width: 680px; }
  .adm-field { display: flex; flex-direction: column; gap: 5px; }
  .adm-field label {
    font-size: .68rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #888;
    font-family: 'Bricolage Grotesque', sans-serif;
  }
  .adm-field input, .adm-field textarea, .adm-field select {
    padding: 11px 14px;
    border: 1.5px solid #E5E2D8;
    border-radius: 12px;
    font-size: .9rem;
    color: #1a1a1a;
    background: #FAFAF6;
    outline: none;
    transition: border-color .15s, box-shadow .15s, background .15s;
    width: 100%;
    font-family: inherit;
  }
  .adm-field input:focus, .adm-field textarea:focus, .adm-field select:focus {
    border-color: var(--adm-orange);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(232,120,0,.1);
  }
  .adm-field textarea { resize: vertical; min-height: 100px; line-height: 1.7; }

  /* ═══════════════════════════════════════════════════════════════════
     BADGES & CHIPS
     ═══════════════════════════════════════════════════════════════════ */
  .role-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 6px;
    font-size: .65rem;
    font-weight: 900;
    font-family: 'Bricolage Grotesque', sans-serif;
    text-transform: uppercase;
    letter-spacing: .06em;
  }
  .role-superadmin { background: #f3e8ff; color: #7c3aed; }
  .role-admin { background: #FFF3E0; color: #C46400; }
  .role-moderator { background: #dbeafe; color: #1e40af; }
  .role-accountant { background: #d1fae5; color: #065f46; }
  .role-user { background: #F4F2EE; color: #777; }

  /* ═══════════════════════════════════════════════════════════════════
     DATA VIZ
     ═══════════════════════════════════════════════════════════════════ */
  .bar-wrap {
    height: 7px;
    background: #ECEAE3;
    border-radius: 4px;
    overflow: hidden;
    flex: 1;
  }
  .bar-fill {
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, var(--adm-orange-lt), var(--adm-orange));
    transition: width .6s cubic-bezier(.22,1,.36,1);
    box-shadow: 0 0 6px rgba(232,120,0,.3);
  }

  /* ═══════════════════════════════════════════════════════════════════
     TOGGLE SWITCH
     ═══════════════════════════════════════════════════════════════════ */
  .toggle-sw { position: relative; display: inline-block; width: 40px; height: 22px; }
  .toggle-sw input { opacity: 0; width: 0; height: 0; }
  .toggle-knob {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: #D8D4CA;
    border-radius: 11px;
    transition: all .2s;
  }
  .toggle-knob:before {
    content: '';
    position: absolute;
    width: 16px; height: 16px;
    left: 3px; bottom: 3px;
    background: #fff;
    border-radius: 50%;
    transition: all .2s;
    box-shadow: 0 1px 4px rgba(0,0,0,.15);
  }
  input:checked + .toggle-knob {
    background: linear-gradient(135deg, var(--adm-orange-lt), var(--adm-orange));
    box-shadow: 0 2px 8px rgba(232,120,0,.4);
  }
  input:checked + .toggle-knob:before { transform: translateX(18px); }

  /* ═══════════════════════════════════════════════════════════════════
     PAGINATION
     ═══════════════════════════════════════════════════════════════════ */
  .adm-pages {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 18px;
    border-top: 1px solid #ECEAE3;
  }
  .adm-pg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border: 1.5px solid #E5E2D8;
    border-radius: 10px;
    font-size: .82rem;
    font-weight: 700;
    font-family: 'Bricolage Grotesque', sans-serif;
    color: #777;
    background: #fff;
    transition: all .15s;
    text-decoration: none;
  }
  .adm-pg:hover { background: #1c2810; color: #fff; border-color: #1c2810; transform: translateY(-1px); }
  .adm-pg.cur {
    background: linear-gradient(135deg, var(--adm-orange-lt), var(--adm-orange));
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(232,120,0,.35);
  }

  /* ═══════════════════════════════════════════════════════════════════
     BUTTONS dentro del admin
     ═══════════════════════════════════════════════════════════════════ */
  .adm-body .btn-primary {
    background: linear-gradient(135deg, var(--adm-orange-lt) 0%, var(--adm-orange) 60%, #C46400 100%);
    border-radius: 12px;
    font-weight: 800;
    box-shadow: 0 4px 14px rgba(232,120,0,.3);
    transition: filter .15s, transform .2s cubic-bezier(.34,1.56,.64,1), box-shadow .2s;
  }
  .adm-body .btn-primary:hover {
    filter: brightness(1.08);
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(232,120,0,.4);
  }
  .adm-body .btn-danger { border-radius: 12px; }
  .adm-body .btn-ghost {
    border-radius: 12px;
    border-color: #E5E2D8;
    color: #555;
    background: #fff;
  }
  .adm-body .btn-ghost:hover { background: var(--adm-body-bg,#F4F5F7); border-color: var(--adm-border,#E2E5EC); color: var(--adm-text,#1A1F2E); }
  .adm-body .btn-olive { border-radius: 12px; background: #1c2810; }
  .adm-body .btn-olive:hover { background: #243516; }

  /* ═══════════════════════════════════════════════════════════════════
     RESPONSIVE
     ═══════════════════════════════════════════════════════════════════ */
  @media (max-width: 900px) {
    .adm-sidebar { display: none; }
    .adm-sidebar.open { display: flex; position: fixed; inset: 0; width: var(--adm-sidebar-w); z-index: 200; }
  }
  
  /* ── Admin Responsive ───────────────────────────────────────────────────── */
  @media (max-width: 1024px) {
    .adm-sidebar { width: 220px !important; }
    .adm-main { min-width: 0 !important; }
  }
  @media (max-width: 860px) {
    .adm-layout { flex-direction: column !important; }
    .adm-sidebar {
      width: 100% !important; height: auto !important;
      position: relative !important; top: 0 !important;
      flex-direction: row !important; flex-wrap: wrap !important;
      padding: 10px !important; gap: 6px !important;
      overflow-x: auto !important; max-height: none !important;
    }
    .adm-sidebar .adm-nav-group { display: contents !important; }
    .adm-sidebar .adm-nav-group-label { display: none !important; }
    .adm-nav-a {
      flex-direction: column !important; padding: 8px 10px !important;
      font-size: .7rem !important; gap: 4px !important;
      border-radius: 8px !important; white-space: nowrap !important;
      min-width: 64px !important; text-align: center !important;
    }
    .adm-nav-a svg { width: 18px !important; height: 18px !important; }
    .adm-topbar { padding: 0 12px !important; }
    .adm-topbar-title { font-size: .9rem !important; }
  }
  @media (max-width: 640px) {
    .adm-sidebar { display: none !important; }
    .adm-content { padding: 14px 12px !important; }
    .adm-stats-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
    .adm-table th:nth-child(n+4),
    .adm-table td:nth-child(n+4) { display: none !important; }
  }
  /* Tables always scrollable on mobile */
  .adm-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .adm-table { min-width: 600px; }
  /* Cards grid responsive */
  .adm-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(260px,100%),1fr));
    gap: 16px;
  }
  /* Fluid text in admin */
  .adm-content h1 { font-size: clamp(1.1rem, 3vw, 1.5rem) !important; }
  .adm-content h2 { font-size: clamp(1rem, 2.5vw, 1.2rem) !important; }

  /* ── Dark mode nav overrides ─────────────────────────── */
  [data-theme="dark"] .adm-user { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.08); }
  [data-theme="dark"] .adm-nav-a { color: #C8D0DC; }
  [data-theme="dark"] .adm-nav-a svg { color: var(--adm-orange,#E87800); }
  [data-theme="dark"] .adm-nav-a:hover { background: rgba(255,255,255,.06); color: #fff; }
  [data-theme="dark"] .adm-nav-a.active { background: var(--adm-orange,#E87800); color: #fff !important; }
  [data-theme="dark"] .adm-nav-group-label { color: rgba(255,255,255,.35); }
  [data-theme="dark"] .adm-nav-sep { border-color: rgba(255,255,255,.06); }
  [data-theme="dark"] .adm-user-name { color: #fff; }
  [data-theme="dark"] .adm-user-role { color: rgba(255,255,255,.5); }
  [data-theme="dark"] .adm-brand-name .a { color: #E8F5C0; }
/* ── Compatibility aliases for old admin class names ─────────────── */
.stats-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:14px; margin-bottom:24px }
.admin-table-wrap,.adm-table-wrap { background:var(--adm-surface,#FFFFFF); border:1px solid var(--adm-border,#E2E5EC); border-radius:16px; overflow:hidden }
.admin-table-header,.adm-table-hdr { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--border); gap:12px; flex-wrap:wrap }
.admin-table-title,.adm-table-title { font-family:'Bricolage Grotesque',sans-serif; font-size:.92rem; font-weight:700; margin:0; color:var(--text) }
.admin-table,.adm-table { width:100%; border-collapse:collapse; font-size:.84rem }
.admin-table th,.adm-table th { padding:10px 14px; text-align:left; font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.09em; color:var(--adm-text-2,#636E82); background:var(--adm-body-bg,#F4F5F7); border-bottom:1px solid var(--adm-border,#E2E5EC); white-space:nowrap; font-family:'Bricolage Grotesque',sans-serif }
.admin-table td,.adm-table td { padding:11px 14px; border-bottom:1px solid var(--n100); vertical-align:middle; color:var(--text) }
.admin-table tr:last-child td,.adm-table tr:last-child td { border-bottom:none }
.admin-table tbody tr:hover td,.adm-table tbody tr:hover td { background:var(--n50) }
.admin-table a,.adm-table a { color:var(--orange); font-weight:600 }
.admin-toolbar,.adm-toolbar { display:flex; align-items:center; gap:10px; margin-bottom:18px; flex-wrap:wrap }
.admin-search-bar,.adm-search-box { flex:1; min-width:180px; max-width:340px; position:relative }
.admin-search-bar svg,.adm-search-box svg { position:absolute; left:11px; top:50%; transform:translateY(-50%); width:16px; height:16px; color:var(--n400) }
.admin-search-bar input,.adm-search-box input { width:100%; padding:9px 14px 9px 34px; border:1.5px solid var(--border); border-radius:10px; font-size:.875rem; background:var(--surface); color:var(--text); outline:none; transition:border-color .2s }
.admin-search-bar input:focus,.adm-search-box input:focus { border-color:var(--orange) }
.admin-form,.adm-form { display:flex; flex-direction:column; gap:16px; max-width:680px }
.admin-card,.adm-card { background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:22px; margin-bottom:16px }
.admin-card-title,.adm-card-title { font-family:'Bricolage Grotesque',sans-serif; font-size:.92rem; font-weight:700; margin:0 0 18px; padding-bottom:13px; border-bottom:1px solid var(--border); color:var(--text) }
.admin-field,.adm-field { display:flex; flex-direction:column; gap:5px }
.admin-field label,.adm-field label { font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--n600); font-family:'Bricolage Grotesque',sans-serif }
.admin-field input,.admin-field textarea,.admin-field select,.adm-field input,.adm-field textarea,.adm-field select { padding:10px 13px; border:1.5px solid var(--border); border-radius:10px; font-size:.9rem; color:var(--text); background:var(--surface); outline:none; transition:border-color .2s; width:100%; font-family:inherit }
.admin-field input:focus,.admin-field textarea:focus,.admin-field select:focus,.adm-field input:focus,.adm-field textarea:focus,.adm-field select:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(232,120,0,.1) }
.admin-pagination,.adm-pages { display:flex; align-items:center; justify-content:center; gap:5px; padding:18px; border-top:1px solid var(--border) }
/* Fix button class btn in admin context */
.btn { display:inline-flex; align-items:center; gap:7px; font-family:'Bricolage Grotesque',sans-serif; font-weight:700; border-radius:10px; border:none; cursor:pointer; transition:all .2s; white-space:nowrap; vertical-align:middle; padding:9px 16px; font-size:.84rem }
.btn-primary,.btn.btn-primary { background:var(--orange); color:#fff; box-shadow:0 4px 12px rgba(232,120,0,.25) }
.btn-primary:hover,.btn.btn-primary:hover { background:#C46400; transform:translateY(-1px) }
.btn-secondary,.btn.btn-secondary { background:transparent; color:var(--text); border:1.5px solid var(--border) }
.btn-secondary:hover { background:var(--n100) }
.btn-danger,.btn.btn-danger { background:#DC2626; color:var(--text) }
.btn-danger:hover { background:#b91c1c }
.btn-danger-ghost,.btn.btn-danger-ghost { background:transparent; color:#DC2626; border:1px solid transparent; border-radius:8px; padding:5px 10px }
.btn-danger-ghost:hover { background:#fef2f2; border-color:#DC2626 }
.btn-sm,.btn.btn-sm { padding:5px 10px; font-size:.75rem; border-radius:8px }
.btn-full,.btn.btn-full { width:100%; justify-content:center }
.inline-form { display:inline }
.field-group { display:flex; flex-direction:column; gap:5px }
.field-group label { font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--n600); font-family:'Bricolage Grotesque',sans-serif }
.field-group input,.field-group textarea,.field-group select { padding:10px 13px; border:1.5px solid var(--border); border-radius:10px; font-size:.9rem; color:var(--text); background:var(--surface); outline:none; transition:border-color .2s; width:100%; font-family:inherit }
.field-group input:focus,.field-group textarea:focus,.field-group select:focus { border-color:var(--orange) }
.field-group textarea { resize:vertical; min-height:100px; line-height:1.7 }
.field-hint { font-size:.75rem; color:var(--n400) }
.required { color:#DC2626 }
.checkbox-label,.checkbox { display:flex; align-items:center; gap:9px; cursor:pointer; font-size:.875rem }
.checkbox-label input[type="checkbox"],.checkbox input { display:none }
.checkbox-custom,.checkbox-box { width:18px; height:18px; border:2px solid var(--border); border-radius:4px; display:flex; align-items:center; justify-content:center; transition:all .2s; flex-shrink:0 }
.checkbox-label input:checked+.checkbox-custom,.checkbox input:checked+.checkbox-box { background:var(--orange); border-color:var(--orange) }
.checkbox-label input:checked+.checkbox-custom::after,.checkbox input:checked+.checkbox-box::after { content:'✓'; color:#fff; font-size:.68rem; font-weight:900 }
.status-pill,.st-pill { padding:3px 7px; border-radius:4px; font-size:.65rem; font-weight:900; text-transform:uppercase; letter-spacing:.05em; font-family:'Bricolage Grotesque',sans-serif }
.status-pill--active,.st-active { background:#dcfce7; color:#166534 }
.status-pill--paused,.st-paused { background:#fef9c3; color:#854d0e }
.status-pill--sold,.st-sold { background:#dbeafe; color:#1e40af }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:16px }

/* === from broadcast.html === */
.bc-layout{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:flex-start}
@media(max-width:960px){.bc-layout{grid-template-columns:1fr}}
.bc-card{background:var(--adm-surface,#fff);border:1.5px solid var(--adm-border,#E2E5EC);border-radius:14px;padding:18px 20px;margin-bottom:14px}
.bc-card-title{font-size:.88rem;font-weight:800;color:var(--adm-text,#1A1F2E);display:flex;align-items:center;gap:8px;margin-bottom:14px}
.bc-card-title svg{color:var(--adm-orange,#E87800)}
.aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media(max-width:600px){.aud-grid{grid-template-columns:repeat(2,1fr)}}
.aud-card{background:var(--adm-body-bg,#F4F5F7);border:1.5px solid var(--adm-border,#E2E5EC);border-radius:10px;padding:12px;cursor:pointer;transition:all .15s;position:relative}
.aud-card:hover{border-color:var(--adm-orange,#E87800)}
.aud-card.selected{border-color:var(--adm-orange,#E87800);background:#FFF3E0;box-shadow:0 0 0 3px rgba(232,120,0,.1)}
.aud-card input{position:absolute;opacity:0;pointer-events:none}
.aud-count{font-size:1.5rem;font-weight:900;line-height:1;color:var(--adm-text,#1A1F2E)}
.aud-lbl{font-size:.72rem;color:var(--adm-text-2,#636E82);margin-top:2px;font-weight:600}
.channel-btn{display:flex;align-items:center;gap:7px;padding:9px 14px;border:1.5px solid var(--adm-border,#E2E5EC);border-radius:9px;cursor:pointer;transition:all .15s;background:var(--adm-body-bg,#F4F5F7);font-size:.82rem;font-weight:600;color:var(--adm-text)}
.channel-btn.sel{border-color:var(--adm-orange,#E87800);background:#FFF3E0;color:var(--adm-orange,#E87800)}
.channel-btn input{display:none}
/* Preview bubble - orange bg with WHITE text */
.msg-preview{
  background:var(--adm-orange,#E87800);
  color:#fff !important;
  border-radius:14px 14px 14px 4px;
  padding:12px 16px;
  font-size:.875rem;
  line-height:1.55;
  max-width:340px;
  word-break:break-word;
  position:relative;
  box-shadow:0 4px 12px rgba(232,120,0,.25);
}
.msg-preview-time{font-size:.68rem;color:rgba(255,255,255,.6);margin-top:6px;text-align:right}
.msg-preview-empty{color:rgba(255,255,255,.5);font-style:italic;font-size:.84rem}
/* Template cards */
.tpl-card{background:var(--adm-body-bg,#F4F5F7);border:1.5px solid var(--adm-border,#E2E5EC);border-radius:10px;padding:12px 14px;cursor:pointer;transition:border-color .15s}
.tpl-card:hover{border-color:var(--adm-orange,#E87800)}
.tpl-actions{display:flex;gap:6px;margin-top:8px}
/* Send popup */
.send-modal{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);align-items:center;justify-content:center}
.send-modal.open{display:flex}
.send-modal-box{background:var(--adm-surface,#fff);border-radius:18px;padding:28px;max-width:480px;width:calc(100% - 32px);box-shadow:0 20px 60px rgba(0,0,0,.3)}

/* === from dashboard.html === */
/* ─── Dashboard local styles ───────────────────────────────────────────── */
.ds-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 20px;
}
.ds-grid-2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}
@media(max-width:1400px){ .ds-grid{ grid-template-columns: repeat(2, 1fr); } }
@media(max-width:700px){  .ds-grid, .ds-grid-2{ grid-template-columns: 1fr; } }

.ds{
  background: var(--adm-surface, #FFFFFF);
  border: 1.5px solid var(--adm-border, #E2E5EC);
  border-radius: 14px;
  padding: 18px 20px;
  transition: transform .15s, box-shadow .15s;
}
.ds:hover{ transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,.3); }
.ds-icon{
  width: 40px; height: 40px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 12px;
}
.ds-val{
  font-size: 1.9rem; font-weight: 900;
  color: var(--adm-text, #F0F4F8);
  line-height: 1;
}
.ds-lbl{
  font-size: .74rem;
  color: var(--adm-text-2, #8896A8);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-top: 4px;
}
.ds-sub{
  font-size: .76rem;
  color: var(--adm-text-2, #8896A8);
  margin-top: 6px;
}
.ds-sub span{ color: var(--adm-orange, #E87800); font-weight: 700; }

.ds-alert{ border-color: #dc2626 !important; background: rgba(220,38,38,.08) !important; }
.ds-warn{  border-color: #d97706 !important; background: rgba(217,119,6,.06) !important; }
.ds-ok{    border-color: #16a34a !important; background: rgba(22,163,74,.06) !important; }

.adm-panel{
  background: var(--adm-surface, #FFFFFF);
  border: 1.5px solid var(--adm-border, #E2E5EC);
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 20px;
}
.adm-panel-head{
  padding: 14px 20px;
  border-bottom: 1px solid var(--adm-border, #253045);
  display: flex; align-items: center; justify-content: space-between;
}
.adm-panel-title{
  font-weight: 800; font-size: .92rem;
  color: var(--adm-text, #F0F4F8);
  display: flex; align-items: center; gap: 8px;
}
.adm-panel-title svg{ color: var(--adm-orange, #E87800); }
.adm-panel-body{ padding: 16px 20px; }
.adm-mini-table{ width: 100%; border-collapse: collapse; font-size: .82rem; }
.adm-mini-table th{
  padding: 8px 12px; text-align: left;
  font-size: .7rem; color: var(--adm-text-2, #8896A8);
  font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  border-bottom: 1px solid var(--adm-border, #253045);
}
.adm-mini-table td{
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255,255,255,.04);
  color: var(--adm-text, #F0F4F8);
  vertical-align: middle;
}
.adm-mini-table tr:last-child td{ border-bottom: none; }
.adm-bar{ height: 6px; background: rgba(255,255,255,.08); border-radius: 99px; overflow: hidden; margin-top: 6px; }
.adm-bar-fill{ height: 100%; border-radius: 99px; background: var(--adm-orange, #E87800); }
.adm-badge{ display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 99px; font-size: .68rem; font-weight: 800; }
.pa{ display: flex; align-items: center; gap: 10px; padding: 12px 16px; background: rgba(220,38,38,.06); border: 1px solid rgba(220,38,38,.2); border-radius: 10px; margin-bottom: 8px; text-decoration: none; }
.pa:last-child{ margin-bottom: 0; }
.pa:hover{ background: rgba(220,38,38,.1); }
.pa-count{ font-size: 1.3rem; font-weight: 900; color: #dc2626; min-width: 36px; }
.pa-label{ font-size: .84rem; color: var(--adm-text, #F0F4F8); font-weight: 700; }
.pa-sub{ font-size: .74rem; color: var(--adm-text-2, #8896A8); margin-top: 1px; }

/* === from database.html === */
.db-wrap { max-width: 1100px; margin: 0 auto; padding: 28px 24px; }
.db-title { font-size: 1.4rem; font-weight: 900; color: var(--adm-text,#f1f5e4); margin: 0 0 4px; display: flex; align-items: center; gap: 10px; }
.db-sub { font-size: .84rem; color: #8a9a6a; margin: 0 0 28px; }
.db-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px,1fr)); gap: 14px; margin-bottom: 28px; }
.db-stat { background: var(--adm-olive-mid,#243516); border: 1.5px solid var(--adm-border,#2b3d1a); border-radius: 14px; padding: 18px 16px; }
.db-stat-val { font-size: 1.8rem; font-weight: 900; color: var(--adm-orange,#E87800); font-family: var(--adm-font,sans-serif); }
.db-stat-lbl { font-size: .75rem; color: #8a9a6a; margin-top: 4px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.db-section { background: var(--adm-surface,#1c2810); border: 1.5px solid var(--adm-border,#2b3d1a); border-radius: 16px; margin-bottom: 24px; overflow: hidden; }
.db-section-head { padding: 16px 20px; border-bottom: 1px solid var(--adm-border,#2b3d1a); display: flex; align-items: center; justify-content: space-between; }
.db-section-title { font-weight: 800; font-size: 1rem; color: var(--adm-text,#f1f5e4); display: flex; align-items: center; gap: 8px; }
.db-section-title svg { color: var(--adm-orange,#E87800); }
.db-section-body { padding: 20px; }
.db-btn { display: inline-flex; align-items: center; gap: 7px; padding: 9px 18px; border-radius: 10px; font-size: .85rem; font-weight: 700; cursor: pointer; border: none; transition: all .15s; text-decoration: none; }
.db-btn-primary { background: var(--adm-orange,#E87800); color: #fff; }
.db-btn-primary:hover { background: #c96e00; }
.db-btn-danger { background: #dc2626; color: #fff; }
.db-btn-danger:hover { background: #b91c1c; }
.db-btn-ghost { background: var(--adm-olive-mid,#243516); color: var(--adm-text,#f1f5e4); border: 1.5px solid var(--adm-border,#2b3d1a); }
.db-btn-ghost:hover { border-color: var(--adm-orange,#E87800); color: var(--adm-orange,#E87800); }
.db-btn-success { background: #16a34a; color: #fff; }
.db-btn-success:hover { background: #15803d; }
.db-table { width: 100%; border-collapse: collapse; font-size: .84rem; }
.db-table th { text-align: left; padding: 10px 12px; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; color: #8a9a6a; border-bottom: 1px solid var(--adm-border,#2b3d1a); }
.db-table td { padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,.04); color: var(--adm-text,#f1f5e4); vertical-align: middle; }
.db-table tr:last-child td { border-bottom: none; }
.db-table tr:hover td { background: rgba(255,255,255,.02); }
.db-badge { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 99px; font-size: .7rem; font-weight: 800; }
.db-badge-ok { background: #dcfce7; color: #166534; }
.db-badge-warn { background: #fef9c3; color: #854d0e; }
.db-badge-err { background: #fee2e2; color: #991b1b; }
.db-step { display: flex; gap: 14px; margin-bottom: 16px; }
.db-step-num { width: 32px; height: 32px; border-radius: 50%; background: var(--adm-orange,#E87800); color: #fff; font-weight: 900; font-size: .9rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.db-step-body { flex: 1; }
.db-step-title { font-weight: 800; font-size: .9rem; color: var(--adm-text,#f1f5e4); margin: 0 0 4px; }
.db-step-desc { font-size: .8rem; color: #8a9a6a; margin: 0; }
.db-col-table { width: 100%; border-collapse: collapse; font-size: .8rem; }
.db-col-table th { padding: 8px 10px; text-align: left; font-size: .7rem; color: #8a9a6a; font-weight: 700; text-transform: uppercase; border-bottom: 1px solid var(--adm-border,#2b3d1a); }
.db-col-table td { padding: 8px 10px; border-bottom: 1px solid rgba(255,255,255,.03); color: var(--adm-text,#f1f5e4); }

/* === from dispute_detail.html === */
.disp-layout{display:grid;grid-template-columns:1fr 310px;gap:18px;align-items:flex-start}
@media(max-width:960px){.disp-layout{grid-template-columns:1fr}}
.disp-card{background:var(--adm-surface,#fff);border:1.5px solid var(--adm-border,#E2E5EC);border-radius:14px;overflow:hidden;margin-bottom:14px}
.disp-card-head{padding:13px 18px;border-bottom:1px solid var(--adm-border,#E2E5EC);background:var(--adm-body-bg,#F4F5F7);display:flex;align-items:center;justify-content:space-between}
.disp-card-title{font-weight:800;font-size:.88rem;color:var(--adm-text,#1A1F2E);display:flex;align-items:center;gap:8px}
.disp-card-title svg{color:var(--adm-orange,#E87800)}
.disp-card-body{padding:16px 18px}
.status-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:99px;font-size:.7rem;font-weight:800}
.sp-pending{background:#fef9c3;color:#854d0e}
.sp-review{background:#dbeafe;color:#1e40af}
.sp-resolved{background:#dcfce7;color:#166534}
.sp-closed{background:#f3f4f6;color:#6b7280}
/* Chat area */
.chat-area{height:400px;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--adm-body-bg,#F4F5F7)}
.chat-msg{display:flex;gap:10px;align-items:flex-end;max-width:85%}
.chat-msg.admin{align-self:flex-end;flex-direction:row-reverse}
.chat-msg.admin .chat-avatar{background:var(--adm-orange,#E87800);color:#fff}
.chat-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;flex-shrink:0;background:#e2e8f0;color:#475569}
.chat-bubble{padding:9px 13px;border-radius:12px;font-size:.83rem;line-height:1.55;max-width:100%;word-break:break-word}
.chat-msg:not(.admin) .chat-bubble{background:#fff;border:1px solid var(--adm-border,#E2E5EC);border-radius:4px 12px 12px 12px;color:var(--adm-text,#1A1F2E)}
.chat-msg.admin .chat-bubble{background:var(--adm-orange,#E87800);color:#fff;border-radius:12px 4px 12px 12px}
.chat-meta{font-size:.68rem;color:var(--adm-text-2,#636E82);margin-top:3px;display:flex;gap:5px;align-items:center}
.chat-msg.admin .chat-meta{justify-content:flex-end}
.evidence-badge{background:#fef3c7;border:1px solid #fde68a;border-radius:6px;padding:2px 8px;font-size:.68rem;font-weight:700;color:#92400e;display:inline-flex;align-items:center;gap:4px}
/* User info cards */
.user-info-card{background:var(--adm-body-bg,#F4F5F7);border:1.5px solid var(--adm-border,#E2E5EC);border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:12px;margin-bottom:10px}
.user-avatar{width:38px;height:38px;border-radius:50%;background:var(--adm-orange,#E87800);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.88rem;flex-shrink:0}
/* File upload */
.file-drop-area{border:2px dashed var(--adm-border,#E2E5EC);border-radius:10px;padding:14px;text-align:center;cursor:pointer;transition:border-color .15s;background:var(--adm-body-bg,#F4F5F7)}
.file-drop-area:hover,.file-drop-area.drag-over{border-color:var(--adm-orange,#E87800);background:#FFF3E0}
.file-preview-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.file-preview-item{position:relative;width:64px;height:64px;border-radius:8px;overflow:hidden;border:1.5px solid var(--adm-border);background:var(--adm-surface,#fff)}
.file-preview-item img{width:100%;height:100%;object-fit:cover}
.file-preview-remove{position:absolute;top:2px;right:2px;background:#dc2626;color:#fff;border:none;border-radius:50%;width:16px;height:16px;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
/* Attachment in chat */
.chat-attachment{margin-top:7px;display:flex;gap:6px;flex-wrap:wrap}
.chat-img-thumb{width:80px;height:80px;border-radius:8px;object-fit:cover;cursor:pointer;border:2px solid rgba(255,255,255,.3);transition:transform .15s}
.chat-img-thumb:hover{transform:scale(1.05)}
.chat-pdf-link{display:flex;align-items:center;gap:5px;padding:5px 10px;background:rgba(255,255,255,.2);border-radius:7px;font-size:.74rem;font-weight:700;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.3)}
/* AI Audit panel */
.ai-panel{background:linear-gradient(135deg,#1e1b4b 0%,#312e81 100%);border-radius:14px;padding:20px;margin-bottom:14px;color:#e0e7ff}
.ai-risk-low{color:#34d399}
.ai-risk-medium{color:#fbbf24}
.ai-risk-high{color:#f97316}
.ai-risk-critical{color:#f87171}
.ai-rec-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:99px;font-size:.74rem;font-weight:800}
/* Lightbox */
#lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);align-items:center;justify-content:center;cursor:pointer}
#lightbox.open{display:flex}
#lightbox img{max-width:92vw;max-height:92vh;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,.5)}

/* === from email_config.html === */
.email-grid{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:flex-start}
@media(max-width:900px){.email-grid{grid-template-columns:1fr}}
.email-card{background:var(--adm-surface,#fff);border:1.5px solid var(--adm-border,#E2E5EC);border-radius:14px;padding:20px;margin-bottom:14px}
.email-card-title{font-size:.9rem;font-weight:800;color:var(--adm-text,#1A1F2E);display:flex;align-items:center;gap:8px;margin-bottom:16px}
.email-card-title svg{color:var(--adm-orange,#E87800)}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.field-grid{grid-template-columns:1fr}}
.svc-badge{font-size:.62rem;font-weight:900;padding:2px 8px;border-radius:4px}
.svc-ok{background:#dcfce7;color:#166534}
.svc-no{background:#fee2e2;color:#991b1b}
.use-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:600px){.use-case-grid{grid-template-columns:1fr}}
.use-case-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--adm-body-bg,#F4F5F7);border-radius:9px;cursor:pointer;border:1.5px solid transparent;transition:border-color .15s}
.use-case-item:has(input:checked){border-color:var(--adm-orange,#E87800);background:#FFF3E0}
.use-case-item input{margin-top:2px;flex-shrink:0;accent-color:var(--adm-orange,#E87800)}

/* === from legal_compliance.html === */
.lc-wrap { max-width: 1100px; margin: 0 auto; padding: 28px 24px; }
.lc-title { font-size: 1.4rem; font-weight: 900; color: var(--adm-text); margin: 0 0 4px; display: flex; align-items: center; gap: 10px; }
.lc-sub { font-size: .84rem; color: var(--adm-text-2); margin: 0 0 24px; }
.lc-scores { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-bottom: 28px; }
@media(max-width:700px){ .lc-scores { grid-template-columns: 1fr; } }
.lc-score { background: var(--adm-surface); border: 1.5px solid var(--adm-border); border-radius: 14px; padding: 20px; text-align: center; }
.lc-score-ring { width: 80px; height: 80px; margin: 0 auto 12px; position: relative; }
.lc-score-ring svg { transform: rotate(-90deg); }
.lc-score-ring svg circle:first-child { stroke: var(--adm-border) !important; }
.lc-score-pct { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; font-weight: 900; color: var(--adm-text); }
.lc-score-label { font-size: .8rem; font-weight: 800; color: var(--adm-text-2); text-transform: uppercase; letter-spacing: .06em; }
.lc-section { background: var(--adm-surface); border: 1.5px solid var(--adm-border); border-radius: 16px; margin-bottom: 24px; overflow: hidden; }
.lc-section-head { padding: 16px 20px; border-bottom: 1px solid var(--adm-border); display: flex; align-items: center; justify-content: space-between; background: var(--adm-body-bg); }
.lc-section-title { font-weight: 800; font-size: .95rem; color: var(--adm-text); display: flex; align-items: center; gap: 8px; }
.lc-section-title svg { color: var(--adm-orange, #E87800); }
.lc-check { display: flex; align-items: flex-start; gap: 12px; padding: 12px 20px; border-bottom: 1px solid var(--adm-border); }
.lc-check:last-child { border-bottom: none; }
.lc-check-icon { width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }
.lc-ok { background: #dcfce7; }
.lc-ok svg { color: #16a34a; }
.lc-fail { background: #fee2e2; }
.lc-fail svg { color: #dc2626; }
.lc-warn { background: #fef9c3; }
.lc-warn svg { color: #d97706; }
.lc-check-label { font-size: .87rem; font-weight: 700; color: var(--adm-text); }
.lc-check-detail { font-size: .77rem; color: var(--adm-text-2); margin-top: 3px; }
.lc-check-action { font-size: .75rem; color: var(--adm-orange, #E87800); font-weight: 700; margin-top: 4px; }
.lc-badge { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 99px; font-size: .72rem; font-weight: 800; }
.lc-badge-ok { background: #dcfce7; color: #166534; }
.lc-badge-warn { background: #fef9c3; color: #854d0e; }
.lc-badge-err { background: #fee2e2; color: #991b1b; }
.lc-btn { display: inline-flex; align-items: center; gap: 7px; padding: 10px 20px; border-radius: 10px; font-size: .85rem; font-weight: 700; cursor: pointer; border: none; transition: all .15s; text-decoration: none; }
.lc-btn-primary { background: var(--adm-orange, #E87800); color: #fff; }
.lc-btn-primary:hover { background: #c96e00; color: #fff; }

/* === from legal_docs.html === */
.legal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;margin-bottom:28px}
.legal-card{background:var(--adm-surface, var(--surface));border:1.5px solid var(--adm-border, var(--border));border-radius:16px;padding:20px}
.legal-card h3{font-size:.95rem;font-weight:800;margin:0 0 6px;display:flex;align-items:center;gap:8px;color:var(--adm-text, var(--text))}
.legal-card p{font-size:.8rem;color:var(--adm-text-2, #6B7280);margin:0 0 14px;line-height:1.6}
.legal-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:9px;font-weight:700;font-size:.8rem;text-decoration:none;border:none;cursor:pointer;transition:all .15s}
.legal-btn-dl{background:var(--adm-orange, #E87800);color:#fff}
.legal-btn-dl:hover{opacity:.85}
.legal-btn-view{background:var(--adm-body-bg, #F4F5F7);color:var(--adm-text, #1A1F2E);border:1.5px solid var(--adm-border, #E2E5EC)}
.legal-btn-view:hover{background:var(--adm-border, #E2E5EC)}
.checklist{list-style:none;padding:0;margin:0}
.checklist li{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--adm-border, var(--border, #E2E5EC));font-size:.83rem;line-height:1.5}
.checklist li:last-child{border-bottom:none}
.check-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.check-done{background:#ECFDF5}
.check-todo{background:#FEF3C7}
.check-urgent{background:#FEF2F2}
.manual-section{background:var(--adm-surface, var(--surface));border:1.5px solid var(--adm-border, var(--border));border-radius:16px;padding:24px;margin-bottom:20px}
.manual-section h2{font-size:1.05rem;font-weight:800;margin:0 0 16px;display:flex;align-items:center;gap:8px;color:var(--adm-text, var(--text))}
.step-item{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--adm-border, var(--border))}
.step-item:last-child{border-bottom:none}
.step-num{width:28px;height:28px;border-radius:8px;background:var(--adm-orange, #E87800);color:#fff;font-weight:900;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step-title{font-weight:700;font-size:.88rem;margin-bottom:3px;color:var(--adm-text, var(--text))}
.step-desc{font-size:.79rem;color:var(--adm-text-2, #6B7280);line-height:1.6}
.step-link{font-size:.78rem;color:var(--adm-orange, #E87800);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px;margin-top:4px}
.alert-box{border-radius:12px;padding:14px 16px;font-size:.82rem;line-height:1.6;margin-bottom:16px;display:flex;align-items:flex-start;gap:10px}
.alert-warn{background:rgba(251,191,36,.08);border:1.5px solid rgba(251,191,36,.3);color:#92400E}
.alert-info{background:rgba(59,130,246,.06);border:1.5px solid rgba(59,130,246,.2);color:#1E40AF}

/* === from menu_config.html === */
.mc-wrap { max-width: 960px; margin: 0 auto; padding: 28px 24px; }
.mc-header { margin-bottom: 28px; }
.mc-title { font-size: 1.5rem; font-weight: 900; color: var(--adm-text, #f1f5e4); margin: 0 0 6px; display: flex; align-items: center; gap: 10px; }
.mc-sub { font-size: .85rem; color: #8a9a6a; margin: 0; }

.mc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media(max-width:760px){ .mc-grid { grid-template-columns: 1fr; } }

.mc-panel { background: var(--adm-surface, #1c2810); border: 1.5px solid var(--adm-border, #2b3d1a); border-radius: 16px; overflow: hidden; }
.mc-panel-head { padding: 16px 20px; border-bottom: 1px solid var(--adm-border, #2b3d1a); display: flex; align-items: center; justify-content: space-between; }
.mc-panel-title { font-weight: 800; font-size: .95rem; color: var(--adm-text, #f1f5e4); display: flex; align-items: center; gap: 8px; }
.mc-panel-title svg { color: var(--adm-orange, #E87800); }
.mc-panel-body { padding: 12px; }

/* Sortable list */
.mc-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; min-height: 40px; }

.mc-item {
  display: flex; align-items: center; gap: 10px;
  background: var(--adm-olive-mid, #243516);
  border: 1.5px solid var(--adm-border, #2b3d1a);
  border-radius: 10px; padding: 10px 12px;
  cursor: grab; user-select: none;
  transition: background .15s, border-color .15s, opacity .2s, transform .15s;
}
.mc-item:active { cursor: grabbing; }
.mc-item.dragging { opacity: .4; transform: scale(.98); }
.mc-item.drag-over { border-color: var(--adm-orange, #E87800); background: rgba(232,120,0,.08); }
.mc-item.hidden-item { opacity: .5; }

.mc-item-sep {
  background: transparent; border-color: transparent;
  cursor: default; padding: 4px 12px;
}
.mc-item-sep .mc-drag { opacity: 0; pointer-events: none; }
.mc-sep-line { flex: 1; height: 1px; background: var(--adm-border, #2b3d1a); border-radius: 2px; }
.mc-sep-label { font-size: .68rem; color: #556644; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 0 8px; white-space: nowrap; }

.mc-drag { color: #556644; flex-shrink: 0; cursor: grab; }
.mc-icon { width: 28px; height: 28px; border-radius: 7px; background: rgba(232,120,0,.1); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.mc-icon svg { color: var(--adm-orange, #E87800); }
.mc-label { flex: 1; font-size: .85rem; font-weight: 700; color: var(--adm-text, #f1f5e4); }

/* Toggle switch */
.mc-toggle { position: relative; width: 38px; height: 22px; flex-shrink: 0; }
.mc-toggle input { opacity: 0; width: 0; height: 0; position: absolute; }
.mc-toggle-slider {
  position: absolute; inset: 0; border-radius: 99px;
  background: #3a4a28; cursor: pointer; transition: background .2s;
}
.mc-toggle-slider::after {
  content: ''; position: absolute;
  width: 16px; height: 16px; border-radius: 50%;
  background: #fff; top: 3px; left: 3px;
  transition: transform .2s;
}
.mc-toggle input:checked + .mc-toggle-slider { background: var(--adm-orange, #E87800); }
.mc-toggle input:checked + .mc-toggle-slider::after { transform: translateX(16px); }

/* Save button */
.mc-save-bar { margin-top: 24px; display: flex; justify-content: flex-end; gap: 12px; align-items: center; }
.mc-btn-save {
  background: var(--adm-orange, #E87800); color: #fff; border: none;
  border-radius: 10px; padding: 12px 28px; font-size: .9rem; font-weight: 800;
  cursor: pointer; display: flex; align-items: center; gap: 8px;
  transition: background .15s;
}
.mc-btn-save:hover { background: #c96e00; }
.mc-btn-save:disabled { opacity: .5; cursor: not-allowed; }
.mc-save-msg { font-size: .83rem; font-weight: 700; color: #6fcf97; display: none; }
.mc-save-msg.show { display: inline; }

/* === from notifications.html === */
.notif-user-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--n100);cursor:pointer;transition:background .15s}
.notif-user-row:hover{background:var(--n50)}
.notif-user-av{width:38px;height:38px;border-radius:50%;background:var(--olive);color:var(--text);font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);flex-shrink:0;position:relative}
.notif-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;border-radius:8px;background:#dc2626;color:#fff;font-size:.58rem;font-weight:900;display:flex;align-items:center;justify-content:center;padding:0 3px;border:2px solid var(--surface)}
.notif-type-chip{font-size:.65rem;font-weight:900;padding:2px 7px;border-radius:4px;font-family:var(--f-display);text-transform:uppercase}

/* === from optimization.html === */
/* KPI strip — compact inline numbers, no icons, guaranteed 1 row */
.opt-kpi-strip {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 10px;
  margin-bottom: 20px;
  width: 100%;
}
.opt-kpi-strip .stat-card {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  max-width: none !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px 8px !important;
  text-align: center !important;
  gap: 4px !important;
}
.opt-kpi-strip .stat-icon { display: none !important }
.opt-kpi-strip .stat-val {
  font-size: 1.8rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.opt-kpi-strip .stat-lbl {
  font-size: .65rem !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* ── Quality bars ──────────────────────────────────────── */
.q-bar { height: 8px; border-radius: 4px; background: var(--adm-border, var(--n200, #E2E5EC)); overflow: hidden; margin: 4px 0 2px }
.q-fill { height: 100%; border-radius: 4px; transition: width .6s ease }

/* ── Flag rows ─────────────────────────────────────────── */
.flag-row { display:flex; align-items:flex-start; gap:10px; padding:10px 0; border-bottom:1px solid var(--adm-border, var(--n100, #eee)); font-size:.83rem }
.flag-row:last-child { border-bottom:none }
.risk-badge { padding:2px 8px; border-radius:99px; font-size:.65rem; font-weight:900; font-family:var(--f-display); flex-shrink:0; white-space:nowrap }
.risk-critical { background:#fee2e2; color:#dc2626 }
.risk-high     { background:#fef9c3; color:#92400e }
.risk-medium   { background:#fef3c7; color:#b45309 }
.risk-low      { background:#f0fdf4; color:#166534 }

/* === from page_edit.html === */
.ql-container { font-size:.92rem; min-height:300px }
.ql-toolbar { border-radius:10px 10px 0 0; border-color:var(--border)!important }
.ql-container { border-radius:0 0 10px 10px; border-color:var(--border)!important }
.page-form-grid { display:grid; grid-template-columns:1fr 280px; gap:16px; align-items:flex-start }
@media(max-width:800px) { .page-form-grid { grid-template-columns:1fr } }

/* === from photos.html === */
.ph-stat{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:14px 18px;text-align:center;min-width:140px}
.ph-stat-val{font-family:var(--f-display);font-weight:900;font-size:1.6rem;line-height:1}
.ph-stat-lbl{font-size:.7rem;color:var(--n500);margin-top:3px;font-weight:600}
.orphan-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--n100);font-size:.8rem}
.orphan-row:last-child{border-bottom:none}

/* === from security.html === */
.sec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:12px;margin-bottom:20px}
.sec-kpi{background:var(--adm-surface,#fff);border:1.5px solid var(--adm-border,#E2E5EC);border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:14px}
.sec-kpi.danger{border-color:#fca5a5;background:#fff5f5}
.sec-kpi.ok{border-color:#86efac;background:#f0fdf4}
.sec-kpi-val{font-size:1.8rem;font-weight:900;color:var(--adm-text,#1A1F2E);line-height:1}
.sec-kpi-lbl{font-size:.72rem;font-weight:700;color:var(--adm-text-2,#636E82);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.sec-panel{background:var(--adm-surface,#fff);border:1.5px solid var(--adm-border,#E2E5EC);border-radius:14px;overflow:hidden;margin-bottom:16px}
.sec-panel-head{padding:14px 20px;border-bottom:1px solid var(--adm-border,#E2E5EC);display:flex;align-items:center;justify-content:space-between;background:var(--adm-body-bg,#F4F5F7)}
.sec-panel-title{font-weight:800;font-size:.92rem;color:var(--adm-text,#1A1F2E);display:flex;align-items:center;gap:8px}
.sec-panel-title svg{color:var(--adm-orange,#E87800)}
.sec-table{width:100%;border-collapse:collapse;font-size:.82rem}
.sec-table th{padding:9px 14px;text-align:left;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--adm-text-2,#636E82);background:var(--adm-body-bg,#F4F5F7);border-bottom:1px solid var(--adm-border,#E2E5EC)}
.sec-table td{padding:10px 14px;border-bottom:1px solid var(--adm-border,#E2E5EC);color:var(--adm-text,#1A1F2E);vertical-align:middle}
.sec-table tr:last-child td{border-bottom:none}
.sec-table tr:hover td{background:var(--adm-body-bg,#F4F5F7)}
.ip-badge{font-family:monospace;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:2px 8px;font-size:.82rem;font-weight:700;color:#0f172a}
.severity-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:.68rem;font-weight:800}
.sev-critical{background:#fee2e2;color:#dc2626}
.sev-warning{background:#fef3c7;color:#d97706}
.sev-info{background:#e0f2fe;color:#0284c7}
.sev-success{background:#dcfce7;color:#16a34a}
.block-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}
.block-form input{padding:8px 12px;border:1.5px solid var(--adm-border,#E2E5EC);border-radius:9px;font-size:.84rem;background:var(--adm-surface,#fff);color:var(--adm-text,#1A1F2E);outline:none}
.block-form input:focus{border-color:var(--adm-orange,#E87800);box-shadow:0 0 0 3px rgba(232,120,0,.1)}

/* === from shipping.html === */
.ship-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:28px}
.ship-stat{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;padding:16px 18px}
.ship-stat-val{font-size:2rem;font-weight:900;line-height:1}
.ship-stat-label{font-size:.78rem;color:var(--n500);margin-top:4px}
.inc-table{width:100%;border-collapse:collapse;font-size:.83rem}
.inc-table th{text-align:left;padding:10px 12px;background:var(--n50);font-weight:700;border-bottom:1.5px solid var(--border)}
.inc-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}
.inc-table tr:last-child td{border-bottom:none}
.inc-table tr:hover td{background:var(--n50)}
.badge{padding:3px 9px;border-radius:99px;font-size:.7rem;font-weight:800}
.badge-open{background:#FEF2F2;color:#DC2626}
.badge-done{background:#ECFDF5;color:#16A34A}
.pen-badge{padding:3px 9px;border-radius:99px;font-size:.7rem;font-weight:800}
.pen-warn{background:#FFF7ED;color:#D97706}
.pen-block{background:#FEF2F2;color:#DC2626}
.section-title{font-size:1rem;font-weight:800;margin:0 0 14px;display:flex;align-items:center;gap:8px}
.resolve-form select,.resolve-form textarea{font-size:.8rem;padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);width:100%}
.resolve-form{display:flex;flex-direction:column;gap:6px}
.btn-resolve{padding:7px 14px;background:var(--adm-orange);color:var(--text);border:none;border-radius:8px;font-weight:700;font-size:.78rem;cursor:pointer}
.btn-lift{padding:5px 10px;background:#ECFDF5;color:#16A34A;border:1.5px solid #BBF7D0;border-radius:7px;font-size:.75rem;font-weight:700;cursor:pointer}
.btn-lift:hover{background:#16A34A;color:#fff}

/* === from stats.html === */
.s-tabs{display:flex;gap:0;border-bottom:2px solid var(--adm-border,#E2E5EC);margin-bottom:20px}
.s-tab{padding:9px 18px;font-size:.84rem;font-weight:700;color:var(--adm-text-2);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;background:none;transition:all .15s;white-space:nowrap}
.s-tab.on{color:var(--adm-orange,#E87800);border-bottom-color:var(--adm-orange,#E87800)}
.s-tab:hover{color:var(--adm-text)}
.s-pane{display:none}.s-pane.on{display:block}
.s-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:12px;margin-bottom:20px}
.s-kpi{background:var(--adm-surface,#fff);border:1.5px solid var(--adm-border,#E2E5EC);border-radius:12px;padding:16px 18px;display:flex;align-items:center;gap:14px}
.s-kpi-val{font-size:1.8rem;font-weight:900;color:var(--adm-text,#1A1F2E);line-height:1}
.s-kpi-lbl{font-size:.72rem;color:var(--adm-text-2);font-weight:700;text-transform:uppercase;margin-top:3px}
.s-kpi-sub{font-size:.74rem;color:var(--adm-text-2);margin-top:2px}
.s-card{background:var(--adm-surface,#fff);border:1.5px solid var(--adm-border,#E2E5EC);border-radius:14px;overflow:hidden;margin-bottom:16px}
.s-card-head{padding:13px 18px;border-bottom:1px solid var(--adm-border,#E2E5EC);background:var(--adm-body-bg,#F4F5F7);display:flex;align-items:center;justify-content:space-between}
.s-card-title{font-weight:800;font-size:.88rem;color:var(--adm-text,#1A1F2E);display:flex;align-items:center;gap:8px}
.s-card-title svg{color:var(--adm-orange,#E87800)}
.s-card-body{padding:18px}
.chart-wrap{position:relative;height:260px}
.period-btns{display:flex;gap:6px}
.period-btn{padding:4px 12px;font-size:.75rem;font-weight:700;border:1.5px solid var(--adm-border,#E2E5EC);border-radius:7px;cursor:pointer;background:var(--adm-surface,#fff);color:var(--adm-text-2);transition:all .15s}
.period-btn.on{background:var(--adm-orange,#E87800);color:#fff;border-color:var(--adm-orange,#E87800)}
.bar-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--adm-border)}
.bar-row:last-child{border-bottom:none}
.bar-label{font-size:.81rem;color:var(--adm-text);font-weight:600;min-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-track{flex:1;height:8px;background:var(--adm-body-bg,#F4F5F7);border-radius:4px;overflow:hidden}
.bar-fill{height:100%;border-radius:4px;background:var(--adm-orange,#E87800);transition:width .6s ease}
.bar-val{font-size:.78rem;font-weight:700;color:var(--adm-text);min-width:32px;text-align:right}
.s-dual{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:800px){.s-dual{grid-template-columns:1fr}}

/* === from subscriptions.html === */
.sub-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 18px;min-width:120px;text-align:center}
.sub-stat-val{font-size:1.5rem;font-weight:900;font-family:var(--f-display);line-height:1}
.sub-stat-lbl{font-size:.7rem;color:var(--n500);margin-top:3px}
.plan-edit-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;transition:border-color .15s}
.plan-edit-card:hover{border-color:var(--orange)}
.adm-tbl{width:100%;border-collapse:collapse;font-size:.82rem}
.adm-tbl th{padding:8px 12px;text-align:left;font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--n400);border-bottom:2px solid var(--border);background:var(--n50)}
.adm-tbl td{padding:9px 12px;border-bottom:1px solid var(--n100);vertical-align:middle}
.adm-tbl tr:last-child td{border-bottom:none}
.adm-tbl tr:hover td{background:var(--n50)}
.status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:99px;font-size:.7rem;font-weight:800;font-family:var(--f-display)}
.status-pending{background:#fef9c3;color:#854d0e}
.status-active{background:#dcfce7;color:#166534}
.status-cancelled{background:#fee2e2;color:#991b1b}
.status-expired{background:#f3f4f6;color:#6b7280}
.adm-btn-green{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:#16a34a;color:var(--text);border:none;border-radius:7px;font-size:.76rem;font-weight:700;cursor:pointer;font-family:var(--f-display);transition:all .15s}
.adm-btn-green:hover{background:#15803d;transform:translateY(-1px)}
.adm-btn-red{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:transparent;color:#dc2626;border:1.5px solid #fca5a5;border-radius:7px;font-size:.76rem;font-weight:700;cursor:pointer;font-family:var(--f-display);transition:all .15s}
.adm-btn-red:hover{background:#fee2e2}
.adm-btn-orange{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:var(--orange);color:#fff;border:none;border-radius:7px;font-size:.76rem;font-weight:700;cursor:pointer;font-family:var(--f-display);transition:all .15s}
.adm-btn-orange:hover{background:var(--orange-dk)}

/* === from test_panel.html === */
@keyframes spin{to{transform:rotate(360deg)}}

/* === from texts.html === */
.txt-card{background:var(--adm-surface,#fff);border:1.5px solid var(--adm-border,#E2E5EC);border-radius:14px;overflow:hidden;margin-bottom:14px}
.txt-head{padding:13px 18px;border-bottom:1px solid var(--adm-border,#E2E5EC);background:var(--adm-body-bg,#F4F5F7);display:flex;align-items:center;gap:8px;font-weight:800;font-size:.88rem;color:var(--adm-text,#1A1F2E)}
.txt-head svg{color:var(--adm-orange,#E87800)}
.txt-body{padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.txt-field{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:start}
@media(max-width:700px){.txt-field{grid-template-columns:1fr}}
.txt-label{font-size:.78rem;font-weight:700;color:var(--adm-text,#1A1F2E);padding-top:8px}
.txt-default{font-size:.7rem;color:var(--adm-text-2);margin-top:2px}
.txt-field input,.txt-field textarea{width:100%;padding:9px 12px;border:1.5px solid var(--adm-border,#E2E5EC);border-radius:9px;font-size:.84rem;color:var(--adm-text,#1A1F2E);background:var(--adm-surface,#fff);box-sizing:border-box;outline:none;transition:border-color .15s}
.txt-field input:focus,.txt-field textarea:focus{border-color:var(--adm-orange,#E87800);box-shadow:0 0 0 3px rgba(232,120,0,.08)}
.txt-field textarea{resize:vertical;min-height:60px}
.txt-changed{border-color:var(--adm-orange,#E87800) !important;background:#FFFBF5 !important}

/* === from auction_create.html === */
@media(max-width:768px){.auc-create-grid{grid-template-columns:1fr !important}}

/* === from auction_detail.html === */
/* ══════════════════════════════════════════════════
   SUBASTA DETAIL — Dark Auction House
   Matches /subastas aesthetic
══════════════════════════════════════════════════ */

.auc-det-hero {
  background: var(--surface);
  padding: 20px clamp(16px,4vw,48px) 18px;
  position: relative; overflow: hidden;
}
.auc-det-hero::before {
  content:''; position:absolute; inset:0;
  background: radial-gradient(ellipse 60% 100% at 90% 50%, rgba(232,120,0,.14) 0%, transparent 70%);
}
.auc-det-hero-inner {
  position:relative; z-index:1;
  max-width:1400px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
}
.auc-det-breadcrumb { font-size:.75rem; color:rgba(255,255,255,.45); display:flex; align-items:center; gap:6px; margin-bottom:6px; }
.auc-det-breadcrumb a { color:rgba(255,255,255,.45); text-decoration:none; }
.auc-det-breadcrumb a:hover { color:rgba(255,255,255,.8); }
.auc-det-title {
  font-family:var(--f-display); font-weight:900;
  font-size:clamp(1.1rem,2.5vw,1.5rem);
  color:#fff; margin:0; letter-spacing:-.02em;
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.auc-det-live-pill {
  display:inline-flex; align-items:center; gap:5px;
  background:rgba(220,38,38,.25); border:1px solid rgba(220,38,38,.5);
  border-radius:99px; padding:3px 10px;
  font-size:.62rem; font-weight:900; letter-spacing:.06em;
  color:#fca5a5; font-family:var(--f-display); flex-shrink:0;
}
.auc-det-live-dot { width:6px; height:6px; border-radius:50%; background:#dc2626; animation:live-blink 1s infinite; }
@keyframes live-blink{0%,100%{opacity:1}50%{opacity:.2}}
.auc-det-hero-price { text-align:right; flex-shrink:0; }
.auc-det-hero-price-label { font-size:.6rem; color:rgba(255,255,255,.4); text-transform:uppercase; letter-spacing:.1em; font-weight:700; margin-bottom:2px; }
.auc-det-hero-price-num { font-family:var(--f-display); font-weight:900; font-size:clamp(1.6rem,3vw,2.2rem); color:#F0C430; line-height:1; text-shadow:0 2px 16px rgba(240,196,48,.35); }

.auc-det-page {
  max-width:1400px; margin:0 auto;
  padding:24px clamp(16px,3vw,24px) 80px;
  display:grid; grid-template-columns:1fr 360px; gap:24px; align-items:start;
}
@media(max-width:800px){ .auc-det-page { grid-template-columns:1fr; } }

.auc-det-img { aspect-ratio:16/9; border-radius:16px; overflow:hidden; background: var(--surface); margin-bottom:16px; border:1.5px solid var(--border); }
.auc-det-img img { width:100%; height:100%; object-fit:cover; }
.auc-det-no-img { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--n300); }
.auc-det-card { background:var(--surface); border:1.5px solid var(--border); border-radius:16px; padding:20px; margin-bottom:16px; }
.auc-det-card-title { font-family:var(--f-display); font-weight:800; font-size:.88rem; color:var(--text); margin:0 0 14px; display:flex; align-items:center; gap:8px; }
.auc-det-card-title-icon { width:28px; height:28px; border-radius:8px; background:var(--orange); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.auc-det-seller { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--border); margin-bottom:14px; }
.auc-det-seller-av { width:38px; height:38px; border-radius:50%; background:var(--orange); color:#fff; font-family:var(--f-display); font-weight:800; font-size:.95rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.auc-bid-row { display:grid; grid-template-columns:28px 1fr auto auto; gap:10px; align-items:center; padding:9px 0; border-bottom:1px solid var(--border); font-size:.83rem; }
.auc-bid-row:last-child { border:none; }
.auc-bid-pos { width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.62rem; font-weight:900; font-family:var(--f-display); }
.auc-bid-amount { font-family:var(--f-display); font-weight:900; font-size:.95rem; color:var(--orange); white-space:nowrap; }
.auc-bid-time { font-size:.68rem; color:var(--n400); white-space:nowrap; }

.auc-rules { background: var(--surface); border:1.5px solid #fde68a; border-radius:14px; padding:16px 18px; font-size:.8rem; color:#78350f; line-height:1.65; margin-bottom:16px; }
.auc-rules-title { font-family:var(--f-display); font-weight:800; font-size:.85rem; color:#92400e; margin:0 0 8px; display:flex; align-items:center; gap:6px; }

.auc-bid-panel { background: var(--surface); border-radius:20px; padding:22px; color:#fff; box-shadow:0 8px 40px rgba(232,120,0,.2); position:sticky; top:80px; }
.auc-bp-section { background:rgba(255,255,255,.07); border-radius:12px; padding:14px; margin-bottom:14px; }
.auc-bp-label { font-size:.6rem; color:rgba(255,255,255,.45); text-transform:uppercase; letter-spacing:.1em; font-weight:700; margin-bottom:3px; }
.auc-bp-value { font-family:var(--f-display); font-weight:800; font-size:.95rem; color:#fff; }
.auc-bp-price-big { font-family:var(--f-display); font-weight:900; font-size:2.4rem; color:#F0C430; line-height:1; text-shadow:0 2px 16px rgba(240,196,48,.3); }
.auc-bp-timer { font-family:var(--f-display); font-weight:900; font-size:1.5rem; color:#fff; letter-spacing:.02em; }
.auc-bp-timer.urgent { color:#fc8181; }
.auc-bid-input { width:100%; padding:13px; border:2px solid rgba(240,196,48,.35); border-radius:12px; font-size:1.2rem; font-weight:900; font-family:var(--f-display); text-align:center; background:rgba(255,255,255,.08); color:#F0C430; outline:none; margin-bottom:10px; box-sizing:border-box; transition:border-color .15s; }
.auc-bid-input:focus { border-color:rgba(240,196,48,.7); }
.auc-btn-bid { width:100%; padding:14px; border:none; border-radius:12px; background: var(--surface); box-shadow:0 4px 20px rgba(232,120,0,.45); color:#fff; font-family:var(--f-display); font-weight:900; font-size:.95rem; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; transition:all .15s; }
.auc-btn-bid:hover { transform:translateY(-1px); box-shadow:0 6px 28px rgba(232,120,0,.55); }
.auc-btn-bid:disabled { background:rgba(255,255,255,.15); box-shadow:none; cursor:not-allowed; transform:none; }
.auc-stat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr)); gap:8px; margin-bottom:14px; }
.auc-stat-cell { background:rgba(255,255,255,.07); border-radius:10px; padding:10px 12px; }

#bid-modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:9999; align-items:center; justify-content:center; padding:16px; }
.bid-modal-box { background:var(--surface); border-radius:20px; padding:28px 24px; max-width:420px; width:100%; box-shadow:0 24px 80px rgba(0,0,0,.35); }

@media(max-width:480px){ .auc-stat-grid { grid-template-columns:1fr; } .auc-bid-row { grid-template-columns:auto 1fr auto; } }

/* === from auctions.html === */
/* ══════════════════════════════════════════════════
   SUBASTAS — Dark Auction House Aesthetic
   Olive dark + orange fire + urgent timers
══════════════════════════════════════════════════ */

/* ── Hero ──────────────────────────────────────── */
.auc-hero {
  background: var(--orange);
  border: none;
  border-radius: 14px;
  padding: 24px clamp(16px,4vw,36px) 20px;
  position: relative;
  overflow: hidden;
  margin-bottom: 8px;
}
.auc-hero::before { display: none; }
.auc-hero::after { display: none; }
.auc-hero-inner {
  position:relative;z-index:1;
  max-width:1400px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
}
.auc-hero-text {}
.auc-hero-eyebrow {
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--f-display);font-size:.7rem;font-weight:900;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--text);margin-bottom:8px;
  background:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.4);
  padding:4px 12px;border-radius:99px;
}
.auc-hero-eyebrow .live-dot {
  width:7px;height:7px;border-radius:50%;background:#ff4444;
  box-shadow:0 0 8px #ff4444;
  animation:live-blink 1s infinite;
}
@keyframes live-blink{0%,100%{opacity:1;box-shadow:0 0 8px #ff4444}50%{opacity:.3;box-shadow:none}}
.auc-hero h1 {
  font-family:var(--f-display);font-weight:900;
  font-size:clamp(1.5rem,3.5vw,2.2rem);
  line-height:1.05;letter-spacing:-.04em;
  color:var(--text);margin:0 0 8px;
}
.auc-hero h1 span { color:#fff; }
.auc-hero-sub {
  font-size:.82rem;color:#fff;
  line-height:1.55;max-width:480px;margin-bottom:16px;
}
.auc-hero-cta {
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 18px;background:rgba(255,255,255,.2);color:#fff;
  border:1.5px solid rgba(255,255,255,.3);
  border-radius:10px;font-family:var(--f-display);font-weight:800;
  font-size:.82rem;text-decoration:none;
  transition:all .2s;
}
.auc-hero-cta:hover{background:rgba(255,255,255,.5);transform:translateY(-1px)}
.auc-hero-stats {
  display:flex;gap:2px;
  background:var(--surface);border:1px solid rgba(255,255,255,.3);
  border-radius:14px;padding:4px;
  flex-shrink:0;
}
.auc-stat-box {
  padding:10px 18px;text-align:center;border-radius:10px;
  min-width:76px;
}
.auc-stat-box:first-child { background:rgba(232,120,0,.15); }
.auc-stat-num {
  font-family:var(--f-display);font-weight:900;
  font-size:1.5rem;color:var(--text);line-height:1;
}
.auc-hero .auc-stat-num{color:var(--text)}
.auc-stat-num.orange{color:var(--orange-lt)}
.auc-stat-label { font-size:.6rem;color:rgba(0,0,0,.5);margin-top:3px;text-transform:uppercase;letter-spacing:.08em }
.auc-hero .auc-stat-label{color:rgba(0,0,0,.6)}

/* ── Page body ─────────────────────────────────── */
.auc-page { max-width:1400px;margin:0 auto;padding:36px clamp(16px,3vw,24px) 80px; }

/* ── Section header ────────────────────────────── */
.auc-sec-hdr {
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:22px;flex-wrap:wrap;gap:10px;
}
.auc-sec-title {
  display:flex;align-items:center;gap:10px;
  font-family:var(--f-display);font-weight:900;font-size:1.15rem;
  color:var(--text);letter-spacing:-.02em;
}
.auc-sec-badge {
  font-size:.68rem;font-weight:800;padding:3px 11px;border-radius:99px;
  font-family:var(--f-display);letter-spacing:.04em;text-transform:uppercase;
}
.auc-sec-badge.live {
  background:#E87800;
  color:#fff;box-shadow:0 2px 12px rgba(220,38,38,.35);
}
.auc-sec-badge.closed { background:var(--n200);color:var(--n500); }

/* ── Live grid ─────────────────────────────────── */
.auc-live-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(290px,1fr));
  gap:20px;
}

/* ── Auction card ──────────────────────────────── */
.auc-card {
  background:var(--surface);
  border:1.5px solid var(--border);
  border-radius:20px;overflow:hidden;
  transition:transform .2s,box-shadow .2s,border-color .2s;
  text-decoration:none;color:inherit;
  display:block;
  animation: card-in .4s ease both;
}
.auc-card:nth-child(1){animation-delay:.05s}
.auc-card:nth-child(2){animation-delay:.1s}
.auc-card:nth-child(3){animation-delay:.15s}
.auc-card:nth-child(4){animation-delay:.2s}
.auc-card:nth-child(5){animation-delay:.25s}
.auc-card:nth-child(6){animation-delay:.3s}
@keyframes card-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.auc-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.13);border-color:var(--orange)}
.auc-card.live-card:hover{box-shadow:0 12px 40px rgba(232,120,0,.2);border-color:var(--orange)}

/* Image */
.auc-img {
  aspect-ratio:4/3;background:var(--n100);
  overflow:hidden;position:relative;
}
.auc-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.auc-card:hover .auc-img img{transform:scale(1.04)}
.auc-no-img {
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  background:var(--n200);color:var(--n300);
}
/* Live badge */
.auc-live-badge {
  position:absolute;top:10px;left:10px;
  display:inline-flex;align-items:center;gap:5px;
  background:rgba(10,10,10,.82);color:var(--text);
  font-family:var(--f-display);font-size:.62rem;font-weight:900;
  letter-spacing:.06em;text-transform:uppercase;
  padding:4px 11px;border-radius:99px;
  backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.12);
}
.auc-live-badge .dot {
  width:7px;height:7px;border-radius:50%;background:#ff4444;
  box-shadow:0 0 6px #ff4444;
  animation:live-blink 1s infinite;
}
/* Bid count pill */
.auc-bid-pill {
  position:absolute;bottom:10px;right:10px;
  background:rgba(0,0,0,.72);color:var(--text);
  font-size:.65rem;font-weight:700;padding:3px 10px;
  border-radius:99px;backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,.1);
}
/* Closed overlay */
.auc-closed-overlay {
  position:absolute;inset:0;background:rgba(0,0,0,.45);
  display:flex;align-items:center;justify-content:center;
}
.auc-closed-badge {
  background:rgba(0,0,0,.65);color:var(--text);
  font-family:var(--f-display);font-weight:800;font-size:.7rem;
  letter-spacing:.1em;text-transform:uppercase;
  padding:6px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.2);
}
/* Card body */
.auc-body {
  padding:16px 18px;
}
.auc-body-title {
  font-family:var(--f-display);font-weight:700;font-size:.9rem;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  color:var(--text);margin-bottom:10px;
}
/* Price row */
.auc-price-row {
  display:flex;align-items:baseline;gap:8px;margin-bottom:12px;
}
.auc-price {
  font-family:var(--f-display);font-weight:900;
  font-size:1.5rem;letter-spacing:-.03em;
  color:var(--orange);line-height:1;
}
.auc-price-label {
  font-size:.7rem;color:var(--n500);font-weight:600;
}
/* Footer row */
.auc-footer {
  display:flex;align-items:center;justify-content:space-between;
  padding-top:10px;border-top:1px solid var(--border);
}
.auc-city {
  display:flex;align-items:center;gap:4px;
  font-size:.72rem;color:var(--n500);
}
/* Timer */
.auc-timer {
  display:inline-flex;align-items:center;gap:5px;
  font-family:var(--f-display);font-weight:800;font-size:.75rem;
  color:var(--orange);
  background:rgba(232,120,0,.2);
  padding:4px 10px;border-radius:8px;
}
.auc-timer svg{flex-shrink:0}
.auc-timer.hot { color:#dc2626;background:#fef2f2; }
.auc-timer.warm { color:#d97706;background:#fffbeb; }

/* ── Closed section ────────────────────────────── */
.auc-closed-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:14px;
}
.auc-card-closed {
  display:block;text-decoration:none;color:inherit;
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;overflow:hidden;opacity:1;
  transition:opacity .15s,box-shadow .15s,border-color .2s;
}
.auc-card-closed:hover{box-shadow:0 4px 16px rgba(0,0,0,.1);border-color:var(--orange)}
.auc-card-closed .auc-img{aspect-ratio:16/9;filter:none}
.auc-card-closed .auc-body{padding:12px 14px}
.auc-card-closed .auc-body-title{font-size:.82rem}
.auc-card-closed .auc-price{font-size:1.1rem;color:var(--n500)}
.auc-closed-meta {
  display:flex;align-items:center;justify-content:space-between;
  margin-top:8px;font-size:.7rem;color:var(--n400);
}
.auc-winner-badge {
  display:inline-flex;align-items:center;gap:4px;
  color:#fff;font-weight:700;
  background:var(--orange);padding:2px 8px;border-radius:6px;
}

/* ── Empty state ───────────────────────────────── */
.auc-empty {
  grid-column:1/-1;
  text-align:center;padding:60px 24px;
  background:var(--n50);border:1.5px dashed var(--border);
  border-radius:20px;
}
.auc-empty-icon {
  width:72px;height:72px;border-radius:20px;
  background:var(--n100);border:1.5px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;
}

/* ── Responsive ────────────────────────────────── */
@media(max-width:640px){
  .auc-hero-stats{display:none}
  .auc-live-grid{grid-template-columns:1fr 1fr}
  .auc-card{border-radius:14px}
  .auc-body{padding:12px 14px}
}
@media(max-width:400px){
  .auc-live-grid{grid-template-columns:1fr}
}

/* === from call_room.html === */
.call-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - var(--navbar-h));background:linear-gradient(160deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);padding:40px 20px;color:#fff}
.call-avatar{width:110px;height:110px;border-radius:50%;background:var(--orange);color:#fff;font-family:var(--f-display);font-weight:900;font-size:2.8rem;display:flex;align-items:center;justify-content:center;border:3px solid rgba(255,255,255,.25);position:relative;box-shadow:0 8px 32px rgba(0,0,0,.3)}
.call-avatar.ringing::after{content:'';position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(232,120,0,.5);animation:ring-pulse 1.2s ease infinite}
@keyframes ring-pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.3);opacity:0}}
.call-avatar.in-call{border-color:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.2)}
.call-status{font-size:.92rem;color:rgba(255,255,255,.65);margin:10px 0 8px;font-family:var(--f-display);font-weight:600}
.call-timer{font-family:var(--f-display);font-size:1.2rem;font-weight:900;color:#4ade80;display:none;margin-bottom:4px}
.call-btns{display:flex;gap:20px;align-items:center;justify-content:center;margin-top:32px}
.call-btns .call-btn{width:62px;height:62px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s,background .15s;flex-shrink:0;color:#fff}
.call-btns .call-btn:hover{transform:scale(1.1)}
.call-btns .call-btn:active{transform:scale(.95)}
.call-btn-hangup{background:#dc2626;box-shadow:0 4px 16px rgba(220,38,38,.4)}
.call-btn-hangup:hover{background:#b91c1c}
.call-btn-mute{background:rgba(255,255,255,.18);border:1.5px solid rgba(255,255,255,.2)}
.call-btn-mute.muted{background:#f59e0b;border-color:#f59e0b}
.call-btn-speaker{background:rgba(255,255,255,.18);border:1.5px solid rgba(255,255,255,.2)}
.call-btn-speaker.speaker-off{background:rgba(255,255,255,.08);opacity:.6}
.call-security{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.25);border-radius:10px;padding:8px 16px;font-size:.74rem;color:#86efac;display:flex;align-items:center;gap:6px;margin-top:24px}
.unavail-box{background:rgba(255,255,255,.07);border-radius:16px;padding:24px;text-align:center;max-width:380px}

/* === from cartera.html === */
.cw-split{display:grid;grid-template-columns:280px 1fr;height:calc(100vh - 112px - 56px);min-height:520px;border:1px solid var(--border);border-radius:var(--radius-lg,16px);overflow:hidden;background:var(--surface)}
.cw-left{display:flex;flex-direction:column;border-right:1px solid var(--border);overflow:hidden;background:var(--surface)}
.cw-left-head{padding:16px 16px 12px;flex-shrink:0;border-bottom:1px solid var(--border)}
.cw-tabs{display:flex;flex-direction:column;gap:2px;padding:10px;flex:1;overflow-y:auto}
.cw-tab-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:.85rem;font-weight:700;text-decoration:none;color:var(--n600);transition:all .15s;border:none;background:none;cursor:pointer;width:100%;text-align:left}
.cw-tab-btn:hover{background:var(--n50);color:var(--text)}
.cw-tab-btn.active{background:#fff3e0;color:var(--orange)}
.cw-tab-btn.active svg{stroke:var(--orange)}
.cw-tab-btn svg{flex-shrink:0;stroke:var(--n500)}
.cw-cnt{margin-left:auto;background:var(--n100);color:var(--n500);font-size:.65rem;font-weight:800;padding:1px 7px;border-radius:99px}
.cw-cnt.red{background:#fee2e2;color:#dc2626}
.cw-right{display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}
.cw-right-head{padding:14px 20px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;display:flex;align-items:center;gap:10px}
.cw-right-body{flex:1;overflow-y:auto;padding:18px}
.cw-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--n100);border-radius:var(--radius-md,12px);margin-bottom:8px;transition:box-shadow .15s}
.cw-row:hover{box-shadow:0 2px 8px rgba(0,0,0,.06)}
.cw-ico{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pill{display:inline-flex;align-items:center;font-size:.68rem;font-weight:800;padding:2px 8px;border-radius:99px}
.pill-ok{background:#dcfce7;color:#16a34a}
.pill-warn{background:#fef3c7;color:#d97706}
.pill-err{background:#fee2e2;color:#dc2626}
.pill-grey{background:var(--n100);color:var(--n500)}
.rep-bar{height:6px;background:var(--n100);border-radius:99px;overflow:hidden;margin:5px 0 3px}
.rep-fill{height:100%;border-radius:99px}
.cw-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:10px}
.cw-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.cw-step-ico{width:38px;height:38px;border-radius:10px;background:var(--orange-xs);display:flex;align-items:center;justify-content:center}
@media(max-width:768px){.cw-split{grid-template-columns:1fr;height:auto}.cw-left{border-right:none;border-bottom:1px solid var(--border);max-height:220px}.cw-tabs{flex-direction:row;overflow-x:auto;padding:8px}.cw-tab-btn{min-width:120px}.cw-steps{grid-template-columns:repeat(2,1fr)}}

/* === from chat_list.html === */
/* Chat inside user_dashboard layout */
.chat-split {
  border-radius: 12px !important;
  border-color: var(--border) !important;
  height: calc(100vh - 200px) !important;
  min-height: 480px !important;
}

/* ── Chat split-pane layout ─────────────────────────────────────── */
.chat-split {
  margin: 0 !important;
  display: grid;
  grid-template-columns: 340px 1fr;
  height: calc(100vh - 112px - 56px);
  min-height: 520px;
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  background: var(--surface);
}

/* Left panel */
.chat-left {
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--border);
  overflow: hidden;
}
.chat-left-head {
  padding: 14px 16px 0;
  flex-shrink: 0;
}
.chat-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--border);
  margin-top: 10px;
}
.chat-tab {
  padding: 8px 16px;
  font-size: .88rem;
  font-weight: 700;
  cursor: pointer;
  border-radius: 8px 8px 0 0;
  border: none;
  background: none;
  color: var(--n500);
  position: relative;
  transition: color .15s;
}
.chat-tab.active {
  color: var(--text);
  background: var(--surface);
  border-bottom: 2px solid var(--text);
  margin-bottom: -2px;
}
.chat-inbox-label {
  padding: 10px 16px 6px;
  font-size: .8rem;
  font-weight: 900;
  color: var(--n500);
  text-transform: uppercase;
  letter-spacing: .07em;
  flex-shrink: 0;
}
.chat-conv-list {
  flex: 1;
  overflow-y: auto;
}

/* Conversation row */
.chat-conv {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  cursor: pointer;
  border-bottom: 1px solid var(--n100);
  transition: background .12s;
  text-decoration: none;
  color: inherit;
  position: relative;
}
.chat-conv:hover, .chat-conv.active { background: var(--n50); }
.chat-conv.active { background: #fff3e0; border-left: 3px solid var(--orange); }
.chat-conv-thumb {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  object-fit: cover;
  flex-shrink: 0;
  background: var(--n100);
}
.chat-conv-info { flex: 1; min-width: 0; }
.chat-conv-top { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; }
.chat-conv-name { font-weight: 700; font-size: .88rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chat-conv-date { font-size: .72rem; color: var(--n400); flex-shrink: 0; }
.chat-conv-ad { font-size: .82rem; font-weight: 700; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin: 1px 0; }
.chat-conv-preview { font-size: .79rem; color: var(--n500); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chat-conv-badge { background: var(--orange); color: #fff; font-size: .64rem; font-weight: 900; min-width: 18px; height: 18px; border-radius: 9px; display: flex; align-items: center; justify-content: center; padding: 0 4px; flex-shrink: 0; }

/* Right panel — preview */
.chat-right-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--n400);
  gap: 12px;
  text-align: center;
  padding: 32px;
}

/* Delete button */
.chat-del {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border: none;
  background: none;
  cursor: pointer;
  color: #dc2626;
  opacity: 0;
  transition: opacity .15s;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  padding: 0;
}
.chat-conv:hover .chat-del { opacity: 1; }
.chat-del:hover { background: #fee2e2; }

@media (max-width: 700px) {
  .chat-split {
  margin: 0 !important; grid-template-columns: 1fr; }
  .chat-right-empty { display: none; }
}

/* === from chat_thread.html === */
/* ── Chat layout ──────────────────────────────────────────── */
.chat-page { display:flex; flex-direction:column; flex:1; min-height:480px; background:var(--surface); border:1.5px solid var(--border); border-radius:16px; overflow:hidden; }

/* Header */
.chat-header {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--border);
  background: var(--surface) !important;
  flex-shrink: 0;
  text-align: left;
}
.chat-back { color: var(--n500); display: flex; align-items: center; flex-shrink: 0; transition: color .15s }
.chat-back:hover { color: var(--orange) }
.chat-av { width: 40px; height: 40px; border-radius: 50%; background:var(--orange); color: #fff; font-family: var(--f-display); font-weight: 800; font-size: .9rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0 }
.chat-header-info { flex: 1; min-width: 0 }
.chat-page .chat-header { background: var(--surface) !important; color: var(--text) !important; }
.chat-header-name { font-weight: 800; font-family: var(--f-display); font-size: .95rem; color: var(--text) !important; text-align: left; }
.verified-badge { color: var(--orange); font-size: .75rem; font-weight: 900 }
.chat-header-status { display: flex; align-items: center; gap: 5px; font-size: .72rem; color: var(--n500); margin-top: 1px }
.status-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; transition: background .3s }
.status-dot--online { background: #22c55e !important }
.chat-ad-chip { display: flex; flex-direction: column; background: var(--n50); border: 1px solid var(--border); border-radius: 10px; padding: 7px 12px; font-size: .75rem; text-decoration: none; color: inherit; flex-shrink: 0; max-width: 160px; transition: border-color .15s }
.chat-ad-chip:hover { border-color: var(--orange) }
.chat-ad-title { color: var(--n600); overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
.chat-ad-price { font-weight: 800; color: var(--orange); font-family: var(--f-display) }

/* Messages */
.chat-messages {
  flex: 1; overflow-y: auto; padding: 20px 18px 28px;
  display: flex; flex-direction: column; gap: 6px;
  background: var(--n50);
}
.chat-empty { text-align: center; margin: auto; color: var(--n400); font-size: .9rem; padding: 20px }
.chat-empty-av { width: 64px; height: 64px; border-radius: 50%; background:var(--orange); color: #fff; font-family: var(--f-display); font-weight: 800; font-size: 1.5rem; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px }
.chat-empty-hint { font-size: .78rem; opacity: .6; margin-top: 6px }

/* Message rows */
.msg-row { display: flex; align-items: flex-end; gap: 8px; max-width: 80%; animation: fadeInUp .18s ease }
.msg-row--out { margin-left: auto; flex-direction: row-reverse }
.msg-row--in { margin-right: auto }
.msg-av { width: 28px; height: 28px; border-radius: 50%; background:var(--orange); color: #fff; font-family: var(--f-display); font-weight: 800; font-size: .68rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-bottom: 18px }
.msg-col { display: flex; flex-direction: column; gap: 3px }
.msg-row--out .msg-col { align-items: flex-end }
.msg-row--in .msg-col { align-items: flex-start }
.msg-bubble {
  padding: 10px 14px; border-radius: 18px; font-size: .9rem; line-height: 1.55;
  max-width: 100%; word-break: break-word; white-space: pre-wrap;
  box-shadow: 0 1px 4px rgba(0,0,0,.07); color: var(--text);
}
.msg-row--out .msg-bubble { background:var(--orange); color: #fff; border-radius: 18px 18px 4px 18px }
.msg-row--in .msg-bubble { background: var(--surface); color: var(--text); border-radius: 18px 18px 18px 4px; border: 1px solid var(--n100) }
.msg-meta { font-size: .68rem; color: var(--n400); display: flex; align-items: center; gap: 4px }
.msg-status { font-size: .7rem }
/* Delete button — only visible on hover of the msg-row */
.msg-delete-btn {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text-2);
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  background: transparent; border: none; cursor: pointer;
  color: var(--n400); opacity: 0; transition: opacity .15s, background .15s, color .15s;
  padding: 0; flex-shrink: 0;
}
.msg-row:hover .msg-delete-btn { opacity: 1; }
.msg-delete-btn:hover { background: #fee2e2; color: #dc2626; }
/* Deleted bubble */
.msg-bubble--deleted {
  background: var(--n100) !important; color: var(--n400) !important;
  font-style: italic; font-size: .82rem;
  display: flex; align-items: center; gap: 6px;
  border: 1px dashed var(--n200) !important;
}

/* Typing indicator */
.typing-bubble { display: flex; gap: 4px; align-items: center; padding: 10px 16px !important }
.typing-bubble span { width: 7px; height: 7px; border-radius: 50%; background: var(--n400); animation: typing-dot 1.2s ease infinite }
.typing-bubble span:nth-child(2) { animation-delay: .2s }
.typing-bubble span:nth-child(3) { animation-delay: .4s }
@keyframes typing-dot { 0%,60%,100%{transform:translateY(0);opacity:.5} 30%{transform:translateY(-6px);opacity:1} }

/* Input area */
.chat-input-area {
  border-top: 1px solid var(--border); padding: 14px 18px 16px;
  background: var(--surface); flex-shrink: 0;
}
.chat-input-row { display: flex; gap: 10px; align-items: center }
#chat-input {
  flex: 1; padding: 10px 14px;
  border: 1.5px solid var(--border); border-radius: 22px;
  font-size: .9rem; line-height: 1.5; resize: none;
  outline: none; font-family: var(--f-body); background: var(--n50);
  color: var(--text); max-height: 120px; min-height: 42px; height: 42px;
  overflow-y: auto; transition: border-color .15s;
  scrollbar-width: none; width: 100%;
}
#chat-input:focus { border-color: var(--orange) }
#chat-input::placeholder { color: var(--n400) }
.btn-send {
  width: 44px; height: 44px; min-width: 44px; border-radius: 50%; background: var(--orange);
  color: #fff; border: none; cursor: pointer; display: flex; align-items: center;
  justify-content: center; flex-shrink: 0; transition: background .15s, transform .1s;
}
.btn-send:hover:not(:disabled) { background: var(--orange-dk); transform: scale(1.05) }
.btn-send:disabled { background: var(--n200) !important; cursor: not-allowed; opacity: .6 }
.btn-send.sending { animation: pulse .4s ease }
.chat-hints { display: flex; justify-content: space-between; font-size: .7rem; color: var(--n400); margin-top: 5px; padding: 0 4px }

/* Warning toast */
.chat-warning { padding: 8px 14px; background: #fef9c3; border: 1px solid #fcd34d; border-radius: 10px; font-size: .82rem; color: #92400e; margin-bottom: 8px; display: none }

/* Date separator */
.msg-date-sep { text-align: center; font-size: .72rem; color: var(--n400); margin: 10px 0; display: flex; align-items: center; gap: 8px }
.msg-date-sep::before, .msg-date-sep::after { content: ''; flex: 1; height: 1px; background: var(--n200) }

@keyframes fadeInUp { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }
@keyframes pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(.92)} }

/* Mobile full screen */
@media(max-width:480px){.chat-input-wrap{padding:8px!important}.chat-input{font-size:.875rem!important}.chat-actions{gap:4px!important}.chat-send-btn{padding:8px 14px!important}}
@media(max-width:768px) {
  .chat-page { display:flex; flex-direction:column; flex:1; min-height:480px; background:var(--surface); border:1.5px solid var(--border); border-radius:16px; overflow:hidden; }
  .chat-messages { padding: 14px }
  .msg-row { max-width: 90% }
}

/* ── Dark mode complete overrides ───────────────────────────────── */
[data-theme="dark"] .chat-page {
  background: var(--n800);
  border-color: var(--n700);
}
[data-theme="dark"] .chat-header {
  background: var(--n800);
  border-color: var(--n700);
  color: var(--text);
}
[data-theme="dark"] .chat-header-name,
[data-theme="dark"] .chat-header-sub {
  color: var(--text) !important;
}
[data-theme="dark"] .chat-messages {
  background: var(--n900, #0D111A);
}
[data-theme="dark"] .msg-row--in .msg-bubble {
  background: var(--n700);
  color: var(--text) !important;
  border-color: var(--n600);
}
[data-theme="dark"] .msg-row--out .msg-bubble {
  color: #fff !important;
}
[data-theme="dark"] .msg-time,
[data-theme="dark"] .msg-date-sep,
[data-theme="dark"] .msg-status {
  color: var(--text-2) !important;
}
[data-theme="dark"] .chat-input-wrap {
  background: var(--n800);
  border-color: var(--n700);
}
[data-theme="dark"] .chat-input {
  background: var(--n700);
  color: var(--text) !important;
  border-color: var(--n600);
}
[data-theme="dark"] .chat-input::placeholder {
  color: var(--text-2);
}
[data-theme="dark"] .msg-bubble--deleted {
  color: var(--text-2) !important;
  background: var(--n700) !important;
}
[data-theme="dark"] .chat-info-panel,
[data-theme="dark"] .chat-ad-card {
  background: var(--n800);
  border-color: var(--n700);
  color: var(--text);
}
[data-theme="dark"] .chat-ad-title,
[data-theme="dark"] .chat-ad-price,
[data-theme="dark"] .chat-ad-seller {
  color: var(--text) !important;
}

/* === from comparar.html === */
.compare-card {
  background: var(--surface);
  border: 2px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  transition: border-color .2s;
}
.compare-card.winner { border-color: var(--orange) !important; }
.compare-card.winner::after {
  content: '';
  position: absolute;
  top: 6px;
  right: 6px;
  font-size: 1.1rem;
  background: var(--orange);
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.compare-row { transition: background .15s; }
.compare-row:hover { background: var(--n50); }
.compare-cell {
  padding: 9px 12px;
  font-size: .82rem;
  border-right: 1px solid var(--border);
  word-break: break-word;
}
.compare-cell:last-child { border-right: none; }
.compare-cell.best { background: #f0fdf4; font-weight: 700; color: #16a34a; }
.compare-cell.worst { background: #fef2f2; }
.remove-compare {
  position: absolute; top: 5px; left: 5px;
  width: 22px; height: 22px; border-radius: 50%;
  background: rgba(0,0,0,.55); color: #fff;
  border: none; cursor: pointer; font-size: .85rem;
  display: flex; align-items: center; justify-content: center;
  z-index: 2;
}

/* === from configure_calls.html === */
/* ── Configure calls — max-width layout ───────────────────────── */
.cc-outer { max-width: 860px; }
.cc-grid {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 16px;
  align-items: flex-start;
}
@media (max-width: 720px) {
  .cc-grid { grid-template-columns: 1fr; }
}
/* Save button - proper pill */
.cc-save-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #E87800 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 99px !important;
  padding: 12px 36px !important;
  font-size: .95rem !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  font-family:var(--f-body,sans-serif);
  min-width: 220px;
}
.cc-save-btn:hover { background: #C46400 !important; }

/* Day picker */
.day-grid { display:flex; gap:6px; flex-wrap:wrap }
.day-pill {
  width:44px; height:44px; border-radius:12px;
  border:1.5px solid var(--border);
  background:var(--surface);
  font-size:.78rem; font-weight:800;
  font-family:var(--f-display);
  cursor:pointer; transition:all .15s;
  color:var(--n500);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  user-select:none; line-height:1.1;
}
.day-pill span.day-initial { font-size:.72rem; font-weight:900 }
.day-pill:hover { border-color:var(--orange); color:var(--orange) }
.day-pill.on { background:var(--orange); color:#fff; border-color:var(--orange) }
/* Voice msg rows */
.vm-row {
  display:flex; align-items:flex-start; gap:10px;
  padding:12px 14px; border-radius:12px;
  border:1px solid var(--border); margin-bottom:8px;
  background:var(--surface); transition:box-shadow .15s;
}
.vm-row:hover { box-shadow:0 2px 10px rgba(0,0,0,.06) }
.vm-avatar {
  width:38px; height:38px; border-radius:50%; flex-shrink:0;
  background:var(--orange); color:#fff;
  font-family:var(--f-display); font-weight:800; font-size:.9rem;
  display:flex; align-items:center; justify-content:center;
}
/* Callable users */
.cu-row {
  display:flex; align-items:center; gap:10px;
  padding:10px 14px; border-radius:12px; border:1px solid var(--border);
  background:var(--surface); margin-bottom:8px;
  transition:all .15s;
}
.cu-row:hover { border-color:var(--orange) }
.cu-av {
  width:40px; height:40px; border-radius:50%; flex-shrink:0;
  object-fit:cover;
}
.cu-av-init {
  width:40px; height:40px; border-radius:50%; flex-shrink:0;
  background:var(--orange); color:#fff;
  font-family:var(--f-display); font-weight:900;
  display:flex; align-items:center; justify-content:center;
}
/* Section separator */
.calls-section { margin-bottom:16px }
.calls-section-hdr {
  font-size:.68rem; font-weight:900; text-transform:uppercase;
  letter-spacing:.12em; color:var(--n400);
  font-family:var(--f-display);
  margin-bottom:10px;
}

/* === from delete_account.html === */
.del-wrap { max-width: 560px; margin: 0 auto; }
.del-card { background: var(--surface); border: 2px solid #fee2e2; border-radius: 20px; padding: 32px; }
.del-title { font-size: 1.3rem; font-weight: 900; color: #991b1b; margin: 0 0 8px; display: flex; align-items: center; gap: 10px; }
.del-warning { background: #fff1f2; border: 1.5px solid #fecdd3; border-radius: 12px; padding: 16px; margin-bottom: 24px; }
.del-warning-title { font-weight: 800; color: #991b1b; font-size: .9rem; margin-bottom: 8px; }
.del-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.del-list li { font-size: .84rem; color: #7f1d1d; display: flex; align-items: center; gap: 8px; }
.del-list li::before { content: '✗'; font-weight: 900; color: #dc2626; flex-shrink: 0; }
.del-keep { background: #f0fdf4; border: 1.5px solid #bbf7d0; border-radius: 12px; padding: 14px; margin-bottom: 24px; }
.del-keep-title { font-weight: 800; color: #166534; font-size: .84rem; margin-bottom: 6px; }
.del-keep li { font-size: .82rem; color: #166534; }
.del-keep li::before { content: '✓'; color: #16a34a; }
.del-form label { font-size: .85rem; font-weight: 700; color: var(--n600); margin-bottom: 6px; display: block; }
.del-form input { width: 100%; padding: 11px 14px; border: 1.5px solid var(--border); border-radius: 10px; font-size: .9rem; margin-bottom: 16px; background: var(--surface); color: var(--text); }
.del-form input:focus { outline: none; border-color: #dc2626; box-shadow: 0 0 0 3px rgba(220,38,38,.12); }
.del-confirm-input { font-family: monospace !important; font-size: 1rem !important; letter-spacing: .08em; text-align: center; }
.del-btn { width: 100%; padding: 13px; background: #dc2626; color: #fff; border: none; border-radius: 12px; font-size: .95rem; font-weight: 800; cursor: pointer; transition: background .15s; }
.del-btn:hover { background: #b91c1c; }
.del-btn:disabled { opacity: .5; cursor: not-allowed; }
.del-cancel { display: block; text-align: center; margin-top: 14px; font-size: .84rem; color: var(--n500); text-decoration: none; }
.del-cancel:hover { color: var(--text); }

/* === from help_center.html === */
.help-hero{background:linear-gradient(135deg,#E87800 0%,#1a1a2e 100%);padding:48px 0 60px;text-align:center;position:relative}
.help-search-box{background:var(--surface);border-radius:var(--r-2xl);padding:4px 4px 4px 22px;max-width:560px;margin:0 auto;display:flex;align-items:center;box-shadow:var(--sh-xl)}
.help-search-box input{flex:1;border:none;outline:none;font-size:1rem;background:transparent;padding:12px 0;color:var(--n800)}
.help-search-box input::placeholder{color:var(--n400)}
.help-search-box button{padding:11px 24px;background:var(--orange);color:#fff;border:none;border-radius:var(--r-xl);font-weight:700;font-family:var(--f-display);cursor:pointer;font-size:.9rem;flex-shrink:0}
.faq-item{border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:6px}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;cursor:pointer;background:var(--surface);font-weight:700;font-size:.92rem;gap:12px}
.faq-q:hover{background:var(--n50)}
.faq-chevron{width:18px;height:18px;transition:transform .2s;flex-shrink:0;color:var(--n400)}
.faq-item.open .faq-chevron{transform:rotate(180deg)}
.faq-a{display:none;padding:14px 18px 18px;background:var(--n50);border-top:1px solid var(--border);font-size:.9rem;color:var(--n600);line-height:1.75}
.faq-item.open .faq-a{display:block}

/* AI Chat widget */
.ai-chat-wrap{position:fixed;bottom:24px;right:24px;z-index:500}
.ai-chat-trigger{width:58px;height:58px;border-radius:50%;background:var(--orange);color:var(--text);border:none;cursor:pointer;box-shadow:var(--sh-lg);display:flex;align-items:center;justify-content:center;transition:all .2s;position:relative}
.ai-chat-trigger:hover{background:var(--n100);transform:scale(1.08)}
.ai-chat-trigger svg{width:26px;height:26px}
.ai-chat-dot{position:absolute;top:0;right:0;width:14px;height:14px;border-radius:50%;background:var(--orange);border:2px solid #fff;animation:blink 2s ease infinite}
.ai-chat-panel{position:absolute;bottom:70px;right:0;width:360px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--sh-xl);overflow:hidden;display:none;max-height:520px}
.ai-chat-panel.open{display:flex;flex-direction:column;animation:popIn .2s var(--ease)}
.ai-chat-head{background:var(--orange);padding:14px 18px;display:flex;align-items:center;gap:10px}
.ai-chat-head-av{width:36px;height:36px;border-radius:50%;background:var(--orange);color:#fff;font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);flex-shrink:0}
.ai-chat-head-info strong{color:#fff;font-size:.9rem;font-family:var(--f-display)}
.ai-chat-head-info small{color:rgba(255,255,255,.5);font-size:.72rem;display:flex;align-items:center;gap:5px}
.ai-online{width:6px;height:6px;border-radius:50%;background:#4ade80}
.ai-chat-head button{margin-left:auto;background:transparent;border:none;color:rgba(255,255,255,.5);cursor:pointer;font-size:1.2rem;line-height:1}
.ai-chat-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:200px;max-height:320px}
.ai-msg{max-width:85%;padding:10px 14px;border-radius:16px;font-size:.875rem;line-height:1.6}
.ai-msg-bot{background:var(--n100);color:var(--text);border-radius:16px 16px 16px 4px;align-self:flex-start}
.ai-msg-user{background:var(--orange);color:var(--text);border-radius:16px 16px 4px 16px;align-self:flex-end;text-align:right}
.ai-msg-time{font-size:.68rem;color:var(--n400);margin-top:3px}
.ai-typing{display:flex;gap:4px;align-items:center;padding:10px 14px}
.ai-typing span{width:7px;height:7px;border-radius:50%;background:var(--n300);animation:typing 1.2s ease infinite}
.ai-typing span:nth-child(2){animation-delay:.2s}
.ai-typing span:nth-child(3){animation-delay:.4s}
@keyframes typing{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.ai-chat-input{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:var(--surface)}
.ai-chat-input input{flex:1;border:1.5px solid var(--border);border-radius:var(--r-xl);padding:9px 14px;font-size:.875rem;outline:none;transition:border-color .18s;background:var(--surface);color:var(--text)}
.ai-chat-input input:focus{border-color:var(--orange)}
.ai-chat-input button{padding:9px 16px;background:var(--orange);color:#fff;border:none;border-radius:var(--r-xl);font-size:.82rem;font-weight:700;cursor:pointer;font-family:var(--f-display);transition:background .18s;flex-shrink:0}
.ai-chat-input button:hover{background:var(--orange-dk)}
.ai-chip{display:inline-flex;align-items:center;padding:5px 12px;background:var(--n100);border-radius:var(--r-pill);font-size:.78rem;cursor:pointer;border:1px solid var(--border);transition:all .15s;margin:3px}
.ai-chip:hover{background:var(--orange);color:var(--text);border-color:var(--orange)}

@media(max-width:480px){.ai-chat-panel{width:calc(100vw - 32px);right:-12px}}

/* === from how_it_works.html === */
.help-prose h2{font-size:1.4rem;margin:32px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.help-prose h3{font-size:1.05rem;margin:24px 0 10px}
.help-prose p,.help-prose li{font-size:.93rem;line-height:1.8;color:var(--text-2)}
.help-prose ul,.help-prose ol{padding-left:20px;margin-bottom:14px}
@media(max-width:640px){[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}}

/* === from listings.html === */
/* ── Photo navigation arrows ─────────────────────────── */
.ad-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  z-index: 10; border: none; cursor: pointer;
  width: 26px; height: 26px; border-radius: 50%;
  background: rgba(255,255,255,.88); color: var(--text);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .15s, background .15s;
  box-shadow: 0 1px 4px rgba(0,0,0,.18);
}
.ad-img:hover .ad-nav { opacity: 1 }
.ad-nav:hover { background: var(--surface) }
.ad-nav--prev { left: 6px }
.ad-nav--next { right: 6px }
.ad-dots {
  position: absolute; bottom: 7px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 4px; z-index: 10;
}
.ad-dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: rgba(255,255,255,.55); transition: background .15s;
}
.ad-dot.active { background: var(--surface) }
.ad-slide { display: none; width: 100%; height: 100% }
.ad-slide.active { display: block }
.ad-slide picture, .ad-slide img { width: 100%; height: 100%; object-fit: cover; display: block }
/* Keep arrows visible in list mode too */
#ads-container.view-list .ad-img:hover .ad-nav { opacity: 1 }
#ads-container.view-list .ad-nav--prev { left: 4px }
#ads-container.view-list .ad-nav--next { right: 4px }

/* ── View toggle ─────────────────────────────────────────── */
.view-toggle {
  display: flex; gap: 2px;
  background: var(--n100); border-radius: 9px; padding: 3px;
}
.view-btn {
  width: 32px; height: 32px; border: none; cursor: pointer;
  border-radius: 7px; display: flex; align-items: center; justify-content: center;
  background: transparent; color: var(--n500);
  transition: all .15s;
}
.view-btn:hover { background: var(--surface); color: var(--text) }
.view-btn.active {
  background: var(--surface) !important; color: var(--orange) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.10);
}

/* ── List view ───────────────────────────────────────────── */
#ads-container.view-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
#ads-container.view-list .ad-card {
  display: flex !important;
  flex-direction: row !important;
  min-height: 176px !important;
  height: auto !important;
  border-radius: 12px !important;
  position: relative !important;
  overflow: hidden !important;
}
/* Disable the default flex-col link layout in list mode */
#ads-container.view-list .ad-card-link {
  display: flex !important;
  flex-direction: row !important;
  flex: 1 !important;
  min-width: 0 !important;
  text-decoration: none !important;
}
#ads-container.view-list .ad-img {
  width: 170px !important;
  min-height: 176px !important;
  height: 100% !important;
  min-width: 170px !important;
  flex-shrink: 0 !important;
  aspect-ratio: unset !important;
  border-radius: 0 !important;
}
/* 2-column body: left=price+badges, right=title+desc+meta */
#ads-container.view-list .ad-body {
  display: grid !important;
  grid-template-columns: 110px 1fr !important;
  grid-template-rows: 1fr !important;
  gap: 0 !important;
  padding: 0 !important;
  flex: 1 !important;
  min-width: 0 !important;
}
/* Left column: type badge + price */
#ads-container.view-list .ad-body > div:first-child {
  padding: 12px 10px 10px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  border-right: 1px solid var(--border) !important;
}
/* Right column: title + desc + meta */
#ads-container.view-list .ad-body > div.ad-right-col {
  padding: 12px 14px 10px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-width: 0 !important;
}
#ads-container.view-list .ad-title {
  font-size: .92rem !important;
  font-weight: 700 !important;
  -webkit-line-clamp: 1 !important;
  margin: 0 !important;
}
#ads-container.view-list .ad-price {
  font-size: 1.05rem !important;
  font-weight: 900 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
#ads-container.view-list .ad-meta {
  border-top: none !important;
  padding-top: 0 !important;
  margin-top: auto !important;
}
/* grid-fav hidden in list */
#ads-container.view-list .grid-fav,
#ads-container.view-list .fav-btn:not(.list-action-btn) { display: none !important; }
#ads-container.view-list .fav-btn {
  position: static !important;
  order: -1 !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  border: 1.5px solid var(--border) !important;
  background: var(--surface) !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#ads-container.view-list .fav-btn svg {
  width: 16px !important;
  height: 16px !important;
}
/* Make list-actions a flex container that also includes fav-btn */
#ads-container.view-list .ad-card {
  display: flex !important;
}
#ads-container.view-list .list-actions {
  flex-direction: column !important;
}
#ads-container.view-list .ad-badge {
  top: 6px !important; left: 178px !important;
}
#ads-container.view-list .gal-count,
#ads-container.view-list .gal-zoom-btn {
  display: none !important;
}
/* Action buttons column */
#ads-container.view-list .list-actions {
  flex-direction: column !important;
  border-top: none !important;
  border-left: 1px solid var(--border) !important;
  padding: 12px 10px !important;
}
.list-action-btn {
  width: 34px; height: 34px;
  border-radius: 9px; border: 1.5px solid var(--border);
  background: var(--surface); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  text-decoration: none; transition: all .15s;
  color: var(--n500); flex-shrink: 0;
}
.list-action-btn svg { width: 17px !important; height: 17px !important }
/* ── Unified action button sizes in list mode ── */
#ads-container.view-list .list-actions .list-action-btn,
#ads-container.view-list .list-actions .fav-btn {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border-radius: 9px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
#ads-container.view-list .list-actions .list-action-btn svg,
#ads-container.view-list .list-actions .fav-btn svg {
  width: 17px !important;
  height: 17px !important;
  flex-shrink: 0 !important;
}

.list-action-btn:hover { border-color: var(--orange); color: var(--orange); background: var(--orange-xs) }
.list-action-btn.call-on { border-color: #16a34a; color: #16a34a; background: #f0fdf4 }
.list-action-btn.call-on:hover { background: #dcfce7 }
.list-action-btn.call-off { color: var(--n300); border-color: var(--n200); cursor: not-allowed }
.list-action-btn.view-btn-link { border-color: var(--orange); color: var(--orange) }
.list-action-btn.view-btn-link:hover { background: var(--n50); color: #fff; border-color: var(--orange) }
/* Description in list mode */
.ad-desc-short { display: none }
#ads-container.view-list .ad-desc-short {
  display: block !important;
  font-size: .77rem !important;
  color: var(--n500) !important;
  line-height: 1.4 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  margin-top: 3px !important;
}
/* Right column div */
.ad-right-col { display: flex; flex-direction: column; min-width: 0 }

/* ── Grid 4-col (compact) — solo desktop ─────────────────── */
@media (min-width: 769px) {
  #ads-container.view-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 14px !important;
    overflow-y: auto !important;
    flex: 1 !important;
    min-height: 0 !important;
  }
}
@media (max-width: 768px) {
  #ads-container.view-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 4px !important;
    overflow-y: auto !important;
    flex: 1 !important;
    min-height: 0 !important;
    padding: 0 !important;
  }
}

/* ── Inline refinement filters ─────────────────────────────── */
.inline-filters {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 12px 16px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.inl-filter { display: flex; align-items: center; gap: 8px; flex-wrap: wrap }
.inl-filter-lbl {
  font-size: .65rem; font-weight: 900; text-transform: uppercase;
  letter-spacing: .1em; color: var(--n400); font-family: var(--f-display);
  white-space: nowrap; cursor: default;
}
.inl-filter-opts { display: flex; gap: 5px; flex-wrap: wrap }
.inl-opt {
  padding: 4px 10px; border-radius: 99px;
  font-size: .78rem; font-weight: 600; color: var(--n600);
  border: 1px solid var(--border); text-decoration: none;
  transition: all .12s; white-space: nowrap;
}
.inl-opt:hover { border-color: var(--orange); color: var(--orange) }
.inl-opt--on { background: var(--orange); color: #fff; border-color: var(--orange) }
.inl-price-input {
  width: 68px; padding: 5px 8px;
  border: 1.5px solid var(--border); border-radius: 7px;
  font-size: .8rem; background: var(--n50); outline: none;
}
.inl-price-input:focus { border-color: var(--orange) }
.inl-apply-btn {
  padding: 5px 10px; border-radius: 7px;
  background: var(--n50); color: #fff;
  font-size: .75rem; font-weight: 700; font-family: var(--f-display);
  border: none; cursor: pointer; transition: background .12s;
}
.inl-apply-btn:hover { background: var(--orange) }
.inl-city-sel {
  padding: 5px 28px 5px 10px; border-radius: 7px;
  border: 1.5px solid var(--border); font-size: .8rem;
  background: var(--n50); outline: none; cursor: pointer;
  min-width: 130px;
}
.inl-city-sel:focus { border-color: var(--orange) }

/* Separator between inline filters */
.inl-filter + .inl-filter {
  padding-left: 20px;
  border-left: 1px solid var(--border);
}
@media (max-width: 640px) {
  .inline-filters { gap: 12px }
  .inl-filter + .inl-filter { border-left: none; padding-left: 0 }
}

/* ── Custom sort dropdown ───────────────────────────────────────────── */
.sort-dropdown { position: relative; display: inline-block }
.sort-trigger {
  display: flex; align-items: center; gap: 7px;
  padding: 8px 13px;
  border: 1.5px solid var(--border); border-radius: var(--r-lg);
  background: var(--surface); color: var(--text);
  font-size: .875rem; font-weight: 600; font-family: var(--f-body);
  cursor: pointer; transition: border-color .15s, box-shadow .15s;
  white-space: nowrap; min-width: 160px;
}
.sort-trigger:hover, .sort-trigger.open { border-color: var(--orange) }
.sort-trigger.open { box-shadow: 0 0 0 3px rgba(232,120,0,.1) }
.sort-trigger svg { flex-shrink: 0; color: var(--n500) }
.sort-menu {
  position: absolute; right: 0; top: calc(100% + 6px);
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 12px; padding: 5px;
  min-width: 210px; z-index: 500;
  box-shadow: 0 8px 32px rgba(0,0,0,.14);
  animation: popIn .15s ease;
}
.sort-item {
  display: flex; align-items: center; gap: 9px;
  padding: 9px 11px; border-radius: 8px;
  font-size: .86rem; font-weight: 500; color: var(--text);
  text-decoration: none; transition: background .1s;
  white-space: nowrap;
}
.sort-item:hover { background: var(--n100) }
.sort-item--on { background: var(--orange-xs); color: var(--orange); font-weight: 700 }
.sort-item--on svg:first-child { color: var(--orange) }
.sort-item svg:first-child { flex-shrink: 0; color: var(--n500) }
#ads-container.view-grid .ad-card, #ads-container.view-grid .av-card { display:flex !important; flex-direction:column !important; overflow:hidden !important; }
#ads-container.view-grid .ad-card-link, #ads-container.view-grid .av-card-img-wrap { display:flex !important; flex-direction:column !important; flex:1 !important; }
#ads-container.view-grid .ad-img { height:180px !important; min-height:180px !important; aspect-ratio:unset !important; overflow:hidden !important; }
#ads-container.view-grid .ad-img img { width:100% !important; height:100% !important; object-fit:cover !important; }
#ads-container.view-grid .ad-body { padding:10px 12px !important; display:flex !important; flex-direction:column !important; align-items:center !important; text-align:center !important; gap:4px !important; }
#ads-container.view-grid .list-actions { display:none !important; }
#ads-container.view-grid .av-card { display:flex !important; flex-direction:column !important; }
/* ── AV Card ─── */
.av-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.av-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.1);transform:translateY(-2px);border-color:var(--orange)}
.av-card--promoted{border-color:var(--orange)}
.av-card-img-wrap{display:block;flex-shrink:0}
.av-card-img{position:relative;width:100%;padding-top:75%;overflow:hidden;background:var(--n50)}
.av-card-body{display:flex;flex-direction:column;padding:12px 14px 14px;flex:1}
.av-fav{background:none;border:none;cursor:pointer;padding:2px;color:var(--n300);transition:color .15s;line-height:1;display:flex}
.av-fav:hover,.av-fav.active{color:#e11d48}
.av-fav.active svg{fill:currentColor}
.av-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;border:none;cursor:pointer;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--n700);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;padding:0}
.av-card-img:hover .av-nav{opacity:1}
.av-nav--prev{left:6px}.av-nav--next{right:6px}
/* List mode */
#ads-container.view-list .av-card{flex-direction:row!important;height:auto!important;min-height:120px!important;overflow:visible!important;border-radius:10px!important}
#ads-container.view-list .av-card-img-wrap{width:200px!important;min-width:200px!important;flex-shrink:0!important;height:auto!important;min-height:120px!important;overflow:hidden!important;display:block!important}
#ads-container.view-list .av-card-img{padding-top:0!important;height:100%!important;min-height:120px!important}
#ads-container.view-list .av-card-body{flex:1!important;padding:10px 12px!important;min-width:0!important;overflow:hidden!important}
#ads-container.view-list .av-list-actions{display:flex!important}
#ads-container.view-list .av-card-actions{display:none!important}
#ads-container.view-list .list-actions{display:flex!important}
.list-actions{display:none}
/* ── Dropdown filter buttons ── */
.btn-filter-active { background: var(--orange) !important; color: #fff !important; border-color: var(--orange) !important; }
@media(min-width:769px){
  .btn-filter-toggle, #filter-toggle-btn {
    background: #E87800 !important; color: #fff !important;
    border: none !important; border-radius: 99px !important;
    font-weight: 800 !important; cursor: pointer !important;
    display: inline-flex !important; align-items: center !important; gap: 6px !important;
  }
  .btn-filter-toggle svg, #filter-toggle-btn svg { color: #fff !important; stroke: #fff !important; }
  .btn-filter-toggle:hover, #filter-toggle-btn:hover { background: #C46400 !important; }
}
.dd-menu { position:absolute; top:calc(100% + 6px); left:0; background:var(--surface); border:1.5px solid var(--border); border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,.12); z-index:300; min-width:160px; overflow:hidden; }
.dd-item { display:block; padding:10px 16px; font-size:.875rem; font-weight:600; color:var(--text); text-decoration:none; transition:background .1s; white-space:nowrap; }
.dd-item:hover { background:var(--n50); }
.dd-item--on { background:var(--orange-xs); color:var(--orange); font-weight:800; }
@keyframes spin { to { transform: rotate(360deg) } }
.fp-menu-item { display:flex !important; align-items:center !important; justify-content:space-between !important; width:100% !important; padding:17px 20px !important; background:none !important; background-color:transparent !important; color:var(--text,#1A1F2E) !important; border:none !important; border-bottom:1px solid var(--n100) !important; border-radius:0 !important; font-size:.9rem !important; font-weight:600 !important; cursor:pointer !important; text-align:left !important; transition:background .1s !important; box-shadow:none !important; transform:none !important; }
.fp-menu-item:hover { background:var(--n50,#F4F5F7) !important; color:var(--text,#1A1F2E) !important; transform:none !important; }
/* Action buttons */
.av-action-btn{width:34px;height:34px;border-radius:8px;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--n400);transition:all .15s}
.av-action-btn:hover{background:var(--n50);color:var(--orange)}
.av-action-btn.active{color:#e11d48}
/* Chat popup */
#chat-popup{position:fixed;bottom:24px;right:24px;width:340px;background:var(--surface);border-radius:18px;box-shadow:0 12px 40px rgba(0,0,0,.18);z-index:1000;display:none;flex-direction:column;overflow:hidden;border:1px solid var(--border)}
#chat-popup-hdr{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--orange);color:#fff}
#chat-popup-thumb{width:36px;height:36px;border-radius:8px;object-fit:cover;background:rgba(255,255,255,.2);flex-shrink:0}
#chat-popup-title{flex:1;font-size:.82rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#chat-popup-close{background:none;border:none;color:rgba(255,255,255,.8);cursor:pointer;font-size:1.2rem;line-height:1;padding:0}
#chat-popup-msgs{flex:1;max-height:260px;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}
#chat-popup-input-row{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:var(--surface)}
#chat-popup-input{flex:1;border:1.5px solid var(--border);border-radius:20px;padding:8px 14px;font-size:.85rem;outline:none;resize:none;max-height:80px}
#chat-popup-input:focus{border-color:var(--orange)}
.chat-voice-btn{width:36px;height:36px;border-radius:50%;background:var(--n100);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--n500);flex-shrink:0;transition:all .15s}
.chat-voice-btn.recording{background:#fee2e2;color:#dc2626;animation:pulse 1s infinite}
.chat-send-btn{width:36px;height:36px;border-radius:50%;background:var(--orange);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
.chat-msg-me{align-self:flex-end;background:var(--orange);color:#fff;padding:7px 12px;border-radius:14px 14px 3px 14px;font-size:.82rem;max-width:80%;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.chat-msg-status{font-size:.62rem;opacity:.7;font-weight:600;white-space:nowrap}
.chat-msg-status--ok{opacity:1;color:rgba(255,255,255,.8)}
.chat-msg-status--error{opacity:1;color:#fca5a5}
.chat-msg-them{align-self:flex-start;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:7px 12px;border-radius:14px 14px 14px 3px;font-size:.82rem;max-width:80%}
.chat-msg-system{align-self:center;background:#fee2e2;color:#dc2626;padding:4px 10px;border-radius:8px;font-size:.72rem;font-weight:700}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
[data-theme="dark"] #listings-loading { background:rgba(0,0,0,.6) }

/* === from map.html === */
/* ── Layout ─────────────────────────────────────────────────────────────── */
.map-page {
  padding: 0;
  max-width: var(--w-max); margin-inline: auto;
  background: var(--bg);
}
/* Card wrapper — matches mini-map-card in ad_detail */
.map-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--sh-sm);
}
.map-card-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.map-card-title {
  font-family: var(--f-display); font-weight: 800; font-size: .95rem;
  display: flex; align-items: center; gap: 8px; margin: 0;
  color: var(--text);
}
.map-card-title svg { color: var(--orange) }
.map-bar {
  background: var(--surface); border-bottom: 1px solid var(--border);
  padding: 8px 14px; display: flex; align-items: center; gap: 7px;
  flex-wrap: wrap; flex-shrink: 0; z-index: 10;
}
/* Split: map left, panel right */
.map-split {
  height: calc(100vh - 220px) !important;
  display: flex; height: calc(100vh - var(--navbar-h) - 160px);
  min-height: 520px; overflow: hidden;
}
#map {
  flex: 1; min-width: 0; min-height: 0;
  border-right: 1px solid var(--border);
}

/* ── Right panel ─────────────────────────────────────────────────────── */
.map-panel {
  width: 320px; flex-shrink: 0; display: flex; flex-direction: column;
  background: var(--surface); overflow: hidden;
}
.map-panel-empty {
  flex: 1; display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: 12px; color: var(--n400);
  padding: 32px; text-align: center;
}
.map-panel-empty svg { opacity: .3 }
.map-panel-empty p { font-size: .84rem; line-height: 1.6; margin: 0 }

/* Selected ad info */
.map-ad-card {
  padding: 14px; border-bottom: 1px solid var(--border);
  display: flex; gap: 11px; align-items: flex-start; flex-shrink: 0;
}
.map-ad-thumb {
  width: 66px; height: 50px; border-radius: 9px;
  object-fit: cover; flex-shrink: 0; background: var(--n100);
  display: flex; align-items: center; justify-content: center;
}
.map-ad-thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 9px }
.map-ad-info { flex: 1; min-width: 0; text-align: center }
.map-ad-price { font-family: var(--f-display); font-size: 1.05rem; font-weight: 800; color: var(--orange); margin-bottom: 2px }
.map-ad-title { font-size: .82rem; font-weight: 600; color: var(--text); line-height: 1.35; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-bottom: 3px }
.map-ad-city { font-size: .72rem; color: var(--n500); display: flex; align-items: center; gap: 3px }
.map-ad-city svg { width: 10px; height: 10px; color: var(--orange) }

/* Quick chat */
.map-chat-area {
  flex: 1; overflow-y: auto; padding: 12px;
  display: flex; flex-direction: column; gap: 6px;
  background: var(--n50); min-height: 0;
}
.map-chat-empty {
  margin: auto; text-align: center; color: var(--n400); font-size: .8rem;
}
.map-msg { display: flex; gap: 7px; align-items: flex-end; max-width: 90% }
.map-msg--out { margin-left: auto; flex-direction: row-reverse }
.map-msg-bubble {
  padding: 8px 12px; border-radius: 14px; font-size: .82rem;
  line-height: 1.5; word-break: break-word;
}
.map-msg--out .map-msg-bubble { background:var(--orange); color: #fff; border-radius: 14px 14px 3px 14px }
.map-msg--in  .map-msg-bubble { background: var(--surface); color: var(--text); border: 1px solid var(--n200); border-radius: 14px 14px 14px 3px }
.map-msg-av {
  width: 26px; height: 26px; border-radius: 50%; background: var(--orange);
  color: #fff; font-size: .65rem; font-weight: 800; display: flex;
  align-items: center; justify-content: center; flex-shrink: 0;
  font-family: var(--f-display);
}

/* Chat input */
.map-chat-input-wrap {
  border-top: 1px solid var(--border); padding: 10px 12px;
  background: var(--surface); flex-shrink: 0;
}
.map-chat-input-row { display: flex; gap: 8px; align-items: flex-end }
#map-chat-input {
  flex: 1; border: 1.5px solid var(--border); border-radius: 18px;
  padding: 8px 13px; font-size: .84rem; outline: none; resize: none;
  font-family: var(--f-body); background: var(--n50); color: var(--text);
  max-height: 90px; overflow-y: auto; line-height: 1.4; transition: border-color .15s;
}
#map-chat-input:focus { border-color: var(--orange) }
#map-chat-input::placeholder { color: var(--n400) }
#map-chat-input:disabled { opacity: .45; cursor: not-allowed }
.map-chat-send {
  width: 36px; height: 36px; border-radius: 50%; background:var(--n50);
  border: none; color: #fff; display: flex; align-items: center;
  justify-content: center; cursor: pointer; flex-shrink: 0;
  transition: background .15s, transform .1s;
}
.map-chat-send:hover:not(:disabled) { background: var(--orange); transform: scale(1.06) }
.map-chat-send:disabled { background: var(--n200); cursor: not-allowed }

/* Action buttons strip */
.map-actions {
  display: flex; gap: 0; border-top: 1px solid var(--border); flex-shrink: 0;
}
.map-act-btn {
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 11px 6px; border: none; background: var(--surface);
  font-size: .68rem; font-weight: 700; font-family: var(--f-display);
  color: var(--n600); cursor: pointer; transition: all .14s;
  border-right: 1px solid var(--border); text-decoration: none;
}
.map-act-btn:last-child { border-right: none }
.map-act-btn svg { width: 18px; height: 18px }
.map-act-btn:hover { background: var(--n50); color: var(--orange) }
.map-act-btn:disabled { color: var(--n300); cursor: not-allowed }
.map-act-btn:disabled:hover { background: var(--surface); color: var(--n300) }
.map-act-btn.active-fav { color: #e2332a }
.map-act-btn.call-ok { color: #059669 }
.map-act-btn.call-ok:hover { background: #f0fdf4; color: #059669 }
.map-act-btn.view-link { }

/* Sending indicator */
.map-sending { text-align:center; font-size:.72rem; color:var(--n400); padding:4px 0 }

@media(max-width: 768px) {
  .map-split { height: calc(100vh - 200px) !important; flex-direction: column }
  .map-panel { width: 100%; height: 260px; border-top: 1px solid var(--border); border-right: none }
  #map { flex: none; height: calc(100% - 260px) }
  .map-toolbar { flex-wrap: wrap; gap: 6px; padding: 8px 10px }
  .map-search-wrap { width: 100%; min-width: 0 }
  .map-search-wrap input { width: 100%; min-width: 0 }
}
@media(max-width: 480px) {
  .map-split { height: calc(100vh - 180px) !important }
  .map-panel { height: 220px }
  #map { height: calc(100% - 220px) }
  .map-sel, .map-btn { font-size: .76rem !important; height: 32px !important; padding: 0 10px !important }
}

/* ── Controls ────────────────────────────────────────────────────────────── */
.map-search-wrap { display:flex; align-items:center; background:var(--n50); border:1.5px solid var(--border); border-radius:99px; padding:0 12px; gap:6px; transition:border-color .2s; height:36px }
.map-search-wrap:focus-within { border-color:var(--orange); background:var(--surface) }
.map-search-wrap svg { width:15px; height:15px; color:var(--n400); flex-shrink:0 }
.map-search-wrap input { flex:1; min-width:120px; border:none; outline:none; background:transparent; font-size:.83rem; color:var(--text); width:160px }
.map-sel { height:36px; padding:0 10px; border:1.5px solid var(--border); border-radius:99px; font-size:.83rem; background:var(--surface); color:var(--text); outline:none; cursor:pointer }
.map-sel:focus { border-color:var(--orange) }
.map-btn { height:36px; padding:0 14px; border-radius:99px; font-size:.83rem; font-weight:700; display:flex; align-items:center; gap:5px; border:1.5px solid transparent; cursor:pointer; transition:all .15s; white-space:nowrap; flex-shrink:0 }
.map-btn-primary { background:var(--orange); color:#fff; border-color:var(--orange) }
.map-btn-primary:hover { background:var(--orange-dk); border-color:var(--orange-dk) }
.map-btn-ghost { background:var(--surface); color:var(--text); border-color:var(--border) }
.map-btn-ghost:hover { border-color:var(--orange); color:var(--orange) }
.map-count { font-size:.78rem; color:var(--n500); font-weight:600; white-space:nowrap; margin-left:auto; flex-shrink:0 }

/* ── Popup redesign ──────────────────────────────────────────────────────── */
.leaflet-popup-content-wrapper { border-radius:16px !important; padding:0 !important; overflow:hidden; box-shadow:0 8px 32px rgba(0,0,0,.18) !important; border:1px solid var(--border) !important; width:260px !important }
.leaflet-popup-content { margin:0 !important; width:260px !important; font-family:'Outfit',sans-serif }
.leaflet-popup-close-button { top:8px !important; right:8px !important; z-index:10; width:24px !important; height:24px !important; font-size:14px !important; background:rgba(255,255,255,.9) !important; border-radius:50% !important; color:var(--n600) !important; display:flex !important; align-items:center !important; justify-content:center !important }
.leaflet-popup-tip-container { display:none }

/* popup card */
.poc { background:var(--surface); display:flex; flex-direction:column }
.poc-img { height:130px; overflow:hidden; background:var(--n100); position:relative; flex-shrink:0 }
.poc-img img { width:100%; height:100%; object-fit:cover; transition:transform .3s }
.poc:hover .poc-img img { transform:scale(1.05) }
.poc-noimg { height:130px; display:flex; align-items:center; justify-content:center; font-size:2.8rem; background:var(--n50) }
.poc-cat-badge { position:absolute; top:8px; left:8px; padding:3px 8px; border-radius:99px; font-size:.62rem; font-weight:800; font-family:var(--f-display,sans-serif); color:#fff; background:rgba(0,0,0,.55); backdrop-filter:blur(4px) }
.poc-dist { position:absolute; top:8px; right:8px; padding:3px 8px; border-radius:99px; font-size:.62rem; font-weight:800; font-family:var(--f-display,sans-serif); color:#fff; background:rgba(232,120,0,.2); backdrop-filter:blur(4px) }
.poc-body { padding:10px 12px 4px }
.poc-price { font-family:var(--f-display,sans-serif); font-size:1.1rem; font-weight:900; color:var(--orange) }
.poc-title { font-size:.83rem; font-weight:600; color:var(--text); line-height:1.35; margin:3px 0 6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden }
.poc-city { font-size:.72rem; color:var(--n500); display:flex; align-items:center; gap:3px; margin-bottom:10px }
/* action strip */
.poc-actions { display:flex; border-top:1px solid var(--n100); margin:0 }
.poc-action { flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; padding:9px 4px; font-size:.62rem; font-weight:800; font-family:var(--f-display,sans-serif); color:var(--n600); cursor:pointer; text-decoration:none; border:none; background:transparent; transition:background .15s; border-right:1px solid var(--n100) }
.poc-action:last-child { border-right:none }
.poc-action:hover { background:var(--n50); color:var(--orange) }
.poc-action svg, .poc-action span.icon { font-size:1rem; line-height:1 }
.poc-action.call-ok { color:#16a34a }
.poc-action.call-ok:hover { background:#f0fdf4 }
.poc-action.call-off { color:var(--n300); cursor:not-allowed }
.poc-action.call-off:hover { background:transparent; color:var(--n300) }
.poc-action--fav { color:#e11d48 }
.poc-action--fav:hover { background:#fff1f2; color:#be123c }
.poc-action--fav-active { color:#e11d48 }
.poc-action--fav-active:hover { background:#fff1f2 }

/* ── Marker icons ───────────────────────────────────────────────────────── */
/* custom cluster */
.mc-cluster { width:40px; height:40px; border-radius:50%; background:#E87800; border:3px solid #fff; box-shadow:0 3px 12px rgba(232,120,0,.3); display:flex; align-items:center; justify-content:center; font-family:var(--f-display,sans-serif); font-weight:900; font-size:13px; color:#fff }

/* pulse for user location */
@keyframes pulse-loc { 0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,.4)} 50%{box-shadow:0 0 0 12px rgba(37,99,235,0)} }

/* === from my_ads.html === */
.ma-split{display:grid;grid-template-columns:220px 1fr;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface);min-height:400px}
.ma-left{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface);overflow:hidden}
.ma-left-head{padding:16px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}
.ma-tabs{display:flex;flex-direction:column;gap:2px;padding:10px;overflow-y:auto}
.ma-tab{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:10px;font-size:.85rem;font-weight:700;text-decoration:none;color:var(--n600);transition:all .15s}
.ma-tab:hover{background:var(--n50);color:var(--text)}
.ma-tab.active{background:#fff3e0;color:var(--orange)}
.ma-cnt{font-size:.67rem;font-weight:800;padding:1px 7px;border-radius:99px;background:var(--n100);color:var(--n500)}
.ma-tab.active .ma-cnt{background:rgba(232,120,0,.15);color:var(--orange)}
.ma-right{display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}
.ma-right-head{padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px}
.ma-right-body{flex:1;overflow-y:auto;padding:16px}
/* Table */
.ma-table{width:100%;border-collapse:collapse}
.ma-table thead th{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--n400);padding:8px 12px;text-align:left;border-bottom:1.5px solid var(--n100);white-space:nowrap;background:var(--surface)}
.ma-row{border-bottom:1px solid var(--n50);transition:background .12s}
.ma-row:hover{background:var(--surface)}
.ma-row td{padding:11px 12px;vertical-align:middle;background:transparent}
.ma-thumb{width:52px;height:52px;border-radius:8px;object-fit:cover;background:var(--n100);flex-shrink:0}
.ma-price{font-weight:900;font-family:var(--f-display);font-size:.95rem;color:var(--orange)}
.ma-title{font-weight:700;font-size:.83rem;color:var(--text);text-decoration:none;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.ma-title:hover{color:var(--orange)}
.ma-stat{display:flex;align-items:center;gap:4px;font-size:.8rem;color:var(--n500)}
.ma-actions{display:flex;gap:4px;align-items:center}
.ma-btn-icon{width:28px;height:28px;border-radius:7px;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--n500);transition:all .15s;text-decoration:none}
.ma-btn-icon:hover{border-color:var(--orange);color:var(--orange)}
.s-pill{font-size:.67rem;font-weight:700;padding:2px 7px;border-radius:99px}
.s-active{background:#dcfce7;color:#16a34a}
.s-paused{background:#fef3c7;color:#d97706}
.s-sold{background:var(--n50);color:var(--n500)}
.s-expired{background:#fee2e2;color:#dc2626}
@media(max-width:768px){.ma-split{grid-template-columns:1fr;height:auto}.ma-left{border-right:none;border-bottom:1px solid var(--border);max-height:180px}.ma-tabs{flex-direction:row;overflow-x:auto;padding:8px}.ma-tab{min-width:100px}}

/* === from my_alerts.html === */
/* pg-split managed in main.css — do not redefine here */

/* === from my_auctions.html === */
/* ── Page header ─────────────────────────────────────────────── */
.ma-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 28px; flex-wrap: wrap; gap: 12px;
}
.ma-header-left h1 {
  font-family: var(--f-display); font-size: 1.45rem; font-weight: 900;
  margin: 0 0 4px; letter-spacing: -.03em; color: var(--text);
}
.ma-header-left p { font-size: .83rem; color: var(--n500); margin: 0; }

/* ── Pending validation banner ───────────────────────────────── */
.ma-pending {
  background:#fffbeb;
  border: 1.5px solid #fde68a; border-radius: 16px;
  padding: 18px 20px; margin-bottom: 24px;
  display: flex; align-items: flex-start; gap: 14px;
}
.ma-pending-icon {
  width: 40px; height: 40px; border-radius: 12px;
  background: #fde68a; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.ma-pending-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.ma-pending-btn {
  padding: 7px 16px; background: var(--orange); color: #fff;
  border-radius: 10px; font-size: .78rem; font-weight: 700;
  text-decoration: none; transition: background .15s;
}
.ma-pending-btn:hover { background: var(--orange-dk); }

/* ── Section card ────────────────────────────────────────────── */
.ma-section {
  background: var(--surface); border: 1.5px solid var(--border);
  border-radius: 20px; margin-bottom: 24px;
}
.ma-section-hdr {
  padding: 16px 20px; border-bottom: 1px solid var(--border);
  display: flex; align-items: center; justify-content: space-between;
  background: var(--n50);
}
.ma-section-title {
  font-family: var(--f-display); font-weight: 800; font-size: .92rem;
  display: flex; align-items: center; gap: 9px; color: var(--text); margin: 0;
}
.ma-section-title-icon {
  width: 32px; height: 32px; border-radius: 10px;
  background:var(--orange); display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.ma-section-link {
  font-size: .76rem; color: var(--orange); font-weight: 700;
  text-decoration: none; padding: 5px 12px; border-radius: 8px;
  border: 1px solid #FFF3E0; background: transparent; transition: all .15s;
}
.ma-section-link:hover { background:var(--orange) !important; color:#fff !important; border-color:var(--orange) !important; }

/* ── Auction row ─────────────────────────────────────────────── */
/* ⚠ .ma-row is a <tr> inside a <table> — do NOT use display:grid here.
   Table rows must stay as display:table-row for columns to align correctly. */
.ma-row { border-bottom: 1px solid var(--n50); transition: background .12s; }
.ma-row:last-child { border-bottom: none; }
.ma-row:hover { background: var(--surface); }

.ma-thumb {
  width: 80px; height: 80px; border-radius: 12px;
  object-fit: cover; background: var(--n100); flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; border: 1px solid var(--border);
}
.ma-thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 12px; }

.ma-body { min-width: 0; }
.ma-title {
  font-weight: 700; font-size: .9rem; color: var(--text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  margin-bottom: 6px; font-family: var(--f-display);
}
.ma-meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
}
.ma-stat {
  display: flex; align-items: center; gap: 4px;
  font-size: .74rem; color: var(--n500); font-weight: 600;
}
.ma-stat strong { color: var(--text); font-weight: 700; }
.ma-stat-sep { width: 3px; height: 3px; border-radius: 50%; background: var(--n300); }

/* ── Status badges ───────────────────────────────────────────── */
.ma-badge {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: .68rem; font-weight: 800; padding: 3px 10px;
  border-radius: 99px; border: 1.5px solid; white-space: nowrap;
  font-family: var(--f-display); letter-spacing: .02em; text-transform: uppercase;
}
.ma-badge-active {
  background: #dcfce7; color: #15803d; border-color: #86efac;
}
.ma-badge-ended {
  background: var(--n100); color: var(--n500); border-color: var(--n200);
}
.ma-badge-won {
  background: #fef9c3; color: #92400e; border-color: #fde68a;
}
.ma-live-dot {
  width: 7px; height: 7px; border-radius: 50%; background: #16a34a;
  animation: pulse-green 1.4s infinite;
}
@keyframes pulse-green {
  0%,100% { box-shadow: 0 0 0 0 rgba(22,163,74,.4); }
  50%      { box-shadow: 0 0 0 5px rgba(22,163,74,0); }
}

/* ── Timer ───────────────────────────────────────────────────── */
.ma-timer {
  font-size: .72rem; font-weight: 700; color: var(--orange);
  display: inline-flex; align-items: center; gap: 4px;
}

/* ── Winning/losing indicators ───────────────────────────────── */
.ma-winning {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: .72rem; font-weight: 700; color: #16a34a;
  background: #f0fdf4; padding: 2px 9px; border-radius: 99px;
  border: 1px solid #bbf7d0;
}
.ma-losing {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: .72rem; font-weight: 700; color: #dc2626;
  background: #fef2f2; padding: 2px 9px; border-radius: 99px;
  border: 1px solid #fca5a5;
}

/* ── Action buttons ──────────────────────────────────────────── */
.ma-actions { display: flex; gap: 8px; flex-shrink: 0; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
.ma-btn {
  padding: 7px 15px; border-radius: 10px; font-size: .76rem;
  font-weight: 700; text-decoration: none; cursor: pointer;
  display: inline-flex; align-items: center; gap: 5px;
  transition: all .15s; white-space: nowrap; border: 1.5px solid;
  font-family: var(--f-display);
}
.ma-btn-ghost { background: var(--surface); color: var(--text); border-color: var(--border); }
.ma-btn-ghost:hover { border-color: var(--orange); color: var(--orange); }
.ma-btn-primary { background:var(--orange); color: #fff; border-color: var(--orange); }
.ma-btn-primary:hover { background:var(--n100); border-color: var(--orange-dk); }
.ma-btn-bid { background: var(--orange); color: #fff; border-color: var(--orange); }
.ma-btn-bid:hover { background: var(--orange-dk); border-color: var(--orange-dk); }
.ma-btn-danger { background: #fef2f2; color: #dc2626; border-color: #fca5a5; }
.ma-btn-danger:hover { background: #fee2e2; border-color: #ef4444; }
.ma-btn-locked { background: var(--n50); color: var(--n400); border-color: var(--n200); cursor: not-allowed; }

/* ── Empty state ─────────────────────────────────────────────── */
.ma-empty {
  padding: 48px 24px; text-align: center; color: var(--n400);
}
.ma-empty-icon {
  width: 64px; height: 64px; border-radius: 18px;
  background: var(--n50); border: 1.5px solid var(--border);
  display: flex; align-items: center; justify-content: center; margin: 0 auto 14px;
}
.ma-empty p { font-size: .84rem; margin: 4px 0 16px; }
.ma-empty a:not(.ma-btn) { color: var(--orange); font-weight: 700; }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 600px) {
  .ma-row { grid-template-columns: 64px 1fr; }
  .ma-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .ma-thumb { width: 64px; height: 64px; }
}

/* === from my_favorite_profiles.html === */
/* pg-split managed in main.css — do not redefine here */

/* === from my_favorites.html === */
/* pg-split managed in main.css — do not redefine here */
.favs-page-title { font-size:1.4rem; font-family:var(--f-display); font-weight:900; margin:0 0 4px }
.favs-sub { font-size:.85rem; color:var(--n500); margin:0 0 18px }
.favs-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:16px }
.favs-tabs { display:flex; gap:6px }
.favs-tab { padding:7px 16px; border-radius:99px; font-size:.84rem; font-weight:700; cursor:pointer; border:1.5px solid var(--border); background:var(--surface); color:var(--n600); text-decoration:none; transition:all .15s }
.favs-tab.active { background:var(--text); color:#fff; border-color:var(--text) }
.favs-search { display:flex; align-items:center; gap:8px; border:1.5px solid var(--border); border-radius:99px; padding:7px 16px; background:var(--surface) }
.favs-search input { border:none; outline:none; background:transparent; font-size:.84rem; width:180px; color:var(--text) }
.favs-sort { display:flex; align-items:center; gap:6px; padding:7px 14px; border:1.5px solid var(--border); border-radius:99px; font-size:.82rem; font-weight:600; cursor:pointer; background:var(--surface); color:var(--n600) }
/* Grid */
.favs-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:14px }
.fav-card { background:var(--surface); border:1px solid var(--border); border-radius:12px; overflow:hidden; transition:transform .15s,box-shadow .15s; position:relative }
.fav-card:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.1) }
.fav-card-img { position:relative; aspect-ratio:1/1; overflow:hidden; background:var(--n100) }
.fav-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .3s }
.fav-card:hover .fav-card-img img { transform:scale(1.03) }
.fav-card-count { position:absolute; bottom:8px; left:8px; background:rgba(0,0,0,.55); color:var(--text); font-size:.68rem; font-weight:700; padding:2px 7px; border-radius:99px }
.fav-card-heart { position:absolute; top:8px; right:8px; width:32px; height:32px; border-radius:50%; background:var(--surface); display:flex; align-items:center; justify-content:center; box-shadow:0 2px 8px rgba(0,0,0,.15); cursor:pointer; border:none; color:#e2332a; font-size:1rem }
.fav-card-body { padding:10px 12px }
.fav-card-title { font-size:.84rem; font-weight:600; color:var(--text); margin:0 0 5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.fav-card-price { font-size:1rem; font-weight:900; font-family:var(--f-display); color:var(--text) }

/* === from my_purchases.html === */
.txn-page-title { font-size:1.4rem; font-family:var(--f-display); font-weight:900; margin:0 0 16px }
.txn-tabs { display:flex; gap:6px; margin-bottom:24px }
.txn-tab { padding:7px 18px; border-radius:99px; font-size:.84rem; font-weight:700; cursor:pointer; border:1.5px solid var(--border); background:var(--surface); color:var(--n600); text-decoration:none; transition:all .15s }
.txn-tab.active { background:var(--text); color:#fff; border-color:var(--text) }
.txn-year { font-size:1.6rem; font-family:var(--f-display); font-weight:900; margin:24px 0 8px }
.txn-month { font-size:1rem; font-weight:800; margin:0 0 12px; padding-bottom:8px; border-bottom:1px solid var(--border) }
.txn-row { display:flex; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid var(--n100) }
.txn-thumb { width:70px; height:70px; border-radius:8px; object-fit:cover; background:var(--n100); flex-shrink:0 }
.txn-info { flex:1; min-width:0 }
.txn-info-title { font-weight:700; font-size:.95rem; margin:0 0 3px }
.txn-info-sub { font-size:.78rem; color:var(--n500); margin:0 0 2px }
.txn-info-price { font-size:.88rem; font-weight:700; color:var(--text) }
.txn-meta { display:flex; flex-direction:column; gap:3px; min-width:140px }
.txn-meta-label { font-size:.72rem; color:var(--n400); text-transform:uppercase; letter-spacing:.05em; font-weight:700 }
.txn-meta-val { font-size:.82rem; color:var(--text); font-weight:600 }
.txn-user { display:flex; align-items:center; gap:8px; font-size:.82rem; font-weight:600; color:var(--text) }
.txn-user-av { width:32px; height:32px; border-radius:50%; background:var(--orange); color:var(--text); display:flex; align-items:center; justify-content:center; font-weight:900; font-size:.85rem; flex-shrink:0 }
.txn-user-chat { width:32px; height:32px; border-radius:8px; background:var(--orange); color:#fff; display:flex; align-items:center; justify-content:center; margin-left:6px; text-decoration:none }

/* === from my_sales.html === */
.txn-page-title { font-size:1.4rem; font-family:var(--f-display); font-weight:900; margin:0 0 16px }
.txn-tabs { display:flex; gap:6px; margin-bottom:24px }
.txn-tab { padding:7px 18px; border-radius:99px; font-size:.84rem; font-weight:700; cursor:pointer; border:1.5px solid var(--border); background:var(--surface); color:var(--n600); text-decoration:none; transition:all .15s }
.txn-tab.active { background:var(--text); color:#fff; border-color:var(--text) }
.txn-year { font-size:1.6rem; font-family:var(--f-display); font-weight:900; margin:24px 0 8px }
.txn-month { font-size:1rem; font-weight:800; margin:0 0 12px; padding-bottom:8px; border-bottom:1px solid var(--border) }
.txn-row { display:flex; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid var(--n100) }
.txn-thumb { width:70px; height:70px; border-radius:8px; object-fit:cover; background:var(--n100); flex-shrink:0 }
.txn-info { flex:1; min-width:0 }
.txn-info-title { font-weight:700; font-size:.95rem; margin:0 0 3px }
.txn-info-sub { font-size:.78rem; color:var(--n500); margin:0 0 2px }
.txn-info-price { font-size:.88rem; font-weight:700; color:var(--text) }
.txn-meta { display:flex; flex-direction:column; gap:3px; min-width:140px }
.txn-meta-label { font-size:.72rem; color:var(--n400); text-transform:uppercase; letter-spacing:.05em; font-weight:700 }
.txn-meta-val { font-size:.82rem; color:var(--text); font-weight:600 }
.txn-user { display:flex; align-items:center; gap:8px; font-size:.82rem; font-weight:600; color:var(--text) }
.txn-user-av { width:32px; height:32px; border-radius:50%; background:var(--orange); color:var(--text); display:flex; align-items:center; justify-content:center; font-weight:900; font-size:.85rem; flex-shrink:0 }
.txn-user-chat { width:32px; height:32px; border-radius:8px; background:var(--orange); color:#fff; display:flex; align-items:center; justify-content:center; margin-left:6px; text-decoration:none }

/* === from my_stats.html === */
/* pg-split managed in main.css — do not redefine here */
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* === from my_subscriptions.html === */
/* pg-split managed in main.css — do not redefine here */
/* ── Active subscription card ─────────────────────────── */
.sub-active-card{background:var(--surface);border:1.5px solid var(--orange);border-radius:16px;padding:18px;position:relative;overflow:hidden}
.sub-active-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--orange)}
.sub-countdown{display:flex;gap:10px;margin-top:12px}
.sub-cd-box{flex:1;text-align:center;background:var(--n50);border:1px solid var(--border);border-radius:10px;padding:8px 4px}
.sub-cd-val{font-family:var(--f-display);font-weight:900;font-size:1.3rem;color:var(--orange);line-height:1}
.sub-cd-lbl{font-size:.6rem;color:var(--n400);text-transform:uppercase;letter-spacing:.07em;margin-top:2px;font-weight:700}
.sub-progress{height:5px;background:var(--n100);border-radius:99px;overflow:hidden;margin-top:12px}
.sub-progress-bar{height:100%;border-radius:99px;background:var(--orange);transition:width 1s}
/* ── History row ──────────────────────────────────────── */
.hist-sub-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--n100)}
.hist-sub-row:last-child{border-bottom:none}
.hist-icon-box{width:38px;height:38px;border-radius:10px;background:var(--n100);display:flex;align-items:center;justify-content:center;flex-shrink:0}
/* ── Limits bar ──────────────────────────────────────── */
.limit-bar-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.limit-progress{height:6px;background:var(--n100);border-radius:99px;overflow:hidden;margin-top:5px}
.limit-progress-fill{height:100%;border-radius:99px;background:var(--orange);transition:width .5s}
/* ── Plan cards ──────────────────────────────────────── */
.sub-plan-card{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px;transition:all .15s}
.sub-plan-card:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:0 4px 18px rgba(232,120,0,.12)}
.sub-plan-card.has-active{border-color:var(--orange);background:#FFF3E0}
.sub-feat{font-size:.76rem;color:var(--n600);display:flex;align-items:center;gap:5px}
.sub-feat svg{width:12px;height:12px;color:var(--adm-green,#22c55e);flex-shrink:0}

/* === from my_transactions.html === */
/* pg-split managed in main.css — do not redefine here */
.txn-page{padding:0}
.txn-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.txn-header h1{font-size:1.5rem;font-weight:800;margin:0}
.txn-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}
.txn-tab{padding:7px 16px;border-radius:99px;font-size:.83rem;font-weight:700;border:1.5px solid var(--border);background:var(--surface);color:var(--n500);cursor:pointer;text-decoration:none;transition:all .15s}
.txn-tab.active,.txn-tab:hover{background:var(--orange);color:#fff;border-color:var(--orange)}
.txn-empty{text-align:center;padding:48px 20px;color:var(--n400)}
.txn-empty svg{margin-bottom:12px;opacity:.3}
.txn-card{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;padding:16px 18px;margin-bottom:12px;display:flex;align-items:flex-start;gap:16px;transition:border-color .15s}
.txn-card:hover{border-color:var(--orange)}
.txn-thumb{width:56px;height:56px;border-radius:10px;object-fit:cover;background:var(--n100);flex-shrink:0}
.txn-thumb-placeholder{width:56px;height:56px;border-radius:10px;background:var(--n100);flex-shrink:0;display:flex;align-items:center;justify-content:center}
.txn-body{flex:1;min-width:0}
.txn-title{font-weight:700;font-size:.95rem;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.txn-meta{font-size:.78rem;color:var(--n500);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.txn-price{font-weight:800;color:var(--orange)}
.txn-state{padding:3px 10px;border-radius:99px;font-size:.7rem;font-weight:800;letter-spacing:.04em}
.txn-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}
.txn-btn{padding:7px 14px;border-radius:9px;font-weight:700;font-size:.8rem;cursor:pointer;border:none;text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:all .15s}
.txn-btn-primary{background:var(--orange);color:#fff}
.txn-btn-primary:hover{background:var(--orange-dk)}
.txn-btn-ghost{background:var(--n100);color:var(--n700);border:1.5px solid var(--border)}
.txn-btn-ghost:hover{background:var(--n200)}
.txn-btn-danger{background:#FEF2F2;color:#DC2626;border:1.5px solid #FECACA}
.txn-btn-danger:hover{background:#DC2626;color:var(--text)}
/* Reputation card */
.rep-card{background:linear-gradient(135deg,#E87800 0%,var(--orange-dk) 100%);border-radius:16px;padding:20px 24px;color:#fff;margin-bottom:24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.rep-level{display:flex;align-items:center;gap:8px;font-weight:900;font-size:1.1rem}
.rep-stats{display:flex;gap:20px;flex-wrap:wrap;flex:1}
.rep-stat{text-align:center}
.rep-stat-val{font-size:1.3rem;font-weight:900;line-height:1}
.rep-stat-label{font-size:.72rem;opacity:.7;margin-top:2px}
.founder-badge{background:#F0C430;color:#1a1a00;font-size:.68rem;font-weight:900;padding:2px 8px;border-radius:99px;letter-spacing:.06em}

/* === from my_wallet.html === */
.wallet-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px }
.wallet-title { font-size:1.4rem; font-family:var(--f-display); font-weight:900; margin:0 }
.wallet-card { background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:32px; text-align:center; margin-bottom:20px }
.wallet-balance { font-size:3rem; font-family:var(--f-display); font-weight:900; margin-bottom:20px }
.wallet-balance sup { font-size:1.5rem; vertical-align:super }
.wallet-actions { display:flex; justify-content:center; gap:32px }
.wallet-action { display:flex; flex-direction:column; align-items:center; gap:8px; cursor:pointer; border:none; background:none }
.wallet-action-btn { width:54px; height:54px; border-radius:50%; background:var(--orange); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.3rem; transition:transform .15s }
.wallet-action-btn:hover { transform:scale(1.08) }
.wallet-action span { font-size:.8rem; font-weight:700; color:var(--orange) }
/* Tabs */
.wallet-tabs { display:flex; gap:12px; margin-bottom:18px; padding-bottom:8px; border-bottom:2px solid var(--border) }
.wallet-tab { font-size:.84rem; font-weight:700; cursor:pointer; color:var(--n500); padding-bottom:8px; border-bottom:2px solid transparent; margin-bottom:-10px; transition:all .15s; background:none; border-left:none; border-right:none; border-top:none }
.wallet-tab.active { color:var(--text); border-bottom-color:var(--text) }
/* Timeline */
.w-year { font-size:1.6rem; font-family:var(--f-display); font-weight:900; margin:20px 0 8px }
.w-month-header { display:flex; align-items:center; justify-content:space-between; padding-bottom:6px; border-bottom:1px solid var(--border); margin-bottom:8px }
.w-month-label { font-size:1rem; font-weight:800 }
.w-balance-label { font-size:.78rem; color:var(--n500) }
.w-row { display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--n100) }
.w-thumb { width:52px; height:52px; border-radius:8px; object-fit:cover; background:var(--n100); position:relative; flex-shrink:0 }
.w-type-badge { position:absolute; bottom:-5px; right:-5px; width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.65rem; border:2px solid var(--surface) }
.w-info { flex:1; min-width:0 }
.w-info-title { font-weight:600; font-size:.88rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.w-info-sub { font-size:.74rem; color:var(--n500) }
.w-amount { font-weight:900; font-family:var(--f-display); font-size:.95rem; white-space:nowrap }
.w-amount.positive { color:#16a34a }
.w-amount.negative { color:#dc2626 }

/* === from notification_config.html === */
/* pg-split managed in main.css — do not redefine here */

/* === from notification_prefs.html === */
.nf-row {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:12px 16px; border-bottom:1px solid var(--border);
  transition:background .12s;
}
.nf-row:last-child { border-bottom:none }
.nf-row:hover { background:var(--n50) }
.nf-row--on { background:#fff8f0 }
.nf-row--on:hover { background:#fff0e0 }
.nf-icon {
  width:34px; height:34px; border-radius:9px; flex-shrink:0;
  background:var(--n100); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  color:var(--orange);
}
.nf-row--on .nf-icon {
  background:rgba(232,120,0,.1);
  border-color:rgba(232,120,0,.2);
  color:var(--orange);
}

/* === from offline.html === */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--f-display,sans-serif);background:var(--text);display:flex;align-items:center;justify-content:center;min-height:100vh;text-align:center;padding:20px}
.box{background:var(--surface);border-radius:24px;padding:48px 36px;max-width:380px;width:100%}
.logo{font-size:2rem;font-weight:900;margin-bottom:20px}
.logo .a{color:#F0C430}.logo .v{color:#E87800}
h1{font-size:1.4rem;margin-bottom:10px;color:var(--text)}
p{font-size:.9rem;color:#7A7562;line-height:1.7;margin-bottom:24px}
/* rogue button rule removed — was leaking from offline.html */
/* button:hover rogue rule removed */
.offline-icon{width:72px;height:72px;border-radius:22px;background:#f1f5f9;border:1.5px solid #cbd5e1;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}

/* === from page_legal.html === */
/* ── Legal page layout ──────────────────────────────────────── */
.legal-wrap { max-width:860px; margin:0 auto; padding:32px 20px 80px }

/* Hero section */
.privacy-hero { text-align:center; padding:40px 20px 32px; margin-bottom:32px }
.ph-icon { font-size:3rem; margin-bottom:12px }
.privacy-hero h1 { font-family:var(--f-display); font-weight:900; font-size:clamp(1.5rem,3vw,2.2rem); margin:0 0 6px; color:var(--text) }
.ph-sub { font-size:.82rem; color:var(--n400); margin-bottom:14px }
.ph-intro { font-size:.95rem; color:var(--n600); max-width:580px; margin:0 auto; line-height:1.7 }

/* Table of contents */
.priv-toc { background:var(--n50); border:1px solid var(--border); border-radius:14px; padding:18px 22px; margin-bottom:32px }
.priv-toc strong { font-family:var(--f-display); font-size:.82rem; text-transform:uppercase; letter-spacing:.07em; color:var(--n500); display:block; margin-bottom:10px }
.priv-toc ol { margin:0; padding-left:18px; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr)); gap:4px 20px }
.priv-toc a { color:var(--orange); text-decoration:none; font-size:.85rem; font-weight:600 }
.priv-toc a:hover { text-decoration:underline }
@media(max-width:600px) { .priv-toc ol { grid-template-columns:1fr } }

/* Section headings */
.legal-wrap h2 { font-family:var(--f-display); font-weight:900; font-size:1.2rem; margin:40px 0 12px; padding-bottom:8px; border-bottom:2px solid var(--border); color:var(--text); scroll-margin-top:80px }
.legal-wrap h3 { font-family:var(--f-display); font-weight:800; font-size:.95rem; margin:22px 0 10px; color:var(--n700) }
.legal-wrap p { font-size:.9rem; line-height:1.75; color:var(--n700); margin:0 0 12px }
.legal-wrap ol, .legal-wrap ul { font-size:.9rem; line-height:1.75; color:var(--n700); padding-left:20px; margin:0 0 14px }
.legal-wrap li { margin-bottom:5px }
.legal-wrap a { color:var(--orange); font-weight:600 }
.legal-wrap code { background:var(--n100); padding:1px 6px; border-radius:4px; font-family:monospace; font-size:.85rem }

/* Separator */
.priv-sep { border:none; border-top:1px solid var(--border); margin:32px 0 0 }

/* Highlight boxes */
.priv-highlight { padding:14px 18px; border-radius:12px; font-size:.88rem; line-height:1.65; margin:16px 0 }
.priv-highlight.green { background:#f0fdf4; border:1.5px solid #6ee7b7; color:#166534 }
.priv-highlight.orange { background:#fff7ed; border:1.5px solid #fed7aa; color:#92400e }

/* Info card (data controller) */
.priv-card { background:var(--n50); border:1px solid var(--border); border-radius:12px; overflow:hidden; margin:16px 0 }
.priv-card-row { display:flex; gap:12px; padding:10px 16px; border-bottom:1px solid var(--n100); font-size:.85rem }
.priv-card-row:last-child { border-bottom:none }
.pcr-label { font-weight:800; color:var(--n500); font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; min-width:120px; flex-shrink:0; padding-top:1px }

/* Tables */
.priv-table { width:100%; border-collapse:collapse; font-size:.84rem; margin:12px 0 16px; border-radius:10px; overflow:hidden; border:1px solid var(--border) }
.priv-table thead tr { background:var(--n50) }
.priv-table th { padding:10px 12px; font-weight:800; font-family:var(--f-display); font-size:.78rem; text-align:left; color:var(--n600); text-transform:uppercase; letter-spacing:.05em; border-bottom:2px solid var(--border) }
.priv-table td { padding:10px 12px; border-bottom:1px solid var(--n100); color:var(--n700); line-height:1.5 }
.priv-table tr:last-child td { border-bottom:none }
.priv-table tr:hover td { background:var(--n50) }
@media(max-width:700px) { .priv-table { font-size:.78rem } .priv-table th, .priv-table td { padding:8px } }

/* Use-cases grid */
.priv-use-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin:16px 0 }
.pug-item { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:16px }
.pug-icon { font-size:1.6rem; margin-bottom:8px }
.pug-item h4 { font-family:var(--f-display); font-weight:800; font-size:.88rem; margin:0 0 6px }
.pug-item p { font-size:.82rem; color:var(--n600); margin:0; line-height:1.6 }

/* Security grid */
.priv-security-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:14px; margin:16px 0 }
.psg-item { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:16px; position:relative }
.psg-badge { display:inline-block; background:var(--orange); color:var(--text); font-family:monospace; font-size:.68rem; font-weight:700; padding:3px 10px; border-radius:4px; margin-bottom:8px }
.psg-item h4 { font-family:var(--f-display); font-weight:800; font-size:.88rem; margin:0 0 6px }
.psg-item p { font-size:.82rem; color:var(--n600); margin:0; line-height:1.6 }

/* Rights grid */
.priv-rights-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; margin:16px 0 }
.prg-item { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:16px; display:flex; flex-direction:column; gap:6px }
.prg-icon { font-size:1.4rem }
.prg-item h4 { font-family:var(--f-display); font-weight:800; font-size:.88rem; margin:0 }
.prg-item p { font-size:.8rem; color:var(--n600); margin:0; line-height:1.55; flex:1 }
.prg-btn { display:inline-block; background:var(--orange); color:#fff; font-size:.72rem; font-weight:700; font-family:var(--f-display); padding:5px 12px; border-radius:6px; text-decoration:none; margin-top:4px; text-align:center; transition:background .15s }
.prg-btn:hover { background:var(--orange); color:#fff }

/* Floating back-to-top indicator */
.legal-updated { text-align:center; margin-top:40px; padding:16px; background:var(--n50); border-radius:10px; font-size:.82rem; color:var(--n500) }

/* === from post_ad.html === */
/* ── IA Assistant Panel ────────────────────────────────────────────── */
.ia-panel{
  background:var(--surface);
  border:1.5px solid var(--border);
  border-radius:var(--r-xl);padding:18px 20px;margin-top:8px;
}
.ia-panel-title{
  display:flex;align-items:center;gap:9px;
  font-family:var(--f-display);font-size:.85rem;font-weight:800;
  color:var(--text);margin-bottom:14px;
}
.ia-panel-title .ia-dot{
  width:8px;height:8px;border-radius:50%;background:var(--orange);
  animation:blink 1.5s ease infinite;flex-shrink:0;
}
.ia-btns{display:flex;gap:8px;flex-wrap:wrap}
.ia-btn{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 15px;border-radius:var(--r-pill);border:none;
  font-family:var(--f-display);font-size:.8rem;font-weight:700;
  cursor:pointer;transition:all .18s;white-space:nowrap;
}
.ia-btn:hover{transform:translateY(-2px)}
.ia-btn:active{transform:none}
.ia-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.ia-btn-photo{background:var(--n100);color:var(--n700);border:1px solid var(--border)}
.ia-btn-photo:hover:not(:disabled){background:var(--n200);color:var(--text)}
.ia-btn-complete{background:var(--n100);color:var(--n700);border:1px solid var(--border)}
.ia-btn-complete:hover:not(:disabled){background:var(--n200);color:var(--text)}
.ia-btn-spell{background:var(--n100);color:var(--n700);border:1px solid var(--border)}
.ia-btn-spell:hover:not(:disabled){background:var(--orange);color:var(--text);border-color:var(--orange)}
.ia-btn-rewrite{background:var(--n100);color:var(--n700);border:1px solid var(--border)}
.ia-btn-rewrite:hover:not(:disabled){background:var(--orange);color:var(--text);border-color:var(--orange)}
.ia-btn-title{background:var(--n100);color:var(--n700);border:1px solid var(--border)}
.ia-btn-title:hover:not(:disabled){background:var(--orange);color:var(--text);border-color:var(--orange)}

.ia-status{
  display:none;align-items:center;gap:8px;
  font-size:.78rem;color:var(--n500);
  margin-top:10px;padding-top:10px;border-top:1px solid var(--border);
}
/* Icon-only checkbox buttons with tooltip */
.icon-check-label{position:relative;cursor:pointer;display:flex;align-items:center}
.icon-check-btn{
  width:38px;height:38px;border-radius:10px;border:1.5px solid var(--border);
  background:var(--surface);display:flex;align-items:center;justify-content:center;
  transition:all .15s;color:var(--n500);
}
.icon-check-label:hover .icon-check-btn{border-color:var(--orange);color:var(--orange)}
.icon-check-label input:checked ~ .icon-check-btn{border-color:var(--orange);background:var(--orange-xs);color:var(--orange)}
.icon-check-tooltip{
  position:absolute;left:50%;transform:translateX(-50%);bottom:calc(100% + 6px);
  background:var(--text);color:#fff;font-size:.72rem;font-weight:700;
  padding:4px 9px;border-radius:6px;white-space:nowrap;
  opacity:0;pointer-events:none;transition:opacity .15s;
  font-family:var(--f-display);
}
.icon-check-label:hover .icon-check-tooltip{opacity:1}
/* Force white text on selected condition pill */
.cond-opt.on{border-color:var(--orange)!important;background:var(--orange)!important;color:#fff!important;}
/* IA icon buttons inside fields */
.ia-field-btn,.ia-field-btn-desc{
  width:28px;height:28px;border-radius:7px;border:none;
  background:var(--orange-xs);color:var(--orange);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .15s;font-family:var(--f-display);font-weight:900;
  font-size:.62rem;letter-spacing:-.02em;position:absolute;
}
.ia-field-btn{right:10px;top:50%;transform:translateY(-50%)}
.ia-field-btn-desc{right:10px;bottom:10px}
.ia-field-btn:hover,.ia-field-btn-desc:hover{background:var(--orange);color:#fff;}
.ia-status.active{display:flex}
.ia-spinner{
  width:16px;height:16px;border-radius:50%;
  border:2.5px solid var(--n200);
  border-top-color:var(--orange);
  animation:spin .8s linear infinite;flex-shrink:0;
}
@keyframes spin{to{transform:rotate(360deg)}}

.ia-preview-box{
  background:var(--surface);border:2px solid var(--orange);
  border-radius:var(--r-xl);padding:16px;margin-top:12px;
  position:relative;box-shadow:var(--sh-lg);
}
.ia-preview-header{
  font-family:var(--f-display);font-size:.72rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;color:var(--orange);
  margin-bottom:8px;display:flex;align-items:center;gap:7px;
}
.ia-preview-text{
  font-size:.9rem;line-height:1.75;color:var(--n700);
  white-space:pre-wrap;max-height:280px;overflow-y:auto;
}
.ia-preview-actions{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap}
.ia-use-btn{padding:8px 18px;background:var(--orange);color:#fff;border:none;border-radius:var(--r-xl);font-family:var(--f-display);font-size:.82rem;font-weight:700;cursor:pointer;transition:all .18s}
.ia-use-btn:hover{background:var(--orange-dk)}
.ia-discard-btn{padding:8px 16px;background:var(--n100);color:var(--n600);border:1px solid var(--border);border-radius:var(--r-xl);font-family:var(--f-display);font-size:.82rem;font-weight:700;cursor:pointer}

.ia-titles-box{display:none;margin-top:10px}
.ia-title-chip{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;background:var(--surface);
  border:1.5px solid var(--border);border-radius:var(--r-lg);
  margin-bottom:7px;cursor:pointer;transition:all .18s;font-size:.88rem;
}
.ia-title-chip:hover{border-color:var(--orange);background:var(--orange-xs)}
.ia-title-chip span.use{font-size:.72rem;color:var(--orange);font-weight:700;flex-shrink:0;margin-left:10px}
.ia-chip-count{font-size:.7rem;color:var(--n400);margin-left:6px}

.ia-price-box{
  background:var(--orange-xs);border:1.5px solid rgba(232,120,0,.3);
  border-radius:var(--r-xl);padding:14px 16px;margin-top:10px;
}
.ia-price-val{font-family:var(--f-display);font-size:1.6rem;font-weight:800;color:var(--orange)}
.ia-price-range{font-size:.82rem;color:var(--n500);margin-top:3px}
.ia-price-reason{font-size:.82rem;color:var(--n600);margin-top:6px;line-height:1.6}
.ia-price-mkt{font-size:.75rem;color:var(--n400);margin-top:5px}
.ia-use-price{margin-top:10px;padding:7px 16px;background:var(--orange);color:var(--text);border:none;border-radius:8px;font-family:var(--f-display);font-size:.8rem;font-weight:700;cursor:pointer}

.mod-warning{
  display:none;background:#fff3cd;border:1.5px solid #ffc107;
  border-radius:var(--r-lg);padding:12px 14px;margin-top:10px;
  font-size:.875rem;color:#856404;
}
.mod-warning.error{background:#fee2e2;border-color:#dc2626;color:#991b1b}
.mod-warning.active{display:block}

/* Photo analyze overlay */
.photo-analyze-wrap{margin-top:10px}
.photo-analyze-result{
  background:var(--n50);border:1.5px solid var(--border);
  border-radius:var(--r-xl);padding:14px;margin-top:10px;
}
.par-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.par-badge{padding:4px 10px;border-radius:var(--r-pill);font-size:.75rem;font-weight:700;font-family:var(--f-display);background:var(--n100);color:var(--n700)}
.par-badge.cat{background:var(--orange-xs);color:var(--orange-dk)}
.par-badge.cond{background:#dcfce7;color:#166534}
.par-badge.price{background:#dbeafe;color:#1e40af}
/* ── Segmented control ───────────────────────────── */
#type-segment { display:flex;background:#F3F4F6;border-radius:14px;padding:4px;gap:0;position:relative }
.seg-btn {
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:5px;padding:12px 6px;border:none;background:transparent;cursor:pointer;
  border-radius:10px;position:relative;z-index:1;
  color:#6B7280;transition:color .2s;outline:none;
  -webkit-tap-highlight-color:transparent;
}
.seg-btn span {
  font-size:.72rem;font-weight:800;font-family:var(--f-display);
  white-space:nowrap;line-height:1;
}
.seg-btn svg { display:block; }
.seg-btn:hover { color:#374151; }
.seg-btn.seg-active { color:#fff !important; }
.seg-btn.seg-active svg { stroke:#fff !important; }
#seg-indicator {
  position:absolute;top:4px;bottom:4px;
  background:#E87800;border-radius:10px;
  box-shadow:0 2px 8px rgba(232,120,0,.4);
  transition:left .22s cubic-bezier(.4,0,.2,1), width .22s cubic-bezier(.4,0,.2,1);
  pointer-events:none;z-index:0;
}
@media(max-width:520px){
  .seg-btn span { font-size:.65rem }
  .seg-btn { padding:10px 4px }
}

/* === from pro_plans.html === */
.pro-hero { text-align:center; padding:32px 16px 24px; }
.pro-hero h1 { font-size:clamp(1.4rem,4vw,2rem); font-family:var(--f-display); font-weight:900; margin:0 0 8px; color:var(--text); }
.pro-hero p  { font-size:.92rem; color:var(--n500); margin:0 auto; max-width:480px; line-height:1.6 }

.pro-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr)); gap:16px; max-width:900px; margin:0 auto 32px }

.pro-card { background:var(--surface); border:1.5px solid var(--border); border-radius:var(--radius-lg,16px); overflow:hidden; transition:var(--transition); display:flex; flex-direction:column }
.pro-card:hover { border-color:var(--orange); box-shadow:var(--sh-md); transform:translateY(-2px) }
.pro-card-top { padding:20px 20px 16px; display:flex; align-items:flex-start; gap:14px }
.pro-icon { width:56px; height:56px; border-radius:14px; background:linear-gradient(135deg,var(--orange) 0%,var(--orange-dk) 100%); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 4px 12px rgba(232,120,0,.3) }
.pro-name { font-weight:900; font-size:1.05rem; font-family:var(--f-display); color:var(--text); margin:0 0 3px }
.pro-desc { font-size:.8rem; color:var(--n500); line-height:1.5; margin:0 }
.pro-price-row { padding:0 20px 14px; display:flex; align-items:baseline; gap:4px }
.pro-price-num { font-size:1.9rem; font-weight:900; font-family:var(--f-display); color:var(--text); line-height:1 }
.pro-price-per { font-size:.78rem; color:var(--n500) }
.pro-features { padding:0 20px 16px; flex:1 }
.pro-feature { display:flex; align-items:center; gap:8px; font-size:.82rem; color:var(--n600); padding:4px 0 }
.pro-feature svg { color:var(--orange); flex-shrink:0 }
.pro-footer { padding:14px 20px 20px; border-top:1px solid var(--border) }
.pro-btn { display:block; width:100%; padding:11px; background:var(--orange); color:#fff; border:none; border-radius:99px; font-weight:800; font-size:.88rem; cursor:pointer; transition:background .15s; text-align:center; text-decoration:none }
.pro-btn:hover { background:var(--orange-dk) }

.pro-guarantee { background:var(--n50); border:1.5px solid var(--border); border-radius:14px; padding:20px 24px; max-width:900px; margin:0 auto; display:flex; align-items:flex-start; gap:16px; flex-wrap:wrap }

@media(max-width:480px){
  .pro-card-top { flex-direction:row }
  .pro-price-num { font-size:1.5rem }
}

/* === from profile_edit_dash.html === */
.pf-split{display:grid;grid-template-columns:230px 1fr;min-height:520px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.pf-left{display:flex;flex-direction:column;border-right:1px solid var(--border);overflow:hidden;background:var(--surface)}
.pf-left-head{padding:16px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}
.pf-tabs{display:flex;flex-direction:column;gap:2px;padding:10px;overflow-y:auto;flex:1}
.pf-tab{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:.85rem;font-weight:700;text-decoration:none;color:var(--n600);transition:all .15s;border:none;background:none;cursor:pointer;width:100%;text-align:left}
.pf-tab:hover{background:var(--n50);color:var(--text)}
.pf-tab.active{background:#fff3e0;color:var(--orange)}
.pf-tab.active svg{stroke:var(--orange)}

/* ── Horizontal profile tabs ────────────────────────────────── */
.pf-htab {
  display: flex; align-items: center; gap: 7px;
  padding: 13px 18px; border: none; background: none; cursor: pointer;
  font-size: .875rem; font-weight: 700; color: var(--n500);
  border-bottom: 2.5px solid transparent; margin-bottom: -1.5px;
  transition: color .15s, border-color .15s; white-space: nowrap;
  font-family: var(--f-body);
}
.pf-htab:hover { color: var(--text); }
.pf-htab-active { color: var(--orange) !important; border-bottom-color: var(--orange) !important; }
.pf-htab svg { flex-shrink: 0; }
.pf-tab svg{flex-shrink:0;stroke:var(--n500)}
.pf-right{display:flex;flex-direction:column;background:var(--bg)}
.pf-right-head{padding:14px 20px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;display:flex;align-items:center;gap:10px}
.pf-right-body{flex:1;overflow-y:auto;padding:20px}
.pe-card{background:var(--surface);border:1px solid var(--n100);border-radius:14px;padding:20px 22px;margin-bottom:14px}
.pe-card-title{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.92rem;color:var(--text);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--n100)}
.pe-card-title svg{stroke:var(--orange)}
.pe-label{display:block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--n400);margin-bottom:5px}
.pe-input{width:100%;box-sizing:border-box;padding:10px 13px;border:1.5px solid var(--border);border-radius:10px;font-size:.875rem;background:var(--bg);color:var(--text);transition:border-color .15s;outline:none}
.pe-input:focus{border-color:var(--orange);background:var(--surface);box-shadow:0 0 0 3px rgba(232,120,0,.09)}
.pe-grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:16px}
@media(max-width:600px){.pe-grid-2{grid-template-columns:1fr}}
.pe-radio-option{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1.5px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}
@media(max-width:768px){.pf-split{grid-template-columns:1fr;height:auto}.pf-left{border-right:none;border-bottom:1px solid var(--border);max-height:200px}.pf-tabs{flex-direction:row;overflow-x:auto;padding:8px}.pf-tab{min-width:130px}}

/* === from security_tips.html === */
.help-prose h2{font-size:1.4rem;margin:32px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--border)}
@media(max-width:600px){[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}}

/* === from ship_reputation.html === */
/* pg-split managed in main.css — do not redefine here */

/* ── Dark mode ──────────────────────────────────────────── */
[data-theme="dark"] .rep-stat-box,
[data-theme="dark"] .rating-card,
[data-theme="dark"] .level-progress {
  background: var(--n800);
  border-color: var(--n700);
}
[data-theme="dark"] .rep-stat-val,
[data-theme="dark"] .rep-stat-label,
[data-theme="dark"] .rating-username,
[data-theme="dark"] .rating-comment,
[data-theme="dark"] .section-title {
  color: var(--text) !important;
}
[data-theme="dark"] .rating-date {
  color: var(--text-2) !important;
}
[data-theme="dark"] .mini-bar-label,
[data-theme="dark"] .mini-bar-val {
  color: var(--text) !important;
}
[data-theme="dark"] .mini-bar-track {
  background: var(--n700);
}
[data-theme="dark"] .empty-rep {
  color: var(--text-2);
}
[data-theme="dark"] .pg-right {
  background: var(--n800);
}
[data-theme="dark"] .pg-right-body {
  background: var(--n800);
}
[data-theme="dark"] .pg-split {
  background: var(--n800);
  border-color: var(--n700);
}
.rep-page{padding:0}
.rep-hero{background:linear-gradient(135deg,#E87800 0%,var(--orange-dk) 100%);border-radius:20px;padding:28px;color:#fff;margin-bottom:24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.rep-avatar{width:72px;height:72px;border-radius:50%;border:3px solid rgba(255,255,255,.2);object-fit:cover;flex-shrink:0}
.rep-avatar-placeholder{width:72px;height:72px;border-radius:50%;border:3px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:900;flex-shrink:0}
.rep-hero-name{font-size:1.3rem;font-weight:900;margin:0 0 4px}
.rep-hero-level{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:.9rem;background:rgba(255,255,255,.12);padding:4px 12px;border-radius:99px;margin-bottom:8px}
.rep-hero-sub{font-size:.78rem;opacity:.7}
.founder-badge{background:#F0C430;color:#1a1a00;font-size:.68rem;font-weight:900;padding:2px 8px;border-radius:99px;letter-spacing:.06em;margin-left:8px}
.rep-stats-row{display:flex;gap:0;flex-wrap:wrap;margin-bottom:24px}
.rep-stat-box{flex:1;min-width:120px;background:var(--surface);border:1.5px solid var(--border);padding:18px 16px;text-align:center}
.rep-stat-box:first-child{border-radius:14px 0 0 14px}
.rep-stat-box:last-child{border-radius:0 14px 14px 0}
.rep-stat-box+.rep-stat-box{border-left:none}
.rep-stat-val{font-size:1.8rem;font-weight:900;line-height:1;color:var(--text)}
.rep-stat-label{font-size:.73rem;color:var(--text-2);margin-top:4px}
.stars-display{display:flex;gap:3px;justify-content:center;margin-top:4px}
.section-title{font-size:1rem;font-weight:800;margin:0 0 14px;display:flex;align-items:center;gap:8px;color:var(--text)}
.ratings-list{display:flex;flex-direction:column;gap:12px}
.rating-card{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;padding:16px}
.rating-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.rating-user{display:flex;align-items:center;gap:9px}
.rating-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--n200);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;color:var(--text)}
.rating-username{font-weight:700;font-size:.85rem}
.rating-date{font-size:.73rem;color:var(--text-2)}
.rating-stars{display:flex;gap:2px}
.rating-comment{font-size:.82rem;color:var(--text);line-height:1.6;margin-top:6px;font-style:italic}
.mini-bars{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 16px;margin-top:10px}
.mini-bar-row{display:flex;align-items:center;gap:8px;font-size:.75rem}
.mini-bar-label{color:var(--text-2);min-width:100px;white-space:nowrap}
.mini-bar-track{flex:1;height:5px;background:var(--n100);border-radius:99px;overflow:hidden}
.mini-bar-fill{height:100%;border-radius:99px;background:var(--orange)}
.mini-bar-val{color:var(--text);font-weight:700;min-width:24px;text-align:right}
.empty-rep{text-align:center;padding:40px 20px;color:var(--text-2)}
.empty-rep svg{opacity:.25;margin-bottom:10px}
.level-progress{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;padding:16px;margin-bottom:20px}
.progress-track{height:8px;background:var(--n100);border-radius:99px;overflow:hidden;margin:10px 0 6px}
.progress-fill{height:100%;border-radius:99px;transition:width .5s}

/* === from shipping_how_it_works.html === */
.how-page{max-width:860px;margin:0 auto;padding:32px 16px}
.how-hero{text-align:center;margin-bottom:48px}
.how-hero h1{font-size:2rem;font-weight:900;margin-bottom:12px}
.how-hero p{font-size:1rem;color:var(--n500);max-width:560px;margin:0 auto;line-height:1.7}
.how-neutral{background:#E87800;border-radius:18px;padding:24px 28px;margin-bottom:40px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.how-neutral-icon{width:56px;height:56px;background:rgba(255,255,255,.2);border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.how-neutral h3{font-size:1rem;font-weight:800;margin:0 0 4px;color:#fff}
.how-neutral p{font-size:.84rem;color:#fff;margin:0;line-height:1.6}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-bottom:40px}
.step-card{background:var(--surface);border:2px solid #E87800;border-radius:var(--radius-lg,16px);padding:20px}
.step-num{width:36px;height:36px;border-radius:10px;background:#E87800;color:#fff;font-weight:900;font-size:1rem;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.step-card h3{font-size:.95rem;font-weight:800;margin:0 0 6px;color:#E87800}
.step-card p{font-size:.82rem;color:var(--n500);margin:0;line-height:1.6}
.levels-section{margin-bottom:40px}
.levels-section h2{font-size:1.2rem;font-weight:800;margin-bottom:18px}
.levels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.level-card{padding:16px;border-radius:14px;border:1.5px solid var(--border);text-align:center}
.level-badge{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:.95rem;margin-bottom:6px}
.level-reqs{font-size:.76rem;color:var(--n500);line-height:1.5}
.penalty-section{background:#FFF7ED;border:1.5px solid #FED7AA;border-radius:var(--radius-lg,16px);padding:24px;margin-bottom:40px}
.penalty-section h2{font-size:1rem;font-weight:800;color:#92400E;margin:0 0 12px;display:flex;align-items:center;gap:8px}
.penalty-table{width:100%;border-collapse:collapse;font-size:.82rem}
.penalty-table th{text-align:left;padding:8px 10px;background:#FEF3C7;color:#78350F;font-weight:700;border-radius:6px}
.penalty-table td{padding:8px 10px;border-bottom:1px solid #FDE68A;color:#92400E}
.faq-section{margin-bottom:40px}
.faq-section h2{font-size:1.2rem;font-weight:800;margin-bottom:18px}
.faq-item{border:1px solid var(--border);border-radius:12px;margin-bottom:6px;overflow:hidden}
.faq-q{font-weight:700;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--surface)}
.faq-a{font-size:.84rem;color:var(--n500);line-height:1.7;margin-top:8px;display:none;padding:0 16px 14px;text-align:left}
.faq-item.open .faq-a{display:block}
.faq-item.open .faq-chevron{transform:rotate(180deg)}
.faq-chevron{transition:transform .2s;flex-shrink:0}
.cta-box{background:var(--orange);border-radius:18px;padding:28px;text-align:center;color:#fff}
.cta-box h3{font-size:1.2rem;font-weight:900;margin-bottom:8px}
.cta-box p{font-size:.85rem;opacity:.8;margin-bottom:18px}
.cta-btn{display:inline-flex;align-items:center;gap:8px;background:#E87800;color:#fff;padding:12px 28px;border-radius:var(--radius-md,12px);font-weight:800;font-size:.95rem;text-decoration:none}
.cta-btn:hover{background:#C46400}

/* === from transaction_detail.html === */
.txn-detail{max-width:720px;margin:0 auto;padding:24px 16px}
.txn-detail-card{background:var(--surface);border:1.5px solid var(--border);border-radius:18px;overflow:hidden;margin-bottom:18px}
.txn-detail-head{padding:18px 20px;border-bottom:1.5px solid var(--border);display:flex;align-items:center;gap:14px}
.txn-detail-title{font-weight:800;font-size:1.05rem;margin:0 0 3px}
.txn-detail-sub{font-size:.8rem;color:var(--n500)}
.txn-detail-body{padding:18px 20px}
.step-timeline{display:flex;flex-direction:column;gap:0}
.step-item{display:flex;gap:14px;position:relative}
.step-item:not(:last-child)::before{content:'';position:absolute;left:15px;top:32px;bottom:0;width:2px;background:var(--border)}
.step-dot{width:30px;height:30px;border-radius:50%;border:2px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}
.step-dot.done{background:var(--success,#16A34A);border-color:var(--success,#16A34A)}
.step-dot.active{background:var(--orange);border-color:var(--orange)}
.step-dot.blocked{background:var(--n200);border-color:var(--n300)}
.step-content{flex:1;padding:4px 0 20px}
.step-label{font-weight:700;font-size:.88rem;margin-bottom:2px}
.step-desc{font-size:.78rem;color:var(--n500);line-height:1.5}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:12px}
@media(max-width:500px){.detail-grid{grid-template-columns:1fr}}
.detail-field{background:var(--n50);border-radius:10px;padding:10px 14px}
.detail-field-label{font-size:.72rem;font-weight:700;color:var(--n500);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.detail-field-val{font-size:.88rem;font-weight:600}
.action-zone{background:var(--surface);border:1.5px solid var(--border);border-radius:18px;padding:20px;margin-bottom:18px}
.action-zone h3{font-size:.95rem;font-weight:800;margin:0 0 12px;display:flex;align-items:center;gap:8px}
.form-input{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:.88rem;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s;box-sizing:border-box}
.form-input:focus{border-color:var(--orange)}
.form-label{font-size:.78rem;font-weight:700;display:block;margin-bottom:5px;color:var(--n600)}
.camera-btn{width:100%;padding:16px;border:2px dashed var(--border);border-radius:12px;background:var(--n50);cursor:pointer;text-align:center;transition:all .2s;font-family:var(--f-body)}
.camera-btn:hover{border-color:var(--orange);background:#FFF3E0}
.camera-btn input{display:none}
.photo-preview{width:100%;max-height:200px;object-fit:contain;border-radius:8px;display:none;margin-top:8px}
.btn-main{width:100%;padding:12px;border-radius:12px;font-family:var(--f-display);font-weight:800;font-size:.95rem;cursor:pointer;border:none;transition:all .15s}
.btn-orange{background:var(--orange);color:var(--text)}
.btn-orange:hover{background:var(--orange-dk)}
.btn-green{background:#16A34A;color:#fff}
.btn-green:hover{background:#15803d}
.btn-red{background:#DC2626;color:#fff}
.btn-red:hover{background:#b91c1c}
.btn-ghost{background:var(--n100);color:var(--n700);border:1.5px solid var(--border)}
.btn-ghost:hover{background:var(--n200)}
.incident-warning{background:#FEF2F2;border:1.5px solid #FECACA;border-radius:12px;padding:14px 16px;font-size:.84rem;color:#DC2626;margin-bottom:14px}
.label-photo-display{max-width:100%;border-radius:10px;margin-top:8px;border:1px solid var(--border)}
.tracking-link{display:inline-flex;align-items:center;gap:6px;color:var(--orange);font-weight:700;font-size:.85rem;text-decoration:none}
.tracking-link:hover{text-decoration:underline}

/* === from transaction_incident.html === */
.inc-page{max-width:600px;margin:0 auto;padding:24px 16px}
.inc-card{background:var(--surface);border:1.5px solid #FECACA;border-radius:18px;padding:24px}
.inc-card h2{font-size:1.1rem;font-weight:800;color:#DC2626;margin:0 0 4px}
.inc-card p{font-size:.83rem;color:var(--n500);margin:0 0 20px;line-height:1.6}
.form-label{font-size:.78rem;font-weight:700;display:block;margin-bottom:5px;color:var(--n600)}
.form-input{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:.88rem;background:var(--surface);color:var(--text);outline:none;box-sizing:border-box;transition:border-color .15s}
.form-input:focus{border-color:#DC2626}
.camera-btn{width:100%;padding:14px;border:2px dashed var(--border);border-radius:12px;background:var(--n50);cursor:pointer;text-align:center;transition:all .2s;font-family:var(--f-body)}
.camera-btn input{display:none}
.btn-red{width:100%;padding:13px;border-radius:12px;background:#DC2626;color:var(--text);font-family:var(--f-display);font-weight:800;font-size:.95rem;border:none;cursor:pointer;margin-top:16px}
.btn-ghost{width:100%;padding:11px;border-radius:12px;background:var(--n100);color:var(--n700);font-weight:700;font-size:.88rem;border:1.5px solid var(--border);cursor:pointer;margin-top:8px;text-decoration:none;display:block;text-align:center}
.rules{background:#FEF2F2;border-radius:10px;padding:12px 14px;font-size:.79rem;color:#7F1D1D;line-height:1.7;margin-bottom:16px}

/* === from transaction_rate.html === */
.rate-page{max-width:560px;margin:0 auto;padding:24px 16px}
.rate-card{background:var(--surface);border:1.5px solid var(--border);border-radius:18px;padding:24px;margin-bottom:16px}
.rate-card h2{font-size:1.1rem;font-weight:800;margin:0 0 4px}
.rate-card p{font-size:.83rem;color:var(--n500);margin:0 0 20px;line-height:1.6}
.star-group{margin-bottom:18px}
.star-label{font-size:.8rem;font-weight:700;color:var(--n600);margin-bottom:6px;display:block}
.stars{display:flex;gap:6px}
.star-btn{background:none;border:none;cursor:pointer;padding:4px;transition:transform .1s}
.star-btn:hover{transform:scale(1.2)}
.star-btn svg{width:28px;height:28px;transition:fill .15s,stroke .15s}
.form-input{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:.88rem;background:var(--surface);color:var(--text);outline:none;box-sizing:border-box}
.form-input:focus{border-color:var(--orange)}
.form-label{font-size:.78rem;font-weight:700;display:block;margin-bottom:5px;color:var(--n600)}
.btn-submit{width:100%;padding:13px;border-radius:12px;background:var(--orange);color:#fff;font-family:var(--f-display);font-weight:800;font-size:.95rem;border:none;cursor:pointer}
.btn-submit:hover{background:var(--orange-dk)}

/* === from user_dashboard.html === */
/* estilo personalizado */

/* ── Reset para el panel ─────────────────────────────────────────── */
/* ⚠ dp-wrap managed globally in main.css — do not override here */

/* estilo personalizado */
/* ⚠ dp-side styles are now managed globally in main.css
   DO NOT override width, top, or height here.
   See main.css GLOBAL LAYOUT SYSTEM section. */

/* User card en sidebar */
.dp-user-card {
  padding: 8px 16px 16px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 8px;
}
.dp-user-top {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 6px;
}
.dp-user-av {
  width: 40px; height: 40px;
  border-radius: 50%; object-fit: cover;
  border: 2px solid var(--border); flex-shrink: 0;
}
.dp-user-av-init {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--orange); color: #fff;
  font-weight: 900; font-size: 1rem;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; border: 2px solid #fff;
}
.dp-user-name {
  font-weight: 800; font-size: .88rem; color: var(--text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  line-height: 1.2;
}
.dp-user-since {
  font-size: .68rem; color:var(--n400); margin-top: 1px;
}
.dp-user-stars {
  display: flex; align-items: center; gap: 2px;
  font-size: .75rem; color: #555;
}
.dp-user-stars svg { color: #F59E0B; }

/* estilo personalizado */
.dp-nav-item {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 16px;
  font-size: .875rem; font-weight: 600; color: #444;
  text-decoration: none; cursor: pointer;
  transition: background .12s, color .12s;
  position: relative; white-space: nowrap;
}
.dp-nav-item svg {
  width: 20px; height: 20px; flex-shrink: 0;
  color:var(--n400); transition: color .12s;
}
.dp-nav-item:hover {
  background:var(--surface); color: var(--orange);
}
.dp-nav-item:hover svg { color: var(--orange); }

/* Estado activo — borde izquierdo naranja + fondo naranja suave */
.dp-nav-item.active {
  background: #fff3e0;
  color: var(--orange);
  font-weight: 800;
}
.dp-nav-item.active svg { color: var(--orange); }
.dp-nav-item.active::before {
  content: ''; position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px; background: var(--orange);
  border-radius: 0 3px 3px 0;
}

/* Badge mensajes */
.dp-nav-badge {
  margin-left: auto;
  background: var(--orange); color: #fff;
  font-size: .6rem; font-weight: 900;
  padding: 1px 6px; border-radius: 99px;
  min-width: 18px; text-align: center;
}

/* Separador */
.dp-nav-sep { height: 1px; background: var(--border); margin: 6px 0; }

/* ══════════════════════════════════════════════════════════════════
   ÁREA PRINCIPAL DE CONTENIDO
   ══════════════════════════════════════════════════════════════════ */
/* ⚠ dp-content, dp-inner managed in main.css — do not redefine here */
.dp-content { flex: 1 !important; min-width: 0 !important; background: var(--n50) !important; }

/* Page header */
.dp-page-hdr {
  display: flex; align-items: flex-start;
  justify-content: space-between; flex-wrap: wrap; gap: 10px;
  margin-bottom: 6px;
}
.dp-page-title {
  font-weight: 900; font-size: 1.4rem; color: var(--text); margin: 0;
  letter-spacing: -.02em;
}
.dp-page-sub { font-size: .82rem; color: var(--text-2); margin: 4px 0 0; }

/* Banner tipo PRO */
.dp-pro-banner {
  background: #EBF8FF; border: 1px solid #BEE3F8;
  border-radius: 12px; padding: 14px 18px;
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 24px; cursor: pointer;
}
.dp-pro-banner-icon { color: #3182CE; flex-shrink: 0; }
.dp-pro-banner-text strong { display: block; font-weight: 800; font-size: .9rem; color: #1A365D; }
.dp-pro-banner-text span { font-size: .78rem; color: #2B6CB0; }
.dp-pro-banner svg.arrow { margin-left: auto; color: #3182CE; flex-shrink: 0; }

/* estilo personalizado */
.dp-tabs {
  display: flex; gap: 0;
  border-bottom: 1.5px solid var(--border);
  margin-bottom: 0;
}
.dp-tab {
  padding: 10px 20px;
  font-size: .82rem; font-weight: 700;
  color: var(--n400); cursor: pointer;
  border-bottom: 2.5px solid transparent;
  margin-bottom: -1.5px;
  transition: color .15s, border-color .15s;
  background: none; border-top: none; border-left: none; border-right: none;
  text-decoration: none; white-space: nowrap; display: inline-block;
}
.dp-tab:hover { color: var(--text); }
.dp-tab.active {
  color: var(--orange);
  border-bottom-color: var(--orange);
  font-weight: 800;
}

/* ── Cards de contenido ──────────────────────────────────────────── */
.dp-card {
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 16px;
}
.dp-card-hdr {
  padding: 20px 24px 16px;
  border-bottom: 1.5px solid var(--border);
}
.dp-card-title {
  font-weight: 800; font-size: 1rem; color: var(--text);
  margin: 0; display: flex; align-items: center; gap: 8px;
}
.dp-card-title svg { width: 17px; height: 17px; color: var(--orange); }
.dp-card-sub { font-size: .78rem; color: var(--n400); margin-top: 4px; }

/* Card sin header separado */
.dp-card-body { padding: 20px 24px; }
.dp-card-plain { background: var(--surface); border: 1.5px solid var(--border); border-radius: 16px; padding: 24px; margin-bottom: 16px; }

/* Divider */
.dp-divider { height: 1.5px; background: var(--border); margin: 16px 0; }

/* estilo personalizado */
.dp-product-row {
  display: flex; align-items: center; gap: 16px;
  padding: 14px 24px;
  border-bottom: 1px solid var(--n100);
  transition: background .12s;
}
.dp-product-row:last-child { border-bottom: none; }
.dp-product-row:hover { background: var(--bg); }

.dp-product-check {
  width: 18px; height: 18px; flex-shrink: 0;
  accent-color: var(--orange); cursor: pointer;
}
.dp-product-thumb {
  width: 68px; height: 68px; border-radius: 10px;
  object-fit: cover; background: var(--n50); flex-shrink: 0;
  border: 1px solid var(--border);
}
.dp-product-info { flex: 1; min-width: 0; }
.dp-product-price {
  font-weight: 900; font-size: 1.1rem; color: var(--text);
  line-height: 1;
}
.dp-product-title {
  font-size: .875rem; font-weight: 600; color: var(--text-2);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  margin-top: 3px;
}
.dp-product-dates {
  display: flex; gap: 24px; flex-shrink: 0;
}
.dp-product-date-item { font-size: .75rem; color: var(--n400); }
.dp-product-date-item strong { display: block; font-size: .72rem; color: var(--n600); font-weight: 700; }

/* Botón Destácalo */
.dp-btn-highlight {
  background: var(--text); color: #fff;
  border: none; border-radius: 99px;
  padding: 9px 18px; font-size: .82rem; font-weight: 800;
  cursor: pointer; white-space: nowrap; flex-shrink: 0;
  transition: background .15s;
}
.dp-btn-highlight:hover { background: var(--orange); }

/* Iconos de acción pequeños */
.dp-product-actions {
  display: flex; gap: 2px; flex-shrink: 0; align-items: center;
}
.dp-action-btn {
  width: 34px; height: 34px; border-radius: 8px;
  border: none; background: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--n400); transition: background .12s, color .12s;
  text-decoration: none;
}
.dp-action-btn:hover { background: var(--n50); color: var(--orange); }

/* Bottom action bar (selección múltiple) */
.dp-bulk-bar {
  position: sticky; bottom: 0;
  background: var(--surface); border-top: 1.5px solid var(--border);
  padding: 12px 24px;
  display: flex; align-items: center; justify-content: flex-end; gap: 10px;
  z-index: 10;
}
.dp-bulk-btn-ghost {
  background: none; border: none; color: var(--n400);
  font-size: .875rem; font-weight: 700; cursor: pointer;
  padding: 8px 16px; border-radius: 99px; transition: color .15s, background .15s;
}
.dp-bulk-btn-ghost:hover { color: #DC2626; background: #FEF2F2; }
.dp-bulk-btn-main {
  background: var(--orange); color: #fff; border: none;
  border-radius: 99px; padding: 9px 20px; font-size: .875rem;
  font-weight: 800; cursor: pointer; transition: background .15s;
}
.dp-bulk-btn-main:hover { background: var(--orange-dk); }

/* ── RESPONSIVE ──────────────────────────────────────────────────── */
@media (max-width: 860px) {
  /* dp-side responsive handled in main.css */
  .dp-inner { padding: 16px; }
  .dp-product-dates { display: none; }
  .dp-product-row { padding: 12px 16px; gap: 12px; }
  .dp-product-thumb { width: 56px; height: 56px; }
}
@media (max-width: 560px) {
  .dp-btn-highlight { display: none; }
}

/* === from user_dispute_detail.html === */
.d-wrap{max-width:800px;margin:0 auto;padding:28px 16px}
.d-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.d-card{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;overflow:hidden;margin-bottom:14px}
.d-card-head{padding:13px 18px;border-bottom:1px solid var(--border);background:var(--n50,#F8F9FA);display:flex;align-items:center;gap:8px;font-weight:800;font-size:.88rem;color:var(--text)}
.d-card-body{padding:16px 18px}
/* Chat */
.chat-thread{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow-y:auto;padding:16px;background:var(--n50,#F8F9FA)}
.bubble{max-width:80%;display:flex;flex-direction:column;gap:3px}
.bubble.mine{align-self:flex-end;align-items:flex-end}
.bubble.theirs{align-self:flex-start;align-items:flex-start}
.bubble-body{padding:10px 14px;border-radius:14px;font-size:.84rem;line-height:1.5;word-break:break-word}
.bubble.mine .bubble-body{background:var(--orange,#E87800);color:#fff;border-bottom-right-radius:4px}
.bubble.theirs .bubble-body{background:var(--surface);border:1.5px solid var(--border);color:var(--text);border-bottom-left-radius:4px}
.bubble.admin .bubble-body{background:#1A1F2E;color:#fff;border-radius:14px 14px 14px 4px}
.bubble-meta{font-size:.68rem;color:var(--text-2);padding:0 4px}
/* Status badge */
.status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:8px;font-size:.75rem;font-weight:800}
/* Attach area */
.attach-zone{border:2px dashed var(--border);border-radius:10px;padding:18px;text-align:center;cursor:pointer;transition:all .15s}
.attach-zone:hover,.attach-zone.drag{border-color:var(--orange);background:rgba(232,120,0,.04)}
.attach-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.attach-thumb{width:64px;height:64px;border-radius:8px;object-fit:cover;border:1.5px solid var(--border)}

/* === from user_security.html === */
/* pg-split managed in main.css — do not redefine here */

/* ── Dark mode ──────────────────────────────────────────────── */
[data-theme="dark"] .card,
[data-theme="dark"] .dp-card,
[data-theme="dark"] .pg-split {
  background: var(--n800);
  border-color: var(--n700);
  color: var(--text);
}
[data-theme="dark"] .dp-card-hdr {
  background: var(--n800);
  border-color: var(--n700);
}
[data-theme="dark"] .dp-card-title {
  color: var(--text) !important;
}
[data-theme="dark"] .dp-page-title,
[data-theme="dark"] .dp-page-sub {
  color: var(--text) !important;
}
[data-theme="dark"] .pg-right,
[data-theme="dark"] .pg-right-body {
  background: var(--n800);
}
/* === ad_detail.html gallery CSS === */
/* ── Gallery ─────────────────────────────────────────────── */
.gal-wrap { background:var(--n50); border-radius:var(--r-xl); overflow:hidden; border:1px solid var(--border); position:relative; max-width:100% }
.gal-main { max-height:380px }
.gal-main { aspect-ratio:16/9; overflow:hidden; position:relative; background:var(--n100); cursor:pointer }
.gal-main img { width:100%; height:100%; object-fit:contain; display:block; transition:transform .3s }
.gal-main:hover img { transform:scale(1.02) }
.gal-sold { position:absolute; top:12px; left:12px; background:rgba(0,0,0,.72); color:var(--text); font-size:.72rem; font-weight:800; font-family:var(--f-display); padding:4px 12px; border-radius:99px; pointer-events:none }
.gal-nav { position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; background:rgba(255,255,255,.92); border:none; border-radius:50%; font-size:1.2rem; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 8px rgba(0,0,0,.15); transition:background .15s; z-index:2 }
.gal-nav:hover { background:var(--surface) }
.gal-prev { left:10px }
.gal-next { right:10px }
.gal-zoom-btn { position:absolute; bottom:10px; left:50%; transform:translateX(-50%); background:rgba(0,0,0,.55); border:none; border-radius:99px; color:#fff; padding:5px 14px; font-size:.72rem; font-weight:700; font-family:var(--f-display); cursor:pointer; display:flex; align-items:center; gap:5px; backdrop-filter:blur(4px); transition:background .15s; z-index:2 }
.gal-zoom-btn:hover { background:rgba(0,0,0,.75) }
.gal-count { position:absolute; bottom:10px; right:12px; background:rgba(0,0,0,.5); color:#fff; font-size:.7rem; font-weight:700; font-family:var(--f-display); padding:3px 9px; border-radius:99px; pointer-events:none }
/* Vertical thumbnails on right */
.gal-thumbs {
  display:flex;
  flex-direction:column;
  gap:6px;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:var(--border) transparent;
  max-height:520px;
  width:82px;
  flex-shrink:0;
  padding:2px;
}
.gal-thumbs::-webkit-scrollbar { width:3px }
.gal-thumbs::-webkit-scrollbar-track { background:transparent }
.gal-thumbs::-webkit-scrollbar-thumb { background:var(--border); border-radius:2px }
.gal-thumb { width:72px; height:60px; border-radius:8px; overflow:hidden; border:2px solid transparent; cursor:pointer; flex-shrink:0; padding:0; background:none; transition:border-color .15s; display:block }
.gal-thumb img { width:100%; height:100%; object-fit:cover; display:block }
.gal-thumb.on { border-color:var(--orange); box-shadow:0 0 0 1px var(--orange) }
.gal-thumb:hover:not(.on) { border-color:var(--n300) }
.gal-placeholder { aspect-ratio:4/3; min-height:300px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:var(--n300); background:var(--n50); border-radius:var(--r-xl) }
.gal-placeholder svg { width:48px; height:48px; opacity:.4 }

/* ── Lightbox ─────────────────────────────────────────────── */
#lightbox { display:none; position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.94); align-items:center; justify-content:center; flex-direction:column }
#lightbox.open { display:flex }
#lightbox-img { max-width:90vw; max-height:82vh; object-fit:contain; border-radius:8px; user-select:none }
.lb-close { position:fixed; top:16px; right:16px; width:42px; height:42px; background:rgba(255,255,255,.12); border:none; border-radius:50%; color:var(--text); font-size:1.4rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s }
.lb-close:hover { background:rgba(255,255,255,.25) }
.lb-nav { position:fixed; top:50%; transform:translateY(-50%); width:48px; height:48px; background:rgba(255,255,255,.12); border:none; border-radius:50%; color:#fff; font-size:1.6rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s }
.lb-nav:hover { background:rgba(255,255,255,.28) }
.lb-prev { left:16px }
.lb-next { right:16px }
.lb-count { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.6); font-size:.8rem; font-weight:700; font-family:var(--f-display) }

/* ── Price card ───────────────────────────────────────────── */
.pc { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-xl); padding:18px }
.pc-price { font-family:var(--f-display); font-weight:900; font-size:1.8rem; color:var(--orange); line-height:1; margin-bottom:8px; display:flex; flex-direction:column; align-items:flex-start; gap:4px }
.pc-neg { background:var(--orange-xs); color:var(--orange); font-size:.65rem; font-weight:900; font-family:var(--f-display); padding:3px 10px; border-radius:99px; border:1px solid rgba(232,120,0,.25); align-self:flex-start }
.pc-title { font-family:var(--f-display); font-weight:800; font-size:1.05rem; line-height:1.3; color:var(--text); margin-bottom:12px }
.pc-city { font-size:.82rem; color:var(--n500); display:flex; align-items:center; gap:5px; margin-bottom:14px; font-weight:600 }
.pc-city svg { width:13px !important; height:13px !important; flex-shrink:0; color:var(--orange) }
.pc-sold { background:#fee2e2; color:#991b1b; border-radius:10px; padding:10px 14px; font-size:.85rem; font-weight:700; text-align:center; margin-bottom:12px }

/* ── Contact / Action buttons ─────────────────────────────── */
.btn-contact-main { display:block; background:var(--orange); color:#fff; font-family:var(--f-display); font-weight:800; font-size:.95rem; text-align:center; padding:13px; border-radius:12px; border:none; width:100%; cursor:pointer; text-decoration:none; transition:background .15s, transform .1s; margin-bottom:10px }
.btn-contact-main:hover { background:#c46400; transform:translateY(-1px) }
.seller-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(80px,1fr)); gap:8px; margin-bottom:10px }
.seller-action-btn { display:flex; flex-direction:column; align-items:center; gap:4px; padding:10px 6px; background:var(--n50); border:1.5px solid var(--border); border-radius:12px; cursor:pointer; text-decoration:none; color:var(--text); font-size:.72rem; font-weight:700; font-family:var(--f-display); transition:all .15s; }
.seller-action-btn:hover { background:var(--n100); transform:translateY(-1px) }
.seller-action-btn svg { width:20px; height:20px; flex-shrink:0 }
.seller-action-btn.call-on { color:#16a34a }
.seller-action-btn.call-off { color:var(--n400); cursor:not-allowed }
.seller-action-btn.voice-btn { background:var(--orange); border-color:var(--orange); color:#fff; }
.seller-action-btn.voice-btn:hover { background:var(--orange-dk); border-color:var(--orange-dk); }
.seller-name-center { text-align:center; font-size:.82rem; font-weight:800; font-family:var(--f-display); color:var(--n600); margin-bottom:10px; display:flex; align-items:center; justify-content:center; gap:6px }
.seller-name-center::after { content:'✓'; color:var(--orange); font-size:.8rem }

/* ── Fav button ───────────────────────────────────────────── */
.btn-fav { width:100%; display:flex; align-items:center; justify-content:center; gap:7px; padding:10px; border:1.5px solid var(--border); border-radius:12px; background:var(--surface); color:var(--n600); font-size:.83rem; font-weight:700; font-family:var(--f-display); cursor:pointer; transition:all .15s }
.btn-fav:hover { border-color:var(--orange); color:var(--orange); background:var(--orange-xs) }
.btn-fav.active { background:var(--orange-xs); border-color:var(--orange); color:var(--orange) }
.btn-fav svg { width:16px; height:16px; flex-shrink:0 }
.btn-fav.active svg { fill:var(--orange); stroke:var(--orange) }

/* ── Seller card ──────────────────────────────────────────── */
.sc { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-xl); padding:16px }
.sc h3 { font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; color:var(--n500); font-family:var(--f-display); margin:0 0 12px }
.sc-profile { display:flex; align-items:center; gap:10px; margin-bottom:12px; text-decoration:none; color:inherit }
.sc-av { width:44px; height:44px; border-radius:50%; object-fit:cover; flex-shrink:0; background:var(--orange); color:#fff; font-family:var(--f-display); font-weight:800; font-size:1rem; display:flex; align-items:center; justify-content:center }
.sc-name { font-weight:800; font-family:var(--f-display); font-size:.9rem }
.sc-city { font-size:.75rem; color:var(--n500); display:flex; align-items:center; gap:3px; margin-top:2px }
.sc-city svg { width:11px !important; height:11px !important }
.sc-stats { display:flex; gap:0; border:1px solid var(--border); border-radius:10px; overflow:hidden; margin-bottom:12px }
.sc-stat { flex:1; padding:8px; text-align:center; border-right:1px solid var(--border) }
.sc-stat:last-child { border-right:none }
.sc-stat strong { display:block; font-family:var(--f-display); font-weight:800; font-size:.9rem }
.sc-stat span { font-size:.68rem; color:var(--n500) }
.btn-all-ads { display:block; text-align:center; padding:10px; background:var(--orange); color:#fff; font-family:var(--f-display); font-weight:800; font-size:.83rem; border-radius:10px; text-decoration:none; transition:background .15s; margin-top:0 }
.btn-all-ads:hover { background:var(--orange-dk,#d06800) }

/* ── Mini map ─────────────────────────────────────────────── */
.mini-map-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-xl); overflow:hidden }
.mini-map-header { padding:10px 14px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--border) }
.mini-map-header h4 { font-size:.82rem; font-weight:700; font-family:var(--f-display); margin:0; display:flex; align-items:center; gap:5px }
.mini-map-header h4 svg { color:var(--orange); width:14px !important; height:14px !important }
.mini-map-link { font-size:.75rem; color:var(--orange); font-weight:700; text-decoration:none }
#ad-detail-map { height:320px; width:100%; cursor:default; pointer-events:none }

/* ── Description card ────────────────────────────────────── */
.desc-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-xl); padding:18px }
.desc-card h2 { font-size:.9rem; font-weight:900; font-family:var(--f-display); margin:0 0 10px; text-transform:uppercase; letter-spacing:.06em; color:var(--n500) }
.desc-text { font-size:.9rem; line-height:1.7; color:var(--text); white-space:pre-wrap; word-break:break-word }
.spec-table { width:100%; margin-top:14px; border-collapse:collapse }
.spec-table tr { border-bottom:1px solid var(--n100) }
.spec-table tr:last-child { border-bottom:none }
.spec-table td { padding:7px 0; font-size:.83rem }
.spec-table td:first-child { color:var(--n500); font-weight:700; width:110px; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em }

/* ── Safety card ──────────────────────────────────────────── */
.safety-card { background:var(--n50); border:1px solid var(--border); border-radius:var(--r-xl); padding:14px 16px }
.safety-card h4 { font-size:.78rem; font-weight:900; font-family:var(--f-display); margin:0 0 8px; color:var(--n600); text-transform:uppercase; letter-spacing:.07em }
.safety-card ul { padding-left:14px; margin:0; display:flex; flex-direction:column; gap:4px }
.safety-card li { font-size:.78rem; color:var(--n600) }

/* ── Share ────────────────────────────────────────────────── */
.share-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-xl); padding:14px 16px; text-align:center }
.share-label { font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; color:var(--n500); font-family:var(--f-display); margin-bottom:10px; text-align:center }
.share-row { display:flex; gap:7px; flex-wrap:wrap; justify-content:center }
.sh-btn { width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center; color:var(--text); cursor:pointer; border:none; flex-shrink:0; transition:transform .15s,opacity .15s; text-decoration:none }
.sh-btn:hover { transform:translateY(-2px); opacity:.9 }

/* ── Sections ─────────────────────────────────────────────── */
.section-block { margin-top:32px }
.section-hdr { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; padding-bottom:12px; border-bottom:2px solid var(--border) }
.section-hdr h2 { font-family:var(--f-display); font-weight:900; font-size:1.05rem; margin:0 }
.section-hdr a { font-size:.83rem; color:var(--orange); font-weight:700; text-decoration:none }

@media (max-width: 900px) {
  .ad-detail-layout { grid-template-columns: 1fr !important; }
  .ad-sidebar { position: static !important; top: auto !important; }
}
@media (max-width: 640px) {
  .gal-wrap { flex-direction: column !important }
  .gal-thumbs {
    flex-direction: row !important;
    width: auto !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 6px 8px !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .gal-thumb { width: 56px !important; height: 44px !important; flex-shrink: 0 !important }
  .gal-main { border-radius: var(--r-xl) var(--r-xl) 0 0 !important }
  .gal-main img { max-height: 300px !important; min-height: 220px !important }
  .ad-price-big { font-size: clamp(1.4rem, 6vw, 2rem) !important; }
  .seller-card { padding: 14px !important; }
  .btn-contact-main { font-size: .9rem !important; padding: 12px !important; }
}
@media (max-width: 420px) {
  .seller-actions { grid-template-columns: 1fr !important; }
}
/* Voice chat button — forced orange, overrides everything */
html body #voice-chat-btn,
html body #voice-chat-btn:hover,
html body #voice-chat-btn:focus {
  background: #e05252 !important;
  background-color: #e05252 !important;
  border-color: #e05252 !important;
  color: var(--surface) !important;
}
html body #voice-chat-btn svg,
html body #voice-chat-btn span {
  color: var(--surface) !important;
  stroke: var(--surface) !important;
}

/* ════════════════════════════════════════════════════════════════
   v13 DESIGN SYSTEM PATCH — appended, does not break v12 classes
   ════════════════════════════════════════════════════════════════ */

/* Fonts */
:root {
  --f-display: 'Bricolage Grotesque', 'Bricolage Grotesque', sans-serif;
  --f-body:    'Outfit', 'Outfit', sans-serif;
}
body { font-family: var(--f-body); }
h1,h2,h3,h4,h5,h6,
.dp-user-name, .dp-nav-item,
.nav-logo-text,
.btn-publish, .btn-publish-label { font-family: var(--f-display) !important; }

/* Brand color consistency */
:root {
  --brand:      #E8720A;
  --brand-hover:#C55E06;
  --brand-bg:   #FEF3E8;
  --orange:     #E8720A;
  --orange-dk:  #C55E06;
  --orange-lt:  #FF8C2A;
  --orange-xs:  #FEF3E8;
}

/* Light mode base */
:root {
  --bg:      #F6F4EF;
  --surface: #FFFFFF;
  --border:  #E2DDD6;
  --text:    #1A1714;
  --text-secondary: #5A5550;
  --text-muted:     #A8A49A;
  --n50:  #F6F4EF;
  --n100: #EDEBE4;
  --n200: #CCC9BE;
  --n300: #A8A49A;
  --n400: #7A756A;
  --n500: #5A5550;
  --n600: #3E3A35;
  --success:    #16a34a;
  --success-bg: #dcfce7;
  --error:      #dc2626;
  --error-bg:   #fee2e2;
  --warning:    #d97706;
  --warning-bg: #fef3c7;
  --overlay: rgba(0,0,0,.45);
  --shadow-sm: 0 1px 3px rgba(0,0,0,.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,.1);
  --r-sm: 6px; --r-md: 10px; --r-lg: 16px; --r-2xl: 24px;
  --t: .15s ease;
}

/* Dark mode base */
[data-theme="dark"] {
  --bg:      #080B10;
  --surface: #111720;
  --border:  #1E2736;
  --text:    #F0EDE8;
  --text-secondary: #9B9690;
  --text-muted:     #6B6660;
  --n50:  #0F1318;
  --n100: #161C26;
  --n200: #1E2736;
  --n300: #2E3A4A;
  --n400: #5A6678;
  --n500: #7A8898;
  --n600: #9BAAB8;
  --overlay: rgba(0,0,0,.65);
}

/* Nav icon size fix — ensure consistent 20x20 */
.nav-row-2 .nav-icon-wrap svg,
.nav-row-2 .nav-icon-wrap img {
  width: 20px !important;
  height: 20px !important;
}
.nav-icon-wrap svg { width: 20px !important; height: 20px !important; }

/* hidden attr fix — prevents modals opening on load */
[hidden] { display: none !important; }

/* Smooth transitions */
*, *::before, *::after { box-sizing: border-box; }
body { background: var(--bg); color: var(--text); transition: background .2s, color .2s; }

/* ════════════════════════════════════════════════════════════════
   BUTTON RESET — safe minimal version (v13)
   Only fixes the offline.html rogue rule: button{background:#E87800;width:100%}
   Uses specific selectors so it NEVER breaks .chat-fab, .view-btn etc.
   ════════════════════════════════════════════════════════════════ */

/* Fix the offline.html rogue rule — target only unstyled bare <button> elements */
.offline-page button:not([class]),
.offline-actions button:not([class]) {
  background: var(--orange) !important;
  color: #fff !important;
  width: auto !important;
}

/* Password toggle */
.password-toggle {
  position: absolute !important;
  right: 10px !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 32px !important; height: 32px !important;
  background: transparent !important; border: none !important;
  color: var(--n400) !important; cursor: pointer !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important; padding: 4px !important;
  border-radius: 6px !important;
}
.password-toggle:hover { color: var(--orange) !important; background: var(--n100) !important; }
.password-toggle svg { width: 18px !important; height: 18px !important; }
.password-wrap { position: relative !important; }
.password-wrap input { padding-right: 44px !important; }

/* Publish button */
@media(min-width:769px){
  .btn-publish {
    background: var(--orange) !important; color: #fff !important;
    width: auto !important; padding: 10px 20px !important;
    border-radius: 50px !important; font-weight: 700 !important;
    font-size: .88rem !important; border: none !important;
    display: inline-flex !important; align-items: center !important;
    gap: 6px !important; white-space: nowrap !important;
    text-decoration: none !important; cursor: pointer !important;
  }
  .btn-publish:hover { background: var(--orange-dk) !important; }
}

/* Auth button */
.btn-auth {
  width: 100% !important; padding: 13px 20px !important;
  font-size: 1rem !important; margin-top: 4px !important;
  background: var(--orange) !important; color: #fff !important;
  border: none !important; border-radius: 10px !important;
  font-weight: 700 !important; cursor: pointer !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important;
}

/* /* ── GLOBAL SVG SAFETY RULES/* ── GLOBAL SVG SAFETY RULES ──────────────────────────────────
   Prevent SVGs from blowing up when they have no explicit size
   ──────────────────────────────────────────────────────────── */

/* Any SVG directly inside a button that isn't a hero/illustration */
button > svg, a > svg {
  max-width: 24px !important;
  max-height: 24px !important;
  flex-shrink: 0 !important;
  pointer-events: none !important;
}

/* SVGs inside nav items */
.dp-nav-item > svg,
.nav-icon-wrap > svg,
.adm-nav-a > svg {
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
}

/* Admin sidebar SVGs */
.adm-sidebar svg, .adm-nav-a svg {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
}

/* Action / icon buttons */
.adm-btn-icon svg, .ma-action-btn svg, .adm-action-btn svg,
.map-btn svg, .chat-send-btn svg, .fav-btn svg {
  width: 16px !important;
  height: 16px !important;
}


/* ════════════════════════════════════════════════════════════════
   MISSING CLASSES PATCH — covers all templates audit gaps
   ════════════════════════════════════════════════════════════════ */

/* ── POST_AD WIZARD ──────────────────────────────────────────── */
.wizard-steps{display:flex;align-items:center;gap:0;margin-bottom:28px;padding:0 4px}
.wizard-step{display:flex;align-items:center;gap:8px;flex:1}
.wizard-step-dot{width:32px;height:32px;border-radius:50%;background:var(--n100);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;color:var(--n400);flex-shrink:0;transition:all .2s;font-family:var(--f-display)}
.wizard-step--done .wizard-step-dot{background:var(--orange);border-color:var(--orange);color:#fff}
.wizard-step--active .wizard-step-dot{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:0 0 0 3px rgba(232,114,10,.2)}
.wizard-step-label{font-size:.78rem;font-weight:700;color:var(--n400);white-space:nowrap;font-family:var(--f-display)}
.wizard-step--active .wizard-step-label{color:var(--orange)}
.wizard-step--done .wizard-step-label{color:var(--n500)}
.wizard-step-line{flex:1;height:2px;background:var(--border);margin:0 6px}
.wizard-step--done+.wizard-step-line,.wizard-step--done~.wizard-step-line{background:var(--orange)}
.form-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;margin-bottom:20px}
.form-card-title{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-size:1.1rem;font-weight:800;color:var(--text);margin:0 0 20px}
.step-num{width:32px;height:32px;border-radius:10px;background:var(--orange);color:#fff;font-weight:900;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--f-display)}
.cat-grid-select{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:8px}
.cat-pick{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .15s;font-size:.78rem;font-weight:700;color:var(--n500);font-family:var(--f-display);background:var(--surface);text-align:center}
.cat-pick:hover,.cat-pick.selected,.cat-pick input:checked~*{border-color:var(--orange);background:var(--orange-xs);color:var(--orange)}
.cat-pick-icon{font-size:1.4rem;line-height:1}
.cat-pick-name{line-height:1.2}
.cond-opts{display:flex;gap:8px;flex-wrap:wrap}
.cond-opt{padding:8px 16px;border:2px solid var(--border);border-radius:8px;cursor:pointer;font-size:.83rem;font-weight:700;color:var(--n500);background:var(--surface);transition:all .15s;font-family:var(--f-display)}
.cond-opt:hover,.cond-opt.selected{border-color:var(--orange);background:var(--orange-xs);color:var(--orange)}

/* ── AUTH PAGES ──────────────────────────────────────────────── */
.auth-header{text-align:center;margin-bottom:24px}
.auth-switch{text-align:center;font-size:.85rem;color:var(--n400);margin-top:16px}
.auth-switch a{color:var(--orange);font-weight:700;text-decoration:none}
.field-label-link{color:var(--orange)!important;font-weight:600;text-decoration:none;font-size:.75rem}
.field-label-link:hover{text-decoration:underline}
.password-strength{height:4px;border-radius:2px;background:var(--n100);margin-top:6px;overflow:hidden}
.strength-bar{height:100%;border-radius:2px;transition:width .3s,background .3s;background:var(--error)}

/* ── CHAT SKELETON LOADERS ───────────────────────────────────── */
.chat-list-skeleton{padding:8px 0}
.chat-list-sk-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}
.chat-list-sk-av{width:44px;height:44px;border-radius:50%;background:var(--n100);flex-shrink:0;animation:skeleton-pulse 1.5s infinite}
.chat-list-sk-body{flex:1;display:flex;flex-direction:column;gap:7px}
.chat-list-sk-name{height:12px;background:var(--n100);border-radius:4px;width:40%;animation:skeleton-pulse 1.5s infinite}
.chat-list-sk-msg{height:10px;background:var(--n100);border-radius:4px;width:70%;animation:skeleton-pulse 1.5s infinite .1s}
.chat-textarea-wrap,.chat-input-wrap{position:relative;flex:1;min-width:0}
.chat-textarea-inner{width:100%;flex:1;border:1.5px solid var(--border);border-radius:10px;padding:10px 14px;font-family:var(--f-body);font-size:.875rem;color:var(--text);background:var(--bg);resize:none;outline:none;transition:border-color .15s;min-height:42px;max-height:120px;line-height:1.5}
.chat-textarea-inner:focus{border-color:var(--orange)}
.chat-char-count{position:absolute;right:12px;bottom:8px;font-size:.65rem;color:var(--n300)}
.chat-call-btn{display:flex;align-items:center;gap:5px;padding:7px 12px;border:1.5px solid var(--border);border-radius:8px;background:var(--surface);color:var(--n500);font-size:.78rem;font-weight:700;cursor:pointer;transition:all .15s;flex-shrink:0}
.chat-call-btn:hover{border-color:var(--orange);color:var(--orange)}
.chat-clear-btn-inner{
  width:28px;height:28px;min-width:28px;border-radius:50%;
  background:var(--n100);border:1.5px solid var(--border);
  cursor:pointer;display:flex;align-items:center;
  justify-content:center;color:var(--n500);transition:all .15s;
  padding:0;flex-shrink:0;
}
.chat-clear-btn-inner:hover{background:var(--n200);color:var(--text)}

/* ── MY ADS SKELETON ─────────────────────────────────────────── */
.my-ads-sk-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.my-ads-sk-thumb{width:52px;height:42px;border-radius:6px;background:var(--n100);flex-shrink:0;animation:skeleton-pulse 1.5s infinite}
.my-ads-sk-body{flex:1;display:flex;flex-direction:column;gap:6px}
.my-ads-sk-meta{height:10px;background:var(--n100);border-radius:4px;width:50%;animation:skeleton-pulse 1.5s infinite .1s}
.my-ads-sk-price{height:14px;background:var(--n100);border-radius:4px;width:25%;animation:skeleton-pulse 1.5s infinite .05s}

/* ── AD DETAIL MISSING ───────────────────────────────────────── */
.price-history-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;margin-top:12px}
.price-history-title{font-family:var(--f-display);font-weight:800;font-size:.85rem;color:var(--text);margin:0 0 10px}
.trust-item-title{font-weight:700;font-size:.82rem;color:var(--text);font-family:var(--f-display)}
.trust-item-desc{font-size:.75rem;color:var(--n400);margin-top:1px}
.trust-icon--check{color:var(--success)}
.trust-icon--warn{color:var(--warning)}
.condition-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:700;background:var(--n100);color:var(--n500)}
.condition-pill--new{background:#dcfce7;color:#16a34a}
.condition-pill--like_new{background:#dbeafe;color:#1d4ed8}
.condition-pill--good{background:#fef3c7;color:#d97706}
.condition-pill--fair{background:#fee2e2;color:#dc2626}

/* ── PROFILE DASH ────────────────────────────────────────────── */
.dash-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--orange);flex-shrink:0}
.dash-avatar--initials{width:80px;height:80px;border-radius:50%;background:var(--orange);color:#fff;font-weight:900;font-size:1.8rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--f-display)}
.avatar-preview{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--border)}
.avatar-preview--initials{width:80px;height:80px;border-radius:50%;background:var(--orange);color:#fff;font-weight:900;font-size:1.8rem;display:flex;align-items:center;justify-content:center;font-family:var(--f-display)}
.avatar-upload-row{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.dash-city{font-size:.78rem;color:var(--n400);display:flex;align-items:center;gap:4px}
.dash-link{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:8px;font-size:.85rem;font-weight:600;color:var(--n500);text-decoration:none;transition:all .15s}
.dash-link:hover,.dash-link--active{background:var(--surface);color:var(--orange)}
.dash-hdr{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:20px}

/* ── ERROR PAGES ─────────────────────────────────────────────── */
.error-icon{font-size:4rem;margin-bottom:16px;opacity:.7;display:block;text-align:center}

/* ── LISTINGS ────────────────────────────────────────────────── */
.sort-strip{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.spin{animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── HELP CENTER FAQ ─────────────────────────────────────────── */
.faq-question{width:100%;text-align:left;background:var(--surface);border:none;padding:16px 18px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-family:var(--f-display);font-weight:700;font-size:.9rem;color:var(--text)}
.faq-answer{padding:4px 18px 16px;font-size:.875rem;color:var(--n500);line-height:1.7;display:none;text-align:left}
.faq-answer.open,.faq-answer.is-open{display:block}

/* ── INDEX PERSONAL GRID ─────────────────────────────────────── */
.personal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.personal-grid--2{grid-template-columns:repeat(2,1fr)}
.atc-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;transition:box-shadow .15s}
.atc-card:hover{box-shadow:var(--shadow-md)}

/* ── OFFLINE PAGE ────────────────────────────────────────────── */
.offline-logo{margin-bottom:20px}
.offline-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.offline-tips{margin-top:24px;display:flex;flex-direction:column;gap:8px;max-width:320px;margin-inline:auto}
.offline-tip-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);flex-shrink:0;margin-top:4px}
.status-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--n100);border-radius:8px;font-size:.82rem;color:var(--n500)}
.status-offline-dot{width:8px;height:8px;border-radius:50%;background:var(--error);flex-shrink:0}
.btn-home,.btn-retry{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:10px;font-weight:700;font-family:var(--f-display);font-size:.875rem;cursor:pointer;transition:all .15s;text-decoration:none;border:none}
.btn-home{background:var(--orange);color:#fff}
.btn-home:hover{background:var(--orange-dk)}
.btn-retry{background:var(--surface);color:var(--text);border:1.5px solid var(--border)}
.btn-retry:hover{border-color:var(--orange);color:var(--orange)}

/* ── MAINTENANCE PAGE ────────────────────────────────────────── */
.gears{font-size:3rem;margin-bottom:16px;opacity:.7}
.eta-box{background:var(--n100);border-radius:12px;padding:16px 20px;display:inline-block;text-align:center;margin:16px 0}
.eta-label{font-size:.78rem;color:var(--n400);text-transform:uppercase;letter-spacing:.06em;font-family:var(--f-display);font-weight:700}
.eta-time{font-family:var(--f-display);font-size:1.5rem;font-weight:900;color:var(--text)}
.status-link{color:var(--orange);font-weight:600;text-decoration:none}

/* ── ADMIN MISSING ───────────────────────────────────────────── */
.admin-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.admin-section{background:var(--adm-surface,#fff);border:1px solid var(--adm-border,#E2E5EC);border-radius:10px;padding:20px;margin-bottom:16px}
.admin-section-header{margin-bottom:12px}
.admin-section-title{font-family:var(--f-display);font-weight:800;font-size:1rem;color:var(--adm-text,#1A1F2E);margin:0}
.admin-section-subtitle{font-size:.78rem;color:var(--adm-text-2,#636E82);margin-top:2px}
.admin-table-search,.adm-table-search{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1.5px solid var(--adm-border,#E2E5EC);border-radius:7px;background:var(--adm-surface,#fff);max-width:260px}
.admin-table-search input,.adm-table-search input{border:none;background:none;outline:none;font-size:.83rem;color:var(--adm-text,#1A1F2E);flex:1}
.adm-btn-green{background:#16a34a;color:#fff;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:7px;font-weight:700;font-size:.8rem;border:none;cursor:pointer}
.adm-btn-red{background:#dc2626;color:#fff;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:7px;font-weight:700;font-size:.8rem;border:none;cursor:pointer}
.conv-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--adm-border,#E2E5EC);cursor:pointer;transition:background .12s}
.conv-item:hover{background:var(--adm-bg,#F4F5F7)}
.empty-state{text-align:center;padding:40px 20px;color:var(--adm-text-2,#636E82)}
.role-card{background:var(--adm-surface,#fff);border:1px solid var(--adm-border,#E2E5EC);border-radius:8px;padding:16px}
.mb-18{margin-bottom:18px}
.mb-22{margin-bottom:22px}
.alert-warning{background:#fef3c7;color:#d97706;border:1px solid rgba(217,119,6,.2);border-radius:8px;padding:10px 14px;font-size:.85rem}

/* ── HOW IT WORKS ────────────────────────────────────────────── */
.btn-cta{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;background:var(--orange);color:#fff;border-radius:50px;font-weight:800;font-family:var(--f-display);font-size:1rem;text-decoration:none;border:none;cursor:pointer;transition:background .15s}
.btn-cta:hover{background:var(--orange-dk)}

/* ── AUCTIONS TIMER ──────────────────────────────────────────── */
.timer-text{font-family:var(--f-display);font-weight:800;font-size:.85rem;color:var(--text);letter-spacing:.02em}
.timer-text.urgent{color:var(--error);animation:pulse-text 1s infinite}
@keyframes pulse-text{0%,100%{opacity:1}50%{opacity:.6}}

/* ── SKELETON KEYFRAME ───────────────────────────────────────── */
@keyframes skeleton-pulse{0%,100%{opacity:1}50%{opacity:.5}}


/* ═══════════════════════════════════════════════════════════════════
   v13 NAVBAR FIXES
═══════════════════════════════════════════════════════════════════ */

/* Search input: padding-left para dejar espacio al icono de lupa */
.nav-search-input{padding-left:38px!important}
.nav-search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);pointer-events:none;z-index:1}
.nav-search-inner{position:relative}

/* Dark mode toggle gap */
.nav-row-1 nav{gap:6px!important}
#dark-mode-toggle{margin-left:2px}

/* Botones Entrar / Regístrate (sin sesión) */
.nav-btn-entrar{
  display:inline-flex;align-items:center;padding:7px 14px;
  background:transparent;color:var(--text,#13131A);
  border:1.5px solid var(--border,#E2DDD6);border-radius:99px;
  font-size:.82rem;font-weight:700;text-decoration:none;
  white-space:nowrap;transition:background .15s,border-color .15s;
}
.nav-btn-entrar:hover{background:var(--n50,#F4F5F7);border-color:var(--n300)}

.nav-btn-registro{
  display:inline-flex;align-items:center;padding:7px 14px;
  background:var(--orange,#E8720A);color:#fff;
  border:1.5px solid var(--orange,#E8720A);border-radius:99px;
  font-size:.82rem;font-weight:800;text-decoration:none;
  white-space:nowrap;transition:background .15s;
}
.nav-btn-registro:hover{background:var(--orange-dk,#C55E06)}

/* ═══════════════════════════════════════════════════════════════════
   v13 /PUBLICAR CSS FIXES
═══════════════════════════════════════════════════════════════════ */

/* Fix icono de fotos gigante — el SVG sin width/height se expande al 100% */
.photo-add svg{width:26px!important;height:26px!important;flex-shrink:0}
.photo-add{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:7px;border:2px dashed var(--n200,#EAE7DA);cursor:pointer;
  transition:all var(--t,.2s);background:var(--n50,#F5F3EB);aspect-ratio:1;
  border-radius:var(--r-lg,16px);overflow:hidden;position:relative;
}
.photo-add:hover{border-color:var(--orange,#E8720A);background:var(--orange-xs,#FFF3E0)}
.photo-add:hover svg{color:var(--orange,#E8720A)}
.photo-add span{font-size:.72rem;font-weight:700;color:var(--n400);font-family:var(--f-display)}

.photo-slot{
  aspect-ratio:1;border-radius:var(--r-lg,16px);overflow:hidden;position:relative;
}
.photo-slot img{width:100%;height:100%;object-fit:cover;display:block}
.photo-rm{
  position:absolute;top:4px;right:4px;width:22px;height:22px;
  background:rgba(0,0,0,.6);color:#fff;border:none;border-radius:50%;
  font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
  z-index:2;transition:background .15s;
}
.photo-rm:hover{background:var(--danger,#dc2626)}
.photo-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:9px;
}
@media(max-width:600px){.photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:400px){.photo-grid{grid-template-columns:repeat(2,1fr)}}

/* Subcategory wrap */
#subcategory-wrap{margin-top:12px}

/* Prevent Leaflet z-index from breaking navbar */
.leaflet-container{z-index:1!important}
#location-map .leaflet-pane{z-index:10!important}
#location-map .leaflet-top,
#location-map .leaflet-bottom{z-index:20!important}

/* ── price field: € y botón IA dentro de la caja ── */
.price-field{position:relative}
.price-field>div{position:relative}
.price-curr{
  position:absolute!important;right:12px;top:50%;transform:translateY(-50%);
  color:var(--n500);font-weight:700;font-size:.9rem;pointer-events:none;z-index:1;
}
.ia-field-btn{
  position:absolute!important;
  right:32px!important;top:50%!important;transform:translateY(-50%)!important;
  width:28px;height:28px;border-radius:7px;border:none;
  background:var(--orange-xs,#FFF3E0);color:var(--orange,#E8720A);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:.68rem;font-weight:900;font-family:var(--f-display);letter-spacing:-.02em;
  z-index:2;transition:background .15s,color .15s;
}
.ia-field-btn:hover{background:var(--orange,#E8720A)!important;color:#fff!important}
/* input padding para dejar espacio a € e IA */
.price-field input[type="number"]{padding-right:70px!important}

/* ═══════════════════════════════════════════════════════════════════════════
   LAYOUT FINAL — REGLAS DEFINITIVAS (cargadas al final = máxima prioridad)
   ═══════════════════════════════════════════════════════════════════════════
   ⚠ ESTAS REGLAS ESTÁN AL FINAL DEL ÚLTIMO CSS QUE SE CARGA.
   ⚠ SON LAS QUE CONTROLAN EL LAYOUT EN TODA LA WEB.
   ⚠ NUNCA LAS MUEVAS NI LAS DUPLIQUES EN OTRO FICHERO.
   ⚠ PARA NUEVAS PÁGINAS: extiende user_dashboard.html y no toques esto.
   ═══════════════════════════════════════════════════════════════════════════ */

/* 1. MAIN — compensa el navbar fixed (solo desktop, en móvil el layout PWA usa position:fixed) */
@media(min-width:769px){
  main#main-content {
    padding-top: calc(var(--navbar-h) + env(safe-area-inset-top)) !important;
    min-height: calc(100vh - var(--navbar-h) - env(safe-area-inset-top)) !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    width: 100% !important;
  }
}

/* 2. DP-WRAP — contenedor flex del dashboard, siempre 100% ancho */
.dp-wrap {
  display: flex !important;
  flex: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: calc(100vh - var(--navbar-h)) !important;
  background: var(--n50) !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

/* 3. DP-SIDE — sidebar SIEMPRE 220px, NUNCA diferente entre páginas */
.dp-side {
  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  background: var(--n50) !important;
  border-right: 1px solid var(--border) !important;
  padding: 20px 0 40px !important;
  position: sticky !important;
  top: calc(var(--navbar-h) + env(safe-area-inset-top)) !important;
  height: calc(100vh - var(--navbar-h) - env(safe-area-inset-top)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: none !important;
  align-self: flex-start !important;
  box-sizing: border-box !important;
}
.dp-side::-webkit-scrollbar { display: none !important; }

/* 4. DP-CONTENT — área de contenido, llena todo lo que queda */
.dp-content {
  flex: 1 !important;
  min-width: 0 !important;
  width: 0 !important; /* fuerza flex a calcular bien el ancho */
  background: var(--n50) !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

/* 5. DP-INNER — wrapper interior, max-width para no estirar en pantallas grandes */
.dp-inner {
  width: 100% !important;
  max-width: 1100px !important;
  padding: 28px 32px !important;
  box-sizing: border-box !important;
}

/* 6. DP-PAGE-HDR — cabecera de página uniforme */
.dp-page-hdr {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  padding: 0 0 20px !important;
  border-bottom: 1.5px solid var(--border) !important;
  margin-bottom: 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.dp-page-title {
  font-family: var(--f-display) !important;
  font-size: clamp(1.3rem, 2.5vw, 1.7rem) !important;
  font-weight: 900 !important;
  color: var(--text) !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  line-height: 1.2 !important;
}
.dp-page-sub {
  font-size: .88rem !important;
  color: var(--text-2) !important;
  margin: 0 !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* 7. PG-SPLIT dentro del dashboard — siempre 1 columna, sin espacio muerto */
.dp-inner .pg-split,
.dp-content .pg-split,
.pg-split {
  display: block !important;
  width: 100% !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  grid-template-columns: unset !important;
}
.dp-inner .pg-right,
.dp-content .pg-right,
.pg-right {
  display: block !important;
  width: 100% !important;
  background: transparent !important;
  gap: unset !important;
}
.dp-inner .pg-right-body,
.dp-content .pg-right-body,
.pg-right-body {
  padding: 0 !important;
  overflow: visible !important;
}

/* 8. RESPONSIVE */
@media (max-width: 900px) {
  .dp-side { display: none !important; }
  .dp-content { width: 100% !important; min-width: 0 !important; }
  .dp-inner { padding: 16px !important; }
}
@media (max-width: 768px) {
  main#main-content { padding-top: 0 !important; }
  .dp-inner { padding: 12px !important; }
}


/* ── Chat thread page: keep lateral spacing, remove vertical padding ── */
.dp-inner:has(.chat-page) {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  height: calc(100vh - var(--navbar-h));
  display: flex;
  flex-direction: column;
}

/* ── Call room (dentro de user_dashboard) ────────────────────────────── */
.call-av-circle {
  width: 100px; height: 100px; border-radius: 50%;
  background: var(--orange); color: #fff;
  font-family: var(--f-display); font-weight: 900; font-size: 2.5rem;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto; position: relative;
  border: 3px solid rgba(232,120,10,.3);
  box-shadow: 0 4px 24px rgba(232,120,10,.25);
}
.call-av-circle.ringing::after {
  content: ''; position: absolute; inset: -10px;
  border-radius: 50%; border: 2px solid rgba(232,120,10,.4);
  animation: call-pulse 1.2s ease-out infinite;
}
@keyframes call-pulse {
  0%   { transform: scale(1); opacity: .7; }
  100% { transform: scale(1.35); opacity: 0; }
}
.call-av-circle.in-call {
  border-color: var(--success);
  box-shadow: 0 0 0 6px rgba(21,128,61,.15);
}
.call-ctrl-btn {
  width: 60px; height: 60px; border-radius: 50%;
  background: var(--n100); border: 1.5px solid var(--border);
  color: var(--text); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all .15s; flex-shrink: 0;
}
.call-ctrl-btn:hover { background: var(--n200); transform: scale(1.06); }
.call-ctrl-btn:active { transform: scale(.95); }
.call-ctrl-hangup {
  background: var(--danger); border-color: var(--danger); color: #fff;
  box-shadow: 0 4px 14px rgba(220,38,38,.35);
}
.call-ctrl-hangup:hover { background: #b91c1c; border-color: #b91c1c; }
.call-ctrl-muted { background: var(--warning-bg) !important; border-color: var(--warning) !important; color: var(--warning) !important; }

/* ── User dropdown — alinear todo a la izquierda ───────────── */
.user-dropdown { text-align: left !important; }
.ud-header { text-align: left !important; justify-content: flex-start !important; }
.ud-username { text-align: left !important; }
.ud-section-label { text-align: left !important; }
.ud-row { justify-content: flex-start !important; text-align: left !important; }
.ud-label { text-align: left !important; flex: 1; }
.ud-chevron { margin-left: auto; flex-shrink: 0; }

/* ── Fix 1: Botón hamburguesa — oculto en escritorio, visible en móvil ── */
.nav-ham,
#ham {
  display: none !important;
}
@media (max-width: 768px) {
  .nav-ham,
  #ham {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: var(--r-md) !important;
    background: var(--brand) !important;
    border: none !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
  }
}

/* ── Fix 2: Hero search select — evitar desbordamiento en móvil ── */
.hero-search-box {
  min-width: 0;
  overflow: hidden;
}
.hero-cat-select,
.hero-search select {
  min-width: 0 !important;
  max-width: 140px !important;
  width: auto !important;
  flex-shrink: 1 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  background-size: 14px 14px !important;
  background-repeat: no-repeat !important;
}
@media (max-width: 540px) {
  .hero-cat-select,
  .hero-search select {
    display: none !important;
  }
  .hero-search-sep {
    display: none !important;
  }
}


/* ── Ancho máximo 1400px en todas las páginas públicas ─────────────── */
:root { --container: 1400px; }

.container,
.hero-inner,
.wrap:not(.listings-wrap),
.page-wrap {
  max-width: 1400px !important;
  padding-left: clamp(16px, 3vw, 40px) !important;
  padding-right: clamp(16px, 3vw, 40px) !important;
}

/* Listings grid — más columnas en pantallas grandes */
#ads-container,
.ads-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(220px,100%), 1fr)) !important;
}

/* Hero más generoso */
.hero { padding-block: clamp(48px, 8vw, 96px) !important; }

/* ── Móvil ≤ 480px ─────────────────────────────────────────────────── */
@media (max-width: 480px) {
  .container, .hero-inner, .wrap, .page-wrap {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  /* Listings: mínimo padding para anuncios */
  .listings-wrap, .listings-wrap.wrap {
    padding-left: 3px !important;
    padding-right: 3px !important;
  }
  #ads-container, .ads-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 4px !important;
  }
}

/* ── Tablet 481–768px — mantener 2 cols + padding reducido ────────── */
@media (min-width: 481px) and (max-width: 768px) {
  .container, .wrap, .page-wrap, .wide-wrap,
  .listings-wrap, .listings-page-wrap, .listings-content,
  .detail-layout, .auc-page-wrap, #main-content, main,
  .hero-inner, .dp-inner {
    padding-left: 6px !important;
    padding-right: 6px !important;
    max-width: 100% !important;
  }
  #ads-container, .ads-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 4px !important;
  }
}
@media (min-width: 769px) and (max-width: 900px) {
  #ads-container, .ads-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* ── Desktop grande ≥ 1400px ───────────────────────────────────────── */
@media (min-width: 1400px) {
  #ads-container, .ads-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  }
}

/* ── Listings page — ancho máximo 1400px centrado ──────────────────── */
.listings-wrap {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 24px clamp(16px, 3vw, 40px) !important;
  width: 100% !important;
}
@media (max-width: 768px) {
  .listings-wrap {
    padding: 0 3px !important;
    max-width: 100% !important;
  }
}

/* Index sections — ancho completo centrado */
.hero-inner {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 clamp(16px, 3vw, 40px) !important;
}

section .container,
.section .container,
.section-sm .container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 clamp(16px, 3vw, 40px) !important;
}

/* ── Separación antes del footer en todas las páginas ─────────────── */
.footer {
  margin-top: 60px !important;
}

/* Última sección antes del footer siempre con padding inferior */
main > section:last-of-type,
main > div:last-of-type,
.cta-section,
.seo-paragraph {
  margin-bottom: 0 !important;
}

/* El main siempre tiene padding inferior */
main {
  padding-bottom: 60px !important;
}

/* En móvil menos espacio */
@media (max-width: 768px) {
  .footer { margin-top: 32px !important; }
  main { padding-bottom: 80px !important; }
}

/* ── Fix: botones de card por encima del link invisible ── */
.av-card-zoom,
.av-card-prev,
.av-card-next,
.av-card-dots {
  z-index: 3 !important;
  position: absolute !important;
}
.av-card-img-link {
  z-index: 1 !important;
}

/* ── Filtros overlay — más sutil ─────────────────────────────────── */
.fp-overlay {
  background: rgba(0,0,0,.15) !important;
}

/* ── Lightbox zoom de fotos ─────────────────────────────────────── */
.av-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  background: rgba(0,0,0,.88) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  cursor: zoom-out !important;
}
.av-lightbox-img {
  max-width: 90vw !important;
  max-height: 90vh !important;
  object-fit: contain !important;
  border-radius: 8px !important;
  cursor: default !important;
}
.av-lightbox-close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.15) !important;
  border: none !important;
  color: #fff !important;
  font-size: 22px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 100000 !important;
}
.av-lightbox-close:hover {
  background: rgba(255,255,255,.3) !important;
}

/* ── Ocultar elementos en móvil/tablet (≤900px) ────────────────────── */
@media (max-width: 900px) {
  /* Badge "Tu nuevo portal..." */
  .hero-pill { display: none !important; }

  /* Stats 36+ / 2 min / 100% */
  .hero-stats { display: none !important; }

  /* Popular: iPhone, MacBook... */
  .hero-popular { display: none !important; }

  /* Pills ciudades en hero */
  .hero-cities { display: none !important; }

  /* Trust strip */
  .trust-strip { display: none !important; }

  /* Pills de categorías coloreadas del hero */
  .hero .hero-inner > div[style*="flex-wrap"] { display: none !important; }

  /* Sección Anuncios por ciudad */
  .city-chips,
  section:has(.city-chips) { display: none !important; }

  /* Ocultar hero-sub en móvil para ganar espacio */
  .hero-sub { display: none !important; }

  /* Buscador hero — simplificar en móvil */
  .hero-search-sep,
  .hero-cat-select { display: none !important; }
}

/* ── Botones móvil — lupa y volver ─────────────────────────────── */
.nav-mob-search-btn,
.nav-mob-back-btn {
  display: none;
}
@media (max-width: 768px) {
  .nav-mob-search-btn,
  .nav-mob-back-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: var(--r-md) !important;
    background: var(--n50) !important;
    border: 1.5px solid var(--border) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    color: var(--text-2) !important;
  }
  .nav-mob-back-btn {
    margin-left: auto !important;
  }
  .nav-mob-search-btn:hover,
  .nav-mob-back-btn:hover {
    background: var(--brand-xs) !important;
    color: var(--brand) !important;
    border-color: var(--brand) !important;
  }
}

/* ══ MEJORAS MÓVIL ═════════════════════════════════════════════════ */

/* 1. Barra inferior — ya existe .av-bottom-nav, mejorar visualmente */
@media (max-width: 768px) {
  .av-bottom-nav {
    display: flex !important;
    box-shadow: 0 -2px 12px rgba(0,0,0,.08) !important;
    border-top: 1px solid var(--border) !important;
    background: var(--surface, #fff) !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
  }
  .av-nav-tab {
    font-size: .56rem !important;
    padding: 4px 0 1px !important;
    gap: 1px !important;
  }
  .av-nav-tab svg {
    width: 18px !important;
    height: 18px !important;
  }
  .av-nav-publish {
    width: 38px !important;
    height: 38px !important;
    margin-top: -8px !important;
    margin-bottom: 0 !important;
    box-shadow: 0 4px 14px rgba(232,114,10,.45) !important;
  }
  .av-nav-tab--publish {
    padding: 0 !important;
    justify-content: center !important;
  }

  /* 2. Búsqueda sticky al hacer scroll */
  .nav-search {
    display: none !important;
  }
  .mob-sticky-search {
    display: flex !important;
    position: sticky !important;
    top: calc(var(--navbar-h) + env(safe-area-inset-top)) !important;
    z-index: 700 !important;
    background: var(--surface) !important;
    padding: 8px 16px !important;
    border-bottom: 1px solid var(--border) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.06) !important;
  }

  /* 3. Cards 2 columnas en móvil — foto arriba, info debajo */
  #ads-container,
  .ads-grid,
  .listings-grid,
  .fav-page-grid,
  .av-product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 4px !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .av-card {
    flex-direction: column !important;
    height: auto !important;
    max-height: none !important;
  }
  .av-card-img-wrap {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    flex-shrink: 0 !important;
  }
  .av-card-img {
    padding-top: 75% !important;
    height: 0 !important;
  }
  .av-card-body {
    padding: 8px 10px 6px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
  }
  .av-card-title {
    font-size: .78rem !important;
    margin-bottom: 2px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .av-card-price {
    font-size: .9rem !important;
    margin-bottom: 2px !important;
  }
  .av-card-city {
    font-size: .68rem !important;
  }
  .av-card-desc,
  .av-card-top-seller,
  .av-card-time {
    display: none !important;
  }
  .av-card-actions {
    display: flex !important;
    padding: 4px 6px !important;
  }
  /* Chat visible dentro de contact-group, oculto si está suelto */
  .av-card-actions > .av-action-btn[data-action="chat-zoom"] {
    display: none !important;
  }
  .av-card-actions .contact-group .av-action-btn[data-action="chat-zoom"] {
    display: flex !important;
  }
  .av-card-actions .call-disabled {
    opacity: .5 !important;
    cursor: default !important;
  }

  /* Cards inline de home y grids genéricos: 2 columnas */
  .av-product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
  .av-product-grid > a {
    border-radius: 10px !important;
  }
  .av-product-grid > a img {
    height: 100px !important;
  }
  .av-product-grid > a > div:last-child {
    padding: 8px 10px !important;
  }

  /* Ad detail: cards relacionadas más grandes */
  .detail-layout .ads-grid,
  .section-block .ads-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .detail-layout .ads-grid > a,
  .section-block .ads-grid > a {
    border-radius: 10px !important;
  }
  .detail-layout .ads-grid > a > div:first-child,
  .section-block .ads-grid > a > div:first-child {
    height: 160px !important;
  }
  .detail-layout .ads-grid > a > div:first-child img,
  .section-block .ads-grid > a > div:first-child img {
    height: 160px !important;
  }
  .detail-layout .ads-grid > a > div:last-child,
  .section-block .ads-grid > a > div:last-child {
    padding: 10px 12px !important;
  }
  .detail-layout .ads-grid > a > div:last-child > div:first-child,
  .section-block .ads-grid > a > div:last-child > div:first-child {
    font-size: .85rem !important;
  }
  .detail-layout .ads-grid > a > div:last-child > div:nth-child(2),
  .section-block .ads-grid > a > div:last-child > div:nth-child(2) {
    font-size: 1rem !important;
  }

  /* 4. Botón Pujar más visible en subastas */
  .auc-bid-btn,
  a[href*="subasta"][href*="ver"] {
    min-height: 52px !important;
    font-size: 1rem !important;
  }
}

/* ══════════════════════════════════════════════════════
   MEJORAS MÓVIL COMPLETAS
   ══════════════════════════════════════════════════════ */

/* 1. Barra inferior — forzar visible en móvil */
@media (max-width: 768px) {
  .av-bottom-nav { display: flex !important; }
  main { padding-bottom: calc(70px + env(safe-area-inset-bottom)) !important; }
  .footer { margin-bottom: 70px !important; }
}

/* 2. Búsqueda sticky al hacer scroll */
@media (max-width: 768px) {
  .hero-search {
    position: sticky !important;
    top: calc(var(--navbar-h) + env(safe-area-inset-top) + 8px) !important;
    z-index: 100 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.12) !important;
  }
}

/* 3. Cards 2 columnas en móvil */
@media (max-width: 768px) {
  #ads-container,
  .ads-grid,
  .listings-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
  .av-card {
    flex-direction: column !important;
    height: auto !important;
    overflow: hidden !important;
  }
  .av-card-img-wrap {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    flex-shrink: 0 !important;
  }
  .av-card-img {
    padding-top: 75% !important;
    height: 0 !important;
  }
  .av-card-body {
    flex: 1 !important;
    padding: 8px 10px 6px !important;
    min-width: 0 !important;
  }
}

/* 4. Botón Pujar más visible en subastas móvil */
@media (max-width: 768px) {
  .auc-bid-btn,
  a[href*="subasta"][href*="ver"],
  button[onclick*="pujar"],
  .bid-btn {
    position: fixed !important;
    bottom: calc(70px + 8px + env(safe-area-inset-bottom)) !important;
    left: 16px !important;
    right: 16px !important;
    z-index: 800 !important;
    padding: 14px !important;
    font-size: 1rem !important;
    border-radius: var(--r-xl) !important;
    text-align: center !important;
  }
}

/* ── Categoría activa — sombra naranja ─────────────────────────── */
a[style*="2px solid"][style*="border-radius:10px"]:not([style*="0.5px"]) {
  box-shadow: 0 0 0 5px rgba(232,114,10,.18) !important;
}

/* ── Zoom progresivo — sin cruz, sin modal ─────────────────────── */
#_card-lightbox img {
  display: block !important;
  cursor: zoom-out !important;
}
/* ── Estados activos botones de acción ─────────────────────────── */
.compare-toggle-btn.in-compare svg,
.compare-toggle-btn.in-compare svg rect {
  stroke: var(--brand) !important;
}
.compare-toggle-btn.in-compare {
  background: var(--brand-xs) !important;
  border-color: var(--brand) !important;
}
.alert-toggle-btn.alert-active svg {
  stroke: var(--brand) !important;
  fill: rgba(232,114,10,.15) !important;
}
.alert-toggle-btn.alert-active {
  background: var(--brand-xs) !important;
  border-color: var(--brand) !important;
}
.call-btn svg { transition: stroke .2s; }


/* ── Forzar visibilidad de botones de acción en grid ─────────────── */
#ads-container:not(.view-list) .av-card-actions,
.listings-grid:not(.view-list) .av-card-actions,
.av-card-actions {
  display: flex !important;
}
#ads-container.view-list .av-card-actions {
  display: none !important;
}

/* ── Fix crítico: botones de acción por encima del link invisible ── */
.av-card-actions {
  position: relative !important;
  z-index: 10 !important;
}
.av-card-actions .av-action-btn,
.av-card-actions a.call-btn {
  position: relative !important;
  z-index: 11 !important;
  pointer-events: all !important;
}


/* ── Voice zone: oculto por defecto ─── */
#voice-zone { display: none !important; }
#voice-zone.visible { display: block !important; }
.voice-textarea { width: 100%; min-height: 80px; resize: vertical; border: 1.5px solid var(--border); border-radius: var(--r-md); padding: 10px; font-size: .875rem; color: var(--text); background: var(--surface); }
.voice-send-btn { position: absolute; bottom: 8px; right: 8px; width: 32px; height: 32px; background: none; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.voice-disclaimer { font-size: .72rem; color: var(--text-3); display: flex; align-items: center; gap: 4px; margin-top: 6px; }

/* ── Fix: av-card-img-link no debe cubrir toda la tarjeta ─────────── */
.av-card-img-wrap { position: relative !important; }
.av-list-actions  { position: relative !important; z-index: 2 !important; }
.av-card-actions  { position: relative !important; z-index: 2 !important; }

/* ── Search icon no overlap guarantee ─────────────────────────────── */
.nav-search-input  { padding-left: 42px !important; }
.hero-search input { padding-left: 52px !important; }

/* ── Gallery thumbs vertical column ───────────────────────────────── */
.gal-thumbs {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 4px 0 !important;
  scrollbar-width: thin !important;
}
.gal-thumb {
  width: 64px !important;
  min-width: 64px !important;
  height: 50px !important;
  flex-shrink: 0 !important;
}

/* ── Share buttons: fondo transparente, icono blanco ──────────────── */
.sh-btn { background: transparent !important; color: #fff !important; border: none !important; }
.sh-wa, .sh-tg, .sh-x, .sh-fb, .sh-copy { background: transparent !important; }
.sh-btn svg, .sh-btn img { color: white !important; fill: white !important; stroke: white !important; }

/* ── Share icons: naranja con fondo naranja claro ──────────────────── */
.sh-btn { background: var(--brand-xs) !important; color: var(--brand) !important; border: 1.5px solid rgba(232,114,10,.2) !important; }
.sh-wa, .sh-tg, .sh-x, .sh-fb, .sh-copy { background: var(--brand-xs) !important; }
.sh-btn svg { color: var(--brand) !important; fill: var(--brand) !important; stroke: var(--brand) !important; }
.sh-btn:hover { background: var(--brand) !important; }
.sh-btn:hover svg { color: #fff !important; fill: #fff !important; stroke: #fff !important; }

/* ── Zoom button visible en ficha de anuncio (no tiene .av-card padre) */
.gal-main .av-card-zoom,
.gal-main .gal-zoom-btn {
  opacity: 1 !important;
  position: absolute !important;
  bottom: 10px !important;
  right: 12px !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  background: rgba(0,0,0,.5) !important;
  border-radius: 7px !important;
  font-size: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ── Botón imprimir en compartir ────────────────────────────────────── */
.sh-print { background: var(--brand-xs) !important; color: var(--brand) !important; }
.sh-print svg { stroke: var(--brand) !important; }
.sh-print:hover { background: var(--brand) !important; }
.sh-print:hover svg { stroke: #fff !important; }

/* ── Pasos formulario publicar: número + texto alineados a la izquierda */
.form-card-title {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 20px !important;
  text-align: left !important;
}
.form-card-title .step-num {
  margin: 0 !important;
  flex-shrink: 0 !important;
  width: 36px !important;
  height: 36px !important;
  font-size: .95rem !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

/* ── Publicar: título de paso alineado a la izquierda ──────────────── */
.form-card-title {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 20px !important;
  text-align: left !important;
}
.form-card-title .step-num {
  margin: 0 !important;
  flex-shrink: 0 !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 8px !important;
  font-size: .95rem !important;
  box-shadow: none !important;
}

/* ── Galería ficha: asegurar altura mínima de imagen ───────────────── */
.gal-main { min-height: 320px !important; }

/* ── Descripción: título alineado a la izquierda ───────────────────── */
.desc-card h2 { text-align: left !important; }

/* ── Mapa: filtros compactos inline ─────────────────────────────────── */
.map-bar { flex-wrap: wrap !important; align-items: center !important; gap: 8px !important; }
.map-sel {
  padding: 6px 28px 6px 12px !important;
  border-radius: var(--r-pill) !important;
  border: 1.5px solid var(--border) !important;
  background: var(--surface) !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  color: var(--text) !important;
  width: auto !important;
  min-width: 0 !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
}
.map-sel:focus { border-color: var(--brand) !important; outline: none !important; }
.map-btn.map-btn-primary {
  padding: 7px 14px !important;
  border-radius: var(--r-pill) !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
}

/* ── Leaflet popup: reset and fix poc styles ───────────────────────── */
.leaflet-popup-content-wrapper {
  padding: 0 !important;
  border-radius: var(--r-md) !important;
  overflow: hidden !important;
  box-shadow: var(--sh-lg) !important;
  background: var(--surface) !important;
}
.leaflet-popup-content {
  margin: 0 !important;
  width: 260px !important;
  min-width: 0 !important;
}
.leaflet-popup-tip-container { display: block !important; }
.poc { overflow: hidden; border-radius: var(--r-md); background: var(--surface); }
.poc-img { height: 110px !important; width: 100% !important; overflow: hidden !important; flex: none !important; }
.poc-img img { width: 100% !important; height: 110px !important; object-fit: cover !important; display: block !important; }
.poc-noimg { height: 80px !important; width: 100% !important; background: var(--n50) !important; flex: none !important; position: relative !important; }
.poc-cat-badge { z-index: 2 !important; }

/* === Skeleton cards — listings.html (av-card-skeleton) === */
.av-card-skeleton{pointer-events:none;cursor:default}
.av-card-skeleton:hover{transform:none!important;box-shadow:none!important;border-color:var(--border)!important}
.sk-img{width:100%;aspect-ratio:16/10;background:var(--n100);animation:skeleton-pulse 1.5s ease-in-out infinite}
.sk-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.sk-line{height:11px;background:var(--n100);border-radius:4px;animation:skeleton-pulse 1.5s ease-in-out infinite}
.sk-line--price{width:35%;height:16px;animation-delay:.05s}
.sk-line--title{width:85%;animation-delay:.1s}
.sk-line--city{width:50%;animation-delay:.15s}
.sk-line--time{width:30%;animation-delay:.2s}

/* ── PWA Mobile: navbar icons estilo unificado ─────────────────── */
/* ── PWA Mobile: navbar icons compactos ─────────────────── */
@media (max-width: 768px) {
  .nav-icon-wrap,
  .nav-darkmode,
  .nav-user-mobile {
    display: none !important;
  }
  .mob-nav-ai-btn,
  .btn-camara-ia,
  .nav-ham, #ham,
  .nav-mob-search-btn,
  .nav-mob-back-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    border: 1.5px solid var(--border) !important;
    border-radius: 8px !important;
    background: var(--n50) !important;
    color: var(--text-2) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
  }
  .mob-nav-ai-btn svg,
  .btn-camara-ia svg,
  .nav-ham svg, #ham svg,
  .nav-mob-search-btn svg,
  .nav-mob-back-btn svg {
    width: 18px !important;
    height: 18px !important;
    stroke: currentColor !important;
  }
  .mob-nav-ai-btn {
    background: var(--brand) !important;
    color: #fff !important;
    border-color: var(--brand) !important;
  }
  .mob-nav-ai-btn svg {
    stroke: #fff !important;
  }
  .nav-mob-back-btn {
    margin-left: auto !important;
  }
  .nav-row-1 {
    gap: 3px !important;
  }
  .nav-wrap {
    padding: 0 6px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  /* Forzar que nada se salga del viewport */
  html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }
  .navbar, .mob-icon-bar {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  .av-bottom-nav {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
}

/* ══════════════════════════════════════════════════════════════════
   PWA MOBILE: CARD DEFINITIVA — ÚLTIMA PALABRA (override total)
   Cargado al final de templates-extra.css para ganar a todo
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Grid: 2 columnas, gap mínimo */
  #ads-container, .ads-grid, .listings-grid,
  .fav-page-grid, .av-product-grid,
  #ads-container.view-grid,
  .listings-grid.view-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 4px !important;
    padding: 0 !important;
  }

  /* Card: vertical, auto height */
  .av-card {
    flex-direction: column !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  /* Imagen: 100% ancho, ratio 4:3 */
  .av-card-img-wrap {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    flex-shrink: 0 !important;
  }
  .av-card-img {
    padding-top: 75% !important;
    height: 0 !important;
    max-height: none !important;
  }

  /* Sin flechas, sin zoom — dots pulsables */
  .av-card-prev, .av-card-next { display: none !important; }
  .av-card-zoom { display: none !important; }
  .av-card-dots { gap: 6px !important; bottom: 6px !important; }
  .card-dot {
    width: 10px !important; height: 10px !important;
    border: 1.5px solid rgba(255,255,255,.8) !important;
    background: rgba(0,0,0,.3) !important;
  }
  .card-dot--active { background: #fff !important; border-color: #fff !important; }

  /* Body compacto */
  .av-card-body {
    padding: 8px 10px 6px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
  }
  .av-card-title {
    font-size: .78rem !important;
    margin-bottom: 2px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .av-card-price { font-size: .9rem !important; margin-bottom: 2px !important; }
  .av-card-city { font-size: .68rem !important; margin-bottom: 2px !important; }

  /* Ocultar elementos innecesarios */
  .av-card-desc { display: none !important; }
  .av-card-top-seller { display: none !important; }
  .av-card-time { display: none !important; }

  /* Barra de acciones visible y compacta */
  .av-card-actions {
    display: flex !important;
    padding: 4px 6px !important;
    border-top: 1px solid var(--border) !important;
  }
  .av-action-btn { padding: 4px !important; }
  .av-action-btn svg { width: 14px !important; height: 14px !important; }

  /* Favorito compacto */
  .av-card-fav {
    width: 26px !important; height: 26px !important;
    padding: 4px !important;
    top: 5px !important; left: 5px !important;
  }
  .av-card-fav svg { width: 13px !important; height: 13px !important; }

  /* Chat visible en contact-group */
  .av-card-actions > .av-action-btn[data-action="chat-zoom"] { display: none !important; }
  .av-card-actions .contact-group .av-action-btn[data-action="chat-zoom"] { display: flex !important; }

  /* Desactivado en gris */
  .av-card-actions .call-disabled { opacity: .5 !important; cursor: default !important; }

  /* Ad detail: ancho completo en móvil */
  .detail-layout {
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin: 0 !important;
  }
  .detail-left {
    padding: 0 !important;
    margin: 0 !important;
  }
  .detail-sidebar {
    padding: 12px 10px !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .gal-wrap {
    padding: 0 !important;
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
  }
  /* Perfil: fichas móviles en vez de tabs */
  .pf-tabs-desktop { display: none !important; }
  .pf-tabs-mobile { display: flex !important; flex-direction: column !important; gap: 0 !important; }
  .pf-ficha {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    border: none !important;
    border-bottom: 1px solid var(--border) !important;
    background: var(--surface) !important;
    color: var(--text-2) !important;
    font-size: .85rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    width: 100% !important;
    text-align: left !important;
  }
  .pf-ficha span { flex: 1 !important; }
  .pf-ficha-arrow { flex-shrink: 0 !important; transition: transform .2s !important; color: var(--text-3) !important; }
  .pf-ficha.pf-ficha-active {
    background: var(--brand-xs) !important;
    color: var(--brand) !important;
    border-left: 3px solid var(--brand) !important;
  }
  .pf-ficha.pf-ficha-active svg { stroke: var(--brand) !important; }
  .pf-ficha.pf-ficha-active .pf-ficha-arrow { transform: rotate(180deg) !important; }

  /* Precio sobre la foto en detalle */
  .gal-price-overlay {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    background: rgba(0,0,0,.65) !important;
    color: #fff !important;
    font-family: var(--f-display) !important;
    font-weight: 900 !important;
    font-size: 1.1rem !important;
    padding: 5px 12px !important;
    border-radius: 8px !important;
    z-index: 5 !important;
    backdrop-filter: blur(4px) !important;
    pointer-events: none !important;
  }

  /* Vendedor: Seguir + Confiable en fila */
  .sc-actions-row {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 8px 0 !important;
  }

  /* Vendedor: badges en caja derecha vertical */
  .sc-top-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .sc-top-row .sc-profile {
    flex: 1 !important;
    min-width: 0 !important;
  }
  .sc-badges-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 3px !important;
    flex-shrink: 0 !important;
    max-width: 120px !important;
  }
  .sc-badges-box span {
    font-size: .58rem !important;
    white-space: nowrap !important;
  }

  .section-block {
    padding: 8px 10px !important;
    margin: 8px 0 0 !important;
  }
  .section-hdr {
    padding: 0 4px 8px !important;
    margin-bottom: 8px !important;
  }
  .section-block .ads-grid,
  .section-block .ads-grid--4,
  .detail-layout .ads-grid,
  .detail-layout .ads-grid--4 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 4px !important;
    padding: 0 !important;
    width: 100% !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   ÚLTIMO OVERRIDE NUCLEAR — MÓVIL PWA — GANA A TODO
   Elimina padding lateral, libera scroll, maximiza ancho
   ══════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Dashboard: liberar scroll */
  .dp-wrap {
    display: block !important;
    min-height: auto !important;
    overflow: visible !important;
    height: auto !important;
    padding: 0 !important;
  }
  .dp-content {
    display: block !important;
    overflow: visible !important;
    height: auto !important;
    padding: 0 !important;
  }
  .dp-side {
    display: none !important;
  }
  .dp-inner {
    padding: 8px 2px 120px !important;
    max-width: 100% !important;
  }

  /* TODOS los contenedores: padding lateral mínimo */
  .container,
  .wrap,
  .page-wrap,
  .wide-wrap,
  .listings-wrap,
  .listings-page-wrap,
  .listings-content,
  .detail-layout,
  .auc-page-wrap,
  #main-content,
  main {
    padding-left: 2px !important;
    padding-right: 2px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Breadcrumb y topbar: mínimo */
  .breadcrumb {
    padding: 4px 6px 2px !important;
  }
  .listings-topbar {
    padding: 4px 6px !important;
    margin-bottom: 4px !important;
  }

  /* Navbar wrap */
  .nav-wrap {
    padding: 0 4px !important;
  }
}
