/* IRAQ STORES V4.7 — accessible registration, deliberate contrast, actionable admin insights.
   Scoped to platform routes; public merchant themes keep their independent palette. */
:root { --v47-ink:#102E47; --v47-secondary:#34566C; --v47-link:#0A5679; --v47-gold:#E9B454; }
body:not(.merchant-storefront) { color:var(--v47-ink); }
/* Restrict pale/deep styling to actual surface. The previous generic .panel p rule
   could render dark paragraphs on dark-colored components. */
body:not(.merchant-storefront) :is(.panel,.section,.card) :is(.muted,small,.small) { color:var(--v47-secondary); opacity:1; }
body:not(.merchant-storefront) :is(.btn.primary,.btn.gold) { text-decoration:none; }
body:not(.merchant-storefront) :is(.panel,.section) a:not(.btn):not(.v47-metric-link) { text-underline-offset:3px; }
body:not(.merchant-storefront) :is(.notice,.voucher-help,.short-pin-help) { color:#24465B; }
body:not(.merchant-storefront) :is(.notice,.voucher-help,.short-pin-help) :is(p,small) { color:#315269!important; }
body.route-home .plan-grid .plan :is(p,small) { color:#294960!important; }
body.route-home .plan-grid .plan .pill { color:#193C58!important; }
body.route-home .plan-grid .plan .big-price small { color:#82501A!important; }
/* Dark and colorful surfaces: readable inverse type (more specific than V4.6's .panel p). */
body.route-register .application-submit :is(span,p,small,div) { color:#EDF7FB!important; }
body.route-register .application-submit strong { color:#FFDA91!important; }
body.route-register .application-submit .btn.primary { color:#122A3E!important; }
body.route-home .hero.new-hero :is(p,.muted,small) { color:#F1FAFE!important; }
body.route-home .hero.new-hero .eyebrow { color:#FFE1A1!important; }
body.route-admin .admin-console .admin-head :is(p,.muted,small,.eyebrow) { color:#ECF5FB!important; }
body.route-admin .admin-console .admin-head h1 { color:#FFFFFF!important; }
body.route-dashboard .v42-merchant-main .dash-head :is(p,.muted,small) { color:#315670!important; }
body.route-register .asiacell-entry-card :is(.asiacell-entry-placeholder,.asiacell-entry-value small) { color:#FFFFFF!important; }
/* Intro: a quiet technology timeline instead of the duplicated fee card. */
body.route-register .application-intro { background:linear-gradient(122deg,#F0F7FA 0%,#FFFCF6 100%); padding:clamp(18px,3.2vw,31px)!important; }
body.route-register .application-intro .eyebrow { color:#176384!important; }
body.route-register .application-intro h1 { color:#0B304D!important; font-size:clamp(25px,3.25vw,37px); text-wrap:balance; }
body.route-register .application-intro p { color:#33586F!important; font-size:clamp(13px,1.4vw,15px); line-height:1.85; margin-bottom:18px; }
body.route-register .v47-tech-steps { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:9px 0 0; isolation:isolate; }
body.route-register .v47-tech-steps:before { content:''; position:absolute; height:3px; background:linear-gradient(90deg,#166E89,#D9A647); left:11%; right:11%; top:30px; z-index:-1; border-radius:99px; }
body.route-register .v47-tech-step { display:flex; flex-direction:column; align-items:center; gap:7px; min-width:0; padding:7px 6px 11px; background:#FFFFFF; color:#0B354F; border:1px solid #AECBD9; border-radius:12px; text-decoration:none!important; box-shadow:0 4px 14px #0B416011; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
body.route-register .v47-tech-step:is(:hover,:focus-visible) { transform:translateY(-2px); border-color:#1788A8; box-shadow:0 7px 18px #0A5B7927; }
body.route-register .v47-tech-step .v47-step-symbol { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#103D5A; border:2px solid #F7FCFF; color:#FFF; font-weight:900; font-size:13px; font-variant-numeric:tabular-nums; box-shadow:0 2px 0 #D2A044; }
body.route-register .v47-tech-step:last-child .v47-step-symbol { background:#C38B34; color:#102E47; }
body.route-register .v47-step-copy { text-align:center; display:grid; gap:1px; min-width:0; }
body.route-register .v47-step-copy strong { color:#0F3A55!important; font-size:12px; font-weight:900; line-height:1.6; overflow-wrap:anywhere; }
body.route-register .v47-step-copy small { color:#405F72!important; font-size:10px; line-height:1.5; }
body.route-register .application-section-title { scroll-margin-top:20px; }
/* Register form: protect the 320px viewport from columns, pads and nested flex intrinsic widths. */
body.route-register .application-shell,body.route-register .application-form,
body.route-register .application-form :is(.compact-grid,.form-grid,.field-block,.voucher-section,.asiacell-entry-card,.application-submit) { min-width:0; max-width:100%; box-sizing:border-box; }
body.route-register .application-form .compact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
body.route-register .application-form :is(input,select,textarea) { max-width:100%; box-sizing:border-box; }
body.route-register .application-section-title p { color:#415E70!important; font-size:12px; }
body.route-register .application-section-title h2 { color:#0C3955!important; }
body.route-register .application-form .field-block { color:#183F57!important; font-size:14px; }
body.route-register .application-form .field-block :is(input,select) { color:#153851!important; }
body.route-register .application-footer-note { color:#34566D!important; }
/* Overview panels now navigate via genuine links, keyboard friendly and independent of JS. */
body.route-admin .admin-console :is(.admin-stats,.v44-metrics-grid) .v47-metric-card { padding:0!important; border:1px solid #BCD3E1!important; background:#FFF!important; border-radius:12px!important; min-width:0; overflow:hidden; }
body.route-admin .admin-console .v47-metric-link { display:flex; flex-direction:column; align-items:stretch; justify-content:center; gap:6px; min-height:100px; padding:14px 17px; color:#133952; text-decoration:none!important; background:#FFF; transition:background-color .14s,border-color .14s,box-shadow .14s; }
body.route-admin .admin-console .v47-metric-link :is(span,strong,em) { opacity:1!important; }
body.route-admin .admin-console .v47-metric-link span { color:#3A5B72!important; font-size:12px; font-weight:750; line-height:1.6; }
body.route-admin .admin-console .v47-metric-link strong { color:#0C3552!important; font-size:clamp(19px,2vw,28px); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
body.route-admin .admin-console .v47-metric-link strong.revenue { font-size:clamp(16px,1.5vw,21px); }
body.route-admin .admin-console .v47-card-action { color:#096581!important; font-style:normal; font-size:11px; font-weight:850; margin-top:4px; }
body.route-admin .admin-console .v47-metric-link:is(:hover,:focus-visible) { background:#EAF5F9!important; box-shadow:inset 0 0 0 2px #2391B1; }
body.route-admin .admin-console .v47-metric-link:focus-visible { outline:3px solid #0C6F95; outline-offset:-3px; }
body.route-admin .admin-console .v47-metric-link:hover .v47-card-action { text-decoration:underline; }
@media(max-width:680px) {
 body.route-register .application-shell { width:100%; margin-top:12px; }
 body.route-register .application-intro { padding:19px 14px!important; margin-bottom:12px; border-radius:13px; }
 body.route-register .application-intro h1 { font-size:clamp(24px,7vw,31px); line-height:1.5; margin:10px 0 8px; }
 body.route-register .application-intro p { font-size:13px; line-height:1.85; margin-bottom:14px; }
 body.route-register .v47-tech-steps { gap:5px; }
 body.route-register .v47-tech-step { gap:5px; padding:8px 2px 9px; border-radius:9px; }
 body.route-register .v47-tech-step .v47-step-symbol { width:30px; height:30px; font-size:12px; }
 body.route-register .v47-step-copy strong { font-size:11px; }
 body.route-register .v47-step-copy small { font-size:9.5px; }
 body.route-register .application-form { padding:18px 13px!important; border-radius:13px!important; gap:15px; }
 body.route-register .application-form .compact-grid { grid-template-columns:minmax(0,1fr)!important; gap:11px!important; }
 body.route-register .application-section-title { gap:10px; padding:7px 0 12px; }
 body.route-register .application-section-title>span { width:37px; height:37px; font-size:13px; }
 body.route-register .application-section-title h2 { font-size:16px!important; line-height:1.6; }
 body.route-register .application-section-title p { font-size:11.5px!important; line-height:1.7; }
 body.route-register .application-form .field-block :is(input,select) { width:100%; min-height:47px!important; font-size:16px!important; }
 body.route-register .application-submit { padding:14px 12px; }
 body.route-register .application-submit strong { font-size:22px; }
 body.route-admin .admin-console .v47-metric-link { padding:12px; min-height:95px; }
 body.route-admin .admin-console .v47-metric-link span { font-size:11px; }
 body.route-admin .admin-console .v47-card-action { font-size:10px; }
}
@media(max-width:340px) {
 body.route-register .application-intro { padding:16px 11px!important; }
 body.route-register .application-form { padding:14px 10px!important; }
 body.route-register .v47-step-copy small { font-size:9px; }
 body.route-register .v47-tech-step { padding-inline:0; }
}
@media(prefers-reduced-motion:reduce) { body.route-register .v47-tech-step { transition:none; } }
