/* ProNursingScholars: a standalone design system.
   Same platform logic as the sibling sites, its own look: the same Figtree typeface as ProNursingWriters (the identity comes from structure and copy, not the font), azure blue on near-white, square-cornered buttons, hairline rules and contents-page
   style ruled lists instead of boxed cards, and a left-hand table of contents on articles.
   Loaded by every page of frontend/layouts/pronursingscholars_com AFTER the page's own inline CSS; selectors are
   prefixed with `body` so they win regardless of order. The primary is #0096FF: text ON it is deep navy (about 6:1) because white would be only about 3:1, and small text ON white uses the deeper --link blue. */
@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap');

:root{
  --p:#0096FF; --ph:#0077CC; --pl:#E6F4FF; --dk:#0B1F3A; --bg:#FAFDFF; --bd:#DCEBF7;
  --on-p:#06182F; --ink:#0B1F3A; --muted:#4E6178; --link:#0068B8; --tint:#F2F9FF; --rule:#B9D6EE;
  --serif:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
  --sans:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
}
html{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}
body{font-family:var(--sans);background:var(--bg);color:#22344A;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--serif);font-weight:700;letter-spacing:-.02em;color:var(--ink)}
h1 em,h2 em{font-style:normal;font-weight:inherit}
::selection{background:var(--p);color:var(--on-p)}
body button,body input,body select,body textarea{font-family:inherit}

/* ── Top bar: links sit beside the logo, account + action on the right ── */
body .nav{position:sticky;top:0;z-index:200;background:rgba(250,253,255,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--bd);box-shadow:none}
body .nav-i{max-width:1180px;margin:0 auto;padding:0 24px;height:68px;display:flex;align-items:center;gap:28px;justify-content:flex-start}
body .nav-logo{display:flex;align-items:center;flex-shrink:0}
body .nav-logo-img{height:28px;width:auto;display:block}
body .nav-links{flex:1;display:flex;align-items:center;gap:2px}
body .nl{padding:8px 12px;color:#3F536A;font-size:.9rem;font-weight:500;border-radius:0;border-bottom:2px solid transparent;white-space:nowrap}
body .nl:hover{color:var(--ink);background:transparent;border-bottom-color:var(--rule)}
body .nl.active{color:var(--ink);background:transparent;border-bottom-color:var(--p);font-weight:600}
body #navAuthLink{margin-left:auto}
body .nav-cta{background:var(--p)!important;color:var(--on-p)!important;padding:10px 20px;border-radius:10px;font-weight:600!important;font-size:.88rem;margin-left:8px}
body .nav-cta:hover{background:var(--ph)!important;color:#fff!important}
body .burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:10px;margin-left:auto}
body .burger span{display:block;width:22px;height:1.5px;background:var(--ink);transition:.25s}
body .burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
body .burger.open span:nth-child(2){opacity:0}
body .burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
@media(max-width:820px){
  body .nav-i{height:60px}
  body .burger{display:flex}
  body .nav-links{display:none;position:absolute;top:60px;left:0;right:0;background:var(--bg);flex-direction:column;align-items:stretch;padding:8px 20px 18px;gap:0;border-bottom:1px solid var(--bd);box-shadow:0 18px 30px rgba(11,31,58,.08)}
  body .nav-links.open{display:flex}
  body .nl{padding:14px 4px;border-bottom:1px solid var(--bd);min-height:48px;display:flex;align-items:center}
  body #navAuthLink{margin-left:0}
  body .nav-cta{margin:14px 0 0;text-align:center;min-height:48px;display:flex;align-items:center;justify-content:center}
}

/* ── Buttons: square-cornered, confident ── */
body :is(.btn-main,.btn-p,.mid-cta-btn,.btn,.hero-btn,.btn-w,.cta-btn,.btn-save,.new-order-link,.chat-send){border-radius:10px;background:var(--p);color:var(--on-p)!important;font-weight:600;border:0;box-shadow:none}
body :is(.btn-main,.btn-p,.mid-cta-btn,.btn,.hero-btn,.btn-w,.cta-btn,.btn-save,.new-order-link,.chat-send):hover{background:var(--ph);color:#fff!important;text-decoration:none}
body .btn-ghost,body .hero-btn-s{border-radius:10px;background:transparent;color:var(--ink);border:1px solid var(--ink);font-weight:600}
body .btn-ghost:hover,body .hero-btn-s:hover{background:var(--ink);color:#fff}
body .card-more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:.88rem;font-weight:600;color:var(--link);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:4px}
body .card-more:hover{text-decoration-color:var(--p)}

/* ── Inner-page header: white, serif, a double rule beneath ── */
body .page-hero{background:transparent;text-align:left;padding:64px max(24px,calc((100% - 1132px)/2)) 44px;border-bottom:4px double var(--bd);position:relative}
body .page-hero-i{max-width:none;text-align:left}
body .page-hero h1{font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.12;color:var(--ink);font-weight:500;margin-bottom:14px}
body .page-hero h1 em,body .page-hero h1 strong{color:inherit;font-style:normal;font-weight:inherit}
body .page-hero p{color:var(--muted);font-size:1.06rem;line-height:1.75;max-width:640px;margin:0}
body .page-hero a{color:var(--link)}
body .breadcrumb,body .breadcrumb a{color:#6B7F95;font-size:.8rem}
body .breadcrumb a:hover{color:var(--link)}
body .htag{background:var(--tint);border:0;color:var(--link);border-radius:6px;font-weight:600;text-transform:none;letter-spacing:0;font-size:.78rem}
body .hero:not(.home-hero){background:transparent;text-align:left;padding:64px max(24px,calc((100% - 1132px)/2)) 44px;border-bottom:4px double var(--bd);color:var(--ink)}
body .hero:not(.home-hero) h1{color:var(--ink)}
body .hero:not(.home-hero) h1 em{color:var(--p)}
body .hero:not(.home-hero) p{color:var(--muted);margin-left:0;margin-right:0}
body .hero-cta{justify-content:flex-start}

/* ── Calls to action: a plum band and quiet panels ── */
body .mid-cta{background:var(--tint);border:0;border-left:4px solid var(--p);border-radius:0 12px 12px 0;padding:26px 30px}
body .mid-cta-text h3{color:var(--ink);font-size:1.25rem}
body .mid-cta-text p{color:var(--muted)}
body .cta-strip,body .cta-card{background:var(--p);border:0;border-radius:14px}
body .cta-strip h2,body .cta-strip h3,body .cta-card h3,body .cta-card h4{color:var(--on-p)!important}
body .cta-strip p,body .cta-card p{color:rgba(6,24,47,.88)!important}
body .cta-card .sc-title{color:rgba(6,24,47,.72)!important;border-color:rgba(6,24,47,.25)}
body :is(.cta-strip,.cta-card) :is(.btn-w,.cta-btn,a.btn-w,a){background:#fff;color:var(--ph)!important;border-radius:10px;font-weight:600}
body :is(.cta-strip,.cta-card) :is(.btn-w,.cta-btn):hover{background:var(--pl)}

/* ── Footer: lilac, three columns, one serif line ── */
body .footer{background:var(--tint);border-top:1px solid var(--bd);padding:60px 24px 26px;margin-top:0}
body .footer-i{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid var(--rule)}
body .footer-i a{display:block;font-size:.92rem;color:#3F536A;margin-bottom:10px;text-decoration:none}
body .footer-i a:hover{color:var(--link);text-decoration:underline}
body .footer-i a.footer-logo{margin-bottom:0}
body .footer-tag{font-family:var(--serif);font-size:1.15rem;line-height:1.45;color:var(--ink);max-width:340px;margin-top:14px}
body .fc-t{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--link);margin-bottom:16px}
body .footer-bot{max-width:1180px;margin:18px auto 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.8rem;color:#6B7F95}
@media(max-width:820px){body .footer-i{grid-template-columns:1fr 1fr}body .footer-i>div:first-child{grid-column:1/-1}}
@media(max-width:480px){body .footer-i{grid-template-columns:1fr}}

/* ── Ruled lists instead of boxed cards (services, guides, resources, citations indexes) ── */
body :is(.svc-grid,.guide-grid,.resources-grid,.cit-grid,.cite-grid){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px}
@media(max-width:760px){body :is(.svc-grid,.guide-grid,.resources-grid,.cit-grid,.cite-grid){grid-template-columns:1fr}}
body :is(.svc-card,.guide-card,.res-card,.cit-card,.resource-card,.cite-card){background:transparent;border:0;border-top:1px solid var(--rule);border-radius:0;padding:22px 0 26px;box-shadow:none;transform:none}
body :is(.svc-card,.guide-card,.res-card,.cit-card,.resource-card,.cite-card):hover{background:transparent;transform:none;box-shadow:none}
body :is(.svc-card,.guide-card,.res-card,.cit-card,.resource-card,.cite-card) :is(h3,.svc-name,.cc-name){font-family:var(--serif);font-size:1.32rem;font-weight:700;line-height:1.25;color:var(--ink);margin-bottom:8px}
body :is(.svc-card,.guide-card,.res-card,.cit-card,.resource-card,.cite-card) :is(p,.svc-desc,.cc-desc){font-size:.95rem;color:var(--muted);line-height:1.7}
body :is(.svc-card,.guide-card,.res-card,.cit-card) a{color:inherit;text-decoration:none}
body :is(.svc-card,.guide-card,.res-card,.cit-card) h3 a:hover,body :is(.svc-card,.guide-card,.res-card,.cit-card) .svc-name a:hover,body :is(.svc-card,.guide-card,.res-card,.cit-card) .cc-name a:hover{color:var(--link);text-decoration:underline;text-underline-offset:4px}
body :is(.svc-card,.guide-card,.res-card,.cit-card) :is(.svc-icon,.rc-icon,.cc-icon){display:none}
body :is(.svc-cat,.guide-tag,.rc-cat,.cc-tag){background:none!important;color:var(--link)!important;padding:0;border-radius:0;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;display:block}
body :is(.svc-card,.cit-card,.guide-card,.res-card).featured{background:var(--tint);border-top:1px solid var(--rule);padding:22px 20px 26px}
body .svc-tags{margin-top:10px}
body .svc-tag{background:var(--tint);border:0;border-radius:6px;color:var(--link)}
body :is(.section-label,.sec-label){color:var(--link);font-weight:700;letter-spacing:.14em;font-size:.72rem}
body :is(.section-title,.sec-title,.section-head h2){font-family:var(--serif);font-weight:700;color:var(--ink);letter-spacing:-.02em}

/* ── Articles (guides, resources, citations): contents on the left, long-form reading on the right ── */
body .layout:has(>.article){max-width:1180px;margin:0 auto;padding:56px 24px 40px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:64px;align-items:start}
body .layout:has(>.article)>.sidebar{order:-1;position:sticky;top:92px;max-height:calc(100vh - 112px);overflow-y:auto;scrollbar-width:none;height:auto;background:none;display:flex;flex-direction:column;gap:26px;border:0;width:auto}
body .layout:has(>.article)>.sidebar::-webkit-scrollbar{display:none}
body .layout:has(>.article)>.sidebar .toc{order:-2}
body .layout:has(>.article)>.sidebar .cta-card{order:-1}
body .article{max-width:780px;min-width:0}
body .article h2{font-size:clamp(1.55rem,2.6vw,2rem);line-height:1.2;margin:56px 0 16px;padding-top:18px;border-top:1px solid var(--rule);color:var(--ink)}
body .article h2:first-child{margin-top:0;border-top:0;padding-top:0}
body .article h3{font-size:1.28rem;margin:30px 0 10px}
body .article p{font-size:1.04rem;line-height:1.85;color:#25364B;margin-bottom:18px}
body .article li{font-size:1.02rem;line-height:1.75;color:#25364B;margin-bottom:8px}
body .article ul,body .article ol{margin:0 0 22px 4px;padding-left:22px}
body .article ul li::marker{color:var(--link)}
body .article ol li::marker{color:var(--link);font-weight:700}
body .article strong{color:var(--ink)}
body .article a{color:var(--link);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:4px}
body .article a:hover{text-decoration-color:var(--p)}
body .tip,body .callout,body .keybox{background:var(--tint);border:0;border-left:4px solid var(--p);border-radius:0 12px 12px 0;padding:20px 24px;margin:28px 0}
body .tip p,body .callout p{margin:0;font-size:.98rem}
body .example{background:#fff;border:1px solid var(--bd);border-left:4px solid var(--p);border-radius:0 10px 10px 0;font-family:'Courier New',ui-monospace,monospace}
body .article table{width:100%;border-collapse:collapse;margin:26px 0 30px;font-size:.93rem;background:#fff;display:table}
body .article table caption{caption-side:top;text-align:left;font-family:var(--serif);font-size:1.05rem;color:var(--ink);margin-bottom:8px}
body .article th{background:var(--pl);color:var(--ink);text-align:left;font-weight:700;padding:12px 14px;border-top:2px solid var(--p);border-bottom:1px solid var(--rule);font-size:.8rem;letter-spacing:.03em}
body .article td{padding:12px 14px;border-bottom:1px solid var(--bd);vertical-align:top;color:#25364B;line-height:1.6}
body .article tr:nth-child(even) td{background:#FBFDFF}
body .article tr:last-child td{border-bottom:2px solid var(--rule)}
body .toc,body .sidebar-card{background:none;border:0;border-radius:0;padding:0}
body .toc{border-left:2px solid var(--rule);padding-left:16px}
body .sc-title{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--link);border:0;padding:0;margin-bottom:10px}
body .toc-item{border:0;color:#3F536A;font-size:.9rem;line-height:1.4;padding:7px 0;text-decoration:none}
body .toc-item:hover{color:var(--link);text-decoration:none}
body .sc-link{color:#33475E;font-size:.9rem;padding:9px 0;border-bottom:1px solid var(--bd);text-decoration:none}
body .sc-link:hover{color:var(--link);text-decoration:none}
@media(max-width:960px){
  body .layout:has(>.article){grid-template-columns:minmax(0,1fr);gap:36px;padding-top:36px}
  body .layout:has(>.article)>.sidebar{order:0;position:static;max-height:none;overflow:visible}
  body .article table{display:block;overflow-x:auto;max-width:100%}
}

/* ── FAQ: ruled, no boxes ── */
body .faq-item{background:transparent;border:0;border-bottom:1px solid var(--rule);border-radius:0;margin:0}
body .faq-item.open{border-color:var(--rule)}
body .faq-q{padding:22px 0;font-family:var(--serif);font-size:1.12rem;font-weight:600;color:var(--ink)}
body .faq-a{padding:0 0 22px;font-size:1rem;line-height:1.8;color:var(--muted);max-width:720px}
body .faq-arr{color:var(--link)}
body .prose{color:#25364B}

/* ── Forms, focus and motion ── */
body :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]){border:1px solid #C3D8EA;border-radius:10px;background:#fff;color:var(--ink);outline:none}
body :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]):focus{border-color:var(--p);box-shadow:0 0 0 4px rgba(0,150,255,.16)}
body ::placeholder{color:#8A9BAE}
body a,body button,body :is(input,select,textarea),body .nl,body .nav-item,body .faq-item{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .2s ease,opacity .2s ease}
body a:focus-visible,body button:focus-visible{outline:2px solid var(--p);outline-offset:3px}
body .modal{border-radius:18px;padding:30px;box-shadow:0 40px 90px -30px rgba(11,31,58,.45)}
body .modal-bg{background:rgba(11,31,58,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
body :is(.stat-card,.form-card,.order-card,.msg-card){border:1px solid var(--bd);border-radius:14px;box-shadow:none;background:#fff}
@keyframes pnsFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
body.pns-app .page-section.active,body.pns-flow .step-panel.show{animation:pnsFade .28s ease both}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ═══ Order, checkout and sign-in flows (body.pns-flow) ═══ */
body.pns-flow{background:var(--bg)}
body.pns-flow .topbar{background:#fff;border-bottom:1px solid var(--bd)}
body.pns-flow .tb-back{color:var(--muted)}
body.pns-flow .tb-back:hover{color:var(--link)}
body.pns-flow .tb-secure{color:#6B7F95}
body.pns-flow .sidebar{background:var(--tint);border-left:1px solid var(--bd)}
body.pns-flow :is(.sb-title,.sb-price-label){color:#6B7F95}
body.pns-flow .sb-section{border-bottom-color:var(--rule)}
body.pns-flow :is(.sb-key,.sb-g){color:var(--muted)}
body.pns-flow .sb-val{color:var(--ink)}
body.pns-flow .sb-price{color:var(--ink);font-family:var(--serif);font-weight:700}
body.pns-flow .sb-g::before{color:var(--p)}
body.pns-flow .sb-note{background:#fff;border-color:var(--bd);color:var(--muted)}
body.pns-flow .sb-note span{color:var(--link)}
body.pns-flow #sb-breakdown,body.pns-flow #sb-breakdown li{color:var(--muted)!important}
body.pns-flow #sb-breakdown li:last-child{color:var(--ink)!important}
body.pns-flow .ps-circle.active{background:var(--p);border-color:var(--p);color:var(--on-p)}
body.pns-flow .ps-circle.done{background:var(--pl);border-color:var(--p);color:var(--link)}
body.pns-flow .brand-panel{background:var(--tint);border-right:1px solid var(--bd)}
body.pns-flow .brand-panel::before{opacity:.07}
body.pns-flow :is(.bp-logo,.bp-title){color:var(--ink);font-family:var(--serif);font-weight:700}
body.pns-flow .bp-title em{color:inherit;font-style:normal}
body.pns-flow .bp-sub{color:var(--muted)}
body.pns-flow .bp-item{color:#33475E}
body.pns-flow .bp-item span{background:#fff;border-color:var(--rule);color:var(--link)}
@media(max-width:560px){body.pns-flow .tb-secure{display:none}body.pns-flow .ps-label{white-space:normal;font-size:.6rem;padding:0 2px}}

/* ═══ Client dashboard (body.pns-app): light, restrained, marked by a plum rule ═══ */
body.pns-app{background:var(--bg)}
body.pns-app *{font-family:inherit}
body.pns-app :is(h1,h2,h3){font-family:var(--sans);font-weight:700}
body.pns-app .topbar{background:#fff;border-bottom:1px solid var(--bd);height:64px}
body.pns-app .tb-name{color:var(--muted);font-weight:500}
body.pns-app .tb-logout{color:var(--ink);background:transparent;border:1px solid var(--rule);border-radius:10px;padding:8px 16px;font-weight:600;font-size:.8rem}
body.pns-app .tb-logout:hover{background:var(--tint);color:var(--ink)}
body.pns-app .tb-notif{color:#5C7085}
body.pns-app .notif-dot{background:var(--p);border-color:#fff}
body.pns-app .burger-mob span{background:var(--ink)}
body.pns-app .sidebar{background:#fff;border-right:1px solid var(--bd)}
body.pns-app .sb-nav{padding:18px 0 8px}
body.pns-app .nav-item{color:#3F536A;border-radius:0;padding:12px 22px;margin:0;border:0;border-left:3px solid transparent;font-weight:500}
body.pns-app .nav-item:hover{background:var(--tint);color:var(--ink)}
body.pns-app .nav-item.active{background:var(--tint);color:var(--ink);font-weight:700;border-left-color:var(--p)}
body.pns-app .sb-order-btn{background:var(--p);color:var(--on-p);border:0;border-radius:10px;padding:13px;font-weight:600;cursor:pointer;box-shadow:none;outline:none}
body.pns-app .sb-order-btn:hover{background:var(--ph);color:#fff}
body.pns-app .sb-wallet{background:var(--tint);border:0;border-radius:12px}
body.pns-app .sw-label{color:#6B7F95}
body.pns-app .sw-amount{color:var(--ink);font-family:var(--serif);font-weight:700}
body.pns-app .sw-btn{background:#fff;border:0;color:var(--link);border-radius:10px;padding:9px;font-weight:700}
body.pns-app .sw-btn:hover{background:var(--p);color:var(--on-p)}
body.pns-app :is(.main,.sidebar){scrollbar-width:none}
body.pns-app :is(.main,.sidebar)::-webkit-scrollbar{display:none}
body.pns-app :is(.st-val,.oc-title){color:var(--ink)}
body.pns-app .fc-title{color:var(--link);letter-spacing:.1em;font-weight:700}
body.pns-app :is(.notif-hd,.notif-msg){color:var(--ink)}
body.pns-app .notif-mark{color:var(--link)}
body.pns-app .notif-item:hover{background:var(--tint)}
body.pns-app .notif-item.unread{background:#F4FAFF}
body.pns-app .notif-dm{background:var(--p)}
body.pns-app .order-card{border-left-width:3px}
body.pns-app .order-card:hover{border-color:var(--rule);box-shadow:0 10px 28px -14px rgba(11,31,58,.22)}
body.pns-app .pay-box{background:var(--tint);border:1px solid var(--bd);border-radius:14px}
body.pns-app .pay-box .pb-label{color:#6B7F95}
body.pns-app .pay-box .pb-due{color:var(--ink);font-family:var(--serif);font-weight:700}
body.pns-app .pay-line{color:var(--muted)}
body.pns-app .pay-line .credit{color:#15803D}
body.pns-app .pay-btn-full{border-radius:10px}
body.pns-app .pay-btn-card{background:var(--p);color:var(--on-p)}
body.pns-app .pay-btn-pp{background:#fff;color:var(--ink);border:1px solid var(--rule)}
body.pns-app .disc-row input{background:#fff;border:1px solid var(--rule);color:var(--ink);border-radius:10px;padding:9px 14px}
body.pns-app .disc-row button{background:var(--p);color:var(--on-p);border-radius:10px;padding:9px 16px}
body.pns-app .pay-alert{background:var(--tint);border:1px solid var(--bd);border-radius:12px}
body.pns-app .pay-alert a{color:var(--link)}
body.pns-app .tu-btn:hover{border-color:var(--rule);background:var(--tint)}
@media(min-width:769px){body.pns-app .sidebar{position:sticky;top:64px;height:calc(100vh - 64px);align-self:flex-start;overflow-y:auto}}
@media(max-width:768px){
  body.pns-app .topbar{padding:0 14px;gap:8px;justify-content:flex-start}
  body.pns-app .burger-mob{display:flex;justify-content:center;padding:12px 10px;margin-left:-8px}
  body.pns-app .tb-right{margin-left:auto;gap:12px}
  body.pns-app .tb-name{display:none}
  body.pns-app .tb-logout{white-space:nowrap}
  body.pns-app .sidebar{top:64px;box-shadow:none}
  body.pns-app .sidebar.open{box-shadow:12px 0 32px rgba(11,31,58,.14)}
  body.pns-app .nav-item{min-height:48px}
}

/* ═══ Mobile-first: the main action is always one thumb-tap away ═══ */
.pns-dock{display:none;transition:transform .25s ease}
.pns-dock.pns-dock--hidden{transform:translateY(110%)}
@media(max-width:768px){
  body.has-dock{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .pns-dock{display:block;position:fixed;left:0;right:0;bottom:0;z-index:250;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(250,253,255,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--bd)}
  .pns-dock-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:10px;background:var(--p);color:var(--on-p);font-weight:600;font-size:1rem;text-decoration:none}
  body{font-size:16px}
  body :is(.btn-main,.btn-ghost,.btn-p,.mid-cta-btn,.btn-w,.cta-btn){min-height:48px;justify-content:center}
  .hero-cta .btn-main,.hero-cta .btn-ghost,.close-row .btn-main,.close-row .btn-ghost{width:100%;justify-content:center}
  body .mid-cta{flex-direction:column;align-items:stretch}
  body .mid-cta-btn{width:100%}
  body .footer-i a{padding:11px 0;margin-bottom:0}
  body .toc-item,body .sc-link{padding-top:11px;padding-bottom:11px}
  input,select,textarea{font-size:16px!important}
  body .page-hero,body .hero:not(.home-hero){padding:38px 20px 30px}
  body .article p,body .article li{font-size:1.02rem}
}



/* resource / citation index cards: no emoji icons, quiet tags, plain blue link */
body :is(.res-icon,.cc-icon,.rc-icon,.svc-icon){display:none}
body :is(.res-tag,.cc-tag,.svc-cat,.guide-tag){display:block;background:none!important;color:var(--link)!important;padding:0;border-radius:0;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
body :is(.res-link,.guide-link,.card-more){color:var(--link)!important;font-weight:600;font-size:.9rem;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:4px}
body :is(.res-link,.guide-link,.card-more):hover{text-decoration-color:var(--p)}

/* ═══ Order form: stepped, with a progress bar on top and an action bar that is always in view ═══ */
body.pns-flow .pbar{position:sticky;top:0;z-index:60;height:4px;background:var(--bd)}
body.pns-flow .pbar i{display:block;height:100%;width:25%;background:var(--p);transition:width .35s ease;border-radius:0 3px 3px 0}
body.pns-flow .step-count{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--link);margin-bottom:12px}
body.pns-flow .progress{margin-bottom:18px}
body.pns-flow .form-area{max-width:700px;padding:26px 40px 30px}
body.pns-flow .step-title{font-size:1.55rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:2px}
body.pns-flow .step-title::before{content:none}
body.pns-flow .step-sub{color:var(--muted);font-size:.9rem;margin-bottom:16px}
body.pns-flow .step-panel .fg{margin-bottom:12px}
body.pns-flow .step-panel label{margin-bottom:4px}
body.pns-flow .btn-row{position:sticky;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px -40px 0;padding:14px 40px calc(14px + env(safe-area-inset-bottom));background:rgba(250,253,255,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--bd)}
body.pns-flow .bar-total{margin-left:auto;font-size:.82rem;color:var(--muted);white-space:nowrap}
body.pns-flow .bar-total b{font-size:1.05rem;color:var(--ink);font-weight:800;margin-left:4px}
body.pns-flow .btn-next{background:var(--p);color:var(--on-p);border:0;border-radius:10px;padding:13px 26px;font-weight:600;font-size:.98rem;cursor:pointer;box-shadow:none}
body.pns-flow .btn-next:hover{background:var(--ph);color:#fff}
body.pns-flow .btn-next:disabled{opacity:.6;cursor:not-allowed}
body.pns-flow .btn-back-step{background:transparent;border:1px solid var(--rule);color:var(--ink);border-radius:10px;padding:12px 18px;font-weight:600;cursor:pointer}
/* step 2 and 4 are the tallest: keep them compact enough to fit a laptop screen */
body.pns-flow #step1 textarea,body.pns-flow #step2 textarea{min-height:0}
body.pns-flow #instructions{height:110px}
body.pns-flow #reviewSummary{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;line-height:1.75!important}
body.pns-flow #step3 .btn-row{margin-top:14px}
@media(max-width:900px){
  body.pns-flow .form-area{padding:20px 18px 24px}
  body.pns-flow .btn-row{margin:14px -18px 0;padding:12px 18px calc(12px + env(safe-area-inset-bottom))}
  body.pns-flow .bar-total{font-size:.74rem}
  body.pns-flow .bar-total b{display:block;margin:0;font-size:1rem}
  body.pns-flow #reviewSummary{grid-template-columns:1fr}
  body.pns-flow .progress{display:none}
}

/* compact steps */
body.pns-flow .progress{display:none}
body.pns-flow #step1 .two-col{grid-template-columns:1fr 1fr 1fr;gap:12px}
body.pns-flow #step1 .two-col .fg div[style*="font-size:.72rem"]{display:none}
body.pns-flow #deadlineGrid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px}
body.pns-flow .subj-btn{padding:9px 6px}
body.pns-flow #deadlineRangeHint{display:none}
body.pns-flow #step3 .auth-tabs{margin-bottom:12px}
body.pns-flow #reviewSummary{font-size:.84rem!important}
@media(max-width:600px){body.pns-flow #step1 .two-col{grid-template-columns:1fr 1fr}}
body.pns-flow #panelRegister:not([style*="none"]){display:grid!important;grid-template-columns:1fr 1fr;gap:0 12px}
body.pns-flow #panelRegister>div:last-child{grid-column:1/-1;margin-top:0}
body.pns-flow #step3 .step-sub{margin-bottom:10px}
body.pns-flow #step3>div[style*="border-radius:12px"]{padding:14px 18px!important;margin-bottom:14px!important}
body.pns-flow #step3>div[style*="border-radius:12px"]>div:first-child{margin-bottom:8px!important}
body.pns-flow #step3 #loggedInSection{margin-bottom:10px!important}
body.pns-flow .form-area{padding-top:20px}
body.pns-flow #reviewSummary{line-height:1.55!important}
body.pns-flow #step3 .step-title{font-size:1.4rem}
body.pns-flow #step3 .fg{margin-bottom:8px}
@media(max-width:600px){
  body.pns-flow .step-sub{display:none}
  body.pns-flow .step-title{font-size:1.3rem!important;margin-bottom:10px}
  body.pns-flow .form-area{padding-top:14px}
  body.pns-flow .step-count{margin-bottom:6px}
  body.pns-flow .subj-btn{padding:7px 4px;font-size:.78rem}
  body.pns-flow #instructions{height:84px}
  body.pns-flow .upload-zone{padding:12px}
}


/* ═══ Dashboard v2 (body.pns-app): a workspace sidebar with its own header, ledger rows and a figures strip.
   Same markup and JS behaviour as every other dashboard (showPage, filters, modals), different structure and feel. ═══ */
body.pns-app{--sbw:268px}
body.pns-app .sb-brand{display:block;padding:2px 8px 20px}
body.pns-app .sb-brand img{height:30px;width:auto;display:block}
body.pns-app .sb-new{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:13px 14px;border:0;border-radius:10px;background:var(--p);color:var(--on-p);font-weight:700;font-size:.95rem;cursor:pointer;margin-bottom:14px;box-shadow:none}
body.pns-app .sb-new svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
body.pns-app .sb-new:hover{background:var(--ph);color:#fff}
body.pns-app .sb-nav{flex:1;padding:0}
body.pns-app .sb-group{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7B8EA5;padding:16px 12px 6px}
body.pns-app .nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;margin:1px 0;border:0;border-left:0;border-radius:10px;background:transparent;color:#3F536A;font-weight:600;font-size:.94rem;text-align:left;cursor:pointer;box-shadow:none}
body.pns-app .nav-item svg,body.pns-app .tabbar svg{width:19px;height:19px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.pns-app .nav-item:hover{background:rgba(0,150,255,.08);color:var(--ink)}
body.pns-app .nav-item.active{background:#fff;color:var(--link);font-weight:700;box-shadow:0 1px 2px rgba(11,31,58,.07),inset 3px 0 0 var(--p)}
body.pns-app .nav-badge{margin-left:auto;background:var(--p);color:var(--on-p);border-radius:999px;font-size:.7rem;font-weight:800;min-width:20px;height:20px;padding:0 6px;display:none;align-items:center;justify-content:center}
body.pns-app .sb-foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--bd)}
body.pns-app .sb-wallet{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:10px 10px 10px 14px;background:#fff;border:1px solid var(--bd);border-radius:12px}
body.pns-app .sw-label{margin:0;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7B8EA5}
body.pns-app .sw-amount{font-size:1.1rem;font-weight:800;color:var(--ink)}
body.pns-app .sw-btn{width:auto;margin:0;padding:8px 14px;border:0;border-radius:8px;background:var(--pl);color:var(--link);font-weight:700;font-size:.8rem;cursor:pointer}
body.pns-app .sw-btn:hover{background:var(--p);color:var(--on-p)}
body.pns-app .sb-out{display:block;width:100%;margin-top:6px;padding:10px 12px;border:0;background:none;color:#5C7085;font-weight:600;font-size:.86rem;text-align:left;cursor:pointer;border-radius:8px}
body.pns-app .sb-out:hover{background:rgba(0,150,255,.08);color:var(--ink)}
body.pns-app .tb-title{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
body.pns-app .tb-notif{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:#3F536A;position:relative}
body.pns-app .tb-notif:hover{background:var(--pl)}
body.pns-app .tb-notif svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.pns-app .notif-dot{top:8px;right:9px}
body.pns-app #notifPanel{top:72px;right:24px}
body.pns-app #payAlert{display:none!important}
body.pns-app .tabbar{display:none}

/* needs-your-attention list */
body.pns-app #attention{margin-bottom:22px}
body.pns-app .att-t{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--link);margin-bottom:8px}
body.pns-app .att-row{display:flex;align-items:center;gap:12px;padding:13px 16px;background:#fff;border:1px solid var(--bd);border-left:3px solid var(--p);border-radius:10px;margin-bottom:8px}
body.pns-app .att-row.att-pay{border-left-color:#F59E0B}
body.pns-app .att-row.att-review{border-left-color:#16A34A}
body.pns-app .att-dot{display:none}
body.pns-app .att-text{flex:1;font-size:.93rem;color:var(--ink);font-weight:500}
body.pns-app .att-btn{background:var(--p);color:var(--on-p);border:0;border-radius:8px;padding:8px 14px;font-weight:700;font-size:.82rem;cursor:pointer;text-decoration:none;white-space:nowrap}
body.pns-app .att-btn:hover{background:var(--ph);color:#fff}
body.pns-app .att-clear{font-size:.9rem;color:#5C7085;padding:4px 2px}

/* two-factor card */
body.pns-app .tfa-row{display:flex;align-items:center;gap:12px;margin:6px 0 12px;font-size:.86rem;color:var(--muted)}
body.pns-app .tfa-badge{display:inline-flex;padding:4px 12px;border-radius:999px;font-size:.76rem;font-weight:700}
body.pns-app .tfa-badge.on{background:#F0FDF4;color:#15803D}
body.pns-app .tfa-badge.off{background:#FEF2F2;color:#B91C1C}
body.pns-app .tfa-alert{padding:11px 14px;border-radius:10px;font-size:.86rem;margin:0 0 12px}
body.pns-app .tfa-alert.ok{background:#F0FDF4;color:#15803D}
body.pns-app .tfa-alert.err{background:#FEF2F2;color:#B91C1C}
body.pns-app .tfa-p{font-size:.86rem;color:var(--muted);line-height:1.6;margin-bottom:10px}
body.pns-app .tfa-qr{display:flex;justify-content:center;margin:14px 0;padding:14px;background:#fff;border:1px solid var(--bd);border-radius:10px}
body.pns-app .tfa-secret{font-family:ui-monospace,Menlo,monospace;background:var(--tint);padding:9px;border-radius:8px;word-break:break-all;font-size:.82rem;text-align:center}
body.pns-app .tfa-ghost{padding:10px 16px;border:1px solid var(--rule);background:#fff;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--ink)}
body.pns-app .tfa-danger{padding:10px 16px;border:0;background:#DC2626;color:#fff;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer}
body.pns-app .tfa-recovery{margin-top:14px;max-width:380px;padding:14px;background:#FFFBEB;border:1px solid #FDE68A;border-radius:10px}

/* figures strip and ledger rows (carried over from v1) */
body.pns-app #welcomeBar h1{font-family:var(--serif)!important;font-weight:700!important;font-size:1.9rem!important;letter-spacing:-.02em;color:var(--ink)!important}
body.pns-app #welcomeBar p{color:var(--muted)!important}
body.pns-app .stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);margin-bottom:34px}
body.pns-app .stats-row .stat-card{background:transparent;border:0;border-radius:0;border-right:1px solid var(--bd);padding:22px 24px}
body.pns-app .stats-row .stat-card:last-child{border-right:0}
body.pns-app .st-val{font-weight:700;font-size:2.2rem;line-height:1.1}
body.pns-app .st-label{color:#6B7F95;letter-spacing:.1em;font-size:.68rem;font-weight:600}
body.pns-app .order-cards{display:block}
body.pns-app .order-card{background:transparent;border:0;border-bottom:1px solid var(--bd);border-left:0;border-radius:0;padding:20px 4px;margin:0;box-shadow:none}
body.pns-app .order-card:hover{background:var(--tint);border-color:var(--bd);box-shadow:none;transform:none}
body.pns-app .order-card .oc-title{font-weight:700;font-size:1.1rem}
body.pns-app .oc-badge{border-radius:6px;letter-spacing:.06em}
body.pns-app .sec-hdr h2{font-weight:700;font-size:1.3rem}
body.pns-app .form-card{border-radius:12px;border:1px solid var(--bd);padding:26px}
body.pns-app .chip{border-radius:8px}

/* desktop: fixed workspace sidebar, header sits beside it */
@media(min-width:901px){
  body.pns-app .topbar{margin-left:var(--sbw);height:68px;padding:0 36px;background:rgba(250,253,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--bd);justify-content:space-between}
  body.pns-app .topbar .tb-logo,body.pns-app .burger-mob{display:none}
  body.pns-app .sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sbw);height:100vh;max-height:none;align-self:auto;background:var(--tint);border-right:1px solid var(--bd);display:flex;flex-direction:column;padding:22px 16px 16px;z-index:320;overflow-y:auto;transform:none}
  body.pns-app .app-shell{display:block}
  body.pns-app .main{margin-left:var(--sbw);max-width:none;width:auto;overflow:visible}
  body.pns-app .page-section{max-width:1040px;margin:0 auto;padding:30px 36px 90px}
}
/* phones and tablets: header with menu, drawer sidebar, bottom tab bar */
@media(max-width:900px){
  body.pns-app .topbar{margin-left:0;height:60px;padding:0 12px;gap:8px;justify-content:flex-start}
  body.pns-app .burger-mob{display:flex;justify-content:center;padding:12px 10px;margin-left:-6px}
  body.pns-app .tb-title{display:none}
  body.pns-app .tb-right{margin-left:auto}
  body.pns-app #notifPanel{top:64px;right:10px}
  body.pns-app .sidebar{position:fixed;top:0;bottom:0;left:0;width:min(84vw,300px);height:auto;z-index:420;padding:20px 14px 16px;transform:translateX(-104%);transition:transform .25s ease;display:flex;flex-direction:column;overflow-y:auto;background:var(--tint);box-shadow:none}
  body.pns-app .sidebar.open{transform:none;box-shadow:16px 0 40px rgba(11,31,58,.2)}
  body.pns-app .app-shell{display:block}
  body.pns-app .main{margin-left:0;overflow:visible}
  body.pns-app .page-section{padding:22px 16px 100px}
  body.pns-app .stats-row{grid-template-columns:1fr 1fr}
  body.pns-app .stats-row .stat-card:nth-child(2){border-right:0}
  body.pns-app .stats-row .stat-card:nth-child(-n+2){border-bottom:1px solid var(--bd)}
  body.pns-app .att-row{flex-wrap:wrap}
  body.pns-app .att-btn{width:100%;text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center}
  body.pns-app .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:250;background:rgba(250,253,255,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--bd);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  body.pns-app .tabbar button{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:0;padding:6px 2px;min-height:52px;font-size:.68rem;font-weight:600;color:#5C7085;cursor:pointer}
  body.pns-app .tabbar button.active{color:var(--link)}
  body.pns-app .tabbar svg{width:22px;height:22px}
  body.pns-app .tabbar .tab-new svg{width:34px;height:34px;padding:6px;border-radius:50%;background:var(--p);color:var(--on-p);stroke:currentColor}
  body.pns-app .tabbar .nav-badge{position:absolute;top:2px;right:calc(50% - 22px);margin:0;min-width:18px;height:18px}
}

/* ═══ Dashboard v3: stepped new-order form, order detail as a side drawer, redesigned modals and inner elements ═══ */
/* stepped new order */
body.pns-app .om-progress{position:sticky;top:68px;z-index:40;height:4px;background:var(--bd);border-radius:2px;margin-bottom:14px}
body.pns-app .om-progress i{display:block;height:100%;width:33.3%;background:var(--p);border-radius:2px;transition:width .3s ease}
body.pns-app .step-count{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--link);margin-bottom:12px}
body.pns-app .om-step{display:none}
body.pns-app .om-step.om-show{display:block;animation:pnsFade .25s ease both}
body.pns-app .om-step .fc-title{font-size:1.35rem;letter-spacing:-.02em;text-transform:none;color:var(--ink);font-weight:700;margin-bottom:16px}
body.pns-app .om-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.pns-app .om-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
body.pns-app #pg-neworder .fg{margin-bottom:12px}
body.pns-app #om_instructions{min-height:110px!important}
body.pns-app .om-bar{position:sticky;bottom:0;z-index:40;display:flex;align-items:center;gap:14px;margin-top:16px;padding:14px 0;background:rgba(250,253,255,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--bd)}
body.pns-app .om-total{margin-left:auto;font-size:.82rem;color:var(--muted);white-space:nowrap}
body.pns-app .om-total b{font-size:1.05rem;color:var(--ink);font-weight:800;margin-left:4px}
body.pns-app .btn-next{background:var(--p);color:var(--on-p);border:0;border-radius:10px;padding:13px 26px;font-weight:700;font-size:.95rem;cursor:pointer}
body.pns-app .btn-next:hover{background:var(--ph);color:#fff}
body.pns-app .btn-next:disabled{opacity:.6;cursor:not-allowed}
body.pns-app .btn-back-step{background:transparent;border:1px solid var(--rule);color:var(--ink);border-radius:10px;padding:12px 18px;font-weight:600;cursor:pointer}
@media(max-width:900px){
  body.pns-app .om-progress{top:60px}
  body.pns-app #pg-neworder>div[style*="300px"]{grid-template-columns:1fr!important}
  body.pns-app #pg-neworder>div[style*="300px"]>div:last-child{display:none}
  body.pns-app .om-bar{bottom:calc(64px + env(safe-area-inset-bottom));margin:16px -16px 0;padding:12px 16px}
  body.pns-app .om-grid3{grid-template-columns:1fr 1fr}
  body.pns-app .om-total{font-size:.74rem}
  body.pns-app .om-total b{display:block;margin:0;font-size:1rem}
}

/* order detail: a side drawer with a sticky action bar */
body.pns-app #detailModal{align-items:stretch;justify-content:flex-end;padding:0}
body.pns-app #detailModal .modal{max-width:640px;width:100%;height:100vh;max-height:100vh;border-radius:0;padding:0;display:flex;flex-direction:column;overflow:hidden;animation:pnsDrawer .28s ease both;box-shadow:-30px 0 80px -30px rgba(11,31,58,.4)}
@keyframes pnsDrawer{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
body.pns-app #detailModal .modal-title{margin:0;padding:16px 24px;border-bottom:1px solid var(--bd);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6B7F95;flex-shrink:0}
body.pns-app #detailBody{flex:1;overflow-y:auto;padding:24px 28px 0;scrollbar-width:none}
body.pns-app #detailBody::-webkit-scrollbar{display:none}
body.pns-app .od-hd-num{font-size:.72rem;font-weight:700;letter-spacing:.12em;color:#6B7F95}
body.pns-app .od-hd-title{font-size:1.55rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.25}
body.pns-app .od-hd-meta{color:var(--muted)}
body.pns-app .od-timeline{margin:14px 0 22px}
body.pns-app .od-dot{border-color:var(--rule)}
body.pns-app .od-dot.done{background:var(--p);border-color:var(--p);color:var(--on-p)}
body.pns-app .od-dot.curr{box-shadow:0 0 0 4px var(--pl)}
body.pns-app .od-step-lbl.done{color:var(--link)}
body.pns-app .od-line.done{background:var(--p)}
body.pns-app .od-grid{display:block;border:0;border-radius:0;border-top:1px solid var(--ink);overflow:visible;margin-bottom:8px}
body.pns-app .od-cell{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 2px;border-bottom:1px solid var(--bd);border-right:0!important}
body.pns-app .od-dl{font-size:.8rem;color:#6B7F95;margin:0}
body.pns-app .od-dv{font-weight:600;color:var(--ink);text-align:right}
body.pns-app .od-sub{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--link);margin:22px 0 8px}
body.pns-app .od-note{background:var(--tint);border-left:3px solid var(--p);border-radius:0 10px 10px 0;padding:12px 16px;color:#33475E}
body.pns-app .od-rev{background:#FFFBEB;border-left:3px solid #F59E0B;border-radius:0 10px 10px 0;padding:12px 16px}
body.pns-app .attach-pill{background:var(--tint);border:1px solid var(--bd);border-radius:8px;color:var(--ink);padding:7px 12px;display:inline-flex;gap:6px;margin:0 6px 6px 0;text-decoration:none;font-size:.85rem}
body.pns-app .attach-pill:hover{background:var(--pl)}
body.pns-app .od-actions{position:sticky;bottom:0;z-index:5;display:flex;gap:10px;flex-wrap:wrap;margin:22px -28px 0;padding:14px 28px calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--bd)}
body.pns-app .oc-btn{border-radius:8px;font-weight:600;padding:8px 14px}
@media(max-width:900px){
  body.pns-app #detailModal .modal{max-width:none;height:100%;animation:pnsFade .25s ease both}
  body.pns-app #detailBody{padding:20px 16px 0}
  body.pns-app .od-actions{margin:20px -16px 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
  body.pns-app .od-actions .oc-btn{flex:1;min-height:44px;justify-content:center}
}

/* the other modals: revise, rate, cancel, top-up and friends */
body.pns-app .modal-bg{background:rgba(11,31,58,.4)}
body.pns-app .modal-bg:not(#detailModal) .modal{border-radius:18px;padding:26px 28px;max-width:480px}
body.pns-app .modal-title{font-size:1.2rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
body.pns-app .modal-btn{width:100%;border-radius:10px;padding:13px 22px;font-weight:700}
body.pns-app #starRow{font-size:2rem;gap:6px}
body.pns-app #starRow span{transition:transform .12s ease}
body.pns-app #starRow span:hover{transform:scale(1.15)}
body.pns-app .modal textarea{border-radius:10px;min-height:110px}
body.pns-app .modal-al.err{border-radius:10px}

/* messages, chat, wallet, filters, empty states */
body.pns-app .msg-subtabs{border-bottom:1px solid var(--bd)}
body.pns-app .msg-subtab{font-weight:600;color:#5C7085}
body.pns-app .conv-item{border:0;border-bottom:1px solid var(--bd);border-radius:0;background:transparent;padding:16px 4px}
body.pns-app .conv-item:hover{background:var(--tint)}
body.pns-app .conv-title{font-weight:700}
body.pns-app .chat-msgs{border:1px solid var(--bd);border-radius:14px;background:var(--tint)}
body.pns-app .cbubble{border-radius:14px}
body.pns-app .cbubble.them{border-color:var(--bd)}
body.pns-app .chat-input textarea{border-radius:10px;border:1px solid var(--rule)}
body.pns-app .chat-send{border-radius:10px;font-weight:700}
body.pns-app .wallet-bal{color:var(--ink);font-weight:700;letter-spacing:-.02em}
body.pns-app .tu-btn{border-radius:10px;font-weight:700}
body.pns-app .empty-orders{padding:64px 20px}
body.pns-app .eo-icon{font-size:2.4rem;opacity:.8}
body.pns-app .eo-title{font-weight:700;font-size:1.15rem;color:var(--ink)}
body.pns-app .chip{border:1px solid var(--bd);background:#fff;color:#3F536A;font-weight:600;padding:7px 14px}
body.pns-app .chip.active{background:var(--ink);border-color:var(--ink);color:#fff}
body.pns-app .chip-n{opacity:.7;margin-left:4px}
body.pns-app .new-order-link{border-radius:10px}
body.pns-app .chat-input textarea{min-height:0;height:48px;max-height:140px;resize:none}

/* tags on the light featured card need real contrast (the inherited rule assumed a dark card) */
body .featured .svc-tag{background:#fff;border:1px solid var(--bd);color:var(--link)}
