@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&display=swap');
:root{--primary:#1769c2;--bg:#f7f9fc;--text:#162033;--muted:#687386;--card:#fff;--line:#e9edf2;--shadow:0 2px 10px rgba(20,35,55,.045);font-family:Cairo,Arial,sans-serif}
*{box-sizing:border-box}html{background:#eef2f7}body{margin:0;background:var(--bg);color:var(--text);font-family:Cairo,Arial,sans-serif;font-size:15px}
body.dark{--bg:#10151d;--text:#edf2f8;--muted:#aab4c2;--card:#171e28;--line:#2a3442;--shadow:0 2px 10px #0004}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}
.app-shell{max-width:900px;margin:auto;min-height:100vh;background:var(--bg);position:relative;padding-bottom:82px}
.topbar{height:92px;background:#eef6ff;display:flex;align-items:center;justify-content:space-between;padding:12px 30px;position:sticky;top:0;z-index:20;border-bottom:1px solid #e4edf7}
.dark .topbar{background:#182333}
.brand{display:flex;align-items:center;gap:11px}.brand-icon{width:52px;height:52px;border-radius:16px;background:var(--primary);color:white;display:grid;place-items:center;font-size:28px}
.brand strong{font-size:21px;display:block;line-height:1.25}.brand small{font-size:12px;color:var(--muted)}
.top-actions{display:flex;align-items:center;gap:15px;font-size:27px;color:#526277}.top-actions .plus{color:var(--primary);font-size:34px}.bell{position:relative}.bell b{position:absolute;background:#ed1b24;color:#fff;border-radius:50%;font:700 10px Arial;min-width:19px;height:19px;text-align:center;padding-top:4px;right:-7px;top:-4px}
.page{padding:0 30px}.hero-search{padding:17px 0 0}.hero-title{display:flex;align-items:center;justify-content:space-between}.hero-title h2{font-size:24px;margin:0}.hero-title p{margin:1px 0;color:var(--muted);font-size:13px}.hero-logo{width:52px;height:52px;border-radius:16px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:27px}
.search-box,.big-search{display:flex;align-items:center;background:#eef3fa;border-radius:20px;margin:14px 0 22px;padding:2px 7px}.dark .search-box,.dark .big-search{background:#1b2533}.search-box input,.big-search input{border:0;background:transparent;outline:0;flex:1;padding:13px;font-size:15px;color:var(--text)}.search-box button,.big-search button{border:0;background:transparent;color:var(--primary);font-size:29px;padding:4px 12px}
.section{margin:23px 0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-head h2,.section-title{font-size:21px;margin:7px 0 13px}.section-head a{color:var(--primary);font-size:14px;font-weight:700}
.cat-strip{display:flex;gap:10px;overflow:auto;padding-bottom:4px}.cat-mini{min-width:112px;background:var(--card);border-radius:20px;padding:12px 9px;text-align:center;box-shadow:var(--shadow);border:1px solid var(--line)}.cat-mini i{display:grid;place-items:center;width:55px;height:55px;margin:auto;border-radius:50%;background:var(--c);font-style:normal;font-size:25px}.cat-mini span{display:block;margin-top:7px;font-weight:700;font-size:14px}
.number-card{background:var(--card);border:1px solid var(--line);border-radius:24px;margin:13px 0;padding:19px;position:relative;box-shadow:var(--shadow)}.number-main{display:flex;gap:12px;align-items:flex-start}.avatar{width:56px;height:56px;border-radius:17px;background:#eaf2fb;color:var(--primary);display:grid;place-items:center;font-size:24px;font-weight:800;flex:none}.number-content{flex:1;padding-top:1px}.number-content h3{font-size:19px;margin:0 0 1px;line-height:1.45}.phone{font-size:20px;font-weight:800;color:var(--primary);direction:ltr;display:block;width:max-content}.number-content p{font-size:14px;line-height:1.7;color:#626d7d;margin:5px 0}.dark .number-content p{color:var(--muted)}.address{color:#657080;margin-top:5px;font-size:13px}.heart{position:absolute;left:18px;top:15px;border:0;background:none;font-size:30px;color:#657080;cursor:pointer}.heart.active{color:#e11}.verified,.pinned{position:absolute;right:16px;top:14px;border-radius:11px;padding:6px 9px;font-weight:700;font-size:11px}.verified{background:#dcf8ed;color:#159b6d}.pinned{right:auto;left:58px;background:#fff4d9;color:#a86d16}.card-actions{display:grid;grid-template-columns:1fr 1.25fr 48px;gap:8px;margin-top:14px}.card-actions a,.card-actions button{height:44px;border:0;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:14px}.call{background:var(--primary);color:white}.wa{background:#20cf69;color:white}.share{background:#fff4bf;color:#bd7a00}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.category-card{background:var(--card);border-radius:22px;padding:17px 7px;text-align:center;box-shadow:var(--shadow);border:1px solid var(--line);min-height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center}.category-card i{width:67px;height:67px;border-radius:50%;background:var(--c);display:grid;place-items:center;font-style:normal;font-size:29px;margin-bottom:9px}.category-card strong{font-size:15px}.category-card small{color:var(--muted);margin-top:3px;font-size:11px}
.page-heading{padding:22px 0 9px}.page-heading h1{font-size:27px;margin:0 0 3px}.page-heading p{color:var(--muted);font-size:14px;margin:0}.results-count{color:var(--muted);margin-bottom:7px;font-size:13px}
.floating-add{position:fixed;left:max(25px,calc(50% - 410px));bottom:94px;background:var(--primary);color:white;padding:14px 21px;border-radius:24px;font-size:16px;font-weight:800;box-shadow:0 7px 18px #0003;z-index:30}.floating-add b{font-size:22px;margin-right:12px}
.bottom-nav{height:78px;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(900px,100%);background:#e8f3ff;border-top:1px solid #dae8f6;display:grid;grid-template-columns:repeat(5,1fr);z-index:50;padding-bottom:env(safe-area-inset-bottom)}.dark .bottom-nav{background:#182536;border-color:#263448}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#506074;font-size:12px}.dark .bottom-nav a{color:#aeb8c6}.bottom-nav span{font-size:27px;line-height:1}.bottom-nav a:hover,.bottom-nav a:focus{color:var(--primary)}
.auth-card,.form-card{max-width:540px;margin:32px auto;background:var(--card);border-radius:25px;padding:27px;box-shadow:var(--shadow)}.auth-card{text-align:center}.auth-icon{width:66px;height:66px;border-radius:21px;background:#e9f2ff;color:var(--primary);display:grid;place-items:center;font-size:31px;margin:auto}.auth-card h1{margin:8px 0 3px;font-size:25px}.auth-card p{color:var(--muted);font-size:14px}
label{display:block;font-weight:700;margin:13px 0;text-align:right}label input,label textarea,label select{display:block;width:100%;margin-top:6px;border:1px solid #dfe4ea;border-radius:12px;padding:11px;background:var(--card);color:var(--text);outline:none}label input:focus,label textarea:focus,label select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1769c21c}.primary-btn,.small-btn{display:inline-block;border:0;background:var(--primary);color:#fff;border-radius:13px;padding:12px 18px;font-weight:800;cursor:pointer}.auth-card .primary-btn{width:100%;margin-top:7px}.auth-link a{color:var(--primary);font-weight:800}
.settings-list{background:var(--card);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);margin:13px 0 23px}.settings-list a{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line);font-size:16px}.settings-list a:last-child{border-bottom:0}.settings-list a span{flex:1}.settings-list small{display:block;color:var(--muted);font-size:11px}.danger{color:#d9534f}
.notice{background:var(--card);border-radius:19px;padding:16px;margin:11px 0;display:flex;gap:12px;box-shadow:var(--shadow)}.notice-icon{width:47px;height:47px;border-radius:14px;background:#efe3ff;display:grid;place-items:center;font-size:22px;flex:none}.notice h3{margin:0;font-size:17px}.notice p{color:#606b7a;line-height:1.7;font-size:14px}.empty{background:var(--card);border-radius:22px;padding:35px;text-align:center;color:var(--muted);box-shadow:var(--shadow)}
.chips{display:flex;gap:7px;overflow:auto;margin:9px 0 20px}.chips a{white-space:nowrap;background:var(--card);border:1px solid var(--line);border-radius:25px;padding:7px 12px;font-size:13px}.chips a.active{background:var(--primary);color:white;border-color:var(--primary)}
.flash{margin:12px 0;padding:11px 15px;border-radius:13px;font-size:14px}.flash.success{background:#e8fff2;color:#087e4c}.flash.error{background:#fff0f0;color:#c33}
.request-row,.list-row,.review-row,.request-admin{background:var(--card);border-radius:18px;padding:15px;margin:10px 0;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:12px;align-items:center}.request-row{flex-direction:column;align-items:flex-start}.request-row span,.request-row small,.list-row small{color:var(--muted)}
.admin-header{height:100px;background:#fff;display:flex;align-items:center;justify-content:center;position:sticky;top:0;z-index:20;border-bottom:1px solid #eee}.admin-header h1{font-size:25px}.admin-header .back{position:absolute;right:24px;font-size:42px}.admin-stats{padding-top:20px}.admin-stats h2{font-size:22px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.stat{background:var(--card);border-radius:20px;padding:15px 8px;text-align:center;box-shadow:var(--shadow)}.stat strong{display:block;font-size:28px;color:var(--primary)}.stat.gold strong{color:#e7a51b}.stat.green strong{color:#16a77c}.stat span{color:#657080;font-size:12px}.admin-menu{margin:20px 0}.admin-item{background:var(--card);border-radius:22px;margin:10px 0;padding:17px;display:flex;align-items:center;gap:15px;box-shadow:var(--shadow)}.admin-item i{width:52px;height:52px;border-radius:16px;background:#e9f2ff;color:var(--primary);display:grid;place-items:center;font-size:25px;font-style:normal;flex:none}.admin-item.alert i{background:#fff2d8;color:#e69a0b}.admin-item b{display:block;font-size:17px}.admin-item b em{background:#f11;color:white;border-radius:50%;padding:4px 8px;font-style:normal;font-size:11px;margin-right:6px}.admin-item small{display:block;color:var(--muted);margin-top:3px;font-size:12px}
.admin-login{max-width:440px;margin:50px auto;background:var(--card);border-radius:25px;padding:30px;box-shadow:var(--shadow);text-align:center}.admin-table-wrap{background:var(--card);border-radius:24px;padding:20px;margin:22px 0;box-shadow:var(--shadow)}.table-title{display:flex;justify-content:space-between;align-items:center}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:right;padding:11px;border-bottom:1px solid var(--line);white-space:nowrap;font-size:13px}.inline{display:inline-flex;gap:4px}.inline button,.list-row button,.request-admin button,.review-row button,.inline-add button,.stack-form button{border:0;border-radius:9px;padding:7px 9px;background:#eef3fa;cursor:pointer}.ok{background:#dcf8ed!important;color:#087e4c}.no{background:#ffe3e3!important;color:#c33}.request-actions{display:flex;align-items:center;gap:6px}.request-actions strong{color:#777;font-size:12px}.inline-add{display:grid;grid-template-columns:1.2fr .6fr .7fr 1.5fr auto;gap:6px;margin:16px 0}.inline-add input,.stack-form input{padding:10px;border:1px solid #ddd;border-radius:11px}.stack-form{display:grid;gap:8px;margin:16px 0}.admin-form{max-width:620px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.admin-body .page{padding-bottom:30px}
@media(max-width:650px){.topbar{height:86px;padding:10px 16px}.brand strong{font-size:19px}.brand-icon{width:48px;height:48px}.top-actions{gap:10px;font-size:24px}.page{padding:0 15px}.category-grid{gap:9px}.category-card{min-height:140px}.category-card i{width:62px;height:62px}.number-card{padding:17px}.number-content h3{font-size:18px}.phone{font-size:19px}.card-actions{grid-template-columns:1fr 1.25fr 46px}.floating-add{left:20px;bottom:92px}.admin-header{height:88px}.admin-header h1{font-size:20px}.stat-grid{gap:7px}.stat{padding:13px 5px}.stat strong{font-size:25px}.stat span{font-size:11px}.admin-item{padding:15px}.admin-item b{font-size:16px}.inline-add{grid-template-columns:1fr 1fr}.inline-add input:nth-child(5){grid-column:span 2}.pinned{left:56px}.verified{right:12px}.heart{left:10px}}

.banner-strip{display:flex;gap:10px;overflow:auto;margin:4px 0 20px}.banner-card{min-width:75%;height:88px;border-radius:20px;background:linear-gradient(135deg,#1769c2,#4e91dc);color:#fff;display:flex;align-items:center;gap:12px;padding:12px 15px;overflow:hidden}.banner-card img{width:80px;height:64px;object-fit:cover;border-radius:13px}.banner-card b{display:block;font-size:16px}.banner-card small{display:block;margin-top:3px;opacity:.85;font-size:12px}
