:root{
  --req-primary:#02343a;
  --req-primary-2:#0b4b52;
  --req-gold:#c9a45c;
  --req-bg:#f4f7f8;
  --req-card:#ffffff;
  --req-border:#e4ecee;
  --req-text:#183437;
  --req-text-soft:#708487;
  --req-shadow:0 10px 30px rgba(2,52,58,.08);
  --req-shadow-hover:0 16px 36px rgba(2,52,58,.12);
  --req-radius-xl:28px;
  --req-radius-lg:20px;
  --req-radius-md:15px;
  --req-danger:#d64045;
  --req-success:#118a63;
}

*{
  box-sizing:border-box;
}

html,
body{
  overflow-x:hidden !important;
  max-width:100vw !important;
}

*{
  overscroll-behavior-x:contain !important;
}

body{
  font-family:'Almarai',sans-serif;
}

body::-webkit-scrollbar{
  display:none;
}

.request-main{
  padding-bottom:90px;
}

/* الهيرو */
.request-hero{
  background:
    radial-gradient(circle at top left, rgba(201,164,92,.13), transparent 24%),
    linear-gradient(135deg,#ffffff 0%, #f7fafb 100%);
  border:1px solid var(--req-border);
  border-radius:30px;
  box-shadow:var(--req-shadow);
  padding:24px;
  margin-bottom:22px;
}

.request-hero-content{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

.request-hero-right{
  display:flex;
  align-items:center;
  gap:16px;
  flex:1;
  min-width:260px;
}

.request-icon-wrap{
  width:72px;
  height:72px;
  border-radius:22px;
  background:linear-gradient(135deg,var(--req-primary),var(--req-primary-2));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 24px rgba(2,52,58,.18);
  flex-shrink:0;
}

.request-icon-wrap .material-symbols-rounded{
  font-size:34px;
}

.request-hero-text h1{
  margin:0 0 8px;
  color:var(--req-text);
  font-size:30px;
  font-weight:800;
}

.request-hero-text p{
  margin:0;
  color:var(--req-text-soft);
  font-size:15px;
  line-height:1.9;
}

.request-stat-box{
  min-width:145px;
  background:#fff;
  border:1px solid var(--req-border);
  border-radius:20px;
  padding:16px 18px;
  text-align:center;
  box-shadow:0 8px 18px rgba(2,52,58,.05);
}

.request-stat-box span{
  display:block;
  font-size:13px;
  color:var(--req-text-soft);
  margin-bottom:8px;
}

.request-stat-box strong{
  font-size:26px;
  color:var(--req-primary);
  font-weight:800;
}

/* قسم الفورم */
.request-form-section{
  width:100%;
}

.request-form-card{
  background:var(--req-card);
  border:1px solid var(--req-border);
  border-radius:30px;
  box-shadow:var(--req-shadow);
  padding:28px;
  overflow:hidden;
}

.request-card-head{
  margin-bottom:22px;
}

.request-card-head h2{
  margin:0 0 8px;
  color:var(--req-text);
  font-size:24px;
  font-weight:800;
}

.request-card-head p{
  margin:0;
  color:var(--req-text-soft);
  font-size:14px;
  line-height:1.8;
}

/* الفورم */
.request-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.field-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.field-full{
  grid-column:1 / -1;
}

.field-group label{
  color:var(--req-text);
  font-size:14px;
  font-weight:700;
}

.field-group label span{
  color:var(--req-danger);
}

.input-wrap{
  position:relative;
  display:flex;
  align-items:center;
  background:#f8fbfb;
  border:1.5px solid #e6eef0;
  border-radius:16px;
  min-height:56px;
  transition:.2s ease;
  overflow:hidden;
}

.input-wrap:focus-within{
  border-color:#8eb1b5;
  background:#ffffff;
  box-shadow:0 0 0 4px rgba(2,52,58,.05);
}

.input-wrap > .material-symbols-rounded{
  width:54px;
  min-width:54px;
  text-align:center;
  color:var(--req-primary);
  font-size:22px;
}

.input-wrap input,
.input-wrap select,
.input-wrap textarea{
  width:100%;
  border:none;
  outline:none;
  background:transparent;
  padding:15px 16px 15px 0;
  font-size:15px;
  color:var(--req-text);
  font-family:inherit;
}

.input-wrap input::placeholder,
.input-wrap textarea::placeholder{
  color:#97a8ab;
}

.textarea-wrap{
  align-items:flex-start;
  min-height:140px;
}

.textarea-wrap > .material-symbols-rounded{
  padding-top:15px;
}

.input-wrap textarea{
  resize:none;
  padding-top:15px;
  padding-bottom:15px;
  line-height:1.9;
  min-height:140px;
}

/* الرسالة */
#client-request-msg{
  min-height:26px;
  font-size:14px;
  font-weight:700;
  padding:2px 4px 0;
}

/* زر الإرسال */
.request-submit-wrap{
  display:flex;
  justify-content:flex-start;
}

.request-submit-btn{
  border:none;
  outline:none;
  cursor:pointer;
  background:linear-gradient(135deg,var(--req-primary),var(--req-primary-2));
  color:#fff;
  border-radius:16px;
  padding:14px 24px;
  font-family:inherit;
  font-size:15px;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:190px;
  box-shadow:0 12px 24px rgba(2,52,58,.14);
  transition:.22s ease;
}

.request-submit-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 28px rgba(2,52,58,.18);
}

.request-submit-btn .material-symbols-rounded{
  font-size:21px;
}

/* موبايل */
@media (max-width:900px){
  .request-main{
    padding-bottom:84px;
  }

  .request-hero{
    padding:18px;
    border-radius:24px;
    margin-bottom:16px;
  }

  .request-hero-text h1{
    font-size:24px;
  }

  .request-hero-text p{
    font-size:14px;
  }

  .request-stat-box{
    min-width:120px;
    width:100%;
  }

  .request-form-card{
    padding:18px;
    border-radius:24px;
  }

  .request-card-head h2{
    font-size:21px;
  }

  .request-form-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .input-wrap{
    min-height:54px;
    border-radius:14px;
  }

  .input-wrap > .material-symbols-rounded{
    width:48px;
    min-width:48px;
    font-size:20px;
  }

  .input-wrap input,
  .input-wrap select,
  .input-wrap textarea{
    font-size:14px;
  }

  .request-submit-btn{
    width:100%;
    min-width:100%;
  }
}

@media (max-width:480px){
  .request-icon-wrap{
    width:60px;
    height:60px;
    border-radius:18px;
  }

  .request-icon-wrap .material-symbols-rounded{
    font-size:28px;
  }

  .request-hero-text h1{
    font-size:22px;
  }

  .request-hero-right{
    align-items:flex-start;
  }

  .request-form-card{
    padding:15px;
  }
}

/* V46 additions: preserve original client-request layout */
.request-account-card{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:11px;
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid var(--req-line,#dfece8);
  border-radius:16px;
  background:#f5faf8;
}
.request-account-card>.material-symbols-rounded{
  width:40px;
  height:40px;
  min-width:40px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#e6f6f1;
  color:var(--req-primary-2,#029990);
}
.request-account-card small{
  display:block;
  color:#718681;
  font-size:10px;
  font-weight:700;
  margin-bottom:3px;
}
.request-account-card strong{
  display:block;
  color:var(--req-primary,#02343a);
  font-size:13px;
  font-weight:800;
}

.neighborhoods-wrap{
  align-items:flex-start!important;
  padding-top:5px;
  padding-bottom:5px;
}
.public-neighborhood-editor{
  flex:1;
  min-width:0;
  min-height:48px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  padding:5px 8px 5px 0;
}
.public-neighborhood-list{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.public-neighborhood-list button{
  border:0;
  border-radius:999px;
  background:#eaf8f4;
  color:#027a72;
  padding:6px 9px;
  font-family:inherit;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
.public-neighborhood-input{
  min-width:170px!important;
  flex:1!important;
  border:0!important;
  box-shadow:none!important;
  padding:10px 4px!important;
}
.field-help{
  display:block;
  margin-top:6px;
  color:#78908b;
  font-size:10px;
  font-weight:700;
}

/* Keep exact width behavior used by the original public pages. */
.request-main{
  width:min(1180px,calc(100% - 32px));
  margin-inline:auto;
}

/* Submit button stays on the same family as the original page buttons. */
.request-submit-btn{
  background:linear-gradient(135deg,var(--req-primary,#02343a),var(--req-primary-2,#029990))!important;
  color:#fff!important;
  font-family:'Almarai',sans-serif!important;
  border:0!important;
}
.request-submit-btn .material-symbols-rounded{
  font-size:21px!important;
}

@media(max-width:900px){
  .request-main{
    width:calc(100% - 16px);
  }
}


/* V47 — Dashboard identity / more visual life */
:root{
  --req-green:#2ad067;
  --req-teal:#029990;
  --req-blue:#4f7cac;
  --req-purple:#7967b7;
  --req-amber:#d39a38;
  --req-rose:#cf6679;
}

.request-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 10%,rgba(42,208,103,.24),transparent 28%),
    linear-gradient(135deg,#02343a 0%,#075f5a 58%,#029990 100%)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 16px 38px rgba(2,52,58,.18)!important;
}
.request-hero::after{
  content:'';
  position:absolute;
  width:210px;height:210px;
  left:-75px;bottom:-125px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  pointer-events:none;
}
.request-icon-wrap{
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.request-hero-text h1{color:#fff!important}
.request-hero-text p{color:rgba(255,255,255,.82)!important}
.request-stat-box{
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.request-stat-box span{color:rgba(255,255,255,.72)!important}
.request-stat-box strong{color:#fff!important}

.request-form-card{
  background:linear-gradient(180deg,#fff 0%,#fbfefd 100%)!important;
  border-color:#dbeae5!important;
}
.request-card-head h2{color:#02343a!important}
.request-card-head p{color:#6d817d!important}

/* Labels are softer, not black */
.field-group label{color:#355752!important}

/* Inputs get alternating accent identities */
.request-form-grid .field-group:nth-of-type(6n+1) .input-wrap{background:#f2fbf8!important;border-color:#d8eee6!important}
.request-form-grid .field-group:nth-of-type(6n+1) .input-wrap>.material-symbols-rounded{color:#029990!important;background:#e7f7f2}
.request-form-grid .field-group:nth-of-type(6n+2) .input-wrap{background:#f4f8fd!important;border-color:#dce7f4!important}
.request-form-grid .field-group:nth-of-type(6n+2) .input-wrap>.material-symbols-rounded{color:#4f7cac!important;background:#eaf1fa}
.request-form-grid .field-group:nth-of-type(6n+3) .input-wrap{background:#f7f5fd!important;border-color:#e4def3!important}
.request-form-grid .field-group:nth-of-type(6n+3) .input-wrap>.material-symbols-rounded{color:#7967b7!important;background:#efebf9}
.request-form-grid .field-group:nth-of-type(6n+4) .input-wrap{background:#fff9f0!important;border-color:#f0e1c7!important}
.request-form-grid .field-group:nth-of-type(6n+4) .input-wrap>.material-symbols-rounded{color:#b37a23!important;background:#faefd9}
.request-form-grid .field-group:nth-of-type(6n+5) .input-wrap{background:#fff6f7!important;border-color:#efdfe3!important}
.request-form-grid .field-group:nth-of-type(6n+5) .input-wrap>.material-symbols-rounded{color:#b95569!important;background:#f8e9ec}
.request-form-grid .field-group:nth-of-type(6n+6) .input-wrap{background:#f3faf8!important;border-color:#dcece7!important}
.request-form-grid .field-group:nth-of-type(6n+6) .input-wrap>.material-symbols-rounded{color:#087a62!important;background:#e8f6f1}

.input-wrap>.material-symbols-rounded{
  align-self:stretch;
  display:grid!important;
  place-items:center!important;
  border-radius:0 14px 14px 0;
}
.input-wrap:focus-within{
  border-color:rgba(2,153,144,.45)!important;
  box-shadow:0 0 0 4px rgba(2,153,144,.08)!important;
}
.input-wrap input,.input-wrap select,.input-wrap textarea{color:#183d38!important}

.request-submit-btn{
  background:linear-gradient(135deg,#02343a,#029990)!important;
  box-shadow:0 12px 24px rgba(2,52,58,.16)!important;
}
.request-submit-btn:hover{background:linear-gradient(135deg,#02454c,#03a69c)!important}
.request-submit-btn:disabled{opacity:.68;cursor:not-allowed;transform:none!important}

#client-request-msg.success{color:#087443!important}
#client-request-msg.error{color:#b42318!important}

@media(max-width:900px){
  .request-hero{border-radius:22px!important;padding:16px!important}
  .request-stat-box{min-width:112px!important}
  .input-wrap>.material-symbols-rounded{width:46px!important;min-width:46px!important}
}
