:root{--pri:#1a2a3a;--sec:#c5a059;--bg:#f8f9fa;--card:#fff;--txt:#2b2b2b;--mut:#666;--line:#e6e6e6;--err:#c0392b;--sh:0 10px 20px rgba(0,0,0,.08)}
*{box-sizing:border-box;margin:0;padding:0;font-family:'Cairo',Tahoma,sans-serif}
html{scroll-behavior:smooth}body{background:var(--bg);color:var(--txt);line-height:1.6}
header{background:var(--pri);color:#fff;padding:.8rem 5%;display:flex;justify-content:space-between;align-items:center;gap:10px;position:sticky;top:0;z-index:50;flex-wrap:wrap}
.logo{font-size:1.4rem;font-weight:800;color:var(--sec);text-decoration:none}
nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}nav a{color:#fff;text-decoration:none;font-weight:600}
button{cursor:pointer;font-weight:700}
.btn{background:var(--sec);color:#1a1a1a;border:0;padding:9px 18px;border-radius:8px;font-size:.95rem;text-decoration:none;display:inline-block}
.btn:disabled{opacity:.6;cursor:wait}.btn.sm{padding:5px 12px;font-size:.85rem}.btn.red{background:var(--err);color:#fff}
.hero{background:linear-gradient(135deg,#1a2a3a,#2e4a62 60%,#c5a059);color:#fff;text-align:center;padding:4rem 1rem 4.5rem}
.hero h1{font-size:clamp(1.6rem,5vw,2.5rem);margin-bottom:.6rem}
.filters{background:var(--card);max-width:900px;margin:-28px auto 30px;padding:16px;border-radius:12px;box-shadow:var(--sh);display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.fbtn{padding:8px 20px;border:2px solid var(--sec);background:transparent;color:var(--txt);border-radius:25px}
.fbtn.on,.fbtn:hover{background:var(--pri);color:var(--sec);border-color:var(--pri)}
.wrap{max-width:1200px;margin:0 auto;padding:20px 20px 50px}
h2.t{text-align:center;margin:10px 0 28px;font-size:1.8rem}h2.t::after{content:"";display:block;width:70px;height:4px;background:var(--sec);margin:8px auto 0;border-radius:2px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px}
.card{background:var(--card);border-radius:14px;overflow:hidden;box-shadow:var(--sh)}
.pic{height:140px;display:flex;align-items:center;justify-content:center;font-size:3.2rem;position:relative}
.pic.makkah{background:linear-gradient(135deg,#1a2a3a,#3b2f1a)}.pic.madinah{background:linear-gradient(135deg,#1e5a3f,#0f3326)}.pic.jeddah{background:linear-gradient(135deg,#1c5d7a,#0f3347)}
.bd{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.55);color:var(--sec);font-size:.78rem;padding:3px 10px;border-radius:14px}
.inf{padding:16px;display:flex;flex-direction:column;gap:6px}.loc{color:var(--mut);font-size:.88rem}.stars{color:#f39c12}
.pr{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;margin-top:6px}.pr b{font-size:1.25rem}
.empty{grid-column:1/-1;text-align:center;color:var(--mut);padding:24px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:22px}.kpi,.panel{background:var(--card);border-radius:12px;padding:14px;box-shadow:var(--sh);margin-bottom:6px}.kpi small{color:var(--mut);display:block}.kpi b{font-size:1.25rem}
.tw{overflow-x:auto}table{width:100%;border-collapse:collapse;background:var(--card);border-radius:10px;overflow:hidden;box-shadow:var(--sh)}
th,td{padding:10px 12px;text-align:right;border-bottom:1px solid var(--line);font-size:.9rem;white-space:nowrap}th{background:var(--pri);color:#fff}
.tag{padding:2px 10px;border-radius:12px;font-size:.78rem;font-weight:700;background:var(--line)}.tag.ok{background:#d6f3e4;color:#14603d}.tag.wait{background:#fff0c9;color:#7a5a00}.tag.x{background:#fadbd8;color:#922}
.bar{display:grid;grid-template-columns:150px 1fr auto;gap:10px;align-items:center;margin:8px 0;font-size:.88rem}.bar i{display:block;height:12px;background:var(--sec);border-radius:6px}
.atabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:20px}
footer{background:var(--pri);color:#b5bcc3;text-align:center;padding:24px 20px;border-top:3px solid var(--sec);font-size:.9rem}
dialog{border:0;border-radius:14px;padding:0;width:min(500px,94vw);max-height:92vh;margin:auto;box-shadow:0 20px 60px rgba(0,0,0,.4)}dialog::backdrop{background:rgba(0,0,0,.55)}
.dh{background:var(--pri);color:var(--sec);padding:14px 18px;display:flex;justify-content:space-between;align-items:center}.dh button{background:none;border:0;color:#fff;font-size:1.4rem}
.db{padding:18px;overflow-y:auto;max-height:76vh}
label{display:block;font-weight:600;font-size:.88rem;margin:10px 0 4px}input,select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font-size:.95rem}
input:focus,select:focus,button:focus-visible{outline:3px solid var(--sec)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tabs{display:flex;gap:8px;margin-bottom:6px}.tabs button{flex:1;padding:9px;border:0;border-bottom:3px solid var(--line);background:none}.tabs button.on{border-color:var(--sec);color:var(--sec)}
.msg{margin-top:10px;padding:9px 12px;border-radius:8px;font-size:.88rem;background:#fadbd8;color:#922;display:none}.msg.show{display:block}.msg.ok{background:#d6f3e4;color:#14603d}
.sum{border:1px dashed var(--sec);border-radius:10px;padding:12px;margin:14px 0;font-size:.92rem}.sum div{display:flex;justify-content:space-between;padding:2px 0}.sum .tot{font-weight:800;border-top:1px solid var(--line);margin-top:6px;padding-top:6px}
.full{width:100%;margin-top:14px;padding:12px}.note{font-size:.78rem;color:var(--mut);margin-top:8px}.center{text-align:center;padding:60px 20px}
@media(max-width:560px){.row{grid-template-columns:1fr}.bar{grid-template-columns:90px 1fr}.bar em{grid-column:1/-1}}
