:root{
  --blue:#1565c0;--blue2:#1976d2;--blue-light:#e3f2fd;
  --orange:#f57c00;--orange-light:#fff3e0;
  --green:#2e7d32;--green-light:#e8f5e9;
  --red:#c62828;--red-light:#ffebee;
  --gold:#f9a825;--gold-light:#fffde7;
  --bg:#f2f4f8;--white:#fff;--border:#e0e4ef;
  --gray:#6b7280;--dark:#1a1f36;
  --radius:14px;--shadow:0 2px 14px rgba(21,101,192,.10);
}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Tajawal',sans-serif;}
html,body{width:100%;max-width:100%;overflow-x:hidden;}
img,svg,canvas{max-width:100%;}
body{background:var(--bg);color:var(--dark);padding-top:env(safe-area-inset-top);padding-bottom:72px;}

/* TOP NAV */
.topnav{position:sticky;top:env(safe-area-inset-top);z-index:200;background:var(--blue);padding:10px 14px;display:flex;align-items:center;gap:10px;}
.logo-wrap{display:flex;align-items:center;gap:8px;flex:1;}
.logo-icon{width:36px;height:36px;background:var(--gold);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1em;}
.logo-text{color:#fff;font-size:1.1em;font-weight:800;line-height:1.1;}
.logo-text small{font-size:.65em;opacity:.75;font-weight:400;display:block;}
.nav-btns{display:flex;gap:8px;}
.nav-btn{background:rgba(255,255,255,.15);border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:.95em;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;}
.nav-btn .badge{position:absolute;top:-3px;right:-3px;background:var(--red);color:#fff;width:16px;height:16px;border-radius:50%;font-size:.6em;display:flex;align-items:center;justify-content:center;}

/* MARQUEE NEWS */
.news-bar{background:var(--red);color:#fff;padding:6px 0;overflow:hidden;display:flex;align-items:center;gap:0;}
.news-label{background:rgba(0,0,0,.25);padding:6px 12px;font-size:.78em;font-weight:800;white-space:nowrap;flex-shrink:0;}
.news-ticker{overflow:hidden;flex:1;}
.news-ticker-inner{display:inline-block;white-space:nowrap;animation:ticker 25s linear infinite;}
@keyframes ticker{0%{transform:translateX(-100%)}100%{transform:translateX(100vw)}}
.news-ticker-inner span{font-size:.78em;padding:0 30px;}
.news-bar:hover .news-ticker-inner{animation-play-state:paused;}

/* SEARCH */
.searchbar{background:var(--blue2);padding:8px 14px 12px;}
.search-wrap{display:flex;gap:8px;background:#fff;border-radius:50px;padding:7px 14px;align-items:center;}
.search-wrap input{flex:1;border:none;outline:none;font-size:.95em;font-family:'Tajawal',sans-serif;color:var(--dark);}

/* CATS */
.cats-scroll{background:var(--white);border-bottom:1px solid var(--border);padding:10px 14px;overflow-x:auto;white-space:nowrap;display:flex;gap:8px;scrollbar-width:none;}
.cats-scroll::-webkit-scrollbar{display:none;}
.cat-chip{display:inline-flex;flex-direction:column;align-items:center;background:var(--bg);border:1.5px solid var(--border);border-radius:12px;padding:8px 13px;cursor:pointer;min-width:68px;gap:4px;transition:all .2s;}
.cat-chip.active,.cat-chip:hover{background:var(--blue);border-color:var(--blue);color:#fff;}
.cat-chip i{font-size:1.25em;color:var(--blue);}
.cat-chip.active i,.cat-chip:hover i{color:#fff;}
.cat-chip span{font-size:.72em;font-weight:700;}

/* FILTER BAR */
.filter-bar{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:var(--white);border-bottom:1px solid var(--border);}
.ads-count{font-size:.85em;color:var(--gray);}
.sort-btn{border:1.5px solid var(--border);background:#fff;border-radius:20px;padding:5px 12px;font-size:.8em;font-family:'Tajawal',sans-serif;color:var(--dark);cursor:pointer;}

/* FEATURED SLIDER v3 — 16:9 full-bleed */
.slider-wrap{margin:12px 12px 0;border-radius:var(--radius);overflow:hidden;
  position:relative;background:#1a237e;padding-bottom:calc(56.25% - 24px);height:0;}
.slider-inner{position:absolute;inset:0;display:flex;transition:transform .45s cubic-bezier(.4,0,.2,1);}
.slide{position:relative;min-width:100%;height:100%;overflow:hidden;cursor:pointer;}
.slide-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.slide-no-photo{position:absolute;inset:0;background:linear-gradient(135deg,#1a237e,#283593);
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.2);font-size:3.5em;}
.slide-gradient{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.3) 50%,transparent 100%);}
.slide-info{position:absolute;bottom:0;left:0;right:0;padding:10px 14px 14px;z-index:2;}
.slide-info-badge{display:inline-block;background:var(--gold);color:#7a5000;
  font-size:.6em;font-weight:800;padding:2px 9px;border-radius:20px;margin-bottom:4px;}
.slide-info-title{font-size:.92em;font-weight:800;color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px;}
.slide-info-row{display:flex;align-items:center;justify-content:space-between;}
.slide-info-price{font-size:.88em;font-weight:800;color:#ffd54f;}
.slide-info-loc{font-size:.7em;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:3px;}
.slide-promo{background:linear-gradient(135deg,#1a237e,#1565c0);
  display:flex;align-items:center;justify-content:center;min-width:100%;height:100%;cursor:pointer;}
.slide-promo-content{text-align:center;padding:20px;}
.slide-promo-icon{font-size:2.8em;color:rgba(255,255,255,.22);margin-bottom:10px;}
.slide-promo-title{font-size:1em;font-weight:800;color:#fff;margin-bottom:5px;}
.slide-promo-sub{font-size:.76em;color:rgba(255,255,255,.65);}
.slider-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:5;}
.sdot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.38);cursor:pointer;transition:all .25s;}
.sdot.active{background:#fff;width:18px;border-radius:6px;}
.slider-arrows{position:absolute;top:50%;transform:translateY(-50%);width:100%;
  display:flex;justify-content:space-between;padding:0 8px;z-index:5;pointer-events:none;}
.slider-arrow{pointer-events:all;background:rgba(255,255,255,.18);border:none;
  width:30px;height:30px;border-radius:50%;color:#fff;font-size:.8em;
  cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.slider-arrow:hover{background:rgba(255,255,255,.32);}
.promo-banner{margin:10px 12px 0;background:linear-gradient(135deg,var(--gold),var(--orange));border-radius:var(--radius);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;}
.promo-banner .txt h4{color:#fff;font-size:.95em;font-weight:800;}
.promo-banner .txt p{color:rgba(255,255,255,.85);font-size:.75em;margin-top:2px;}

/* ADS GRID */
.ads-container{padding:10px 12px 0;}
.ads-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(min-width:480px){.ads-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:720px){.ads-grid{grid-template-columns:repeat(4,1fr);}}
.ad-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:transform .18s;position:relative;}
.ad-card:active{transform:scale(.97);}
.ad-card.featured{border:2px solid var(--gold);}
.featured-badge{position:absolute;top:0;left:0;background:var(--gold);color:#7a5000;font-size:.65em;font-weight:800;padding:3px 8px;border-radius:0 0 8px 0;z-index:2;}
.ad-img{width:100%;height:140px;object-fit:cover;background:linear-gradient(135deg,#dde4f5,#c5d0ea);display:block;}
.ad-no-img{width:100%;height:140px;background:linear-gradient(135deg,#dde4f5,#c5d0ea);display:flex;align-items:center;justify-content:center;color:#aab;font-size:2em;}
.ad-fav{position:absolute;top:7px;right:7px;background:rgba(255,255,255,.9);border:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.82em;cursor:pointer;color:#ccc;}
.ad-fav.liked{color:var(--red);}
.ad-cat-badge{position:absolute;bottom:6px;left:6px;background:rgba(21,101,192,.82);color:#fff;font-size:.62em;font-weight:700;padding:2px 8px;border-radius:20px;}
.ad-body{padding:8px 10px 10px;}
.ad-price{font-size:1.02em;font-weight:800;color:var(--green);}
.ad-title{font-size:.83em;color:var(--dark);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:3px 0 2px;}
.ad-loc{font-size:.7em;color:var(--gray);display:flex;align-items:center;gap:3px;}
.ad-time{font-size:.65em;color:#bbc;margin-top:3px;}

/* STATES */
.empty-state,.loading{grid-column:1/-1;text-align:center;padding:50px 20px;color:var(--gray);}
.empty-state i,.loading i{font-size:2.8em;opacity:.35;display:block;margin-bottom:10px;}
.loading i{color:var(--blue);opacity:1;}

/* FAB */
.fab{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);z-index:150;background:var(--orange);color:#fff;border:none;border-radius:50px;padding:12px 26px;font-size:.95em;font-weight:700;font-family:'Tajawal',sans-serif;box-shadow:0 4px 20px rgba(245,124,0,.4);cursor:pointer;display:flex;align-items:center;gap:7px;}
.fab:active{transform:translateX(-50%) scale(.95);}

/* BOTTOM NAV */
.bottomnav{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--white);border-top:1px solid var(--border);display:flex;justify-content:space-around;align-items:center;padding:7px 0 10px;}
.bnav-btn{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.65em;color:var(--gray);cursor:pointer;border:none;background:none;font-family:'Tajawal',sans-serif;padding:0 10px;}
.bnav-btn i{font-size:1.35em;}
.bnav-btn.active{color:var(--blue);}

/* MODALS */
.modal{display:none;position:fixed;inset:0;background:rgba(10,20,50,.5);z-index:999;justify-content:center;align-items:flex-end;backdrop-filter:blur(3px);}
.modal.active{display:flex;}
.sheet{background:var(--white);border-radius:20px 20px 0 0;width:100%;max-height:92vh;overflow-y:auto;padding:16px 18px 32px;animation:up .25s ease;}
@keyframes up{from{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}
.handle{width:38px;height:4px;background:#ddd;border-radius:4px;margin:0 auto 14px;}
.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.sheet-title{font-size:1.1em;font-weight:800;color:var(--dark);}
.x-btn{background:var(--bg);border:none;width:30px;height:30px;border-radius:50%;font-size:1em;color:var(--gray);cursor:pointer;display:flex;align-items:center;justify-content:center;}

/* FORMS */
.fg{margin-bottom:12px;}
.fg label{display:block;font-size:.82em;font-weight:700;color:var(--gray);margin-bottom:4px;}
.fg input,.fg textarea,.fg select{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:10px;font-size:.92em;font-family:'Tajawal',sans-serif;color:var(--dark);outline:none;background:var(--bg);}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--blue);background:#fff;}
.fg textarea{resize:vertical;min-height:70px;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.btn{width:100%;padding:12px;border:none;border-radius:50px;font-size:.95em;font-weight:700;font-family:'Tajawal',sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:4px;}
.btn-blue{background:var(--blue);color:#fff;}
.btn-orange{background:var(--orange);color:#fff;}
.btn-green{background:var(--green);color:#fff;}
.btn-outline{background:#fff;border:1.5px solid var(--blue);color:var(--blue);}
.btn-red{background:var(--red);color:#fff;}
.btn-gold{background:var(--gold);color:#7a5000;}
.btn-sm{padding:7px 16px;width:auto;border-radius:20px;font-size:.82em;margin-top:0;}
.err,.suc{font-size:.82em;padding:8px 12px;border-radius:8px;margin-bottom:10px;display:none;}
.err{color:var(--red);background:var(--red-light);}
.suc{color:var(--green);background:var(--green-light);}
.err.show,.suc.show{display:block;}
.pw-toggle{position:absolute;left:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--gray);cursor:pointer;font-size:1em;padding:4px;line-height:1;}
.pw-toggle:hover{color:var(--blue);}
.pw-hint{font-size:.78em;margin-top:4px;line-height:1.4;}
.pw-hint.bad{color:var(--red);}
#imgPreview img{width:72px;height:72px;object-fit:cover;border-radius:10px;margin-top:8px;}

/* TABS */
.tab-bar{display:flex;background:var(--bg);border-radius:10px;padding:3px;gap:3px;margin-bottom:14px;}
.tab-item{flex:1;text-align:center;padding:7px;border-radius:8px;font-size:.82em;font-weight:700;cursor:pointer;color:var(--gray);}
.tab-item.active{background:var(--white);color:var(--blue);box-shadow:0 1px 6px rgba(0,0,0,.1);}

/* AD DETAIL */
.detail-img{width:100%;max-height:220px;object-fit:cover;border-radius:14px;margin-bottom:12px;}
.detail-price{font-size:1.5em;font-weight:800;color:var(--green);margin:8px 0;}
.detail-desc{color:var(--gray);line-height:1.75;margin-bottom:12px;font-size:.92em;}
.info-box{background:var(--bg);border-radius:12px;padding:10px 14px;margin-bottom:10px;}
.info-row{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:.88em;border-bottom:1px solid var(--border);}
.info-row:last-child{border-bottom:none;}
.info-row i{color:var(--blue);width:18px;text-align:center;}
.call-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--green-light);color:var(--green);border:1.5px solid #a5d6a7;border-radius:12px;padding:12px;font-weight:700;font-size:1em;text-decoration:none;margin-top:6px;}
.action-btns{display:flex;gap:8px;margin-top:10px;}

/* DASHBOARD */
.dash-card{background:var(--white);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);margin-bottom:12px;}
.dash-stat{font-size:1.8em;font-weight:800;color:var(--blue);}
.my-ad-row{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);}
.my-ad-row:last-child{border-bottom:none;}
.my-ad-img{width:56px;height:56px;border-radius:10px;background:var(--bg);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#aab;font-size:1.3em;overflow:hidden;}
.my-ad-img img{width:100%;height:100%;object-fit:cover;}
.my-ad-info{flex:1;min-width:0;}
.my-ad-title{font-size:.88em;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.my-ad-price{font-size:.82em;color:var(--green);font-weight:700;}
.my-ad-status{font-size:.7em;color:var(--gray);}
.my-ad-actions{display:flex;gap:5px;flex-shrink:0;}
.icon-btn{width:30px;height:30px;border-radius:8px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.82em;}
.icon-btn.edit{background:var(--blue-light);color:var(--blue);}
.icon-btn.del{background:var(--red-light);color:var(--red);}

/* ADMIN */
.admin-bar{background:#1a237e;color:#fff;padding:8px 14px;font-size:.78em;font-weight:700;display:flex;align-items:center;gap:8px;}
.admin-notif{background:var(--red);color:#fff;border-radius:20px;padding:2px 8px;font-size:.75em;}

/* MESSAGES */
.chat-list .chat-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--border);cursor:pointer;}
.chat-avatar{width:42px;height:42px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1em;flex-shrink:0;}
.chat-info{flex:1;}
.chat-name{font-size:.9em;font-weight:700;}
.chat-msg{font-size:.78em;color:var(--gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.chat-unread{background:var(--blue);color:#fff;font-size:.65em;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.chat-window{display:flex;flex-direction:column;height:58vh;}
.chat-msgs{flex:1;overflow-y:auto;padding:10px 0;display:flex;flex-direction:column;gap:8px;}
.msg-bubble{max-width:75%;padding:9px 12px;border-radius:14px;font-size:.88em;line-height:1.5;word-break:break-word;}
.msg-bubble.mine{background:var(--blue);color:#fff;align-self:flex-start;border-radius:14px 14px 14px 4px;}
.msg-bubble.theirs{background:var(--bg);color:var(--dark);align-self:flex-end;border-radius:14px 14px 4px 14px;}
.msg-time{font-size:.65em;opacity:.65;margin-top:3px;}
.chat-input-bar{display:flex;gap:8px;padding-top:10px;border-top:1px solid var(--border);}
.chat-input-bar input{flex:1;padding:9px 12px;border:1.5px solid var(--border);border-radius:50px;font-size:.88em;font-family:'Tajawal',sans-serif;outline:none;}
.send-btn{background:var(--blue);color:#fff;border:none;border-radius:50%;width:36px;height:36px;font-size:.95em;cursor:pointer;display:flex;align-items:center;justify-content:center;}


/* TOAST */
.toast{position:fixed;bottom:82px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--dark);color:#fff;padding:9px 20px;border-radius:50px;font-size:.85em;font-weight:600;z-index:9999;opacity:0;transition:all .3s;pointer-events:none;white-space:nowrap;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.toast.ok{background:var(--green);}
.toast.bad{background:var(--red);}

.divider{border:none;border-top:1px solid var(--border);margin:10px 0;}
.section-label{font-size:.78em;font-weight:800;color:var(--gray);letter-spacing:.5px;margin:14px 0 8px;}

/* ADMIN-ONLY PAGE HELPERS (admin.html) */
.admin-guard{display:flex;align-items:center;justify-content:center;min-height:70vh;text-align:center;padding:24px;color:var(--gray);}

/* ═══════════════════════════════════════════════
   ADMIN PANEL v3  –  شاملة (dashboard + tables)
═══════════════════════════════════════════════ */

/* KPI grid (نظرة عامة) */
.adm-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;}
.adm-kpi{background:var(--white);border-radius:12px;padding:12px 8px;text-align:center;
  box-shadow:var(--shadow);border-top:3px solid var(--kc,var(--blue));}
.adm-kpi.adm-kpi-alert{background:var(--red-light);}
.adm-kpi i{font-size:1.2em;color:var(--kc,var(--blue));display:block;margin-bottom:5px;}
.adm-kpi-val{font-size:1.45em;font-weight:800;color:var(--dark);}
.adm-kpi-lbl{font-size:.62em;color:var(--gray);margin-top:2px;line-height:1.3;}

/* Section cards */
.adm-section-card{background:var(--white);border-radius:14px;padding:14px;
  box-shadow:var(--shadow);margin-bottom:12px;border-right:3px solid var(--border);}
.adm-section-head{font-size:.85em;font-weight:800;color:var(--dark);margin-bottom:12px;
  display:flex;align-items:center;gap:7px;}

/* Filters bar */
.adm-filters-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;align-items:center;}
.adm-filter-sel{padding:8px 10px;border:1.5px solid var(--border);border-radius:20px;
  font-size:.78em;font-family:'Tajawal',sans-serif;color:var(--dark);outline:none;
  background:var(--bg);cursor:pointer;}
.adm-filter-sel:focus{border-color:var(--blue);}

/* Ads table */
.adm-table-wrap{overflow-x:auto;border-radius:12px;border:1.5px solid var(--border);}
.adm-table{width:100%;border-collapse:collapse;font-size:.82em;}
.adm-table thead tr{background:var(--bg);}
.adm-table th{padding:10px 10px;text-align:right;font-weight:800;color:var(--gray);
  font-size:.8em;white-space:nowrap;border-bottom:1.5px solid var(--border);}
.adm-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle;}
.adm-table tr:last-child td{border-bottom:none;}
.adm-table tr:hover td{background:rgba(21,101,192,.03);}

/* Status tags */
.adm-status-tag{display:inline-block;font-size:.72em;font-weight:800;padding:3px 9px;border-radius:20px;}
.adm-status-tag.feat{background:var(--gold-light);color:#7a5000;}
.adm-status-tag.active{background:var(--green-light);color:var(--green);}
.adm-status-tag.expired{background:var(--red-light);color:var(--red);}

/* Reports cards */
.adm-report-card{display:flex;gap:10px;align-items:flex-start;padding:12px;
  border-radius:12px;background:var(--bg);margin-bottom:8px;}
.adm-report-icon{width:36px;height:36px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;flex-shrink:0;font-size:.95em;}
.adm-report-body{flex:1;min-width:0;}
.adm-report-title{font-size:.88em;font-weight:700;margin-bottom:3px;}
.adm-report-sub{font-size:.74em;color:var(--gray);margin-bottom:2px;}

/* Settings sub-tabs */
.adm-stabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;
  border-bottom:2px solid var(--border);margin-bottom:0;}
.adm-stabs::-webkit-scrollbar{display:none;}
.adm-stab{flex-shrink:0;padding:7px 12px;border:none;background:none;
  font-family:'Tajawal',sans-serif;font-size:.78em;font-weight:700;color:var(--gray);
  cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-2px;
  transition:all .18s;white-space:nowrap;}
.adm-stab.active{color:var(--blue);border-bottom-color:var(--blue);}

/* Edit rows (categories / cities) */
.adm-edit-row{display:flex;align-items:center;gap:10px;padding:8px 10px;
  background:var(--bg);border-radius:10px;margin-bottom:6px;}

/* ═══════════════════════════════════════════════
   ADMIN PANEL v2  –  tab-based, card layout
═══════════════════════════════════════════════ */

/* Stats row */
.adm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;}
.adm-stat-card{background:var(--white);border-radius:12px;padding:12px 8px;text-align:center;box-shadow:var(--shadow);}
.adm-stat-card.adm-alert{border:1.5px solid var(--red);}
.adm-stat-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;font-size:.95em;}
.adm-stat-val{font-size:1.35em;font-weight:800;color:var(--dark);}
.adm-stat-lbl{font-size:.65em;color:var(--gray);margin-top:1px;}

/* Tab bar */
.adm-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;border-bottom:2px solid var(--border);padding-bottom:0;margin-bottom:0;}
.adm-tabs::-webkit-scrollbar{display:none;}
.adm-tab{flex-shrink:0;padding:8px 13px;border:none;background:none;font-family:'Tajawal',sans-serif;font-size:.8em;font-weight:700;color:var(--gray);cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-2px;transition:all .18s;white-space:nowrap;display:flex;align-items:center;gap:5px;}
.adm-tab.active{color:var(--blue);border-bottom-color:var(--blue);}
.adm-tab-badge{background:var(--red);color:#fff;font-size:.65em;font-weight:800;min-width:16px;height:16px;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;}

/* Search field */
.adm-search{width:100%;padding:9px 13px;border:1.5px solid var(--border);border-radius:50px;font-size:.85em;font-family:'Tajawal',sans-serif;color:var(--dark);outline:none;background:var(--bg);margin-bottom:10px;}
.adm-search:focus{border-color:var(--blue);background:#fff;}

/* Featured-request cards */
.adm-req-card{background:var(--bg);border-radius:12px;padding:12px;margin-bottom:8px;display:flex;gap:10px;align-items:center;}
.adm-req-body{flex:1;min-width:0;}
.adm-req-title{font-size:.88em;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.adm-req-sub{font-size:.72em;color:var(--gray);margin:2px 0 4px;}
.adm-req-actions{display:flex;flex-direction:column;gap:5px;flex-shrink:0;}
.plan-tag{display:inline-block;background:var(--gold-light);color:#7a5000;font-size:.68em;font-weight:800;padding:2px 8px;border-radius:20px;}

/* Filter chip */
.filter-chip{display:inline-flex;align-items:center;gap:8px;background:var(--blue-light);color:var(--blue);border-radius:20px;padding:5px 12px;font-size:.78em;font-weight:700;margin-bottom:8px;}
.chip-x{background:none;border:none;color:var(--blue);cursor:pointer;font-weight:800;font-size:1em;line-height:1;}

/* Featured mini tag (in ads list) */
.featured-mini-tag{font-size:.68em;font-weight:800;color:var(--gold);display:block;margin-top:2px;}

/* ── User cards (OpenSooq style) ── */
.user-card{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:var(--white);box-shadow:0 1px 6px rgba(0,0,0,.06);margin-bottom:8px;}
.user-avatar{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25em;font-weight:800;flex-shrink:0;}
.user-card-info{flex:1;min-width:0;}
.user-card-name{font-size:.9em;font-weight:800;display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.user-card-meta{font-size:.73em;color:var(--gray);margin-top:2px;display:flex;align-items:center;gap:4px;}
.user-card-actions{display:flex;flex-direction:column;gap:5px;flex-shrink:0;}
.role-tag{font-size:.62em;font-weight:800;padding:2px 7px;border-radius:20px;}
.admin-tag{background:#e8eaf6;color:#1a237e;}
.banned-tag{background:var(--red-light);color:var(--red);}

/* ── Inline overlay (confirm / input) ── */
.admin-overlay{position:fixed;inset:0;background:rgba(10,20,50,.55);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(3px);}
.admin-dialog{background:var(--white);border-radius:18px;padding:22px 20px;width:100%;max-width:360px;box-shadow:0 8px 40px rgba(0,0,0,.18);}
.admin-dialog-msg{font-size:.95em;color:var(--dark);line-height:1.65;margin-bottom:4px;}
.admin-dialog-btns{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;}

/* ═══════════════════════════════════════════════
   DASHBOARD v2  –  profile header + stats strip
═══════════════════════════════════════════════ */

/* Warning card */
.warn-card{background:var(--red-light);border:1.5px solid #ef9a9a;border-radius:12px;padding:12px 14px;margin-bottom:10px;}

/* Profile header */
.dash-profile{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:14px;background:var(--white);border-radius:16px;box-shadow:var(--shadow);}
.dash-avatar{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.55em;font-weight:800;flex-shrink:0;}
.dash-profile-info{flex:1;min-width:0;}
.dash-profile-name{font-size:1.05em;font-weight:800;color:var(--dark);}
.dash-profile-sub{font-size:.75em;color:var(--gray);margin-top:2px;}

/* Stats strip */
.dash-stats-strip{display:flex;align-items:center;background:var(--white);border-radius:14px;box-shadow:var(--shadow);padding:14px 8px;margin-bottom:16px;}
.dash-strip-item{flex:1;text-align:center;}
.dash-strip-val{display:block;font-size:1.5em;font-weight:800;color:var(--blue);}
.dash-strip-lbl{display:block;font-size:.68em;color:var(--gray);margin-top:1px;}
.dash-strip-divider{width:1px;height:36px;background:var(--border);}

/* ═══════════════════════════════════════════════
   ADMIN ACCORDION  –  ads grouped by user
═══════════════════════════════════════════════ */
.adm-accordion{border:1.5px solid var(--border);border-radius:12px;margin-bottom:8px;overflow:hidden;}
.adm-accordion-head{display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;cursor:pointer;background:var(--white);}
.adm-accordion-head:hover{background:var(--bg);}
.adm-accordion-body{padding:0 10px;border-top:1px solid var(--border);background:var(--bg);}


/* ── admin-overlay (user profile popup) ── */
.admin-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9999;
  display:flex;align-items:center;justify-content:center;padding:20px;}
.admin-dialog{background:#fff;border-radius:20px;padding:24px;width:100%;
  max-height:90vh;overflow-y:auto;box-shadow:0 12px 40px rgba(0,0,0,.25);}
.info-row{display:flex;align-items:center;gap:10px;padding:7px 0;
  border-bottom:1px solid var(--border);font-size:.82em;color:var(--dark);}
.info-row i{width:18px;text-align:center;}
.banned-tag{background:#fde8e8;color:var(--red);font-size:.62em;font-weight:700;
  padding:2px 8px;border-radius:20px;margin-right:4px;}


/* Reliability and accessibility refinements */
.load-error small{display:block;margin:6px 0 12px;color:var(--gray);font-size:.78em;}
.load-error .btn{margin:0 auto;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.cat-chip:focus-visible{outline:3px solid rgba(245,124,0,.7);outline-offset:3px;}
.cat-chip{min-height:68px;}
.bottomnav{padding-bottom:calc(10px + env(safe-area-inset-bottom));}
@media (display-mode: standalone), (display-mode: fullscreen){
  body{padding-top:max(24px, env(safe-area-inset-top));}
  .topnav{top:0;}
}

@media(max-width:480px){
  .topnav{padding:8px 10px;gap:6px;}
  .logo-text{font-size:.95em;}
  .logo-icon{width:32px;height:32px;font-size:1em;}
  .nav-btns{gap:4px;}
  .nav-btn{width:32px;height:32px;font-size:.82em;}
  .searchbar{padding-inline:10px;}
  .cats-scroll{padding-inline:10px;gap:6px;}
  .filter-bar{padding-inline:10px;gap:8px;}
  .sort-btn{max-width:48%;padding-inline:8px;}
  .ads-container{padding-inline:8px;}
  .ads-grid{gap:7px;}
  .ad-img,.ad-no-img{height:120px;}
  .ad-body{padding:7px 8px 8px;}
  .ad-title{font-size:.78em;}
  .sheet{width:100%;max-width:100vw;padding:14px 12px 28px;}
  .row2{grid-template-columns:1fr;gap:0;}
  .action-btns{flex-wrap:wrap;}
  .action-btns .btn{flex:1 1 120px;}
}

@media(max-width:380px){
  .topnav{padding-inline:10px;gap:6px;}
  .nav-btns{gap:5px;}
  .nav-btn{width:34px;height:34px;}
  .cat-chip{min-width:64px;padding-inline:9px;}
  .ad-img,.ad-no-img{height:126px;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}

.field-help{display:block;color:var(--gray);font-size:.72em;line-height:1.5;margin-top:4px;}


/* ═══════════════════════════════════════════════
   ADMIN CONTROL CENTER — refreshed visual system
═══════════════════════════════════════════════ */
.admin-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border-radius:20px;margin-bottom:12px;color:#fff;background:linear-gradient(135deg,#0d2b52 0%,#1565c0 58%,#00897b 100%);box-shadow:0 12px 30px rgba(13,43,82,.2);overflow:hidden;position:relative}
.admin-hero:after{content:'';position:absolute;width:180px;height:180px;border:22px solid rgba(255,255,255,.08);border-radius:50%;left:-60px;bottom:-110px}
.admin-hero>div{position:relative;z-index:1}
.admin-hero h2,.admin-section-heading h3{margin:2px 0 4px;font-size:1.25em;line-height:1.3}
.admin-hero p{margin:0;color:rgba(255,255,255,.78);font-size:.78em}
.admin-eyebrow{font-size:.68em;letter-spacing:.04em;text-transform:uppercase;font-weight:800;opacity:.78}
.admin-hero-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.btn-light{background:#fff!important;color:#0d2b52!important;border-color:#fff!important}
.admin-insight-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.admin-insight-strip>div{background:#f7f9fc;border:1px solid #e7edf5;border-radius:12px;padding:10px;font-size:.7em;color:var(--gray);display:flex;align-items:center;gap:6px}
.admin-insight-strip strong{font-size:1.2em;color:var(--dark)}
.insight-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.insight-dot.green{background:#2e7d32}.insight-dot.orange{background:#f57c00}.insight-dot.red{background:#c62828}
.admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 12px}.admin-section-heading h3{color:var(--dark);font-size:1.08em}.admin-section-heading .admin-eyebrow{color:var(--blue);opacity:1}
.user-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:12px}.user-summary-card{border:1px solid #e7edf5;background:#fff;border-radius:13px;padding:10px 5px;text-align:center;cursor:pointer;font-family:inherit;transition:transform .16s,box-shadow .16s}.user-summary-card:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(16,45,80,.09)}.user-summary-card strong{display:block;font-size:1.25em;color:var(--dark)}.user-summary-card span{display:block;font-size:.63em;color:var(--gray);margin-top:2px}.user-summary-card.green{border-bottom:3px solid #2e7d32}.user-summary-card.red{border-bottom:3px solid #c62828}.user-summary-card.orange{border-bottom:3px solid #f57c00}
.recovery-explainer{display:flex;gap:10px;align-items:flex-start;padding:13px;border-radius:15px;background:linear-gradient(120deg,#e8f5f3,#eef7ff);color:#174e5f;margin-bottom:12px}.recovery-explainer>i{font-size:1.2em;color:#00897b;margin-top:2px}.recovery-explainer strong{font-size:.85em}.recovery-explainer p{font-size:.73em;line-height:1.65;margin:3px 0 0;color:#42616c}.recovery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0;font-size:.76em;color:var(--gray)}.recovery-free-badge{color:#2e7d32;background:#e8f5e9;border-radius:20px;padding:5px 9px;font-size:.88em}.recovery-card{display:flex;align-items:flex-start;gap:10px;border:1px solid #e5ebf2;border-right:4px solid #f57c00;border-radius:15px;padding:13px;margin-bottom:9px;background:#fff;box-shadow:0 3px 14px rgba(16,45,80,.05)}.recovery-card.has-email{border-right-color:#00897b}.recovery-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#fff3e0;color:#ef6c00;flex-shrink:0}.has-email .recovery-icon{background:#e0f2f1;color:#00796b}.recovery-body{flex:1;min-width:0}.recovery-title{font-size:.9em;font-weight:800;color:var(--dark);margin-bottom:4px}.recovery-meta{font-size:.72em;color:#587080;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recovery-meta i{width:16px;color:var(--blue);text-align:center}.recovery-meta.muted{font-size:.65em;color:#9aa8b3}.recovery-actions{display:flex;flex-direction:column;gap:5px;flex-shrink:0}.recovery-picker{max-width:430px}.recovery-picker .admin-section-heading{margin-top:0}.recovery-picker-row{display:flex;align-items:center;gap:9px;width:100%;border:0;border-bottom:1px solid #edf1f5;background:none;padding:9px 2px;text-align:right;font-family:inherit;cursor:pointer}.recovery-picker-row:hover{background:#f5f8fc}.recovery-picker-row .user-avatar{width:34px;height:34px;font-size:.9em}.recovery-picker-row span:nth-child(2){flex:1;min-width:0}.recovery-picker-row strong,.recovery-picker-row small{display:block}.recovery-picker-row strong{font-size:.8em;color:var(--dark)}.recovery-picker-row small{font-size:.68em;color:var(--gray);margin-top:2px}.recovery-picker-row>i{font-size:.72em;color:var(--gray)}
@media(max-width:620px){.admin-hero{align-items:flex-start;flex-direction:column;padding:16px}.admin-hero-actions{justify-content:flex-start}.admin-insight-strip{grid-template-columns:1fr}.user-summary-grid{grid-template-columns:repeat(2,1fr)}.recovery-card{flex-wrap:wrap}.recovery-actions{width:100%;flex-direction:row}.recovery-actions .btn{flex:1}.admin-section-heading{align-items:flex-start;flex-direction:column}.admin-section-heading>.btn{width:100%}}


/* Public feature refinements — preserve the existing palette and geometry */
.news-bar{background:var(--orange);}
.news-label{background:rgba(122,80,0,.28);}
.ad-duration-fixed{display:flex;align-items:center;gap:10px;background:var(--orange-light);border:1px solid #ffd180;color:#7a5000;border-radius:12px;padding:10px 12px;margin:8px 0 14px;font-size:.82em}.ad-duration-fixed>i{font-size:1.25em;color:var(--orange)}.ad-duration-fixed span{display:flex;flex-direction:column;gap:2px}.ad-duration-fixed small{font-size:.78em;color:#956f32}
.site-share-dialog{text-align:center;max-width:360px;position:relative}.share-close{position:absolute;top:12px;left:14px;border:0;background:none;color:var(--gray);font-size:1.1em;cursor:pointer}.share-icon{width:48px;height:48px;border-radius:14px;background:var(--blue-light);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:1.35em;margin:0 auto 8px}.site-share-dialog h3{color:var(--dark);font-size:1.08em;margin-bottom:4px}.site-share-dialog>p{font-size:.76em;color:var(--gray);margin-bottom:12px}.site-qr-code{width:196px;height:196px;padding:8px;background:#fff;border:1px solid var(--border);border-radius:14px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center}.site-qr-code img,.site-qr-code canvas{max-width:180px;max-height:180px}.site-share-url{direction:ltr;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--bg);border-radius:8px;padding:7px 9px;color:var(--gray);font-size:.68em;margin-bottom:10px}.site-share-actions{display:flex;gap:7px}.site-share-actions .btn{flex:1}
.chat-row{transition:background .16s,transform .16s}.chat-row:hover{background:#f4f8fd;transform:translateX(-2px)}.chat-input-bar{position:sticky;bottom:0;background:#fff;padding-top:8px}.chat-input-bar input{border-radius:22px;border:1px solid var(--border);background:#f7f9fc;padding:9px 13px}.send-btn{transition:transform .16s}.send-btn:active{transform:scale(.94)}
@media(max-width:380px){.site-share-dialog{padding:20px 14px}.site-share-actions{flex-direction:column}}

.admin-feature-duration{text-align:center;max-width:390px;position:relative}.admin-feature-duration h3{margin:4px 0;color:var(--dark)}.admin-duration-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.admin-duration-options .btn{min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.admin-duration-options strong{font-size:.86em}.admin-duration-options small{font-size:.68em;color:var(--gray)}.admin-duration-options .btn-gold small{color:#7a5000}@media(max-width:380px){.admin-duration-options{grid-template-columns:1fr}}
