/* TREASURE HUNT — PARTNER NETWORK / DESIGN SYSTEM 2.0
   Single branded CSS shared by public, partner, hunter and admin views.
   Official colors: Deep Brown #431B01 / Golden Sand #DEAA61 / Soft Cream #FFECC7
   Fonts: Lato + Noto Kufi Arabic (licensed display fonts not bundled).
*/
:root{
  --ink:#431B01;--gold:#DEAA61;--parch:#FFECC7;
  --txt:#fff3dd;--mut:#e0c6a2;
  --ok:#8bdfa3;--bad:#f4a18f;--warn:#f1c97b;
  --r:16px;--page-width:1200px;--card-radius:16px;
  --shadow:0 15px 48px rgba(24,8,0,.17);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{
  --ink2:color-mix(in srgb,var(--ink) 83%,var(--parch));
  --ink3:color-mix(in srgb,var(--ink) 70%,var(--parch));
  --gold2:color-mix(in srgb,var(--gold) 68%,var(--parch));
  --parch2:color-mix(in srgb,var(--parch) 77%,var(--gold));
  margin:0;color:var(--txt);
  background:var(--ink);
  background-image:radial-gradient(ellipse 90% 320px at 93% -40px,rgba(255,236,199,.075),transparent 75%),
    radial-gradient(ellipse 65% 340px at -10% 42%,rgba(222,170,97,.06),transparent 80%);
  font-family:'Lato','Noto Kufi Arabic',system-ui,sans-serif;
  line-height:1.63;font-weight:400;-webkit-font-smoothing:antialiased;
  min-height:100vh;display:flex;flex-direction:column;
}
html[lang=ar] body{font-family:'Noto Kufi Arabic','Lato',system-ui,sans-serif;line-height:1.85}
::selection{background:var(--gold);color:var(--ink)}
a{color:var(--gold2);text-decoration:none;overflow-wrap:anywhere}
a:hover{text-decoration:underline;color:var(--parch)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid var(--gold2);outline-offset:3px
}
h1,h2,h3,h4{line-height:1.3;margin:.18em 0 .62em;color:var(--parch);font-weight:900}
h1{font-size:clamp(2rem,4.4vw,3.75rem);letter-spacing:-.035em}
h2{font-size:clamp(1.4rem,2.3vw,2.2rem);letter-spacing:-.02em}
h3{font-size:clamp(1.05rem,1.6vw,1.35rem)}
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3{letter-spacing:0}
p{margin:.45em 0 1em}
.wrap{max-width:var(--page-width);width:100%;margin-inline:auto;padding:28px 24px 84px;flex:1}
.top{background:color-mix(in srgb,var(--ink) 97%,black);border-bottom:1px solid color-mix(in srgb,var(--gold) 32%,transparent);
  box-shadow:0 5px 35px rgba(25,9,0,.18);padding:12px max(22px,calc((100vw - 1250px)/2));
  display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:space-between;
  position:sticky;z-index:50;top:0;backdrop-filter:blur(15px)}
.brand{display:flex;align-items:center;gap:13px;color:var(--parch);text-decoration:none!important;flex-shrink:0}
.brand-official-logo{height:64px;width:64px;object-fit:contain;object-position:center;display:block}
.brand-descriptor{font-family:'Lato',sans-serif;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.22em;
  line-height:1.65;white-space:nowrap;color:var(--gold);border-inline-start:1px solid color-mix(in srgb,var(--gold) 45%,transparent);padding-inline-start:13px}
.top nav{display:flex;align-items:center;flex-wrap:wrap;gap:7px 16px;font-size:.86rem}
.top nav a:not(.btn){color:var(--parch);font-weight:700;transition:color .18s}
.top nav a:not(.btn):hover{color:var(--gold);text-decoration:none}
.top nav .lang{border:1px solid var(--gold);border-radius:8px;padding:3px 9px;color:var(--gold)!important;white-space:nowrap}
.btn,button.btn{font:inherit;display:inline-flex;justify-content:center;align-items:center;gap:7px;cursor:pointer;
  text-decoration:none!important;background:transparent;color:var(--parch);font-weight:800;
  border:1px solid var(--gold);border-radius:9px;padding:11px 19px;line-height:1.32;
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.btn:hover{background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--parch);transform:translateY(-1px)}
.btn.gold{color:var(--ink);background:var(--gold);border-color:var(--gold);box-shadow:0 4px 20px rgba(0,0,0,.08)}
.btn.gold:hover{background:var(--gold2);border-color:var(--gold2);color:var(--ink)}
.btn.sm{font-size:.83rem;padding:7px 11px}
.btn.danger{border-color:var(--bad);color:var(--bad)}
.btn.ok{border-color:var(--ok);color:var(--ok)}
.btn:disabled,button:disabled{cursor:not-allowed;opacity:.57;transform:none}
.hero{padding:62px 0 47px;margin:0 0 32px;border-bottom:1px solid color-mix(in srgb,var(--gold) 22%,transparent);position:relative;isolation:isolate;overflow:hidden}
.hero::after{content:"";position:absolute;height:2px;width:105px;bottom:0;inset-inline-start:0;background:var(--gold)}
.hero>.eyebrow,.hero>h1,.hero>.lead,.hero>.hero-actions,.hero>.help,.hero>.hero-tagline{position:relative;z-index:1}
.hero p.lead,.hero .lead{font-size:clamp(1rem,1.55vw,1.16rem);max-width:760px;color:var(--mut);line-height:1.9}
.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:25px 0 0}
.hero-mark{position:absolute;inset-inline-end:0;top:0;bottom:0;width:33%;z-index:0;display:flex;justify-content:center;align-items:center;pointer-events:none;opacity:.12;transform:rotate(-7deg)}
.hero-mark img{width:100%;max-width:330px;max-height:315px;object-fit:contain;filter:grayscale(1) sepia(.5)}
.hero-tagline{margin-top:17px;color:var(--gold2);font-size:.9rem;letter-spacing:.03em}
.eyebrow{color:var(--gold);font-family:'Lato',sans-serif;text-transform:uppercase;letter-spacing:.25em;font-size:.77rem;font-weight:900}
.grid{display:grid;gap:18px;min-width:0}.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.card{background:color-mix(in srgb,var(--ink) 78%,var(--parch));color:var(--txt);
  border:1px solid color-mix(in srgb,var(--gold) 25%,transparent);border-radius:var(--card-radius);
  padding:23px;box-shadow:0 8px 30px rgba(26,8,0,.08);min-width:0;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.card:hover{border-color:color-mix(in srgb,var(--gold) 55%,transparent)}
.card.parch{background:var(--parch);color:var(--ink);border-color:color-mix(in srgb,var(--gold) 80%,transparent)}
.card.parch h1,.card.parch h2,.card.parch h3,.card.parch h4{color:var(--ink)}
.card.parch a:not(.btn){color:var(--ink);text-decoration:underline}
.card.parch .muted,.card.parch .sm{color:color-mix(in srgb,var(--ink) 86%,var(--parch))}
.center{text-align:center}.muted{color:var(--mut)}.sm{font-size:.87rem}.num{font-size:clamp(2rem,4vw,2.8rem);font-weight:900;color:var(--gold2)}
.steps{counter-reset:s;display:grid;gap:12px}
.steps .card{position:relative;padding-inline-start:73px}
.steps .card::before{counter-increment:s;content:counter(s);position:absolute;inset-inline-start:20px;top:22px;width:37px;height:37px;border-radius:9px;background:var(--gold);color:var(--ink);display:grid;place-items:center;font-family:'Lato',sans-serif;font-weight:900}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--gold) 44%,transparent);padding:4px 12px;border-radius:9px;font-size:.83rem;color:var(--parch);background:color-mix(in srgb,var(--gold) 7%,transparent)}
.card.parch .chip{color:var(--ink);border-color:var(--gold)}
.st{display:inline-block;padding:4px 10px;border-radius:8px;font-size:.77rem;font-weight:900;background:var(--ink3);color:var(--parch)}
.st.live,.st.approved,.st.fully_signed,.st.active{background:rgba(139,223,163,.13);color:var(--ok)}
.st.needs_info,.st.under_review,.st.partner_signed,.st.hold,.st.submitted,.st.contract_sent{background:rgba(241,201,123,.13);color:var(--warn)}
.st.rejected,.st.paused,.st.void{background:rgba(244,161,143,.11);color:var(--bad)}
form .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px;margin-bottom:14px}
label{display:block;font-weight:750;color:var(--parch);font-size:.9rem;margin-bottom:6px}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=url],input[type=number],input[type=date],input[type=color],select,textarea{
  font:inherit;width:100%;padding:11px 13px;background:var(--ink3);color:var(--txt);border:1px solid color-mix(in srgb,var(--gold) 38%,transparent);border-radius:9px;min-height:46px}
input[type=color]{padding:5px;min-width:58px;max-width:130px;cursor:pointer}
input::placeholder,textarea::placeholder{color:var(--mut);opacity:.85}
textarea{min-height:95px;resize:vertical}input[type=file]{color:var(--mut);max-width:100%}
input[type=radio],input[type=checkbox]{accent-color:var(--gold);cursor:pointer}
select option{background:var(--ink);color:var(--parch)}
.help{font-size:.81rem;color:var(--mut);line-height:1.65}
.flash{padding:12px 16px;border-radius:9px;margin:8px 0 20px}
.flash.ok{background:rgba(139,223,163,.12);border:1px solid var(--ok)}
.flash.err{background:rgba(244,161,143,.12);border:1px solid var(--bad)}
.tscroll{overflow-x:auto;max-width:100%;border-radius:8px}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{padding:11px 12px;border-bottom:1px solid color-mix(in srgb,var(--gold) 22%,transparent);text-align:start;vertical-align:top}
th{font-weight:900;color:var(--gold);white-space:nowrap}
tbody tr:hover{background:rgba(255,236,199,.028)}
.progress{height:9px;background:var(--ink3);border-radius:20px;overflow:hidden}
.progress>i{display:block;height:100%;background:var(--gold);border-radius:20px}
.pipeline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pipeline .p{padding:5px 11px;border-radius:7px;border:1px solid var(--mut);color:var(--mut);font-size:.82rem}
.pipeline .p.done{border-color:var(--ok);color:var(--ok)}
.notice{border:1px dashed color-mix(in srgb,var(--gold) 74%,transparent);border-radius:11px;padding:15px 17px;color:var(--parch);background:color-mix(in srgb,var(--gold) 10%,transparent)}
.faq details{padding:16px 0;border-bottom:1px solid color-mix(in srgb,var(--gold) 27%,transparent)}
.faq summary{color:var(--parch);cursor:pointer;font-weight:900;transition:color .15s}
.faq summary:hover{color:var(--gold)}
.contract{background:#fffaef;color:#431B01;border:1px solid var(--gold);border-radius:12px;padding:28px;line-height:1.95;box-shadow:var(--shadow)}
.contract h1,.contract h2,.contract h3,.contract .muted{color:#431B01}
.contract h1{font-size:1.55rem}.contract h2{font-size:1.18rem;margin-top:1em}
.sigpad{width:100%;max-width:520px;height:160px;border:2px dashed var(--gold);border-radius:10px;background:#fffaef;touch-action:none;display:block}
.sigs{width:100%}.sigs td{width:50%;padding:13px;border:1px solid var(--gold);color:#431B01}
.steps-form .step{display:none}.steps-form .step.active{display:block}
.stepbar{display:flex;gap:6px;margin:0 0 22px}.stepbar span{flex:1;height:7px;border-radius:9px;background:var(--ink3)}.stepbar span.on{background:var(--gold)}
.repeat{border:1px solid color-mix(in srgb,var(--gold) 25%,transparent);border-radius:10px;padding:15px;margin:0 0 12px}
.codebox{font-family:'Lato',sans-serif;font-size:clamp(1.6rem,7vw,2.65rem);letter-spacing:.25em;font-weight:900;color:var(--gold2);text-align:center;padding:15px;border:2px solid var(--gold);border-radius:11px;direction:ltr}
.benefit-item{border-top:1px solid color-mix(in srgb,var(--gold) 23%,transparent);padding:13px 0}
.benefit-item .value{color:var(--gold2);font-weight:900}
.partner-logo{width:56px;height:56px;object-fit:contain;border-radius:10px;background:#fff;padding:4px}
.foot{background:color-mix(in srgb,var(--ink) 90%,black);border-top:1px solid color-mix(in srgb,var(--gold) 29%,transparent);color:var(--mut);text-align:center;padding:28px 18px;font-size:.86rem}
.foot .foot-inner{max-width:var(--page-width);margin:auto;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.foot img{width:118px;max-height:45px;object-fit:contain;object-position:left center}
.foot a{color:var(--gold)}
body.admin .wrap{max-width:1340px}
body.admin .top{background:color-mix(in srgb,var(--ink) 94%,black)}
[dir=rtl] input[type=url],[dir=rtl] input[type=email],[dir=rtl] input[type=tel]{direction:ltr;text-align:right}
[dir=rtl] input[type=url]::placeholder{direction:ltr}
td,th{unicode-bidi:plaintext;overflow-wrap:anywhere}
@media(min-width:900px){.hero-main h1,.hero-main .lead{max-width:780px}}
@media(max-width:1100px){.top{padding:10px 18px}.top nav{gap:7px 11px}.wrap{padding:22px 18px 65px}}
@media(max-width:760px){
  .top{display:block;padding:10px 14px 0;position:relative}
  .brand{width:max-content}.brand-official-logo{height:56px;width:56px}
  .top nav{margin-top:5px;padding:5px 0 11px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;gap:9px;max-width:100%}
  .top nav a{white-space:nowrap;flex-shrink:0;font-size:.83rem}
  .top nav a.btn{padding:8px 11px}
  .wrap{padding:18px 14px 50px}.hero{padding:38px 0 30px;margin-bottom:21px}
  .hero-mark{width:36%;opacity:.07;inset-inline-end:-7%}.hero .lead{max-width:100%}
  .card{padding:17px}.grid{gap:13px}.foot .foot-inner{justify-content:center;text-align:center}
}
@media(max-width:420px){
  h1{font-size:1.94rem}.hero-actions .btn{width:100%}
  .hero-mark{display:none}.steps .card{padding-inline-start:62px}.steps .card:before{inset-inline-start:13px;width:33px;height:33px}
  .codebox{letter-spacing:.1em}.brand-descriptor{font-size:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.card,.faq summary{transition:none}.btn:hover{transform:none}}
@media print{
  html,body{background:#fff!important;color:#000!important;display:block}
  .top,.foot,.btn,.noprint,.flash,.hero-mark{display:none!important}
  .wrap{max-width:none;padding:0!important}.card{box-shadow:none!important}
  .contract{border:0;background:white!important;color:black!important;box-shadow:none;padding:0}
}
