/* Public sign-up + 7-day trial (owner 2026-11-02) — built from the APPROVED mockup GCSE/18-signup-trial/mockup.html.
   Tokens come from wissal-ds.css (loaded first); buttons are .pbtn so they never meet Bootstrap's .btn. */
/* Sign-up + 7-day trial journey for the public products (My GCSE as the example).
   Mockup only (2026-11-02). Tokens = research/design-audit-2026-11/wissal-ds.css. Invented data. */
:root{
  --petrol-900:#082C37; --petrol:#0C3E4D; --petrol-600:#2F5F6C; --petrol-100:#E3ECEE; --petrol-50:#F1F5F6;
  --orange:#F07032; --orange-700:#C4521C; --orange-50:#FDEEE6;
  --ink:#142A31; --ink-2:#4B6169; --ink-3:#7D9097; --line:#DCE4E6; --line-2:#ECF1F2; --page:#F6F8F8; --surface:#FFFFFF;
  --on-dark:#C9DCE1; --orange-on-dark:#F6B48F;
  --above:#2E7D4F; --above-50:#E6F2EA; --inline:#B7791F; --inline-50:#FBF1DE; --below:#B93A2B;
  --ui:'IBM Plex Sans Arabic','IBM Plex Sans','Segoe UI',sans-serif;
  --en:'IBM Plex Sans','IBM Plex Sans Arabic','Segoe UI',sans-serif;
  --t-12:12.5px; --t-13:13px; --t-14:14px; --t-15:15px; --t-18:18px; --t-22:22px; --t-26:26px; --t-32:32px; --t-40:40px;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px;
  --r-ctl:6px; --r-box:10px;
}
*{box-sizing:border-box}
html,body{margin:0;overflow-x:hidden}
body{font-family:var(--ui);font-size:var(--t-15);line-height:1.6;color:var(--ink);background:var(--page);-webkit-font-smoothing:antialiased}
.num{font-variant-numeric:tabular-nums}
.ltr,bdi{direction:ltr;unicode-bidi:isolate}
a{color:var(--petrol)}
h1,h2,h3,h4,p{margin:0}
svg.i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* the mockup's own frame (not part of the product) */
[hidden]{display:none!important}

.frame{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-box);overflow:hidden}

/* product top bar */
.bar{display:flex;align-items:center;gap:var(--s3);background:var(--petrol);color:#fff;padding:12px var(--s5)}
.bar .mark{flex:none;width:30px;height:30px;border-radius:var(--r-ctl);background:var(--orange);display:grid;place-items:center;font-weight:700;font-size:var(--t-15)}
.bar .name{font-weight:600;font-size:var(--t-15);white-space:nowrap}
.bar .name span{color:var(--on-dark);font-weight:400}
.bar .sp{flex:1}
.bar a{color:#fff;text-decoration:none;white-space:nowrap;font-size:var(--t-14);padding:8px 4px;min-height:40px;display:inline-flex;align-items:center}
.bar .who{color:var(--on-dark);font-size:var(--t-13)}

/* buttons: one primary per screen state */
.pbtn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);font:600 var(--t-14)/1.2 var(--ui);min-height:44px;padding:10px 18px;border-radius:var(--r-ctl);border:1px solid var(--line);background:var(--surface);color:var(--petrol);text-decoration:none;white-space:nowrap}
.pbtn-primary{background:var(--orange);border-color:var(--orange);color:#fff}
.pbtn-wide{width:100%}
.pbtn-text{border-color:transparent;background:none;padding-inline:4px}
.pbtn-lg{font-size:var(--t-15);padding:12px 22px;min-height:48px}

/* screen 1 — landing */
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--s7);padding:var(--s7) var(--s6) var(--s6);align-items:start}
.hero .kicker{font-size:var(--t-14);color:var(--ink-2);margin-bottom:var(--s3)}
.hero h3{font-size:var(--t-40);line-height:1.25;font-weight:700;color:var(--petrol);letter-spacing:-.2px}
.hero .lead{font-size:var(--t-18);color:var(--ink-2);margin-top:var(--s4);max-width:46ch;line-height:1.7}
.hero .cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);margin-top:var(--s5)}
.hero .fine{font-size:var(--t-13);color:var(--ink-3)}
.sample{border:1px solid var(--line);border-radius:var(--r-box);padding:var(--s5);background:var(--surface)}
.sample .cap{font-size:var(--t-13);color:var(--ink-3);display:flex;justify-content:space-between;gap:var(--s2);margin-bottom:var(--s3)}
.sample h4{font-size:var(--t-18);font-weight:600;color:var(--petrol);margin-bottom:var(--s4)}
.topic{display:grid;grid-template-columns:minmax(0,1fr) 110px 42px;gap:var(--s3);align-items:center;padding:10px 0;border-top:1px solid var(--line-2);font-size:var(--t-14)}
.topic .meter{height:6px;background:var(--line-2);border-radius:2px;overflow:hidden}
.topic .meter i{display:block;height:100%;background:var(--petrol)}
.topic .meter i.low{background:var(--below)}
.topic .pct{text-align:end;font-variant-numeric:tabular-nums;color:var(--ink-2)}
.sample .next{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line);font-size:var(--t-14);color:var(--ink)}
.sample .next b{color:var(--petrol)}
.benefits{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--s2) var(--s7);padding:var(--s6);border-top:1px solid var(--line)}
.benefits > h4{border-top:0;padding-top:0;font-size:var(--t-22);font-weight:700}
.benefits .rows > div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--s4);padding:var(--s3) 0;border-top:1px solid var(--line)}
.benefits .rows > div:first-child{border-top:2px solid var(--petrol)}
.benefits h4{font-size:var(--t-18);font-weight:600;color:var(--petrol);line-height:1.4}
.benefits p{font-size:var(--t-14);color:var(--ink-2)}
@media (max-width:820px){.benefits .rows > div{grid-template-columns:minmax(0,1fr);gap:var(--s1)}}
.proof{margin:0 var(--s6) var(--s6);border:1px dashed var(--ink-3);border-radius:var(--r-box);padding:var(--s5);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--s5);align-items:center}
.proof blockquote{margin:0;font-size:var(--t-18);color:var(--ink-3);line-height:1.6}
.proof .who{font-size:var(--t-13);color:var(--ink-3);margin-top:var(--s2)}
.proof .rule{font-size:var(--t-13);color:var(--ink-2)}
.proof .rule b{display:block;color:var(--ink);font-weight:600;margin-bottom:2px}
.land-foot{background:var(--petrol-50);padding:var(--s4) var(--s6);font-size:var(--t-13);color:var(--ink-2);display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);justify-content:space-between}

/* screen 2 — sign-up states */
.form{padding:var(--s5)}
.form h3{font-size:var(--t-22);font-weight:700;color:var(--petrol);line-height:1.35}
.form .sub{font-size:var(--t-14);color:var(--ink-2);margin-top:var(--s1);margin-bottom:var(--s4)}
.or{display:flex;align-items:center;gap:var(--s3);font-size:var(--t-13);color:var(--ink-3);margin:var(--s4) 0}
.or::before,.or::after{content:'';flex:1;height:1px;background:var(--line)}
.tabs{display:flex;gap:var(--s5);border-bottom:1px solid var(--line);margin-bottom:var(--s4)}
.tabs span{display:inline-flex;align-items:center;gap:6px;padding:10px 0;min-height:44px;color:var(--ink-2);font-size:var(--t-14);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs span.on{color:var(--petrol);border-color:var(--orange);font-weight:600}
label.f{display:block;font-size:var(--t-13);font-weight:600;color:var(--ink);margin-bottom:6px}
.inp{display:flex;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:var(--r-ctl);padding:0 12px;font-size:var(--t-14);color:var(--ink);background:var(--surface);margin-bottom:var(--s3)}
.inp.ph{color:var(--ink-3)}
.inp.focus{border-color:var(--petrol);box-shadow:0 0 0 2px var(--petrol-100)}
.phone{display:flex;direction:ltr;margin-bottom:var(--s2)}
.phone .cc{display:flex;align-items:center;gap:6px;padding:0 12px;min-height:44px;border:1px solid var(--line);border-inline-end:0;border-top-left-radius:6px;border-bottom-left-radius:6px;background:var(--petrol-50);font-weight:600;color:var(--petrol);font-variant-numeric:tabular-nums}
.phone .inp{flex:1;margin:0;border-radius:0;border-top-right-radius:6px;border-bottom-right-radius:6px;font-variant-numeric:tabular-nums;letter-spacing:.5px}
.hint{font-size:var(--t-13);color:var(--ink-3);margin-bottom:var(--s4)}
.privacy{font-size:var(--t-13);color:var(--ink-2);margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line-2)}
.otp{display:flex;direction:ltr;gap:8px;margin:var(--s4) 0 var(--s3);justify-content:flex-start}
.otp span{width:44px;height:52px;border:1px solid var(--line);border-radius:var(--r-ctl);display:grid;place-items:center;font:600 var(--t-22) var(--en);color:var(--ink)}
.otp span.cur{border-color:var(--petrol);box-shadow:0 0 0 2px var(--petrol-100)}
.sentto{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-14);color:var(--ink-2)}
.sentto svg{color:var(--above)}
.resend{font-size:var(--t-13);color:var(--ink-3);margin-bottom:var(--s4)}
.select{justify-content:space-between}
.select svg{color:var(--ink-3)}
.block{padding:var(--s5)}
.block .tag{font-size:var(--t-13);color:var(--ink-3);margin-bottom:var(--s2)}
.block h3{font-size:var(--t-22);font-weight:700;color:var(--petrol);line-height:1.35}
.block p{font-size:var(--t-14);color:var(--ink-2);margin-top:var(--s3)}
.block ul{margin:var(--s3) 0 var(--s4);padding-inline-start:20px;font-size:var(--t-14);color:var(--ink-2)}
.block li{margin-bottom:4px}
[dir=ltr]{font-family:var(--en)}
[dir=ltr] .pbtn{font-family:var(--en)}

/* screen 3 — trial dashboard */
.dash{padding:var(--s6)}
.trial{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--s5);align-items:center;background:var(--petrol-50);border-inline-start:3px solid var(--petrol);padding:var(--s4) var(--s5);margin-bottom:var(--s6)}
.trial h3{font-size:var(--t-22);font-weight:700;color:var(--petrol)}
.trial p{font-size:var(--t-14);color:var(--ink-2);margin-top:2px}
.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.days i{height:8px;border-radius:2px;background:var(--line)}
.days i.done{background:var(--petrol)}
.days i.today{background:var(--orange)}
.days-cap{display:flex;justify-content:space-between;font-size:var(--t-12);color:var(--ink-3);margin-top:6px}
.dgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--s7);align-items:start}
.today h3{font-size:var(--t-26);font-weight:700;color:var(--petrol)}
.today p{color:var(--ink-2);margin-top:var(--s1)}
.qbar{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin:var(--s4) 0 var(--s2);max-width:520px}
.qbar i{height:10px;border-radius:2px;background:var(--line)}
.qbar i.done{background:var(--above)}
.qcap{font-size:var(--t-13);color:var(--ink-3);margin-bottom:var(--s4)}
.sec-h{font-size:var(--t-15);font-weight:700;color:var(--petrol);margin:var(--s6) 0 var(--s2);padding-bottom:var(--s2);border-bottom:2px solid var(--petrol)}
.items{list-style:none;margin:0;padding:0}
.items li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:var(--s3);align-items:start;padding:12px 0;border-bottom:1px solid var(--line-2)}
.items li svg{margin-top:3px}
.items .t{font-weight:600;font-size:var(--t-15)}
.items .d{font-size:var(--t-13);color:var(--ink-2)}
.items .q{font-size:var(--t-13);color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:2px}
.items.open svg{color:var(--above)}
.items.locked svg{color:var(--ink-3)}
.items.locked .t{color:var(--ink-2)}
.items.locked .q{color:var(--ink-3)}
.side{border-inline-start:1px solid var(--line);padding-inline-start:var(--s5)}
.side h4{font-size:var(--t-15);font-weight:700;color:var(--petrol);margin-bottom:var(--s2)}
.side p{font-size:var(--t-14);color:var(--ink-2);margin-bottom:var(--s3)}
.side .gap{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line)}
.side dl{margin:0;font-size:var(--t-14);display:grid;grid-template-columns:auto auto;justify-content:space-between;gap:6px var(--s4)}
.side dt{color:var(--ink-2)}
.side dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:end}

/* screen 4 — day 7 choice */
.choose{padding:var(--s6)}
.choose h3{font-size:var(--t-32);font-weight:700;color:var(--petrol);line-height:1.3}
.choose .lead{font-size:var(--t-18);color:var(--ink-2);margin-top:var(--s2);max-width:60ch}
.cmp{width:100%;border-collapse:collapse;margin-top:var(--s6);font-size:var(--t-15)}
.cmp th{text-align:start;font-weight:600;padding:12px;border-bottom:2px solid var(--petrol);vertical-align:bottom}
.cmp th .pl{display:block;font-size:var(--t-22);font-weight:700;color:var(--petrol)}
.cmp th .pr{display:block;font-size:var(--t-14);font-weight:500;color:var(--ink-2)}
.cmp th.feat{color:var(--ink-2);font-size:var(--t-13);width:34%}
.cmp td{padding:12px;border-bottom:1px solid var(--line-2);vertical-align:top}
.cmp td.k{color:var(--ink-2)}
.cmp .pro{background:var(--petrol-50)}
.cmp .no{color:var(--ink-3)}
.cmp .yes{color:var(--ink);font-weight:600}
.cmp td svg{vertical-align:-3px;margin-inline-end:6px}
.cmp td.yes svg{color:var(--above)}
.cmp td.no svg{color:var(--ink-3)}
.cmp tfoot td{border-bottom:0;padding-top:var(--s4)}
.cmp tfoot p{font-size:var(--t-13);color:var(--ink-2);margin-top:var(--s2)}
.acts-m{display:none}
.acts-m .pbtn{margin-top:var(--s3)}
.acts-m p{font-size:var(--t-13);color:var(--ink-2);margin-top:var(--s2)}
.keep{margin-top:var(--s5);font-size:var(--t-14);color:var(--ink-2);border-top:1px solid var(--line);padding-top:var(--s4)}
.keep b{color:var(--ink);font-weight:600}


@media (max-width:820px){
  .hero,.benefits,.proof,.dgrid,.trial{grid-template-columns:minmax(0,1fr)}
  .hero{padding:var(--s5) var(--s4);gap:var(--s5)}
  .hero h3{font-size:var(--t-32)}
  .hero .lead{font-size:var(--t-15)}
  .hero .cta .pbtn{width:100%}
  .benefits{padding:var(--s5) var(--s4);gap:var(--s5)}
  .proof{margin:0 var(--s4) var(--s5);padding:var(--s4)}
  .land-foot{padding:var(--s4)}
  .bar{padding:10px var(--s4)}
  .bar .who{display:none}
  .form,.block{padding:var(--s4)}
  .dash,.choose{padding:var(--s4)}
  .trial{padding:var(--s4);gap:var(--s3)}
  .side{border-inline-start:0;padding-inline-start:0;border-top:1px solid var(--line);padding-top:var(--s4)}
  .choose h3{font-size:var(--t-26)}
  .choose .lead{font-size:var(--t-15)}
  .cmp{font-size:var(--t-14)}
  .cmp th,.cmp td{padding:10px 6px}
  .cmp th .pl{font-size:var(--t-18)}
  .cmp th.feat{width:30%}
  .cmp tfoot{display:none}
  .acts-m{display:block;margin-top:var(--s4)}
  .otp{gap:6px}
  .otp span{width:42px}
  .topic{grid-template-columns:minmax(0,1fr) 70px 38px}
}

/* page frame of the real pages (the mockup drew each screen inside a .frame) */
.pu-page{max-width:1200px;margin:0 auto;padding:var(--s5) var(--s4) var(--s7)}
.pu-page .frame{margin-top:0}
.pu-narrow{max-width:460px;margin:0 auto}
.pu-flash{background:var(--petrol-50);border-inline-start:3px solid var(--petrol);padding:10px var(--s4);font-size:var(--t-14);color:var(--ink);margin-bottom:var(--s4)}
.pu-flash.lock{border-color:var(--orange);background:var(--orange-50)}
.err{color:var(--below);font-size:var(--t-13);margin:-6px 0 var(--s3)}
input.inp,select.inp{width:100%;font:inherit;font-size:var(--t-14)}
input.inp{appearance:none;-webkit-appearance:none}
select.inp{appearance:auto;-webkit-appearance:menulist;cursor:pointer}
.phone input.inp{min-width:0}
.otp-in{width:100%;min-height:52px;font:600 var(--t-26) var(--en);letter-spacing:12px;text-align:center;border:1px solid var(--line);border-radius:var(--r-ctl);margin:var(--s4) 0 var(--s3);direction:ltr}
.otp-in:focus{border-color:var(--petrol);box-shadow:0 0 0 2px var(--petrol-100);outline:0}
.tabs a{display:inline-flex;align-items:center;gap:6px;padding:10px 0;min-height:44px;color:var(--ink-2);font-size:var(--t-14);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;text-decoration:none}
.tabs a.on{color:var(--petrol);border-color:var(--orange);font-weight:600}
.tick{display:flex;gap:var(--s2);align-items:flex-start;font-size:var(--t-14);margin-bottom:var(--s4)}
.tick input{width:20px;height:20px;margin-top:2px;flex:none}
.hp{position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.form,.block{position:relative}
button.pbtn{cursor:pointer}
.bar form{margin:0}
.bar button.link{background:none;border:0;color:#fff;font:inherit;font-size:var(--t-14);padding:8px 4px;min-height:40px;cursor:pointer}
.items a.t{color:inherit;text-decoration:none}
.items form{margin:0}
.items button.q{background:none;border:0;padding:0;font:inherit;color:var(--petrol);font-weight:600;cursor:pointer;min-height:44px}
.set dl{display:grid;grid-template-columns:auto 1fr;gap:6px var(--s4);font-size:var(--t-14);margin:0 0 var(--s4)}
.set dt{color:var(--ink-2)} .set dd{margin:0;font-weight:600}
.danger{border-color:var(--below);color:var(--below)}

/* design-guard round 2 (2026-11-03) */
.pbtn-text{padding-inline:0}
.pu-page.narrow{max-width:560px}
.today .acts{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s2)}
@media (max-width:820px){.today .acts .pbtn{width:100%}}
.trial{background:none;border-inline-start:0;border-bottom:1px solid var(--line);padding:0 0 var(--s4)}
.items form.inl{display:inline;margin:0}
.items button.lnk{background:none;border:0;padding:0 4px;font:inherit;color:var(--petrol);font-weight:600;text-decoration:underline;cursor:pointer;min-height:44px;display:inline-flex;align-items:center}
.privacy.links{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4)}
