/* Buyers' Register. The Record look (record-tokens.css first): two faces, red once per view (the action),
   surfaces instead of borders, light by default. A public record, so it reads like a document, not a sales page. */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{background:var(--ground);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right));}
.wide{max-width:860px;}

/* top bar */
.top{position:sticky;top:0;z-index:20;background:var(--veil);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.top .row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;}
.mark{display:flex;align-items:center;gap:10px;text-decoration:none;}
.mark b{font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;}
.langs{display:flex;gap:4px;background:var(--surface);border-radius:var(--r-pill);padding:3px;}
.langs button{border:0;background:transparent;color:var(--text-2);font:500 12px var(--sans);letter-spacing:.08em;padding:9px 12px;min-height:36px;border-radius:var(--r-pill);cursor:pointer;}
.langs button[aria-pressed="true"]{background:var(--ground);color:var(--text);}

/* language: elements tagged for one language hide in the other */
html[data-lang="en"] [lang-ur]{display:none!important;}
html:not([data-lang="en"]) [lang-en]{display:none!important;}
html[data-lang="us"] [lang-ur]{font-family:"Noto Nastaliq Urdu","Noto Naskh Arabic",serif;line-height:2.1;letter-spacing:0;text-transform:none;font-style:normal;}
html[data-lang="us"] h1[lang-ur]{font-size:clamp(26px,6.8vw,40px);line-height:2;}
html[data-lang="us"] h2[lang-ur],html[data-lang="us"] h3[lang-ur]{line-height:1.95;}
html[data-lang="us"] p[lang-ur],html[data-lang="us"] li[lang-ur],html[data-lang="us"] span[lang-ur],html[data-lang="us"] label[lang-ur]{font-size:1.04em;}
html[data-lang="hi"] h1[lang-ur]{line-height:1.3;}
html[data-lang="hi"] [lang-ur]{font-family:"Noto Sans Devanagari","Instrument Sans",sans-serif;letter-spacing:0;text-transform:none;font-style:normal;}
html[data-lang="hi"] h1[lang-ur],html[data-lang="hi"] h2[lang-ur],html[data-lang="hi"] h3[lang-ur]{font-family:"Noto Serif Devanagari","Noto Sans Devanagari",serif;}
.langs{flex-wrap:wrap;justify-content:flex-end;}

/* type */
.kicker{font-weight:500;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-2);}
h1,.h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,10vw,58px);line-height:1.04;letter-spacing:-.015em;}
h2,.h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,7.4vw,38px);line-height:1.08;letter-spacing:-.01em;}
h3,.h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,5.6vw,26px);line-height:1.15;}
em.red{color:var(--red);font-style:italic;}
.lead{font-size:18.5px;line-height:1.55;color:var(--text-2);}
.body{color:var(--text-2);}
.body b,.lead b{color:var(--text);font-weight:600;}
.fine{font-size:13px;line-height:1.5;color:var(--text-3);}
.num{font-family:var(--serif);font-weight:400;}
section{padding:40px 0;}
.stack>*+*{margin-top:16px;}
.stack-s>*+*{margin-top:10px;}
.sep{height:1px;background:var(--line);margin:8px 0;}

/* buttons: red only for the one action in view */
.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:420px;min-height:54px;padding:15px 24px;border:0;border-radius:var(--r-pill);
  background:var(--next);color:var(--on-next);font:600 14px var(--sans);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;text-align:center;cursor:pointer;transition:transform .15s var(--ease);}
.btn:active{transform:scale(.97);}
.btn.quiet{background:var(--text);color:var(--ground);}
.btn.ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong);}
.btn[disabled]{opacity:.45;pointer-events:none;}
.btn.sm{min-height:44px;padding:10px 16px;font-size:12.5px;width:auto;}
.linkbtn{background:none;border:0;color:var(--text-2);font:500 14px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:10px 0;min-height:44px;}

/* surfaces */
.card{background:var(--surface);border-radius:var(--r-card);padding:18px;}
.card.done{background:var(--surface-done);}
.facts{display:grid;gap:2px;}
.facts .r{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line);}
.facts .r:first-child{border-top:0;}
.facts .r span:first-child{color:var(--text-2);font-size:15px;flex:1;min-width:0;}
.facts .r span:last-child{font-family:var(--serif);font-size:18px;text-align:right;flex:1.2;min-width:0;}

/* counter */
.counts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.counts .c{background:var(--surface);border-radius:14px;padding:16px;}
.counts .c .num{font-size:38px;line-height:1;}
.counts .c .fine{margin-top:6px;}
@media(min-width:640px){.counts{grid-template-columns:repeat(4,1fr);}}

/* steps */
.steps{counter-reset:s;display:grid;gap:12px;}
.steps li{list-style:none;counter-increment:s;display:flex;gap:14px;align-items:flex-start;}
.steps li:before{content:counter(s);font-family:var(--serif);font-size:24px;line-height:1;min-width:22px;color:var(--text);}
ol.plain{padding-left:20px;display:grid;gap:8px;color:var(--text-2);}

/* quotes */
.quote{background:var(--surface);border-radius:14px;padding:16px 18px;}
.quote q{display:block;font-family:var(--serif);font-size:20px;line-height:1.3;quotes:"\201C" "\201D";}
.quote .who{margin-top:10px;font-size:12.5px;letter-spacing:.06em;color:var(--text-3);}

/* form */
fieldset{border:0;margin:0;padding:0;min-width:0;}
.field{display:grid;gap:7px;}
.field label,.field .lab{font-weight:500;font-size:15px;color:var(--text);}
.field .hint{font-size:13.5px;color:var(--text-3);}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],select,textarea{width:100%;font:400 17px var(--sans);color:var(--text);background:var(--surface);border:0;border-radius:12px;padding:14px;min-height:50px;outline:none;box-shadow:inset 0 0 0 1px transparent;}
input:focus,select:focus,textarea:focus{box-shadow:inset 0 0 0 1.5px var(--line-strong);}
textarea{min-height:110px;resize:vertical;line-height:1.5;}
.row2{display:grid;grid-template-columns:1fr;gap:14px;}
@media(min-width:560px){.row2{grid-template-columns:1fr 1fr;}}
.choices{display:grid;gap:8px;}
.choice{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border-radius:12px;padding:14px;cursor:pointer;min-height:50px;}
.choice input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--text);}
.choice.on{background:var(--float);box-shadow:inset 0 0 0 1.5px var(--text);}
.choice small{display:block;color:var(--text-3);font-size:13px;margin-top:2px;}
.err{color:var(--red);font-size:14px;}
.bad input,.bad select,.bad textarea{box-shadow:inset 0 0 0 1.5px var(--red);}
.file{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:12px;padding:14px;cursor:pointer;min-height:56px;}
.file input{position:absolute;opacity:0;width:1px;height:1px;}
.file .fn{color:var(--text-2);font-size:15px;overflow-wrap:anywhere;}
.hp{position:absolute;top:0;left:0;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);opacity:0;pointer-events:none;}

/* wizard progress */
.prog{display:flex;gap:6px;margin:6px 0 4px;}
.prog i{flex:1;height:3px;border-radius:3px;background:var(--line);}
.prog i.on{background:var(--text);}
.wiz-nav{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:24px;}
.wiz-nav .btn{max-width:260px;}

/* route cards on the case page */
.route{background:var(--surface);border-radius:var(--r-card);overflow:hidden;}
.route>summary{list-style:none;cursor:pointer;padding:18px;display:flex;flex-direction:column;gap:8px;align-items:stretch;}
.route>summary::-webkit-details-marker{display:none;}
.route .rt{flex:1;min-width:0;}
.route .rt h3{font-size:22px;}
.route .rt p{font-size:14.5px;color:var(--text-2);margin-top:4px;}
.route .chip{order:-1;align-self:flex-start;font:500 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:var(--r-pill);background:var(--ground);color:var(--text-2);}
.route .chip.go{background:var(--text);color:var(--ground);}
.route .inner{padding:0 18px 20px;display:grid;gap:14px;}
.urgent{font-size:14px;font-weight:600;color:var(--red);}
.cp{background:var(--ground);border-radius:12px;padding:10px 12px 12px 14px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;}
.cp .v{grid-column:1 / -1;}
.cp>span.v:first-child{grid-column:1;}
.cp .k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);}
.cp .v{font-size:15.5px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);}
.cp .v.long{max-height:160px;overflow:auto;}
.cp button{justify-self:end;grid-column:2;grid-row:1;border:0;border-radius:var(--r-pill);background:var(--text);color:var(--ground);font:600 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:9px 16px;min-height:40px;cursor:pointer;}
.cp button.ok{background:var(--surface);color:var(--text);}
.claim{background:var(--ground);border-radius:12px;padding:14px;display:grid;gap:12px;}

/* footer */
.foot{padding:40px 0 70px;text-align:center;}
.foot .fine{margin-top:6px;}
.foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;margin-top:12px;}
.foot nav a{color:var(--text-2);text-decoration:none;font-size:13.5px;padding:10px 4px;}

.notice{background:var(--surface-done);border-radius:12px;padding:14px 16px;font-size:14.5px;color:var(--text-2);}
.notice b{color:var(--text);}
table.t{width:100%;border-collapse:collapse;font-size:15px;}
table.t td,table.t th{padding:10px 8px;border-top:1px solid var(--line);vertical-align:top;text-align:left;}
table.t th{font-weight:500;color:var(--text-2);font-size:13px;letter-spacing:.06em;}
.scroll-x{overflow-x:auto;}

@media print{.top,.foot,.no-print,.claim,.cp button,.btn{display:none!important;}body{background:#fff;color:#000;}.route{break-inside:avoid;background:#fff;}.route .inner{display:grid!important;}.cp{background:#fff;border:1px solid #ccc;}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important;}}
.counts:empty{min-height:150px;}
@media(min-width:640px){.counts:empty{min-height:84px;}}
/* script languages: no letter-spacing (it breaks Urdu letter joins), slightly larger small text */
.langs button[lang="ur"]{font-family:"Noto Nastaliq Urdu",serif;font-size:16px;letter-spacing:0;line-height:1;}
.langs button[lang="hi"]{font-family:"Noto Sans Devanagari",sans-serif;font-size:13px;letter-spacing:0;}
html[data-lang="hi"] .kicker[lang-ur],html[data-lang="hi"] .kicker [lang-ur]{font-size:13px;}
html[data-lang="us"] .kicker[lang-ur],html[data-lang="us"] .kicker [lang-ur]{font-size:14px;}
html[data-lang="hi"] p[lang-ur],html[data-lang="hi"] li[lang-ur],html[data-lang="hi"] .fine [lang-ur],html[data-lang="hi"] p [lang-ur]{font-size:1.04em;}
/* Urdu page runs right to left; English official text, numbers and links stay left to right */
html[dir="rtl"] .cp .v,html[dir="rtl"] .cp .k,html[dir="rtl"] [lang-en],html[dir="rtl"] .num,html[dir="rtl"] code{direction:ltr;unicode-bidi:isolate;}
html[dir="rtl"] .cp .v{text-align:left;}
html[dir="rtl"] input,html[dir="rtl"] textarea{unicode-bidi:plaintext;text-align:start;}
html[dir="rtl"] input[type="email"],html[dir="rtl"] input[type="tel"],html[dir="rtl"] input[type="number"],html[dir="rtl"] input[type="date"]{direction:ltr;text-align:left;}
/* hand-holding on the case page */
.howto{margin:10px 0 16px;}
.howto ol.plain li{margin:8px 0;}
.route .before{background:var(--surface);border-radius:12px;padding:12px 14px;margin:6px 0 12px;}
.route .before ul.plain{margin:4px 0 0;padding-inline-start:18px;}
.route .before li{margin:4px 0;}
/* long emails and web addresses wrap instead of pushing the page wide on small phones */
.facts .r > *{min-width:0;overflow-wrap:anywhere;}
.cp .v,.cp .k{min-width:0;overflow-wrap:anywhere;}
html[dir="rtl"] .arr{display:inline-block;transform:scaleX(-1);}
