:root{
  --green-900:#043b33;--green-800:#07564b;--green-700:#0b6b5c;--green-600:#0e7d6c;--green-100:#eaf7f3;--green-50:#f5fbf8;
  --gold:#cba35c;--gold-100:#fff6df;--ink:#17221f;--muted:#6f817b;--line:#dbe8e4;--danger:#d94040;--warning:#e5a221;--bg:#f6faf9;--white:#fff;
  --primary:var(--green-700);--primary-dark:var(--green-900);--accent:var(--gold);--soft:var(--green-50);--text:var(--ink);--radius:22px;--radius-sm:14px;--shadow:0 12px 32px rgba(7,86,75,.08);--shadow-sm:0 8px 18px rgba(7,86,75,.06);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Tajawal","Segoe UI",Tahoma,Arial,sans-serif;background:var(--bg);color:var(--ink);direction:rtl;line-height:1.75}.ltr{direction:ltr}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1240px,calc(100% - 36px));margin:auto}.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{height:78px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:12px;min-width:260px}.brand img{width:54px;height:54px}.brand strong{display:block;color:var(--green-900);font-size:18px}.brand span{display:block;color:var(--muted);font-size:12px;margin-top:-2px}.nav-links{display:flex;gap:20px;align-items:center;justify-content:center;flex:1}.nav-links a{font-weight:700;color:#2c403c;font-size:14px;padding:10px 2px;border-bottom:3px solid transparent}.nav-links a.active,.nav-links a:hover{color:var(--green-700);border-color:var(--green-700)}.nav-actions{display:flex;align-items:center;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:14px;padding:12px 18px;font-weight:800;cursor:pointer;transition:.18s ease;font-family:inherit}.btn-primary{background:linear-gradient(135deg,var(--green-700),var(--green-900));color:white;box-shadow:0 12px 24px rgba(7,86,75,.18)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(7,86,75,.22)}.btn-outline{background:white;color:var(--green-700);border:1px solid var(--line)}.btn-danger{background:var(--danger);color:#fff}.btn-soft{background:var(--green-100);color:var(--green-800)}.chip{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:var(--green-100);color:var(--green-800);font-weight:800;font-size:12px}.chip.gold{background:var(--gold-100);color:#8b641b}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px}.card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card h3,.card h2{margin:.15rem 0;color:var(--green-900)}.muted{color:var(--muted)}.hero{position:relative;overflow:hidden;background:url('../img/hero-pattern.svg') center/cover no-repeat;border-bottom:1px solid var(--line)}.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;min-height:520px;padding:55px 0}.hero h1{font-size:48px;line-height:1.25;margin:0 0 18px;color:var(--green-900);letter-spacing:-1.5px}.hero p{font-size:18px;color:#415653;margin:0 0 24px;max-width:620px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-visual{position:relative}.device{border:1px solid rgba(11,107,92,.18);border-radius:34px;background:rgba(255,255,255,.88);box-shadow:0 30px 70px rgba(7,86,75,.14);padding:18px;transform:rotate(-1deg)}.dashboard-mini{background:#fff;border-radius:24px;padding:18px;display:grid;gap:12px}.mini-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini-card{background:var(--green-50);border:1px solid var(--line);border-radius:16px;padding:12px;text-align:center}.bar{height:10px;background:var(--green-100);border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--green-700),var(--gold));border-radius:999px}.section{padding:42px 0}.section-head{text-align:center;margin-bottom:26px}.section-head h2{font-size:34px;margin:0;color:var(--green-900)}.section-head p{margin:8px auto 0;color:var(--muted);max-width:680px}.service-card{display:flex;flex-direction:column;gap:12px;min-height:205px}.icon{width:52px;height:52px;border-radius:18px;background:var(--green-100);color:var(--green-700);display:grid;place-items:center;font-size:24px}.service-card .actions{margin-top:auto}.stats-strip{background:linear-gradient(135deg,var(--green-900),var(--green-700));color:#fff;border-radius:var(--radius);padding:20px;display:grid;grid-template-columns:repeat(6,1fr);gap:14px;box-shadow:var(--shadow)}.stat{text-align:center;border-left:1px solid rgba(255,255,255,.18)}.stat:last-child{border-left:0}.stat b{font-size:28px;color:#fff7dd;display:block}.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.step{position:relative;background:white;border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center}.step .num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;background:var(--green-700);color:#fff;font-weight:900}.form-control,.select-control,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px 14px;font-family:inherit;outline:none}.form-control:focus,.select-control:focus,textarea:focus{border-color:var(--green-600);box-shadow:0 0 0 4px rgba(11,107,92,.08)}label{display:block;font-weight:800;margin-bottom:7px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.alert{border-radius:16px;padding:13px 16px;margin:16px 0;font-weight:800}.alert.success{background:#e9fbf1;color:#08623f;border:1px solid #bdebd1}.alert.error{background:#fff0f0;color:#a12020;border:1px solid #ffd0d0}.auth-shell{display:grid;grid-template-columns:.95fr 1.05fr;min-height:720px;background:white;border-radius:30px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);margin:34px auto}.auth-art{background:url('../img/hero-pattern.svg') center/cover no-repeat;padding:42px;display:flex;flex-direction:column;justify-content:space-between}.auth-forms{padding:38px}.tabs{display:flex;border-bottom:1px solid var(--line);gap:16px;margin-bottom:22px}.tab{font-weight:900;color:var(--muted);padding:0 0 12px;border-bottom:3px solid transparent}.tab.active{color:var(--green-700);border-color:var(--green-700)}.dashboard-layout{display:grid;grid-template-columns:270px 1fr;gap:22px;align-items:start;padding:26px 0}.side{position:sticky;top:96px;background:linear-gradient(180deg,var(--green-900),var(--green-700));border-radius:26px;padding:16px;color:#fff;box-shadow:var(--shadow)}.side a{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:14px;color:rgba(255,255,255,.9);font-weight:800}.side a.active,.side a:hover{background:rgba(255,255,255,.14);color:#fff}.profile-mini{display:flex;gap:12px;align-items:center;padding:12px;border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:10px}.avatar{width:58px;height:58px;border-radius:50%;background:#fff;overflow:hidden;border:3px solid rgba(255,255,255,.3)}.dash-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.dash-head h1{margin:0;color:var(--green-900)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpi{background:white;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow-sm)}.kpi b{font-size:30px;color:var(--green-800)}.progress-circle{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green-700) 0 85%,#e4eeeb 85%);margin:auto}.progress-circle span{width:88px;height:88px;border-radius:50%;background:white;display:grid;place-items:center;font-size:24px;font-weight:900;color:var(--green-800)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:14px;border-bottom:1px solid var(--line);text-align:right}.table th{font-size:13px;color:var(--muted);background:var(--green-50)}.badge{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}.badge.ok{background:#e7f8ed;color:#08703f}.badge.warn{background:#fff6df;color:#8b641b}.badge.danger{background:#fff0f0;color:#a12020}.map-placeholder{background:linear-gradient(135deg,#edf5f1,#fbfcfc);border:1px dashed #b8d4cc;border-radius:22px;min-height:360px;position:relative;overflow:hidden}.map-placeholder:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 60% 45%, rgba(217,64,64,.18), transparent 13%),radial-gradient(circle at 42% 55%, rgba(229,162,33,.18), transparent 12%),linear-gradient(30deg,transparent 48%,rgba(11,107,92,.18) 49%,transparent 51%);}.pin{position:absolute;width:32px;height:32px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--green-700);box-shadow:0 10px 20px rgba(7,86,75,.2)}.pin span{display:block;transform:rotate(45deg);color:#fff;text-align:center;font-size:14px;line-height:32px}.footer{background:linear-gradient(135deg,var(--green-900),var(--green-700));color:#fff;margin-top:44px;padding:34px 0 18px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:22px}.footer h4{margin:0 0 10px;color:#fff7dd}.footer a,.footer p{color:rgba(255,255,255,.82);margin:.35rem 0}.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.12);margin-top:24px;padding-top:14px;color:rgba(255,255,255,.72)}.mobile-menu{display:none}.hide-mobile{display:inline-flex}.services-layout{display:grid;grid-template-columns:280px 1fr;gap:18px}.map-layout{display:grid;grid-template-columns:260px 1fr 300px;gap:18px;align-items:start}.booking-layout{display:grid;grid-template-columns:1fr 330px;gap:18px;align-items:start}
@media (max-width:980px){.services-layout,.map-layout,.booking-layout{grid-template-columns:1fr}.container{width:min(100% - 24px,980px)}.nav{height:auto;min-height:70px;flex-wrap:wrap;padding:10px 0}.mobile-menu{display:inline-flex}.nav-links{display:none;width:100%;flex-direction:column;align-items:stretch;background:white;border-top:1px solid var(--line);padding:10px}.nav-links.open{display:flex}.brand{min-width:auto;flex:1}.brand span{display:none}.hero-inner,.auth-shell,.dashboard-layout{grid-template-columns:1fr}.hero h1{font-size:34px}.grid-4,.grid-5,.kpi-grid,.journey,.stats-strip{grid-template-columns:repeat(2,1fr)}.side{position:static}.form-grid,.grid-2,.grid-3{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.auth-art{min-height:360px}.hide-mobile{display:none!important}}
@media (max-width:620px){.grid-4,.grid-5,.kpi-grid,.journey,.stats-strip{grid-template-columns:1fr}.hero-inner{padding:30px 0}.section-head h2{font-size:26px}.nav-actions{width:100%;justify-content:flex-start}.footer-grid{grid-template-columns:1fr}.card{padding:17px}.auth-forms,.auth-art{padding:24px}.stats-strip{border-radius:18px}.stat{border-left:0;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:12px}.stat:last-child{border-bottom:0}.dash-head{align-items:flex-start;flex-direction:column;gap:10px}}
/* Phase 2 - permit workflow */
.btn-sm{padding:7px 11px;border-radius:10px;font-size:12px}.mini-metric{min-height:120px}.permit-summary-card{overflow:hidden}.auth-required{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.request-list{display:grid;gap:10px}.request-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:var(--green-50)}.request-row small{display:block;color:var(--muted)}.empty-state{border:1px dashed #b8d4cc;background:var(--green-50);border-radius:18px;padding:20px;text-align:center;color:var(--muted);font-weight:800}.vertical-steps{display:grid;gap:12px}.vertical-steps>div{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start}.vertical-steps b{width:38px;height:38px;border-radius:50%;background:var(--green-100);color:var(--green-700);display:grid;place-items:center}.vertical-steps.rich>div{border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}.vertical-steps.rich>div.completed b,.vertical-steps.rich>div.approved b{background:var(--green-700);color:#fff}.vertical-steps.rich>div.active b,.vertical-steps.rich>div.under_review b{background:var(--gold);color:#fff}.vertical-steps.rich>div.failed b,.vertical-steps.rich>div.rejected b{background:var(--danger);color:#fff}.vertical-steps small{display:block;color:var(--muted);font-size:12px}.form-section-title{margin-top:28px;padding:10px 14px;border-right:4px solid var(--green-700);background:var(--green-50);border-radius:14px;color:var(--green-900)}.upload-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.upload-box{border:1px dashed #9fc8bd;background:var(--green-50);border-radius:18px;padding:16px;min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--green-800);font-weight:900;cursor:pointer}.upload-box input{display:none}.notice-line{margin-top:18px;border:1px solid #c7e5da;background:#f4fffb;border-radius:16px;padding:12px 14px;color:var(--green-800);font-weight:800}.data-list{display:grid;grid-template-columns:150px 1fr;gap:8px 12px;margin:0}.data-list dt{font-weight:900;color:var(--green-900)}.data-list dd{margin:0;color:#354843}.doc-list{display:grid;gap:10px}.doc-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);background:#fff;border-radius:16px}.review-item{border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:10px;background:var(--green-50)}.review-item p{margin:.2rem 0}.review-item small{color:var(--muted)}.success-card{background:linear-gradient(135deg,#f5fffb,#fff)}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.filters-bar{display:flex;gap:10px;flex-wrap:wrap}.digital-card-ui{min-height:430px;background:linear-gradient(135deg,#fff,#f4fbf8);position:relative;overflow:hidden}.digital-card-ui:after{content:"";position:absolute;inset:auto -80px -100px auto;width:260px;height:260px;border-radius:50%;background:rgba(203,163,92,.12)}.qr-box{margin-top:20px;border:1px dashed var(--line);background:#fff;border-radius:20px;padding:18px;text-align:center}.qr-box b{font-size:54px;color:var(--green-900)}.qr-box small{display:block;color:var(--muted);overflow:auto}.empty-card{text-align:center;max-width:760px;margin:auto}.notification-list{display:grid;gap:12px}.notification-item{border:1px solid var(--line);border-right:5px solid var(--green-700);border-radius:18px;padding:14px;background:#fff}.notification-item.success{border-right-color:#168b55;background:#f6fffa}.notification-item.warning{border-right-color:#e5a221;background:#fffaf0}.notification-item.danger{border-right-color:#d94040;background:#fff5f5}.notification-item p{margin:.25rem 0}.notification-item small{color:var(--muted)}
@media (max-width:980px){.upload-grid{grid-template-columns:repeat(2,1fr)}.data-list{grid-template-columns:1fr}.auth-required{align-items:flex-start}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.upload-grid{grid-template-columns:1fr}.admin-actions{flex-direction:column}.admin-actions .btn{width:100%}.grid-4{grid-template-columns:1fr}.data-list{gap:4px}.request-row,.doc-item{align-items:flex-start;flex-direction:column}}
/* Phase 3 - housing, transport and itinerary */
.actions-inline{display:flex;gap:10px;flex-wrap:wrap}.phase3-page .dash-head{align-items:flex-start}.phase3-kpis .kpi{position:relative;overflow:hidden}.phase3-kpis .kpi:after{content:"";position:absolute;left:-35px;bottom:-45px;width:110px;height:110px;border-radius:50%;background:rgba(203,163,92,.10)}.booking-hero-card{display:grid;grid-template-columns:1.1fr 1.5fr;gap:18px;align-items:end;background:linear-gradient(135deg,#ffffff,#f2fbf7);border:1px solid #cfe5dd}.booking-hero-card h2{color:var(--green-900);font-size:30px;margin:.55rem 0}.phase3-search{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:end}.refined-booking-layout{grid-template-columns:minmax(0,1fr) 330px}.big-title{margin:22px 0 14px}.big-title h2{margin:0;color:var(--green-900)}.housing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.hotel-card{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:0;overflow:hidden}.hotel-visual{min-height:100%;background:linear-gradient(135deg,#e7f4ef,#fff7df);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--green-800);font-weight:900}.hotel-visual span{font-size:54px}.hotel-body{padding:18px}.icon-btn{width:38px;height:38px;border-radius:14px;border:1px solid var(--line);background:white;color:var(--green-700);font-size:19px}.hotel-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.hotel-meta span{background:var(--green-50);border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;color:var(--green-800)}.mini-booking-form{display:grid;gap:10px;margin-top:12px}.form-grid.compact{gap:10px}.form-grid.compact label{margin:0}.transport-title{margin-top:28px}.transport-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.transport-card{display:grid;grid-template-columns:66px 1fr;gap:14px;align-items:start}.transport-icon{width:60px;height:60px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green-100),#fff);font-size:30px}.route-form{grid-column:1/-1;display:grid;gap:10px;background:var(--green-50);border:1px solid var(--line);border-radius:18px;padding:12px}.booking-summary-stack{display:grid;gap:16px;align-content:start}.sticky-summary{position:sticky;top:96px}.summary-card h2{color:var(--green-800);font-size:28px;margin:.4rem 0}.mini-map{height:220px;border:1px dashed #bdd7cf;border-radius:22px;background:radial-gradient(circle at 72% 40%,rgba(217,64,64,.15),transparent 14%),radial-gradient(circle at 42% 64%,rgba(229,162,33,.15),transparent 16%),linear-gradient(135deg,#edf5f1,#fbfcfc);position:relative;overflow:hidden}.mini-map:after{content:"";position:absolute;inset:55% 10% auto 10%;border-top:4px dashed rgba(11,107,92,.35);transform:rotate(-12deg)}.mini-map .pin{position:absolute;transform:none;width:44px;height:44px;border-radius:16px;background:white;box-shadow:var(--shadow-sm);display:grid;place-items:center;font-size:22px}.mini-map .pin.a{right:20%;top:45%}.mini-map .pin.b{left:22%;top:25%}.mini-map .pin.c{left:45%;bottom:20%}.itinerary-card{margin-top:24px}.timeline{position:relative;display:grid;gap:12px;margin-top:14px}.timeline:before{content:"";position:absolute;right:21px;top:18px;bottom:18px;width:3px;background:linear-gradient(var(--green-700),var(--gold));border-radius:999px}.timeline-step{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:start;position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px}.timeline-dot{width:44px;height:44px;border-radius:50%;background:var(--green-700);color:#fff;display:grid;place-items:center;font-weight:900;z-index:2}.timeline-step h3{margin:.1rem 0;color:var(--green-900)}.add-step-form{margin-top:20px;background:var(--green-50);border:1px solid var(--line);border-radius:20px;padding:18px}.my-bookings{margin-top:22px}.booking-row{align-items:center}.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-admin-form{display:flex;gap:8px;align-items:center}.inline-admin-form select{min-width:110px}.mini-status{border:1px solid var(--line);border-radius:18px;padding:16px;background:var(--green-50);display:grid;gap:6px}.mini-status b{font-size:30px}.mini-status span{font-weight:900;color:var(--green-900)}.mini-status small{color:var(--muted)}
@media (max-width:1180px){.housing-grid,.transport-grid{grid-template-columns:1fr}.hotel-card{grid-template-columns:140px 1fr}.phase3-search{grid-template-columns:repeat(2,1fr)}}
@media (max-width:980px){.booking-hero-card,.refined-booking-layout{grid-template-columns:1fr}.sticky-summary{position:static}.phase3-search{grid-template-columns:1fr 1fr}.transport-card{grid-template-columns:56px 1fr}.timeline-step{grid-template-columns:44px 1fr}.timeline-step .chip{grid-column:2}}
@media (max-width:620px){.phase3-search,.housing-grid,.transport-grid{grid-template-columns:1fr}.hotel-card{grid-template-columns:1fr}.hotel-visual{min-height:160px}.booking-row,.row-actions,.inline-admin-form{align-items:flex-start;flex-direction:column}.phase3-page .dash-head{gap:12px}.actions-inline,.actions-inline .btn{width:100%}.transport-card{grid-template-columns:1fr}.transport-icon{width:100%;height:76px}.timeline-step{grid-template-columns:1fr}.timeline:before{display:none}.timeline-dot{width:38px;height:38px}}

/* Phase 4 - Health, emergency, appointments and medical admin */
.phase4-page .health-area{min-width:0}.health-hero{display:grid;grid-template-columns:1.5fr .7fr;gap:24px;align-items:center;min-height:280px;background:radial-gradient(circle at 20% 20%,rgba(203,163,92,.12),transparent 28%),linear-gradient(135deg,#ffffff,#f0fbf7);overflow:hidden}.health-hero h1{font-size:42px;line-height:1.25;margin:10px 0;color:var(--green-900)}.health-hero p{color:#40534f;font-size:17px;max-width:680px}.health-hero-visual{position:relative;min-height:190px;display:grid;place-items:center}.ambulance-card{width:150px;height:150px;border-radius:42px;background:linear-gradient(135deg,#fff,#f7fff9);box-shadow:var(--shadow);display:grid;place-items:center;font-size:72px;border:1px solid var(--line);z-index:2}.health-pulse{position:absolute;inset:0;display:grid;place-items:center}.health-pulse:before,.health-pulse:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;border:2px solid rgba(11,107,92,.16);animation:pulse 2.4s infinite}.health-pulse:after{animation-delay:.7s}.health-pulse span{width:230px;height:10px;background:linear-gradient(90deg,transparent,var(--danger),var(--green-700),transparent);clip-path:polygon(0 50%,20% 50%,25% 10%,32% 90%,42% 50%,54% 50%,58% 20%,66% 80%,75% 50%,100% 50%);opacity:.85}@keyframes pulse{from{transform:scale(.7);opacity:.7}to{transform:scale(1.45);opacity:0}}.health-kpis{margin:18px 0}.kpi b{display:block;font-size:34px;line-height:1.1;color:var(--green-800);margin:6px 0}.kpi span{font-weight:900;color:var(--green-900)}.health-main-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.health-main-column{display:grid;gap:18px}.health-side-column{display:grid;gap:18px}.profile-health-top{display:flex;align-items:center;gap:14px;margin-bottom:18px}.profile-health-top img{width:78px;height:78px;border-radius:24px;background:var(--green-50);border:1px solid var(--line);padding:8px}.profile-health-top h3{margin:0;color:var(--green-900)}.health-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.health-mini-stats span{background:var(--green-50);border:1px solid var(--line);border-radius:16px;padding:10px;display:grid;gap:2px}.health-mini-stats b{color:var(--green-800);font-size:18px}.health-mini-stats small{color:var(--muted);font-size:12px}.wearable-card{overflow:hidden;position:relative}.watch-ui{width:118px;height:156px;border-radius:34px;background:linear-gradient(160deg,#0b1715,#263c38);margin:8px auto 18px;display:grid;place-items:center;color:white;border:8px solid #111;box-shadow:0 20px 36px rgba(0,0,0,.12)}.watch-ui b{font-size:34px;color:#fff}.watch-ui small{margin-top:-52px;color:#d4f8ef}.vitals-list{display:grid;gap:8px}.vitals-list p{margin:0;border:1px solid var(--line);border-radius:14px;padding:8px 10px;display:flex;justify-content:space-between;gap:12px;background:#fff}.vitals-list span{color:var(--muted)}.vitals-list b{color:var(--green-900)}.health-blocks{margin-top:0}.emergency-card{border-color:#ffd2d2;background:linear-gradient(135deg,#fff7f7,#fff)}.emergency-number{font-size:56px;font-weight:900;color:var(--danger);letter-spacing:2px;line-height:1}.quick-emergency-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.quick-emergency-actions span{background:white;border:1px solid #ffd6d6;color:#a82d2d;border-radius:999px;padding:6px 9px;font-weight:800;font-size:12px}.vaccine-list,.facility-list,.med-list,.consult-list{display:grid;gap:10px}.vaccine-item,.facility-item,.med-item,.consult-item,.mini-alert{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px}.vaccine-item{justify-content:flex-start}.vaccine-item b,.facility-item b,.med-item b,.consult-item b,.mini-alert b{color:var(--green-900)}.vaccine-item small,.facility-item small,.med-item small,.consult-item small,.mini-alert small{display:block;color:var(--muted)}.vaccine-item.verified{background:#f5fffa;border-color:#bfe8d1}.facilities-card{margin-top:0}.health-map{position:relative;min-height:310px;border:1px dashed #b8d9d0;border-radius:24px;background:radial-gradient(circle at 35% 45%,rgba(11,107,92,.10),transparent 16%),radial-gradient(circle at 70% 38%,rgba(217,64,64,.12),transparent 14%),linear-gradient(135deg,#eef7f4,#fff);overflow:hidden;display:grid;place-items:center;font-size:64px}.health-map:after{content:"";position:absolute;inset:48% 9% auto 10%;border-top:5px dashed rgba(11,107,92,.28);transform:rotate(-14deg)}.health-map i{position:absolute;width:32px;height:32px;border-radius:50%;background:var(--green-700);box-shadow:0 0 0 8px rgba(11,107,92,.1)}.health-map .p1{right:24%;top:38%}.health-map .p2{left:30%;top:28%;background:var(--danger)}.health-map .p3{left:44%;bottom:22%;background:var(--gold)}.span-2{grid-column:span 2}.stack-form{display:grid;gap:10px}.stack-form input,.stack-form select,.stack-form textarea,.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:white;font-family:inherit}.appointments-list{margin-top:16px}.guidelines-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.guide-card{border:1px solid var(--line);background:var(--green-50);border-radius:18px;padding:14px;display:grid;gap:8px;min-height:145px}.guide-card span{font-size:30px}.guide-card b{color:var(--green-900)}.guide-card small{color:var(--muted)}.progress-ring{position:relative;width:150px;height:150px;margin:10px auto 18px;border-radius:50%;background:conic-gradient(var(--green-700) var(--p,75%),#e8f1ee 0);display:grid;place-items:center}.progress-ring:after{content:"";position:absolute;inset:14px;background:white;border-radius:50%}.progress-ring b{z-index:1;font-size:30px;color:var(--green-900)}.safety-checks{display:grid;gap:7px}.safety-checks p{margin:0;background:var(--green-50);border-radius:12px;padding:8px}.lang-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lang-grid span{background:var(--green-50);border:1px solid var(--line);border-radius:14px;padding:9px;font-weight:900}.toggle-pill{border:0;border-radius:999px;padding:7px 12px;background:#e8eeec;color:#52635f;font-weight:900;font-family:inherit;cursor:pointer}.toggle-pill.on{background:var(--green-100);color:var(--green-800)}.modal{position:fixed;inset:0;background:rgba(6,38,33,.45);display:none;align-items:center;justify-content:center;z-index:200;padding:20px}.modal.show{display:flex}.modal-card{width:min(560px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:26px;box-shadow:0 34px 90px rgba(0,0,0,.18);border:1px solid var(--line);padding:24px;position:relative}.modal-card.wide{width:min(860px,100%)}.modal-card h2{margin-top:0;color:var(--green-900)}.modal-close{position:absolute;top:16px;left:16px;border:0;background:var(--green-50);color:var(--green-900);width:38px;height:38px;border-radius:14px;font-size:25px;cursor:pointer}.admin-health-row{align-items:stretch}.wide-inline{display:grid!important;grid-template-columns:140px 1fr 1fr auto}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:separate;border-spacing:0 8px;min-width:760px}.admin-table th{text-align:right;color:var(--muted);font-size:13px}.admin-table td{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px}.admin-table td:first-child{border-radius:0 14px 14px 0;border-right:1px solid var(--line)}.admin-table td:last-child{border-radius:14px 0 0 14px;border-left:1px solid var(--line)}
@media (max-width:1180px){.health-main-grid{grid-template-columns:1fr}.health-side-column{grid-template-columns:repeat(3,1fr)}.sticky-summary{position:static}.guidelines-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:980px){.health-hero{grid-template-columns:1fr}.health-side-column,.grid-4,.grid-2{grid-template-columns:1fr!important}.span-2{grid-column:auto}.health-mini-stats{grid-template-columns:1fr}.wide-inline{grid-template-columns:1fr!important}.admin-health-row{flex-direction:column;align-items:stretch}.health-hero h1{font-size:34px}}
@media (max-width:620px){.phase4-page .btn{width:100%}.profile-health-top,.vaccine-item,.facility-item,.med-item,.consult-item,.mini-alert{align-items:flex-start;flex-direction:column}.guidelines-grid{grid-template-columns:1fr}.modal{padding:10px}.modal-card{border-radius:20px;padding:18px}.hero-actions{width:100%}.hero-actions .btn{width:100%}}

/* Phase 5 - Interactive map and smart guidance */
.phase5-page .map-area{min-width:0}.public-map-area{grid-column:1/-1}.map-hero{display:grid;grid-template-columns:1.3fr .8fr;gap:22px;align-items:center;background:radial-gradient(circle at 20% 10%,rgba(203,163,92,.14),transparent 30%),linear-gradient(135deg,#fff,#eef9f5);overflow:hidden}.map-hero h1{font-size:42px;line-height:1.25;margin:10px 0;color:var(--green-900)}.map-hero p{font-size:17px;color:#3f5650;max-width:760px}.map-hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.map-hero-stats div{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow-sm)}.map-hero-stats b{font-size:30px;color:var(--green-800);display:block}.map-hero-stats span{font-weight:800;color:var(--muted)}.map-shell{display:grid;grid-template-columns:250px minmax(0,1fr) 315px;gap:18px;align-items:stretch;margin-top:18px}.map-controls-panel,.route-panel{position:sticky;top:96px;align-self:start}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:15px;padding:10px 12px;margin-bottom:8px;background:#fff;font-weight:800}.toggle-row input{accent-color:var(--green-700)}.toggle-row b{font-size:20px}.crowd-legend{background:var(--green-50);border:1px solid var(--line);border-radius:18px;padding:14px;margin:14px 0}.crowd-legend h4{margin:0 0 8px;color:var(--green-900)}.legend-bar{height:12px;border-radius:999px;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.legend-bar i:nth-child(1){background:#30a46c}.legend-bar i:nth-child(2){background:#e5a221}.legend-bar i:nth-child(3){background:#f97316}.legend-bar i:nth-child(4){background:#d94040}.legend-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:5px}.weather-mini{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;margin-bottom:12px}.weather-mini span{font-size:26px}.weather-mini b{font-size:24px;color:var(--green-900)}.weather-mini small{display:block;color:var(--muted)}.live-map-card{padding:14px}.map-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.map-toolbar .btn{padding:8px 12px;font-size:12px}.smart-map-canvas{position:relative;min-height:610px;border:1px solid #cfe4dd;border-radius:26px;overflow:hidden;background:linear-gradient(120deg,rgba(255,255,255,.78),rgba(240,249,245,.72)),radial-gradient(circle at 50% 50%,rgba(11,107,92,.13),transparent 13%),linear-gradient(25deg,transparent 47%,rgba(11,107,92,.16) 48%,rgba(11,107,92,.16) 50%,transparent 51%),linear-gradient(-18deg,transparent 45%,rgba(203,163,92,.18) 46%,rgba(203,163,92,.18) 48%,transparent 50%),#edf5f1}.smart-map-canvas:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(11,107,92,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(11,107,92,.07) 1px,transparent 1px);background-size:58px 58px;opacity:.45}.kaaba-center{position:absolute;right:46%;top:45%;width:135px;min-height:90px;transform:translate(50%,-50%);background:#fff;border:1px solid var(--line);border-radius:24px;display:grid;place-items:center;text-align:center;box-shadow:var(--shadow);z-index:5}.kaaba-center span{font-size:38px}.kaaba-center b{font-size:13px;color:var(--green-900)}.route-line{position:absolute;height:6px;border-radius:999px;background:repeating-linear-gradient(90deg,var(--green-700) 0 14px,transparent 14px 24px);z-index:2;opacity:.7}.route-line.r1{width:54%;right:30%;top:45%;transform:rotate(-17deg)}.route-line.r2{width:46%;right:28%;top:62%;transform:rotate(21deg);background:repeating-linear-gradient(90deg,#2f75d6 0 14px,transparent 14px 24px)}.route-line.r3{width:38%;right:45%;top:34%;transform:rotate(20deg);background:repeating-linear-gradient(90deg,var(--gold) 0 14px,transparent 14px 24px)}.heat{position:absolute;width:120px;height:120px;border-radius:50%;filter:blur(7px);opacity:.55;z-index:1}.heat.h1{right:22%;top:28%;background:radial-gradient(circle,#d94040,rgba(217,64,64,0) 68%)}.heat.h2{right:60%;top:58%;background:radial-gradient(circle,#e5a221,rgba(229,162,33,0) 68%)}.heat.h3{right:72%;top:34%;background:radial-gradient(circle,#d94040,rgba(217,64,64,0) 68%)}.map-pin{position:absolute;z-index:7;border:0;background:transparent;transform:translate(50%,-50%);cursor:pointer}.map-pin span{width:38px;height:38px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;background:var(--green-700);color:white;box-shadow:0 10px 22px rgba(7,86,75,.22);border:3px solid white}.map-pin span::first-letter{transform:rotate(45deg)}.map-pin span{font-size:17px}.map-pin em{position:absolute;right:22px;top:-22px;white-space:nowrap;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:999px;padding:4px 9px;font-style:normal;font-weight:900;font-size:12px;color:var(--green-900)}.map-pin.medical span,.map-pin.crowd-critical span{background:#d94040}.map-pin.transport-station span{background:#2f75d6}.map-pin.housing span{background:#6a56c7}.map-pin.gate span,.map-pin.service span{background:#e5a221}.map-pin.toilet span{background:#0e9f6e}.time-badge{position:absolute;z-index:8;background:white;border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:18px;padding:8px 12px;text-align:center;font-weight:900;color:var(--green-900)}.time-badge small{color:var(--muted)}.time-badge.b1{right:62%;top:37%}.time-badge.b2{right:31%;top:25%}.time-badge.b3{right:74%;top:57%}.route-options{display:grid;gap:10px;margin:14px 0}.route-option{position:relative;border:1px solid var(--line);background:#fff;border-radius:18px;padding:12px 45px 12px 12px}.route-option.selected{border-color:#b9dfd4;background:var(--green-50)}.route-option b{color:var(--green-900);font-size:18px}.route-option small{display:block;color:var(--muted)}.route-option span{position:absolute;right:12px;top:16px;font-size:22px}.map-info-row{margin:18px 0}.info-tile span{font-size:30px}.info-tile b{display:block;color:var(--green-900);font-size:18px;margin:4px 0}.info-tile p{margin:0;color:var(--muted)}.map-lower-grid{margin-bottom:18px}.alerts-list{display:grid;gap:10px}.map-alert{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px}.map-alert.warning{background:#fffaf0;border-color:#f4deb0}.map-alert.danger{background:#fff2f2;border-color:#ffd0d0}.map-alert.info{background:#f3fbff;border-color:#cdeafe}.map-alert span{font-size:24px}.map-alert b{color:var(--green-900)}.map-alert small{display:block;color:var(--muted)}.place-status-list{display:grid;gap:9px}.place-status-list>div{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:11px}.place-status-list small{display:block;color:var(--muted)}.quick-tools{margin-top:18px}.tool-card{min-height:132px;background:var(--green-50);border:1px solid var(--line);border-radius:20px;padding:16px;display:grid;gap:6px;align-content:center;text-align:center;font-weight:900;color:var(--green-900)}.tool-card:first-letter{font-size:28px}.tool-card small{color:var(--muted);font-weight:700}.admin-map-top{margin:18px 0}.admin-routes-list{max-height:480px;overflow:auto}.admin-map-page .form-grid{align-items:end}.admin-map-page .kpi-grid{margin-bottom:18px}
@media (max-width:1220px){.map-shell{grid-template-columns:1fr}.map-controls-panel,.route-panel{position:static}.smart-map-canvas{min-height:520px}.map-hero{grid-template-columns:1fr}.phase5-page .kpi-grid,.map-info-row,.map-lower-grid,.admin-map-top{grid-template-columns:1fr 1fr}.quick-tools .grid-5{grid-template-columns:repeat(3,1fr)}}
@media (max-width:980px){.phase5-page.dashboard-layout{grid-template-columns:1fr}.phase5-page .side{position:static}.phase5-page .grid-4,.phase5-page .grid-5,.phase5-page .grid-2,.map-hero-stats{grid-template-columns:1fr!important}.quick-tools .grid-5{grid-template-columns:1fr!important}.map-hero h1{font-size:34px}.smart-map-canvas{min-height:470px}.map-pin em{display:none}.admin-map-page .form-grid{grid-template-columns:1fr!important}.route-line{height:4px}.kaaba-center{width:110px}.map-toolbar .btn{width:auto}.public-map-area{grid-column:auto}}
@media (max-width:620px){.map-shell{gap:12px}.smart-map-canvas{min-height:420px;border-radius:18px}.map-hero .hero-actions,.map-hero .btn,.route-panel .btn,.map-controls-panel .btn{width:100%}.time-badge{font-size:11px;padding:6px 8px}.map-pin span{width:32px;height:32px}.kaaba-center{right:50%;top:48%;width:98px;min-height:80px}.phase5-page .dash-head{display:grid;gap:12px}.inline-admin-form{display:grid!important;grid-template-columns:1fr!important}.admin-table{min-width:860px}}
.smart-map-canvas.layer-off-holy .holy-site,.smart-map-canvas.layer-off-transport .transport-station,.smart-map-canvas.layer-off-medical .medical,.smart-map-canvas.layer-off-housing .housing{opacity:.18;filter:grayscale(1)}.map-pin.active span{box-shadow:0 0 0 10px rgba(203,163,92,.22),0 12px 24px rgba(7,86,75,.24);transform:rotate(-45deg) scale(1.12)}

/* Phase 6 - Media center, support, tickets and notifications */
.section-soft{padding:52px 0;background:radial-gradient(circle at 12% 15%,rgba(203,163,92,.16),transparent 28%),linear-gradient(135deg,#fff,#eef9f5);border-bottom:1px solid var(--line)}
.compact-top{padding-top:22px}.eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:var(--gold-100);color:#8b641b;font-weight:900;margin-bottom:8px}.lead{font-size:18px;color:#415653}.split-head{display:flex;align-items:end;justify-content:space-between;text-align:right;gap:16px}.align-start{align-items:start}.media-hero-grid,.support-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:center}.media-hero h1,.support-hero h1{font-size:42px;line-height:1.25;margin:0 0 12px;color:var(--green-900)}.hero-glass,.support-live-card{background:rgba(255,255,255,.86);border:1px solid rgba(11,107,92,.14);box-shadow:var(--shadow);border-radius:28px;padding:22px}.media-preview-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.video-preview{position:relative;border-radius:24px;overflow:hidden;background:var(--green-50);min-height:280px;display:grid;place-items:center;border:1px solid var(--line)}.video-preview img{width:100%;height:100%;object-fit:cover}.video-preview.big{min-height:430px}.play-circle{position:absolute;z-index:2;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--green-700),var(--green-900));color:#fff;font-size:28px;box-shadow:0 15px 35px rgba(7,86,75,.25)}.kpi-media{margin-top:-42px;position:relative;z-index:2}.search-inline{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:8px}.search-inline input{border:0;outline:0;min-width:260px;font-family:inherit;padding:10px;background:transparent}.filter-pills{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.filter-pills.compact{margin:0}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;padding:9px 13px;border-radius:999px;font-weight:900;color:var(--green-800)}.pill.active,.pill:hover{background:var(--green-700);color:#fff;border-color:var(--green-700)}.media-grid{align-items:stretch}.media-card{padding:0;overflow:hidden}.media-thumb{position:relative;height:210px;background:var(--green-50);overflow:hidden}.media-thumb img,.news-card>img,.article-cover{width:100%;height:100%;object-fit:cover}.media-type{position:absolute;right:14px;top:14px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-weight:900;color:var(--green-900)}.card-body-pad{padding:18px}.line-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-actions-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.news-card{padding:0;overflow:hidden}.news-card>img{height:170px;background:var(--green-50)}.knowledge-card .list-line,.list-line{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding:12px 0}.list-line:last-child{border-bottom:0}.list-line span{width:42px;height:42px;border-radius:14px;background:var(--green-100);display:grid;place-items:center}.list-line p{margin:2px 0 0;color:var(--muted)}.faq-item{border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:10px;background:#fff}.faq-item summary{cursor:pointer;font-weight:900;color:var(--green-900)}.faq-item p{color:var(--muted);margin:8px 0 0}.detail-layout{display:grid;grid-template-columns:1fr 330px;gap:20px;align-items:start}.detail-card h1{font-size:36px;line-height:1.25;color:var(--green-900);margin:8px 0}.detail-top{display:flex;justify-content:space-between;align-items:center}.content-viewer{margin:18px 0}.detail-image,.article-cover{border-radius:24px;border:1px solid var(--line);max-height:520px;object-fit:cover}.article-cover{height:320px;margin-bottom:18px}.article-body{font-size:18px;line-height:2.05;color:#2d403c}.document-viewer{min-height:320px;display:grid;place-items:center;text-align:center;background:var(--green-50);border:1px dashed #b8d4cc;border-radius:24px}.icon-xl{font-size:74px}.video-frame{position:relative;aspect-ratio:16/9;border-radius:24px;overflow:hidden;border:1px solid var(--line)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.side-panel-card{position:sticky;top:96px}.related-line{display:flex;gap:10px;align-items:flex-start;border-bottom:1px solid var(--line);padding:12px 0}.related-line span{font-size:22px}.info-list p{margin:8px 0}.support-live-card{display:grid;gap:12px}.agent-row{display:flex;gap:12px;align-items:center}.agent-avatar{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:var(--green-100);font-size:28px}.agent-row small{display:block;color:var(--muted)}.chat-bubble{max-width:86%;padding:12px 14px;border-radius:18px;background:var(--green-100);font-weight:700}.chat-bubble.user{margin-right:auto;background:var(--gold-100)}.support-langs{display:flex;flex-wrap:wrap;gap:8px}.support-langs span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.form-card label{font-weight:900;color:var(--green-900)}.smart-form{display:grid;gap:14px}.smart-form input,.smart-form select,.smart-form textarea,.inline-form select{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-family:inherit;background:#fff}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ticket-list{display:grid;gap:10px}.ticket-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff}.ticket-row:hover{border-color:#b9dfd4;background:var(--green-50)}.ticket-row small{display:block;color:var(--muted)}.support-contact-box{background:linear-gradient(135deg,var(--green-900),var(--green-700));color:#fff;border-radius:20px;padding:16px;margin-top:14px}.support-contact-box p{margin:3px 0;color:rgba(255,255,255,.88)}.ticket-summary-grid{margin-bottom:18px}.conversation-card{padding:18px}.message-row{display:flex;margin-bottom:12px}.message-row.mine{justify-content:flex-start}.message-row.other{justify-content:flex-end}.message-bubble{max-width:76%;background:var(--green-50);border:1px solid var(--line);border-radius:20px;padding:12px 14px}.message-row.mine .message-bubble{background:#fff;border-color:#c8e5dc}.message-row.other .message-bubble{background:var(--gold-100);border-color:#f2dfac}.message-bubble p{margin:4px 0}.message-bubble small{display:block;color:var(--muted)}.form-inline-actions{grid-template-columns:1fr auto;align-items:end}.dash-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.notification-list.rich{display:grid;gap:12px}.notification-item{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff}.notification-item.unread{border-color:#b9dfd4;background:linear-gradient(90deg,var(--green-50),#fff)}.notif-icon{width:44px;height:44px;border-radius:16px;background:var(--green-100);display:grid;place-items:center;font-size:22px}.notif-content p{margin:3px 0;color:var(--muted)}.notif-content small{color:var(--muted)}.notif-actions{display:flex;gap:6px;flex-wrap:wrap}.notif-actions form{display:inline-flex}.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 14px}.tab-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 15px;font-family:inherit;font-weight:900;color:var(--green-800);cursor:pointer}.tab-btn.active{background:var(--green-700);color:#fff;border-color:var(--green-700)}.tab-panel{display:none}.tab-panel.active{display:block}.inline-form{display:flex;gap:8px;align-items:center}.inline-form select{min-width:112px;padding:8px 10px}.quick-module{min-height:170px;display:grid;align-content:center;text-align:center;color:inherit}.quick-module span{font-size:40px}.quick-module p{color:var(--muted)}
@media (max-width:1100px){.media-hero-grid,.support-hero-grid,.detail-layout{grid-template-columns:1fr}.side-panel-card{position:static}.kpi-media{margin-top:0}.split-head{align-items:flex-start;flex-direction:column}.search-inline{width:100%}.search-inline input{min-width:0;width:100%}}
@media (max-width:980px){.form-grid-2,.ticket-summary-grid,.notification-item{grid-template-columns:1fr!important}.message-bubble{max-width:100%}.notif-actions{justify-content:flex-start}.media-hero h1,.support-hero h1{font-size:32px}.video-preview{min-height:220px}.dash-actions{width:100%}.dash-actions .btn{width:100%}.inline-form{display:grid;grid-template-columns:1fr!important}.admin-tabs{display:grid;grid-template-columns:1fr 1fr}.tab-btn{width:100%}}
@media (max-width:620px){.search-inline,.card-actions-row,.hero-actions{display:grid;width:100%}.card-actions-row .btn,.hero-actions .btn{width:100%}.media-thumb{height:180px}.article-cover{height:220px}.filter-pills{gap:6px}.pill{padding:8px 10px;font-size:12px}.admin-tabs{grid-template-columns:1fr}.notification-item{padding:12px}.message-row{display:block}}

/* ==========================
   Phase 7 polish: reports, routing, launch, contact
========================== */
.services-hero h1,.service-detail-hero h1,.contact-hero h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.35;margin:10px 0;color:var(--primary-dark)}
.search-service-card{margin-top:24px;border:1px solid rgba(8,92,72,.12);background:linear-gradient(135deg,#fff,rgba(234,248,244,.8))}
.service-side{position:sticky;top:92px;align-self:start}
.filter-chip{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:11px 14px;margin:6px 0;text-align:right;font-family:inherit;cursor:pointer;color:var(--text);transition:.2s}
.filter-chip:hover,.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px)}
.full-btn{width:100%;justify-content:center;margin-top:12px}.services-grid .service-card{min-height:280px}.service-card.is-hidden{display:none!important}
.service-detail-grid{display:grid;grid-template-columns:1.4fr .7fr;gap:24px;align-items:start}.service-profile-card{padding:34px}.service-big-icon{width:82px;height:82px;border-radius:26px;background:rgba(6,117,89,.1);display:grid;place-items:center;font-size:42px;margin-bottom:14px}.service-meta-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.container-narrow{max-width:980px;margin-inline:auto}.form-card label{font-weight:800;color:var(--primary-dark);margin-bottom:7px;display:block}.form-group.full,.form-actions.full{grid-column:1/-1}.stack-form{display:grid;gap:14px}.nice-list{padding-right:22px;line-height:2}.nice-list li{margin:8px 0}.mini-steps.vertical{display:grid;gap:12px}.mini-steps.vertical div{display:flex;gap:12px;align-items:center;padding:12px;border-radius:16px;background:var(--soft)}.mini-steps.vertical b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.mini-contact{padding:16px}.mini-contact b,.mini-contact span{display:block}.mini-contact span{color:var(--muted);font-size:.93rem;margin-top:8px}
.analytics-card{overflow:hidden}.bar-row{position:relative;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.bar-row:last-child{border-bottom:0}.bar-row i{grid-column:1/-1;height:9px;border-radius:99px;background:linear-gradient(90deg,var(--primary),var(--accent));width:var(--w);display:block;box-shadow:0 4px 14px rgba(6,117,89,.18)}
.mini-chart{height:240px;display:flex;align-items:flex-end;gap:12px;padding-top:20px}.chart-col{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:8px}.chart-col b{width:100%;max-width:36px;border-radius:18px 18px 6px 6px;background:linear-gradient(180deg,var(--primary),#b79a52);min-height:18px}.chart-col span{font-weight:800;color:var(--primary-dark)}.chart-col small{color:var(--muted)}
.finance-line{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:13px 0}.finance-line:last-child{border-bottom:0}.launch-banner{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;background:radial-gradient(circle at 10% 10%,rgba(183,154,82,.18),transparent 30%),linear-gradient(135deg,#fff,#edf8f5)}.launch-score{width:138px;height:138px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--primary) 0 100%,#e6f3ef 0);box-shadow:0 18px 44px rgba(6,117,89,.16);color:#fff;background-color:var(--primary)}.launch-score b{font-size:2rem}.launch-score span{font-weight:800}.check-row{display:flex;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.check-row:last-child{border-bottom:0}.check-row p{margin:5px 0 0;color:var(--muted)}.check-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7f8f1;color:var(--primary);font-weight:900}.file-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}.file-card p{color:var(--muted);margin-bottom:0}.video-frame.hero-video{border-radius:22px;overflow:hidden;box-shadow:0 16px 40px rgba(9,64,52,.16)}.video-frame iframe{width:100%;min-height:360px;border:0;border-radius:22px}.media-player-card .video-frame iframe{min-height:260px}.ornate-card{position:relative;overflow:hidden}.ornate-card:before{content:"";position:absolute;inset:auto -20px -60px auto;width:220px;height:220px;background:url('../img/hero-pattern.svg') center/cover no-repeat;opacity:.12;pointer-events:none}.section-head.compact{margin-bottom:18px}.admin-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px}.admin-head h1{margin:6px 0;color:var(--primary-dark)}
@media (max-width: 980px){.service-detail-grid,.contact-grid{grid-template-columns:1fr}.contact-cards{grid-template-columns:1fr}.service-side{position:static}.admin-head,.launch-banner{display:block}.launch-score{margin-top:20px}.mini-chart{height:190px}.video-frame iframe{min-height:240px}}
@media (max-width: 680px){.grid-4{grid-template-columns:1fr!important}.services-grid .service-card{min-height:auto}.service-profile-card{padding:22px}.filter-chip{text-align:center}.hero-actions,.service-meta-row{justify-content:center}.contact-hero h1,.services-hero h1,.service-detail-hero h1{text-align:center}.admin-content{padding:16px}.admin-shell{display:block}.admin-sidebar{position:static;margin-bottom:16px}}


/* ==========================
   Final Fix Pack - Phase 7 launch polish
========================== */
.auth-page{background:radial-gradient(circle at 80% 8%,rgba(203,163,92,.10),transparent 24%),linear-gradient(180deg,#f6faf9,#eef7f4)}
.auth-shell{max-width:1120px;min-height:640px}
.auth-forms .tabs{background:var(--green-50);border:1px solid var(--line);border-radius:18px;padding:6px;margin-bottom:26px}
.auth-forms .tab{border:0;background:transparent;border-radius:14px;padding:12px 18px;cursor:pointer;font-family:inherit}
.auth-forms .tab.active{background:#fff;color:var(--green-800);box-shadow:var(--shadow-sm)}
.auth-forms .form-control{background:#f8fbff}
.alert{max-width:1240px;margin:16px auto}.alert.error{background:#fff4f4}.alert.warn{background:#fff8e8;color:#8b641b;border:1px solid #f6dda5}
.password-row{position:relative}.password-row .btn{position:absolute;left:8px;top:35px;padding:8px 12px;border-radius:10px}
.actions .btn{white-space:nowrap}.service-card .actions{display:flex;gap:10px;flex-wrap:wrap}.service-card .actions .btn{flex:1}
.topbar .nav-actions .btn{min-height:48px}.nav-links a{white-space:nowrap}.brand strong{line-height:1.25}
.footer{overflow:hidden;position:relative}.footer:after{content:"";position:absolute;left:-80px;bottom:-100px;width:300px;height:300px;background:url('../img/hero-pattern.svg') center/cover no-repeat;opacity:.08}
.video-frame iframe{display:block;background:#000}
@media (max-width:1180px){.nav{gap:12px}.nav-links{gap:12px}.nav-links a{font-size:13px}.brand{min-width:220px}.nav-actions .chip{display:none}}
@media (max-width:980px){.auth-shell{margin:14px auto;border-radius:22px}.auth-art{min-height:360px}.auth-forms{padding:24px}.footer-grid,.stats-strip,.journey,.grid-3,.grid-4,.grid-5,.kpi-grid{grid-template-columns:1fr!important}.nav-actions{width:100%;justify-content:space-between}.nav-actions .btn{flex:1}.hide-mobile{display:none!important}.dashboard-layout{display:block}.side{position:static;margin-bottom:18px}.side a{justify-content:flex-start}.topbar{position:sticky}.section{padding:28px 0}}
@media (max-width:620px){.container{width:min(100% - 18px,620px)}.hero h1,.health-hero h1,.media-hero h1,.support-hero h1{font-size:30px!important}.auth-art h1{font-size:28px!important}.form-grid,.form-grid-2,.grid-2{grid-template-columns:1fr!important}.btn{width:100%;padding:12px}.auth-forms .tabs{display:grid;grid-template-columns:1fr 1fr}.table{min-width:620px}.footer{text-align:center}.footer .chip{margin:auto}.service-card .actions{display:grid}.service-card .actions .btn{width:100%}}

/* ============================================================
   Phase 7 UI polish pack - responsive professional layout
   Fixes: right sidebar, card overflow, admin settings, mobile clarity
============================================================ */
main{min-height:calc(100vh - 78px);overflow-x:hidden}.container{width:min(1460px,calc(100% - 32px))}.topbar{box-shadow:0 6px 24px rgba(7,86,75,.05)}.nav{min-height:82px}.brand{min-width:250px}.brand strong{font-size:19px}.nav-links{gap:18px}.nav-links a{font-size:15px}.nav-actions .btn{white-space:nowrap}.dashboard-layout{width:min(1500px,calc(100% - 32px));display:grid;grid-template-columns:300px minmax(0,1fr);gap:26px;align-items:start;padding:28px 0;direction:rtl}.dashboard-layout>section{min-width:0;overflow:visible}.side{position:sticky;top:98px;min-height:calc(100vh - 118px);max-height:calc(100vh - 118px);overflow:auto;border-radius:30px;padding:18px;background:radial-gradient(circle at 20% 0,rgba(203,163,92,.20),transparent 26%),linear-gradient(180deg,var(--green-900),var(--green-700));box-shadow:0 22px 55px rgba(4,59,51,.18);scrollbar-width:thin}.side::-webkit-scrollbar{width:7px}.side::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:99px}.side a{min-height:48px;padding:13px 16px;margin:4px 0;border-radius:16px;font-size:16px;line-height:1.35}.side a.active,.side a:hover{background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.profile-mini{padding:14px 12px 18px;margin-bottom:14px}.dash-head{background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(234,247,243,.62));border:1px solid rgba(219,232,228,.85);border-radius:28px;padding:22px 24px;box-shadow:var(--shadow-sm);align-items:center}.dash-head h1{font-size:34px;line-height:1.2}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}.kpi{min-width:0}.grid,.card,.hotel-card,.transport-card,.service-card,.map-shell,.booking-layout,.refined-booking-layout,.admin-map-top{min-width:0}.card{overflow:visible}.table-wrap{max-width:100%;overflow:auto;border-radius:18px}.table{min-width:780px}.btn-sm{padding:8px 12px;border-radius:10px;font-size:13px}.filters-bar{display:flex;gap:10px;flex-wrap:wrap}.form-grid .span-2{grid-column:1/-1}

/* booking page refinement */
.phase3-page.dashboard-layout{grid-template-columns:300px minmax(0,1fr)}.booking-hero-card{grid-template-columns:minmax(260px,.9fr) minmax(0,1.4fr);align-items:center}.phase3-search{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.refined-booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:20px}.housing-grid{grid-template-columns:repeat(auto-fit,minmax(430px,1fr));gap:18px}.hotel-card{grid-template-columns:minmax(150px,34%) minmax(0,1fr);border-radius:28px}.hotel-visual{min-height:280px}.hotel-body{min-width:0;padding:20px}.hotel-body .card-title{gap:10px;align-items:flex-start}.hotel-body h3{font-size:21px;line-height:1.35;overflow-wrap:anywhere}.hotel-meta span{font-size:12px}.mini-booking-form input,.mini-booking-form select,.route-form input,.route-form select{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;font-family:inherit}.transport-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.booking-summary-stack{min-width:0}.sticky-summary{top:108px}.mini-map-card{overflow:hidden}.my-bookings .grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.request-row{gap:12px}.row-actions form{display:inline-flex}

/* map page refinement */
.phase5-page.dashboard-layout{grid-template-columns:300px minmax(0,1fr)}.map-shell{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr) minmax(260px,310px);gap:18px;align-items:start}.live-map-card{overflow:hidden}.smart-map-canvas{min-height:560px}.map-controls-panel,.route-panel{position:sticky;top:108px}.place-status-list{display:grid;gap:12px}.place-status-list>div{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff}.place-status-list small{color:var(--muted)}

/* admin pages refinement */
.admin-settings-page .settings-form{display:block}.settings-card{min-height:100%}.color-control{display:grid;grid-template-columns:80px 1fr;gap:12px;align-items:center}.color-control input[type=color]{width:80px;height:52px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:6px}.settings-actions-bar{position:sticky;bottom:14px;z-index:5;margin-top:18px;padding:14px;background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:22px;box-shadow:0 14px 38px rgba(7,86,75,.10);display:flex;gap:10px;flex-wrap:wrap}.contact-admin-form{min-width:360px}.contact-admin-form input{width:180px;border:1px solid var(--line);border-radius:12px;padding:8px 10px;font-family:inherit}.inline-form{flex-wrap:wrap}.inline-form button{width:auto}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{padding:13px;border-bottom:1px solid var(--line);text-align:right}.admin-table th{background:var(--green-50);color:var(--muted);font-size:13px}.admin-table small{display:block;color:var(--muted)}

/* footer */
.footer{margin-top:52px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr 1.2fr;align-items:start}.footer .container{width:min(1460px,calc(100% - 32px))}

@media (max-width:1320px){.dashboard-layout,.phase3-page.dashboard-layout,.phase5-page.dashboard-layout{grid-template-columns:280px minmax(0,1fr)}.housing-grid{grid-template-columns:1fr}.hotel-card{grid-template-columns:minmax(150px,260px) minmax(0,1fr)}.map-shell{grid-template-columns:1fr}.map-controls-panel,.route-panel{position:static}.smart-map-canvas{min-height:520px}.booking-hero-card{grid-template-columns:1fr}.refined-booking-layout{grid-template-columns:1fr}.booking-summary-stack{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.sticky-summary{position:static}}
@media (max-width:980px){.container,.dashboard-layout{width:min(100% - 22px,980px)}.dashboard-layout,.phase3-page.dashboard-layout,.phase5-page.dashboard-layout{display:block}.side{position:relative;top:auto;min-height:auto;max-height:none;margin-bottom:18px;border-radius:24px}.side .profile-mini{display:none}.side{display:flex;gap:8px;overflow-x:auto;padding:12px}.side a{white-space:nowrap;margin:0;min-height:44px}.dash-head{display:block;padding:18px}.dash-head h1{font-size:28px}.kpi-grid,.grid-4,.grid-3,.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important}.housing-grid,.transport-grid{grid-template-columns:1fr}.hotel-card{grid-template-columns:minmax(120px,220px) minmax(0,1fr)}.hotel-visual{min-height:240px}.footer-grid{grid-template-columns:1fr 1fr}.settings-actions-bar{position:static}.nav-links.open{max-height:calc(100vh - 86px);overflow:auto}.map-shell{grid-template-columns:1fr}.public-map-area{grid-column:auto}}
@media (max-width:680px){.container,.dashboard-layout{width:min(100% - 16px,680px)}.nav-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.nav-actions .chip{display:none}.brand img{width:46px;height:46px}.brand strong{font-size:16px}.hotel-card,.transport-card{grid-template-columns:1fr}.hotel-visual{min-height:150px;padding:20px}.form-grid,.form-grid-2,.phase3-search{grid-template-columns:1fr!important}.card-title,.dash-head,.split-head{align-items:flex-start}.card-title{gap:10px;flex-wrap:wrap}.footer-grid{grid-template-columns:1fr;text-align:center}.footer .chip{margin:auto}.settings-actions-bar .btn,.inline-form .btn,.contact-admin-form .btn{width:100%}.contact-admin-form{min-width:0}.contact-admin-form input{width:100%}.table{min-width:680px}.admin-table{min-width:720px}.smart-map-canvas{min-height:440px}.map-pin em{display:none}.topbar .btn{padding:10px 12px}.dashboard-layout{padding-top:16px}}
.real-map-bg{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:.42;filter:saturate(.75) contrast(.95);z-index:0;pointer-events:none}.smart-map-canvas>*:not(.real-map-bg){position:absolute;z-index:1}.smart-map-canvas .kaaba-center{z-index:3}.smart-map-canvas .route-line,.smart-map-canvas .heat{z-index:2}.smart-map-canvas .map-pin,.smart-map-canvas .time-badge{z-index:4}

/* ============================================================
   Final dashboard layout polish v2
   ثابتة على اليمين في الكمبيوتر، ودرج جانبي من اليمين في الجوال
============================================================ */
:root{--header-h:82px;--sidebar-w:300px;--page-max:1500px;--compact-radius:22px}
html,body{overflow-x:hidden}.topbar{z-index:600}.nav{position:relative}.header-tools{display:flex;align-items:center;gap:8px}.main-menu-toggle,.side-menu-toggle{display:none}.header-icon-btn{position:relative;width:48px;height:48px;border:1px solid var(--line);border-radius:16px;background:var(--green-50);color:var(--green-800);display:inline-grid;place-items:center;font-weight:900;font-size:17px;cursor:pointer;box-shadow:0 8px 20px rgba(7,86,75,.06);transition:.18s ease}.header-icon-btn:hover{transform:translateY(-1px);background:#fff;box-shadow:0 12px 24px rgba(7,86,75,.10)}.notification-link{background:#fff;color:var(--green-800)}.notification-dot{position:absolute;top:3px;left:3px;min-width:19px;height:19px;border-radius:99px;background:#dc2626;color:#fff;font-size:10px;display:grid;place-items:center;border:2px solid #fff}.lang-chip{height:48px;padding:0 14px}.header-actions-row{white-space:nowrap}.dashboard-link,.logout-link{min-height:48px}.drawer-backdrop{display:none}

@media (min-width:981px){
  body.has-sidebar main{min-height:calc(100vh - var(--header-h))}.dashboard-layout{display:block!important;width:min(var(--page-max),calc(100% - 32px))!important;margin-inline:auto!important;padding:26px 0 30px!important;padding-right:calc(var(--sidebar-w) + 28px)!important;direction:rtl}.dashboard-layout>section{min-width:0;width:100%;max-width:100%;overflow:visible}.dashboard-layout>.side{position:fixed!important;top:var(--header-h)!important;bottom:0!important;right:max(16px,calc((100vw - var(--page-max)) / 2))!important;width:var(--sidebar-w)!important;height:calc(100dvh - var(--header-h))!important;min-height:0!important;max-height:none!important;margin:0!important;overflow-y:auto!important;overflow-x:hidden!important;border-radius:0 0 30px 30px!important;padding:18px 16px 22px!important;z-index:520;background:radial-gradient(circle at 18% 2%,rgba(255,232,173,.22),transparent 28%),linear-gradient(180deg,var(--green-900),var(--green-700))!important;box-shadow:-18px 18px 50px rgba(5,62,54,.20)!important}.dashboard-layout>.side:before{content:"";display:block;height:5px;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,232,173,.72),rgba(255,255,255,.10));margin:0 6px 14px}.dashboard-layout>.side .profile-mini{position:sticky;top:0;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04));backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:22px;margin-bottom:14px}.dashboard-layout>.side a{min-height:44px;padding:11px 14px;margin:3px 0;border-radius:14px;font-size:15px}.dashboard-layout>.side a.active{background:rgba(255,255,255,.18)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}body.has-sidebar .footer .container{padding-right:calc(var(--sidebar-w) + 28px)}
}

/* compact professional dashboard content */
.dash-head{padding:18px 20px!important;border-radius:var(--compact-radius)!important;margin-bottom:16px!important}.dash-head h1{font-size:30px!important;letter-spacing:-.4px}.dash-head p{margin:6px 0 0}.card{padding:18px!important;border-radius:var(--compact-radius)!important}.grid{gap:16px!important}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:14px!important}.kpi{padding:16px!important;border-radius:18px!important;min-height:122px;display:flex;flex-direction:column;justify-content:center}.kpi b{font-size:27px!important;line-height:1.1}.kpi h3{font-size:18px;margin:0 0 4px}.section{padding:34px 0}.form-control,.select-control,textarea,.mini-booking-form input,.mini-booking-form select,.route-form input,.route-form select{min-height:46px}.btn{border-radius:13px}.btn-primary{box-shadow:0 10px 22px rgba(7,86,75,.14)}.table th,.table td{padding:11px 12px}.table-wrap{border-radius:18px!important}.badge{padding:4px 9px}.media-admin-page .kpi,.admin-media-page .kpi{min-height:112px}.settings-card{display:flex;flex-direction:column;gap:8px}.settings-form .grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important}.card-title h2,.card-title h3{font-size:22px}.dashboard-layout .card + .card{margin-top:0}.admin-table th,.admin-table td{padding:11px 12px}.filters-bar .btn{padding:10px 14px}.housing-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))!important}.hotel-card{border-radius:22px!important;overflow:hidden}.hotel-visual{min-height:220px!important}.hotel-body{padding:16px!important}.hotel-body h3{font-size:19px!important}.transport-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important}.smart-map-canvas{min-height:520px!important}.map-shell{gap:14px!important}.place-status-list>div{padding:12px!important;border-radius:16px!important}.footer{margin-top:38px!important}.footer-grid{gap:18px!important}.alert{margin:12px auto!important}

/* Mobile: header row + right drawer 50% */
@media (max-width:980px){
  :root{--header-h:76px}.topbar{position:sticky;top:0}.nav{height:auto;min-height:76px!important;display:grid!important;grid-template-columns:auto 1fr auto;gap:8px!important;padding:8px 0!important}.brand{min-width:0!important;justify-content:flex-start}.brand img{width:48px!important;height:48px!important}.brand span{display:block!important}.brand strong{font-size:15px!important;line-height:1.25}.brand small{display:block!important;font-size:10px!important}.header-tools-start{order:3;justify-content:flex-end}.main-menu-toggle,.side-menu-toggle{display:inline-grid}.nav-links{grid-column:1/-1;order:5;display:none!important;background:#fff;border:1px solid var(--line);border-radius:18px;margin-top:6px;padding:10px!important;box-shadow:0 18px 40px rgba(7,86,75,.10)}.nav-links.open{display:grid!important;grid-template-columns:1fr 1fr;gap:4px;max-height:calc(100dvh - 90px);overflow:auto}.nav-links a{padding:12px;border-radius:12px;border:0!important;background:var(--green-50);text-align:center}.nav-actions{order:1;display:flex!important;align-items:center;gap:6px!important;width:auto!important;justify-content:flex-start!important}.lang-chip{display:none!important}.notification-link{width:44px;height:44px}.dashboard-link{display:none}.logout-link{min-height:44px!important;padding:9px 12px!important;width:auto!important}.main-menu-toggle{width:44px;height:44px}.side-menu-toggle{width:44px;height:44px;background:linear-gradient(135deg,var(--green-700),var(--green-900));color:#fff}.drawer-backdrop{position:fixed;inset:0;background:rgba(1,28,25,.38);backdrop-filter:blur(3px);z-index:900;opacity:0;pointer-events:none;transition:.2s ease;display:block}.side-drawer-open .drawer-backdrop{opacity:1;pointer-events:auto}.side-drawer-lock{overflow:hidden}.dashboard-layout,.phase3-page.dashboard-layout,.phase5-page.dashboard-layout{display:block!important;width:min(100% - 18px,980px)!important;padding:14px 0 24px!important;margin:auto!important}.dashboard-layout>.side{position:fixed!important;top:0!important;right:0!important;bottom:0!important;width:50vw!important;min-width:270px!important;max-width:390px!important;height:100dvh!important;max-height:100dvh!important;min-height:100dvh!important;display:block!important;overflow-y:auto!important;overflow-x:hidden!important;margin:0!important;border-radius:0 0 0 28px!important;padding:18px 14px 24px!important;z-index:1000!important;transform:translateX(112%);transition:transform .28s ease;box-shadow:-28px 0 60px rgba(2,48,42,.28)!important;background:radial-gradient(circle at 10% 0,rgba(255,232,173,.25),transparent 28%),linear-gradient(180deg,var(--green-900),var(--green-700))!important}.side-drawer-open .dashboard-layout>.side{transform:translateX(0)}.dashboard-layout>.side:before{content:"القائمة";display:flex;align-items:center;justify-content:space-between;padding:10px 12px;margin-bottom:10px;border-radius:16px;background:rgba(255,255,255,.12);font-weight:900}.dashboard-layout>.side .profile-mini{display:flex!important;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.08)}.dashboard-layout>.side a{display:flex!important;white-space:normal!important;min-height:45px;margin:4px 0!important;font-size:14px!important;padding:11px 12px!important}.dash-head{display:flex!important;align-items:flex-start!important;gap:12px;flex-wrap:wrap}.dash-head h1{font-size:25px!important}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}.card{padding:16px!important}.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important}.housing-grid,.transport-grid{grid-template-columns:1fr!important}.hotel-card{grid-template-columns:1fr!important}.hotel-visual{min-height:150px!important}.map-shell{grid-template-columns:1fr!important}.map-controls-panel,.route-panel{position:static!important}.smart-map-canvas{min-height:430px!important}.footer-grid{grid-template-columns:1fr 1fr!important;text-align:right}.footer .container{padding-right:0!important}.settings-actions-bar{position:static!important}.header-icon-btn:hover{transform:none}
}
@media (max-width:620px){
  .dashboard-layout>.side{width:50vw!important;min-width:250px!important}.nav{grid-template-columns:auto 1fr auto}.brand strong{font-size:14px!important}.brand small{font-size:9px!important}.header-tools{gap:5px}.header-icon-btn,.main-menu-toggle,.side-menu-toggle,.notification-link{width:40px!important;height:40px!important;border-radius:14px}.logout-link{font-size:13px;padding:8px 10px!important}.nav-links.open{grid-template-columns:1fr}.kpi-grid,.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr!important}.footer-grid{grid-template-columns:1fr!important;text-align:center}.dash-head h1{font-size:23px!important}.card-title{display:flex!important}.table,.admin-table{min-width:650px}.smart-map-canvas{min-height:380px!important}
}
@media (max-width:430px){.dashboard-layout>.side{width:72vw!important;min-width:0!important}.brand small{display:none!important}}


/* Phase 7 mobile sidebar cleanup: remove the old mobile top dropdown and keep only the right sidebar drawer. */
.main-menu-toggle{display:none!important}
@media (min-width:981px){
  .side-menu-toggle{display:none!important}
  .header-tools-start{display:none!important}
}
@media (max-width:980px){
  .main-menu-toggle{display:none!important}
  .nav-links{display:none!important}
  .nav-links.open{display:none!important}
  .side-menu-toggle{display:inline-grid!important}
  .header-tools-start{display:flex!important;order:3;justify-content:flex-end}
  body.has-sidebar .dashboard-layout>.side{top:0!important}
}

/* Final mobile header + dedicated right drawer cleanup */
.mobile-nav-drawer{display:none}.mobile-side-trigger{display:none!important}
@media (min-width:981px){
  .mobile-nav-drawer{display:none!important}.mobile-side-trigger{display:none!important}.header-tools-start{display:none!important}
}
@media (max-width:980px){
  .topbar{box-shadow:0 8px 30px rgba(5,62,54,.06)}
  .nav{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;min-height:72px!important;padding:8px 0!important}
  .brand{grid-column:2;order:2;gap:8px!important;min-width:0!important;max-width:58vw;overflow:hidden}
  .brand img{width:46px!important;height:46px!important;flex:0 0 46px}
  .brand strong{font-size:14px!important;line-height:1.18;white-space:normal}.brand small{font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .header-tools-start{display:none!important}
  .nav-actions{grid-column:1;order:1;justify-content:flex-start!important;display:flex!important;gap:6px!important;min-width:0!important;direction:ltr}
  .nav-actions .lang-chip,.nav-actions .dashboard-link{display:none!important}
  .mobile-side-trigger{display:inline-grid!important;width:42px!important;height:42px!important;border-radius:15px!important;background:linear-gradient(135deg,var(--green-700),var(--green-900))!important;color:#fff!important;font-size:18px!important;flex:0 0 auto!important;order:1}
  .notification-link{width:42px!important;height:42px!important;border-radius:15px!important;flex:0 0 auto!important;order:2;background:#fff8e6!important;color:#9a6b03!important}
  .logout-link{min-height:42px!important;height:42px!important;width:auto!important;max-width:none!important;padding:0 16px!important;border-radius:15px!important;font-size:13px!important;line-height:1!important;flex:0 0 auto!important;order:3;background:#fff!important;border-color:#cfe1dc!important;color:var(--green-800)!important;box-shadow:0 8px 18px rgba(7,86,75,.05)!important}
  .btn.logout-link{display:inline-flex!important}
  .nav-links,.nav-links.open{display:none!important}
  .drawer-backdrop{position:fixed;inset:0;background:rgba(1,28,25,.42);backdrop-filter:blur(3px);z-index:950;opacity:0;pointer-events:none;transition:.22s ease;display:block!important}
  .mobile-drawer-open .drawer-backdrop{opacity:1;pointer-events:auto}
  .mobile-drawer-lock{overflow:hidden!important}
  .mobile-nav-drawer{display:flex!important;flex-direction:column;position:fixed!important;top:0!important;right:0!important;bottom:0!important;width:50vw!important;min-width:260px!important;max-width:390px!important;height:100dvh!important;background:radial-gradient(circle at 12% 0,rgba(255,232,173,.25),transparent 28%),linear-gradient(180deg,var(--green-900),var(--green-700))!important;color:#fff;z-index:1001;transform:translateX(110%);transition:transform .28s ease;box-shadow:-28px 0 60px rgba(2,48,42,.30);overflow-y:auto;overflow-x:hidden;padding:14px 12px 18px;border-radius:0 0 0 28px}
  .mobile-drawer-open .mobile-nav-drawer{transform:translateX(0)}
  .mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:10px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12)}
  .mobile-drawer-brand{display:flex;align-items:center;gap:8px;min-width:0}.mobile-drawer-brand img{width:40px;height:40px;background:#fff;border-radius:14px;padding:4px}.mobile-drawer-brand strong{display:block;font-size:13px;color:#fff;line-height:1.25}.mobile-drawer-brand small{display:block;color:rgba(255,255,255,.74);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px}
  .mobile-drawer-close{width:36px;height:36px;border:0;border-radius:13px;background:rgba(255,255,255,.16);color:#fff;font-size:24px;font-weight:900;cursor:pointer;line-height:1}
  .mobile-drawer-title{font-weight:900;color:#fff4cb;font-size:12px;margin:10px 8px 6px}.mobile-drawer-section{display:grid;gap:6px}.mobile-drawer-section a{display:flex;align-items:center;gap:8px;min-height:42px;padding:10px 12px;border-radius:14px;color:#fff;font-weight:800;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);font-size:13px}.mobile-drawer-section a.active,.mobile-drawer-section a:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.16)}.mobile-drawer-section.admin-links a{font-size:12.5px;min-height:40px}
  .mobile-drawer-footer{margin-top:auto;padding-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-drawer-footer a{text-align:center;border-radius:14px;padding:10px 8px;font-weight:900}.mobile-drawer-dashboard{background:#fff;color:var(--green-800)}.mobile-drawer-logout{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.14)}
}
@media (max-width:430px){
  .mobile-nav-drawer{width:50vw!important;min-width:245px!important}.brand{max-width:55vw}.brand strong{font-size:13px!important}.brand small{display:none!important}.logout-link{padding:0 13px!important}.mobile-side-trigger,.notification-link{width:40px!important;height:40px!important}
}

/* =========================================================
   FINAL LAUNCH UI HOTFIX - fixed header + clean responsive cards
   Applied after all previous phase styles to guarantee priority.
   ========================================================= */
:root{
  --header-h:78px;
  --sidebar-w:300px;
  --page-max:1260px;
}
html{scroll-padding-top:calc(var(--header-h) + 18px)}
body{padding-top:var(--header-h)!important;background:linear-gradient(180deg,#f8fcfa 0,#f4faf8 45%,#f6faf9 100%)!important;overflow-x:hidden}
.topbar{position:fixed!important;top:0!important;right:0!important;left:0!important;width:100%!important;z-index:1200!important;background:rgba(255,255,255,.95)!important;border-bottom:1px solid rgba(203,226,219,.95)!important;box-shadow:0 10px 34px rgba(4,59,51,.07)!important;backdrop-filter:blur(18px)}
.topbar .container.nav{width:min(var(--page-max),calc(100% - 28px))!important;margin-inline:auto!important}.nav{height:var(--header-h)!important;min-height:var(--header-h)!important;padding:0!important}.brand img{filter:drop-shadow(0 8px 14px rgba(7,86,75,.08))}.nav-links a{white-space:nowrap}.header-icon-btn,.notification-link{display:inline-grid;place-items:center;position:relative;border:1px solid var(--line);background:#fff;border-radius:15px;font-weight:900;color:var(--green-800)}
main{min-height:calc(100vh - var(--header-h));position:relative;z-index:1}.hero{margin-top:0}.alert{max-width:min(var(--page-max),calc(100% - 28px))}

/* fixed desktop dashboard sidebar under the fixed header */
@media (min-width:981px){
  body.has-sidebar main{min-height:calc(100vh - var(--header-h))}.dashboard-layout{display:block!important;width:min(var(--page-max),calc(100% - 28px))!important;margin-inline:auto!important;padding:22px 0 28px!important;padding-right:calc(var(--sidebar-w) + 26px)!important;direction:rtl}.dashboard-layout>section{min-width:0!important;width:100%!important;max-width:100%!important;overflow:visible}.dashboard-layout>.side{position:fixed!important;top:var(--header-h)!important;right:max(14px,calc((100vw - var(--page-max)) / 2))!important;bottom:0!important;width:var(--sidebar-w)!important;height:calc(100dvh - var(--header-h))!important;min-height:0!important;max-height:none!important;margin:0!important;overflow-y:auto!important;overflow-x:hidden!important;border-radius:0 0 28px 28px!important;padding:16px 15px 22px!important;z-index:1050!important;background:radial-gradient(circle at 16% 0,rgba(255,232,173,.22),transparent 28%),linear-gradient(180deg,var(--green-900),var(--green-700))!important;box-shadow:-18px 20px 46px rgba(5,62,54,.18)!important}.dashboard-layout>.side a{font-size:15px!important;min-height:43px!important;margin:3px 0!important;padding:10px 13px!important}.dashboard-layout>.side .profile-mini{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.13);border-radius:21px;margin-bottom:12px}.dashboard-layout>.side:before{margin-bottom:12px}.footer .container,body.has-sidebar .footer .container{width:min(var(--page-max),calc(100% - 28px))!important;padding-right:calc(var(--sidebar-w) + 26px)!important}.mobile-side-trigger{display:none!important}
}

/* modern compact page rhythm */
.dash-head,.booking-hero-card,.map-hero,.media-hero,.support-hero,.launch-hero{background:radial-gradient(circle at 8% 0,rgba(203,163,92,.10),transparent 32%),linear-gradient(135deg,#ffffff,#f3fbf8)!important;border:1px solid #d7e9e3!important;border-radius:26px!important;box-shadow:0 10px 28px rgba(7,86,75,.055)!important}.dash-head{padding:18px 20px!important}.dash-head h1{font-size:30px!important;line-height:1.35!important}.dash-head p{font-size:15px!important}.kpi-grid{gap:14px!important}.kpi{min-height:104px!important;padding:15px 17px!important;border-radius:18px!important}.kpi b{font-size:25px!important}.kpi p{margin:4px 0 0!important}.card{border-color:#dbe9e5!important;box-shadow:0 10px 25px rgba(7,86,75,.05)!important}.card-title{gap:10px!important}.section{padding:34px 0!important}

/* booking page: always image/visual first, then organized content below */
.booking-hero-card{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr)!important;align-items:center!important;gap:18px!important}.booking-hero-card h2{font-size:28px!important;line-height:1.35!important}.phase3-search{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;gap:12px!important;align-items:end!important}.phase3-search input,.phase3-search select{width:100%!important;min-height:44px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:#fff!important;padding:9px 11px!important;font-family:inherit!important}.phase3-search button{min-height:46px!important}.refined-booking-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(270px,320px)!important;gap:18px!important}.housing-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(285px,1fr))!important;gap:16px!important;align-items:stretch}.hotel-card{display:flex!important;flex-direction:column!important;padding:0!important;gap:0!important;overflow:hidden!important;border-radius:22px!important;min-width:0!important;background:#fff!important}.hotel-visual{order:0!important;width:100%!important;height:160px!important;min-height:160px!important;max-height:170px!important;padding:18px!important;background:radial-gradient(circle at 72% 20%,rgba(203,163,92,.20),transparent 32%),linear-gradient(135deg,#e9f7f2,#fff8e8)!important;border-bottom:1px solid var(--line)!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}.hotel-visual span{font-size:42px!important;line-height:1!important}.hotel-visual b{font-size:17px!important;color:var(--green-800)!important}.hotel-body{order:1!important;display:flex!important;flex-direction:column!important;gap:9px!important;padding:15px!important;min-width:0!important}.hotel-body .card-title{margin-bottom:2px!important;align-items:flex-start!important;flex-wrap:nowrap!important}.hotel-body h3{font-size:19px!important;line-height:1.35!important;margin:0!important;overflow-wrap:anywhere}.hotel-body p{margin:0!important}.hotel-meta{margin:5px 0!important;gap:6px!important}.hotel-meta span{font-size:11.5px!important;padding:4px 8px!important}.mini-booking-form{display:grid!important;gap:8px!important;margin-top:6px!important}.mini-booking-form label,.route-form label{font-size:13px!important;margin-bottom:0!important}.mini-booking-form input,.mini-booking-form select,.route-form input,.route-form select{min-height:41px!important;border-radius:12px!important;padding:8px 10px!important;font-size:13px!important}.mini-booking-form .form-grid.compact,.route-form .form-grid.compact{grid-template-columns:1fr 1fr!important;gap:8px!important}.mini-booking-form .btn,.route-form .btn{width:100%!important;min-height:42px!important;padding:9px 12px!important}.transport-grid{grid-template-columns:repeat(auto-fit,minmax(285px,1fr))!important;gap:16px!important}.transport-card{display:flex!important;flex-direction:column!important;gap:10px!important;padding:16px!important}.transport-icon{width:100%!important;height:72px!important;border-radius:18px!important}.booking-summary-stack{gap:14px!important}.sticky-summary{top:calc(var(--header-h) + 18px)!important}.summary-card h2{font-size:25px!important}.mini-map{height:180px!important}.big-title{margin:18px 0 12px!important}.timeline-step{border-radius:16px!important;padding:12px!important}.add-step-form{padding:15px!important}

/* media/cards with images should remain picture above and text below */
.media-grid,.news-grid{align-items:stretch!important}.media-card,.news-card{display:flex!important;flex-direction:column!important;border-radius:20px!important;overflow:hidden!important}.media-thumb,.news-card>img{height:180px!important;min-height:180px!important}.card-body-pad{padding:15px!important;display:flex;flex-direction:column;gap:8px}.card-body-pad h3{line-height:1.35;margin:0!important}.card-actions-row{margin-top:auto!important}.detail-layout{gap:18px!important}.side-panel-card{top:calc(var(--header-h) + 18px)!important}

/* maps and large modules do not overflow beside fixed sidebar */
.map-shell{grid-template-columns:minmax(210px,240px) minmax(0,1fr) minmax(250px,290px)!important}.smart-map-canvas{min-height:500px!important}.map-controls-panel,.route-panel{top:calc(var(--header-h) + 18px)!important}.table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}.request-row,.ticket-row,.notification-item{border-radius:16px!important}

/* mobile: fixed header, compact buttons, right drawer only */
@media (max-width:980px){
  :root{--header-h:72px;--sidebar-w:0px}body{padding-top:var(--header-h)!important}.topbar{position:fixed!important}.topbar .container.nav{width:calc(100% - 20px)!important}.nav{height:var(--header-h)!important;min-height:var(--header-h)!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:0!important}.brand{grid-column:2!important;max-width:58vw!important;gap:7px!important}.brand img{width:44px!important;height:44px!important}.brand strong{font-size:13.5px!important}.brand small{display:block!important;font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-actions{grid-column:1!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;direction:ltr!important;width:auto!important}.logout-link{height:40px!important;min-height:40px!important;padding:0 14px!important;font-size:13px!important;border-radius:14px!important}.notification-link,.mobile-side-trigger{width:40px!important;height:40px!important;min-width:40px!important;border-radius:14px!important}.nav-actions .lang-chip,.nav-actions .dashboard-link,.nav-links{display:none!important}.mobile-side-trigger{display:inline-grid!important;background:linear-gradient(135deg,var(--green-700),var(--green-900))!important;color:#fff!important}.dashboard-layout,.phase3-page.dashboard-layout,.phase5-page.dashboard-layout{width:calc(100% - 18px)!important;margin-inline:auto!important;padding:14px 0 24px!important;display:block!important}.dashboard-layout>.side{position:fixed!important;top:0!important;right:0!important;bottom:0!important;width:50vw!important;min-width:255px!important;max-width:390px!important;height:100dvh!important;transform:translateX(112%)!important;transition:transform .28s ease!important;z-index:1300!important;border-radius:0 0 0 26px!important;overflow-y:auto!important}.side-drawer-open .dashboard-layout>.side{transform:translateX(0)!important}.mobile-nav-drawer{top:0!important;height:100dvh!important;width:50vw!important;min-width:255px!important;max-width:390px!important;z-index:1302!important}.drawer-backdrop{z-index:1290!important}.dash-head{padding:16px!important}.dash-head h1{font-size:24px!important}.dash-head p{font-size:14px!important}.actions-inline{width:100%;display:grid!important;grid-template-columns:1fr 1fr}.actions-inline .btn{width:100%}.booking-hero-card,.refined-booking-layout,.map-shell,.detail-layout,.media-hero-grid,.support-hero-grid{grid-template-columns:1fr!important}.phase3-search{grid-template-columns:1fr 1fr!important}.housing-grid,.transport-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important}.hotel-visual{height:145px!important;min-height:145px!important}.hotel-visual span{font-size:38px!important}.booking-summary-stack{grid-template-columns:1fr!important}.sticky-summary,.side-panel-card,.map-controls-panel,.route-panel{position:static!important}.smart-map-canvas{min-height:390px!important}.footer .container,body.has-sidebar .footer .container{padding-right:0!important;width:calc(100% - 20px)!important}.footer-grid{grid-template-columns:1fr 1fr!important;text-align:right!important}
}
@media (max-width:620px){
  :root{--header-h:70px}.topbar .container.nav{width:calc(100% - 16px)!important}.brand{max-width:53vw!important}.brand small{display:none!important}.brand img{width:42px!important;height:42px!important}.mobile-nav-drawer,.dashboard-layout>.side{width:50vw!important;min-width:245px!important}.logout-link{padding:0 11px!important;font-size:12.5px!important}.phase3-search,.housing-grid,.transport-grid,.mini-booking-form .form-grid.compact,.route-form .form-grid.compact{grid-template-columns:1fr!important}.hotel-visual{height:140px!important;min-height:140px!important}.media-thumb,.news-card>img{height:165px!important;min-height:165px!important}.kpi-grid,.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr!important}.footer-grid{text-align:center!important;grid-template-columns:1fr!important}.table,.admin-table{min-width:680px}.card{padding:14px!important}.card-title{flex-wrap:wrap!important}.notification-item,.ticket-row{grid-template-columns:1fr!important}.smart-map-canvas{min-height:350px!important}
}
@media (max-width:430px){.mobile-nav-drawer,.dashboard-layout>.side{width:50vw!important;min-width:235px!important}.brand{max-width:50vw!important}.brand strong{font-size:12.8px!important}.notification-link,.mobile-side-trigger{width:38px!important;height:38px!important;min-width:38px!important}.logout-link{height:38px!important;min-height:38px!important;padding:0 10px!important}.hotel-body h3{font-size:18px!important}}

/* ============================================================
   FINAL RIGHT SIDEBAR FIX
   اللوحة الجانبية ثابتة وملاصقة ليمين الشاشة أسفل الهيدر في الكمبيوتر
   ومحتوى الصفحة فقط هو الذي يتمرر. في الجوال تبقى درجاً جانبياً من اليمين.
============================================================ */
@media (min-width:981px){
  body.has-sidebar{--sidebar-w:320px;}
  body.has-sidebar .dashboard-layout,
  body.has-sidebar .phase3-page.dashboard-layout,
  body.has-sidebar .phase5-page.dashboard-layout{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-top:24px!important;
    padding-bottom:34px!important;
    padding-right:calc(var(--sidebar-w) + 28px)!important;
    padding-left:28px!important;
    display:block!important;
    direction:rtl!important;
  }
  body.has-sidebar .dashboard-layout>section{
    width:100%!important;
    max-width:1280px!important;
    margin-inline:auto!important;
    min-width:0!important;
  }
  body.has-sidebar .dashboard-layout>.side{
    position:fixed!important;
    top:var(--header-h)!important;
    right:0!important;
    bottom:0!important;
    width:var(--sidebar-w)!important;
    height:calc(100dvh - var(--header-h))!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:18px 17px 24px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:1050!important;
    border-radius:0 0 0 30px!important;
    border-right:0!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
    background:
      radial-gradient(circle at 16% 0,rgba(255,232,173,.22),transparent 30%),
      linear-gradient(180deg,var(--green-900),var(--green-700))!important;
    box-shadow:-20px 20px 54px rgba(5,62,54,.20)!important;
    scrollbar-width:thin;
  }
  body.has-sidebar .dashboard-layout>.side::-webkit-scrollbar{width:7px}
  body.has-sidebar .dashboard-layout>.side::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:999px}
  body.has-sidebar .dashboard-layout>.side .profile-mini{
    position:sticky!important;
    top:0!important;
    z-index:2!important;
    margin-bottom:14px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,.07))!important;
    border:1px solid rgba(255,255,255,.14)!important;
    backdrop-filter:blur(12px)!important;
  }
  body.has-sidebar .dashboard-layout>.side a{
    min-height:45px!important;
    padding:11px 14px!important;
    margin:4px 0!important;
    border-radius:16px!important;
    font-size:15.5px!important;
    display:flex!important;
    align-items:center!important;
  }
  body.has-sidebar .dashboard-layout>.side a.active,
  body.has-sidebar .dashboard-layout>.side a:hover{
    background:rgba(255,255,255,.17)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)!important;
  }
  body.has-sidebar .footer .container,
  body.has-sidebar footer .container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-right:calc(var(--sidebar-w) + 28px)!important;
    padding-left:28px!important;
  }
  body.has-sidebar .mobile-side-trigger,
  body.has-sidebar .main-menu-toggle{display:none!important;}
}

/* ============================================================
   RTL HEADER + FIXED RIGHT SIDEBAR FINAL OVERRIDE
   الهيدر عربي RTL بدون فراغ يمين، وترتيب الجوال:
   الشعار واسم المنصة ← الإشعارات ← زر اللوحة ← خروج
============================================================ */
:root{--header-h:78px;--sidebar-w:320px;}
html{scroll-padding-top:calc(var(--header-h) + 12px)!important;}
body{padding-top:var(--header-h)!important;}
.topbar{
  position:fixed!important;
  inset-block-start:0!important;
  inset-inline:0!important;
  width:100%!important;
  margin:0!important;
  z-index:2000!important;
  direction:rtl!important;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:0 10px 28px rgba(7,86,75,.06)!important;
}
.topbar .container.nav{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 18px!important;
  height:var(--header-h)!important;
  min-height:var(--header-h)!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  direction:rtl!important;
}
.brand{
  order:0!important;
  min-width:250px!important;
  max-width:360px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  direction:rtl!important;
  flex:0 0 auto!important;
}
.brand img{flex:0 0 auto!important;}
.brand span{min-width:0!important;}
.nav-links{
  order:1!important;
  flex:1 1 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  min-width:0!important;
  direction:rtl!important;
}
.nav-actions{
  order:2!important;
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:9px!important;
  direction:rtl!important;
  width:auto!important;
}
.mobile-side-trigger{display:none!important;}
.notification-link{order:1!important;}
.mobile-side-trigger{order:2!important;}
.logout-link{order:3!important;}
.dashboard-link{order:4!important;}
.lang-chip{order:5!important;}
body.has-sidebar .dashboard-layout,
body.has-sidebar .phase3-page.dashboard-layout,
body.has-sidebar .phase5-page.dashboard-layout{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-top:24px!important;
  padding-bottom:34px!important;
  padding-right:calc(var(--sidebar-w) + 24px)!important;
  padding-left:24px!important;
  display:block!important;
  direction:rtl!important;
}
body.has-sidebar .dashboard-layout>section{
  width:100%!important;
  max-width:1280px!important;
  margin-inline:auto!important;
  min-width:0!important;
}
body.has-sidebar .dashboard-layout>.side{
  position:fixed!important;
  top:var(--header-h)!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  width:var(--sidebar-w)!important;
  height:calc(100dvh - var(--header-h))!important;
  max-height:none!important;
  min-height:0!important;
  margin:0!important;
  z-index:1500!important;
  border-radius:0 0 0 30px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  transform:none!important;
}
body.has-sidebar .footer .container,
body.has-sidebar footer .container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-right:calc(var(--sidebar-w) + 24px)!important;
  padding-left:24px!important;
}

@media (max-width:980px){
  :root{--header-h:68px!important;--sidebar-w:0px!important;}
  body{padding-top:var(--header-h)!important;}
  .topbar .container.nav{
    height:var(--header-h)!important;
    min-height:var(--header-h)!important;
    padding:0 10px!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
    justify-content:space-between!important;
    overflow:hidden!important;
  }
  .brand{
    order:0!important;
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
    gap:8px!important;
    overflow:hidden!important;
  }
  .brand img{width:44px!important;height:44px!important;min-width:44px!important;}
  .brand strong{
    display:block!important;
    font-size:13.8px!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .brand small{display:block!important;font-size:9px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .nav-links{display:none!important;}
  .nav-actions{
    order:1!important;
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:6px!important;
    direction:rtl!important;
    width:auto!important;
    min-width:max-content!important;
  }
  .nav-actions .lang-chip,
  .nav-actions .dashboard-link{display:none!important;}
  .notification-link{
    order:1!important;
    display:inline-grid!important;
    place-items:center!important;
    width:40px!important;height:40px!important;min-width:40px!important;
    border-radius:14px!important;
  }
  .mobile-side-trigger{
    order:2!important;
    display:inline-grid!important;
    place-items:center!important;
    width:40px!important;height:40px!important;min-width:40px!important;
    border-radius:14px!important;
    background:linear-gradient(135deg,var(--green-700),var(--green-900))!important;
    color:#fff!important;
    border:0!important;
    font-size:20px!important;
  }
  .logout-link{
    order:3!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:58px!important;
    height:40px!important;min-height:40px!important;
    padding:0 11px!important;
    font-size:12.5px!important;
    border-radius:14px!important;
    white-space:nowrap!important;
  }
  body.has-sidebar .dashboard-layout,
  body.has-sidebar .phase3-page.dashboard-layout,
  body.has-sidebar .phase5-page.dashboard-layout,
  .dashboard-layout,
  .phase3-page.dashboard-layout,
  .phase5-page.dashboard-layout{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:14px 10px 24px!important;
    display:block!important;
  }
  body.has-sidebar .dashboard-layout>section,
  .dashboard-layout>section{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }
  .dashboard-layout>.side{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:50vw!important;
    min-width:245px!important;
    max-width:390px!important;
    height:100dvh!important;
    transform:translateX(112%)!important;
    z-index:1300!important;
    border-radius:0 0 0 26px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .side-drawer-open .dashboard-layout>.side{transform:translateX(0)!important;}
  .mobile-nav-drawer{
    display:flex!important;
    flex-direction:column!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:50vw!important;
    min-width:245px!important;
    max-width:390px!important;
    height:100dvh!important;
    transform:translateX(112%)!important;
    z-index:1302!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-radius:0 0 0 26px!important;
  }
  .mobile-drawer-open .mobile-nav-drawer{transform:translateX(0)!important;}
  .drawer-backdrop{z-index:1290!important;}
  body.has-sidebar .footer .container,
  body.has-sidebar footer .container,
  .footer .container,
  footer .container{
    width:calc(100% - 20px)!important;
    padding-right:0!important;
    padding-left:0!important;
    margin-inline:auto!important;
  }
}
@media (max-width:430px){
  :root{--header-h:66px!important;}
  .topbar .container.nav{padding:0 8px!important;gap:6px!important;}
  .brand img{width:40px!important;height:40px!important;min-width:40px!important;}
  .brand strong{font-size:12.5px!important;}
  .brand small{display:none!important;}
  .notification-link,.mobile-side-trigger{width:38px!important;height:38px!important;min-width:38px!important;border-radius:13px!important;}
  .logout-link{height:38px!important;min-height:38px!important;min-width:52px!important;padding:0 9px!important;font-size:12px!important;}
  .mobile-nav-drawer,.dashboard-layout>.side{width:50vw!important;min-width:235px!important;}
}

/* ============================================================
   FINAL PATCH: admin-launch + admin-reports layout alignment
   يجعل صفحتي التقارير وجاهزية الإطلاق بنفس نظام الداشبورد وبلا فراغات كبيرة
============================================================ */
.admin-final-page .admin-main-panel{min-width:0;width:100%;display:flex;flex-direction:column;gap:16px}
.admin-final-page .compact-hero{margin-bottom:0!important;min-height:auto!important;align-items:center!important;padding:18px 20px!important}
.admin-final-page .compact-hero h1{font-size:30px!important;line-height:1.3!important;margin:4px 0 6px!important;color:var(--green-900)!important}
.admin-final-page .compact-hero p{margin:0!important;max-width:760px!important}
.admin-final-page .eyebrow{display:inline-flex;padding:6px 12px;border-radius:999px;background:var(--gold-100);color:#8b641b;font-weight:900;font-size:12px;margin-bottom:4px}
.admin-final-page .compact-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin:0!important}
.admin-final-page .inline-form{display:inline-flex;margin:0}
.admin-final-page .admin-mini-kpis{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important}
.admin-final-page .admin-mini-kpis .kpi{min-height:104px!important;padding:15px 16px!important;border-radius:18px!important;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.admin-final-page .admin-mini-kpis .kpi:before{content:"";position:absolute;inset:0 auto auto 0;width:74px;height:74px;background:radial-gradient(circle,rgba(203,163,92,.14),transparent 70%);pointer-events:none}
.admin-final-page .admin-mini-kpis .kpi span{font-weight:900;color:var(--green-900)}
.admin-final-page .admin-mini-kpis .kpi b{font-size:26px!important;line-height:1.1!important;color:var(--green-800)!important}
.admin-final-page .admin-mini-kpis .kpi p{font-size:13px!important;color:#455e58;margin:0!important}
.admin-report-panels{margin-top:0!important;gap:16px!important}
.admin-final-page .compact-card{padding:17px 18px!important;border-radius:20px!important;min-height:auto!important;overflow:hidden}
.admin-final-page .compact-card .card-title{margin-bottom:10px!important;align-items:center!important;gap:10px!important}
.admin-final-page .compact-card .card-title h3{font-size:20px!important;margin:0!important;line-height:1.35!important}
.admin-final-page .compact-list{display:grid;gap:8px}
.admin-final-page .bar-row{padding:9px 0!important;gap:9px!important}
.admin-final-page .bar-row span{font-weight:800;color:#263d38;white-space:normal!important;overflow:hidden;text-overflow:ellipsis}
.admin-final-page .bar-row b{color:var(--green-800)}
.admin-final-page .bar-row i{height:7px!important;margin-top:0!important}
.admin-final-page .refined-chart{height:230px!important;padding:10px 4px 0!important;margin-top:2px!important;align-items:end!important}
.admin-final-page .chart-col{min-width:0;text-align:center;display:grid;grid-template-rows:1fr auto auto;gap:5px;align-items:end}
.admin-final-page .chart-col b{width:28px!important;max-width:76%;margin:auto;border-radius:14px 14px 4px 4px;background:linear-gradient(180deg,var(--green-700),var(--gold))!important}
.admin-final-page .chart-col span,.admin-final-page .chart-col small{font-size:11px!important;color:var(--muted)}
.admin-final-page .list-line{padding:10px 0!important;gap:10px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;border-bottom:1px solid var(--line)}
.admin-final-page .list-line:last-child{border-bottom:0}
.admin-final-page .list-line p{margin:2px 0 0!important;color:var(--muted);font-size:13px!important}
.admin-final-page .finance-line{padding:10px 0!important;font-size:14px!important}
.admin-final-page .finance-line b{color:var(--green-800)}
.admin-final-page .compact-form{grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;gap:12px!important}
.admin-final-page .align-end{align-self:end;height:49px;white-space:nowrap}
.admin-final-page .file-icon{width:36px;height:36px;border-radius:12px;background:var(--green-100);display:grid;place-items:center;flex:0 0 auto}
.admin-final-page .compact-launch-banner{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;margin:0!important;padding:22px!important;min-height:150px!important;background:radial-gradient(circle at 12% 12%,rgba(203,163,92,.16),transparent 34%),linear-gradient(135deg,#fff,#f1fbf8)!important}
.admin-final-page .compact-launch-banner h2{font-size:26px!important;margin:8px 0 4px!important;color:var(--green-900)!important}
.admin-final-page .compact-launch-banner p{margin:0!important}
.admin-final-page .launch-score{width:116px!important;height:116px!important;min-width:116px!important;background:linear-gradient(135deg,var(--green-700),var(--green-900))!important;color:#fff!important;box-shadow:0 16px 32px rgba(7,86,75,.16)!important}
.admin-final-page .launch-score b{font-size:27px!important;line-height:1!important}
.admin-final-page .launch-score span{font-size:14px!important}
.admin-final-page .launch-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.admin-final-page .launch-check-card .check-row{padding:10px 0!important;border-bottom:1px solid var(--line);align-items:flex-start!important}
.admin-final-page .check-row{display:flex!important;gap:10px!important}
.admin-final-page .check-icon{width:30px!important;height:30px!important;min-width:30px!important}
.admin-final-page .check-row p{font-size:13px!important;line-height:1.55!important;margin:3px 0 0!important}
.admin-final-page .compact-steps{margin:0;padding-inline-start:20px;display:grid;gap:8px}
.admin-final-page .compact-steps li{padding:4px 0;color:#263d38;line-height:1.65}
.admin-final-page .file-grid{gap:12px!important}
.admin-final-page .file-card{padding:14px!important;border-radius:16px!important;background:linear-gradient(135deg,#fff,#f7fcfa)!important;min-height:110px!important}
.admin-final-page .file-card p{font-size:13px!important;line-height:1.55!important}

@media (min-width:981px){
  body.has-sidebar .admin-final-page.dashboard-layout{padding-right:calc(var(--sidebar-w) + 24px)!important;padding-left:24px!important}
  body.has-sidebar .admin-final-page.dashboard-layout>.side{right:0!important;top:var(--header-h)!important;height:calc(100dvh - var(--header-h))!important}
}
@media (max-width:1200px){
  .admin-final-page .admin-mini-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .admin-final-page .launch-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:980px){
  .admin-final-page .compact-hero{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important;padding:16px!important}
  .admin-final-page .compact-hero h1{font-size:24px!important}
  .admin-final-page .compact-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important}
  .admin-final-page .compact-actions .btn,.admin-final-page .compact-actions form,.admin-final-page .compact-actions button{width:100%!important}
  .admin-final-page .admin-mini-kpis,.admin-final-page .launch-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-final-page .admin-report-panels,.admin-final-page .grid-2,.admin-final-page .grid-3{grid-template-columns:1fr!important}
  .admin-final-page .compact-launch-banner{display:grid!important;grid-template-columns:1fr!important;text-align:right!important}
  .admin-final-page .launch-score{margin:0!important;justify-self:start!important}
  .admin-final-page .compact-form{grid-template-columns:1fr!important}
}
@media (max-width:560px){
  .admin-final-page .admin-mini-kpis,.admin-final-page .launch-kpis{grid-template-columns:1fr!important}
  .admin-final-page .compact-actions{grid-template-columns:1fr!important}
  .admin-final-page .refined-chart{height:190px!important}
  .admin-final-page .chart-col b{width:22px!important}
}

/* ============================================================
   FINAL MOBILE PILGRIM DRAWER UNIFICATION PATCH
   اعتماد قائمة الجوال الجانبية العامة لكل صفحات الحاج وإخفاء أي لوحة داخلية قديمة
   خصوصاً صفحة الخريطة التفاعلية وصفحات لوحة الحاج.
============================================================ */
@media (max-width:980px){
  body.is-authenticated .mobile-side-trigger{
    display:inline-grid!important;
    place-items:center!important;
    visibility:visible!important;
  }

  /* لا تظهر اللوحات الجانبية الداخلية القديمة على الجوال نهائياً */
  body.is-authenticated .dashboard-layout > aside.side,
  body.is-authenticated .dashboard-layout > .side,
  body.is-authenticated .phase3-page.dashboard-layout > aside.side,
  body.is-authenticated .phase4-page.dashboard-layout > aside.side,
  body.is-authenticated .phase5-page.dashboard-layout > aside.side,
  body.is-authenticated .admin-map-page.dashboard-layout > aside.side{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:none!important;
  }

  /* محتوى الصفحة يأخذ العرض الكامل في الجوال بعد حذف اللوحة القديمة */
  body.is-authenticated .dashboard-layout,
  body.is-authenticated .phase3-page.dashboard-layout,
  body.is-authenticated .phase4-page.dashboard-layout,
  body.is-authenticated .phase5-page.dashboard-layout,
  body.is-authenticated .admin-map-page.dashboard-layout{
    display:block!important;
    grid-template-columns:1fr!important;
    width:calc(100% - 18px)!important;
    max-width:980px!important;
    margin-inline:auto!important;
    padding:14px 0 26px!important;
  }
  body.is-authenticated .dashboard-layout > section,
  body.is-authenticated .phase3-page.dashboard-layout > section,
  body.is-authenticated .phase4-page.dashboard-layout > section,
  body.is-authenticated .phase5-page.dashboard-layout > section,
  body.is-authenticated .admin-map-page.dashboard-layout > section{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }

  /* القائمة الجانبية المعتمدة للجوال فقط */
  .mobile-nav-drawer{
    display:flex!important;
    flex-direction:column!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:50vw!important;
    min-width:260px!important;
    max-width:392px!important;
    height:100dvh!important;
    z-index:1800!important;
    transform:translateX(112%)!important;
    transition:transform .28s ease, box-shadow .28s ease!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:14px 12px 18px!important;
    color:#fff!important;
    border-radius:0 0 0 30px!important;
    background:
      radial-gradient(circle at 12% 0,rgba(255,232,173,.28),transparent 30%),
      linear-gradient(180deg,var(--green-900),var(--green-700))!important;
    box-shadow:-28px 0 70px rgba(2,48,42,.34)!important;
  }
  body.mobile-drawer-open .mobile-nav-drawer{transform:translateX(0)!important;}
  html.mobile-drawer-lock,body.mobile-drawer-open{overflow:hidden!important;}
  body.mobile-drawer-open .drawer-backdrop{
    opacity:1!important;
    pointer-events:auto!important;
    display:block!important;
    z-index:1700!important;
  }

  .mobile-drawer-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding:8px 8px 12px!important;
    margin-bottom:10px!important;
    border-bottom:1px solid rgba(255,255,255,.14)!important;
  }
  .mobile-drawer-brand{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;}
  .mobile-drawer-brand img{width:42px!important;height:42px!important;background:#fff;border-radius:14px;padding:5px!important;}
  .mobile-drawer-brand strong{display:block!important;font-size:13px!important;line-height:1.35!important;color:#fff!important;white-space:normal!important;}
  .mobile-drawer-brand small{display:block!important;font-size:11px!important;color:rgba(255,255,255,.76)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:150px!important;}
  .mobile-drawer-close{
    width:36px!important;height:36px!important;border-radius:13px!important;border:1px solid rgba(255,255,255,.18)!important;
    background:rgba(255,255,255,.12)!important;color:#fff!important;font-size:24px!important;line-height:1!important;display:grid!important;place-items:center!important;
  }
  .mobile-drawer-title{
    margin:14px 8px 8px!important;
    padding:7px 10px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    width:max-content!important;
    background:rgba(255,232,173,.18)!important;
    color:#fff6df!important;
    font-weight:900!important;
    font-size:12px!important;
  }
  .mobile-drawer-section{display:grid!important;gap:8px!important;margin:0 0 10px!important;}
  .mobile-drawer-section a{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-height:50px!important;
    padding:12px 14px!important;
    border-radius:17px!important;
    background:rgba(255,255,255,.09)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.10)!important;
    font-weight:900!important;
    font-size:14px!important;
    line-height:1.45!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
  }
  .mobile-drawer-section a.active,
  .mobile-drawer-section a:hover{background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.20)!important;}
  .mobile-drawer-footer{
    margin-top:auto!important;
    padding-top:12px!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .mobile-drawer-footer a{
    min-height:54px!important;
    border-radius:18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-weight:900!important;
    text-align:center!important;
  }
  .mobile-drawer-dashboard{background:#fff!important;color:var(--green-800)!important;}
  .mobile-drawer-logout{background:rgba(255,255,255,.16)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;}

  /* تعطيل أي محاولة لفتح اللوحة الداخلية القديمة عبر كلاس side-drawer-open */
  body.side-drawer-open .dashboard-layout > .side{display:none!important;transform:none!important;}
}

@media (max-width:430px){
  .mobile-nav-drawer{width:50vw!important;min-width:238px!important;max-width:330px!important;padding:12px 10px 16px!important;}
  .mobile-drawer-section a{min-height:47px!important;font-size:13.5px!important;padding:10px 12px!important;}
  .mobile-drawer-footer a{min-height:50px!important;font-size:13.5px!important;}
}

@media (min-width:981px){
  .mobile-nav-drawer,.drawer-backdrop{display:none!important;}
  .mobile-side-trigger{display:none!important;}
}


/* Real YouTube video embeds inside media cards - final polish */
.media-thumb.media-video-thumb{
  height:240px!important;
  min-height:240px!important;
  background:#061f1a!important;
  border-bottom:1px solid var(--line);
}
.media-card-video{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border:0!important;
  border-radius:0!important;
  background:#000;
  display:block;
}
.play-badge{
  position:absolute;
  left:14px;
  bottom:14px;
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--green-700),var(--green-900));
  color:#fff;
  font-weight:900;
  box-shadow:0 12px 26px rgba(7,86,75,.25);
}
.media-card .card-actions-row .btn{min-height:42px}
@media (max-width:620px){
  .media-thumb.media-video-thumb{height:210px!important;min-height:210px!important}
  .media-card-video{height:100%!important;min-height:0!important}
}

/* ============================================================
   Moyasar Sandbox Payments UI
============================================================ */
.payments-page .compact-head{padding:20px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(235,248,244,.78));box-shadow:var(--shadow-sm)}
.compact-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.compact-kpis .kpi{min-height:128px}.payment-list{display:grid;gap:12px}.payment-row{display:grid;grid-template-columns:48px minmax(0,1fr) 135px 105px 110px;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#fff,#f8fcfb)}.payment-icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:var(--green-100);font-size:22px}.payment-main b{display:block;color:var(--green-900);font-size:17px}.payment-main span{display:block;font-size:13px}.payment-amount strong{display:block;color:var(--green-800);font-size:20px;line-height:1}.payment-amount small{color:var(--muted);font-weight:800}.payment-actions{text-align:left}.checkout-grid{display:grid;grid-template-columns:minmax(0,1.25fr) 360px;gap:18px;align-items:start}.moyasar-card{min-height:520px}.mysr-form{max-width:100%!important}.sandbox-fallback{margin-top:18px;padding:14px;border:1px dashed var(--line);border-radius:18px;background:var(--green-50)}.payment-summary-card{position:sticky;top:calc(var(--header-h, 78px) + 20px)}.test-cards-box{margin-top:15px;padding:14px;border-radius:18px;background:#fffdf6;border:1px solid #f2dfae}.test-cards-box h3{margin:0 0 6px;color:var(--green-900)}.test-cards-box code{display:block;direction:ltr;text-align:left;background:#fff;border:1px solid #ecd491;border-radius:12px;padding:9px 12px;margin-top:8px;font-weight:900;color:#6f4e0f}.payment-success-box{text-align:center;padding:36px 20px;border-radius:22px;background:#effbf4;border:1px solid #c8edd8}.payment-result-card{max-width:840px;margin:30px auto;padding:42px;border-radius:32px;text-align:center;background:white;border:1px solid var(--line);box-shadow:var(--shadow)}.payment-result-card.is-paid{background:linear-gradient(135deg,#f6fff9,#fff)}.payment-result-card.is-failed{background:linear-gradient(135deg,#fff7f7,#fff)}.payment-result-card h1{margin:8px 0;color:var(--green-900);font-size:38px}.result-icon{font-size:60px}.payment-receipt-mini{margin:22px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:720px}.payment-receipt-mini div{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff}.payment-receipt-mini span{display:block;color:var(--muted);font-size:13px}.payment-receipt-mini b{color:var(--green-800)}.center-actions{justify-content:center}.payment-sync-form{display:grid;grid-template-columns:minmax(140px,1fr) auto;gap:8px;min-width:260px}.payment-sync-form .form-control{height:40px;padding:8px 10px}.admin-payments-page .table td{vertical-align:middle}
@media(max-width:980px){.compact-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-row{grid-template-columns:42px minmax(0,1fr);gap:10px}.payment-amount,.payment-row>.badge,.payment-actions{grid-column:2}.payment-actions{text-align:stretch}.payment-actions .btn{width:100%}.checkout-grid{grid-template-columns:1fr}.payment-summary-card{position:static}.payment-receipt-mini{grid-template-columns:1fr}.payment-result-card h1{font-size:28px}.moyasar-card{min-height:auto}}
@media(max-width:560px){.compact-kpis{grid-template-columns:1fr}.payment-row{padding:12px}.payment-main b{font-size:15px}.payment-result-card{padding:24px 14px}.result-icon{font-size:44px}.test-cards-box code{font-size:12px}}

/* Moyasar real sandbox checkout polish */
.moyasar-loader-box{
  border:1px dashed rgba(11,101,92,.22);
  background:linear-gradient(135deg,rgba(234,247,242,.95),rgba(255,255,255,.95));
  border-radius:22px;
  padding:22px;
  margin-bottom:18px;
  text-align:center;
}
.mysr-form{
  width:100%;
  min-height:160px;
  direction:ltr;
}
.mysr-form .mysr-form, .mysr-form form{
  max-width:100%!important;
}
.compact-fallback{
  margin-top:18px;
  border:1px solid rgba(214,177,91,.30);
  background:#fffaf0;
  border-radius:18px;
  padding:14px 16px;
}
.compact-fallback summary{
  cursor:pointer;
  font-weight:800;
  color:var(--primary);
}
.compact-fallback form{margin-top:12px}
.payment-result-card.is-paid{
  background:linear-gradient(135deg,#f0fbf6,#fff);
  border-color:rgba(18,144,91,.28);
}
.payment-result-card.is-failed{
  background:linear-gradient(135deg,#fff7f7,#fff);
  border-color:rgba(220,38,38,.20);
}
@media (max-width: 768px){
  .checkout-grid{grid-template-columns:1fr!important;}
  .payment-summary-card{order:-1;}
  .mysr-form{min-height:220px;}
}
