/* Documents: on-screen sheets of paper and the public /verify page. */
/* The document on screen: a sheet of paper carrying the same body as the PDF. */
.stm-paper { position: relative; background: #fff; border: 1px solid #d7dfe8; border-top: 4px solid var(--brand-navy, #061a36); border-radius: 3px; box-shadow: 0 10px 30px rgba(6, 26, 54, .10), 0 2px 6px rgba(6, 26, 54, .06); padding: 26px 34px 22px; overflow: hidden; }
.stm-paper::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, #b8924a, #e3c98f 50%, #b8924a); }
.stm-paper-micro { font-size: 4px; line-height: 5px; color: #9fb4c8; white-space: nowrap; overflow: hidden; letter-spacing: .4px; margin: -8px 0 10px; user-select: none; }
.stm-paper .pd { font-size: 13.2px; }
.stm-paper .pd-head .logo img { height: 52px; }
.stm-paper .pd-tx thead th { position: sticky; top: 0; z-index: 1; }
.stm-paper .pd-tx tbody tr:not(.month):not(.open):not(.close):not(.tot):hover td { background: #eef6fd; }
.stm-paper .pd-tx a { color: #0a4f94; text-decoration: none; border-bottom: 1px dotted #9cc3e8; }
.stm-paper .pd-tx a:hover { color: var(--blue, #0068d9); border-bottom-style: solid; }
.stm-paper .pd-verify .qr svg { width: 92px; height: 92px; }
.stm-paper .stm-trend .stm-hit { cursor: crosshair; }
.stm-paper .stm-trend .stm-hit:hover { fill: #b8924a; }
.stm-paper .pd-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.stm-paper .pd-hero { border-radius: 2px; }
.stm-paper-foot { margin-top: 18px; padding-top: 8px; border-top: 1px solid #b8924a; font-size: .74em; color: #5f6f80; line-height: 1.5; }
.stm-paper-foot b { color: var(--brand-navy, #061a36); }
/* ===================================================================== public verification page */
.stv { background: radial-gradient(1200px 400px at 50% -120px, #e3eef8 0%, transparent 70%), #f5f7fa; padding: 40px 16px 56px; }
.stv-wrap { max-width: 760px; margin: 0 auto; }
.stv-head { display: flex; gap: 18px; align-items: center; margin-bottom: 18px; }
.stv-seal { width: 92px; height: 92px; flex: none; }
.stv-kick { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: #a07b35; font-weight: 700; }
.stv-head h1 { font-family: var(--fd); font-weight: 400; color: var(--brand-navy, #061a36); font-size: 28px; margin: 4px 0 6px; line-height: 1.2; }
.stv-head p { margin: 0; color: var(--text2); }
.stv-search { display: flex; gap: 8px; margin: 14px 0; }
.stv-search input { flex: 1 1 auto; min-width: 0; height: 46px; border: 1px solid #9fb2c6; border-radius: 4px; padding: 0 14px; font: 600 17px/1 Consolas, 'Courier New', monospace; letter-spacing: .06em; color: var(--brand-navy, #061a36); background: #fff; text-transform: uppercase; }
.stv-search input:focus { outline: 2px solid #1fa9df; outline-offset: 1px; }
.stv-search button { flex: none; height: 46px; border: 0; border-radius: 4px; padding: 0 18px; background: var(--brand-navy, #061a36); color: #fff; font-weight: 700; font-size: 14px; cursor: pointer; }
.stv-search button:hover { background: #0b2a4f; }
.stv-result { background: #fff; border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 10px 30px rgba(6, 26, 54, .08); overflow: hidden; margin-top: 8px; }
.stv-status { display: flex; gap: 14px; align-items: center; padding: 18px 20px; }
.stv-status i { font-size: 34px; flex: none; }
.stv-status b { display: block; font-size: 19px; font-family: var(--fd); font-weight: 400; }
.stv-status span { display: block; font-size: 13.5px; margin-top: 2px; }
.stv-result.ok .stv-status { background: linear-gradient(90deg, #e1f6ec, #f3fbf7); color: #0b5a3c; border-bottom: 1px solid #bfe6d2; }
.stv-result.bad .stv-status { background: linear-gradient(90deg, #fbe2e6, #fdf3f5); color: #7d1c2e; border-bottom: 1px solid #f0c3cc; }
.stv-result > p { padding: 14px 20px; margin: 0; color: var(--text2); line-height: 1.55; }
.stv-dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 6px 20px 4px; gap: 0 24px; }
.stv-dl div { padding: 10px 0; border-bottom: 1px solid var(--line2); min-width: 0; }
.stv-dl div.wide { grid-column: 1 / -1; border-bottom: 0; }
.stv-dl dt { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.stv-dl dd { margin: 3px 0 0; color: var(--brand-navy, #061a36); font-weight: 600; overflow-wrap: anywhere; }
.stv-dl .mono, .stv-hash { font-family: Consolas, 'Courier New', monospace; }
.stv-hash { font-size: 12px; font-weight: 400 !important; color: var(--text2) !important; }
.stv-small { font-size: 12.5px !important; color: var(--muted) !important; background: var(--panel2); border-top: 1px solid var(--line2); }
.stv-check { margin-top: 16px; background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 16px 20px; }
.stv-check h2 { margin: 0 0 6px; font-size: 17px; color: var(--brand-navy, #061a36); font-family: var(--fd); font-weight: 400; }
.stv-check p { margin: 0; color: var(--text2); font-size: 13.5px; line-height: 1.5; }
.stv-check .stv-search input { font-size: 16px; text-transform: none; }
.stv-msg { border-radius: 4px; padding: 10px 12px; font-size: 13.5px; margin-top: 10px; }
.stv-msg.ok { background: #e1f6ec; color: #0b5a3c; }
.stv-msg.bad { background: #fbe2e6; color: #7d1c2e; }
.stv-how { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.stv-how div { background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 16px; }
.stv-how i { font-size: 24px; color: #b8924a; }
.stv-how b { display: block; margin: 8px 0 4px; color: var(--brand-navy, #061a36); }
.stv-how span { color: var(--text2); font-size: 13px; line-height: 1.5; }
.stv-foot { text-align: center; color: var(--muted); font-size: 12px; margin-top: 26px; }

@media (max-width: 760px) {
    .stm-paper { padding: 16px 14px 14px; }
    .stm-paper .pd { font-size: 12.4px; }
    .stm-paper .pd-head td, .stm-paper .pd-cols > tbody > tr > td, .stm-paper .pd-cols > tr > td { display: block; width: auto !important; padding-left: 0 !important; padding-right: 0 !important; text-align: left; }
    .stm-paper .pd-cols > tbody > tr > td + td { margin-top: 12px; }
    .stm-paper .pd-head .r { text-align: left; margin-top: 10px; }
    .stm-paper .pd-hero > tbody > tr > td, .stm-paper .pd-hero > tr > td { display: block; width: auto !important; border-right: 0 !important; }
    .stm-paper .pd-hero .grid td { display: inline-block; width: 50% !important; border-left: 0 !important; border-top: 1px solid #24406a; box-sizing: border-box; }
    .stm-paper .pd-hero .big { font-size: 2em; }
    .stm-paper .pd-figs td { display: inline-block; width: 50% !important; box-sizing: border-box; border-left: 0; }
    .stm-paper .pd-verify td { display: block; width: auto !important; text-align: left; }
    .stm-paper .pd-verify .seal { display: none; }
    .stm-paper .pd-sect td { display: block; width: auto !important; text-align: left; padding: .5em .8em; }
    .stm-paper .pd-tx { min-width: 560px; }
    .stm-paper .pd-bars td.lbl { width: 46%; }
    .stm-paper .pd-card .dl td, .stm-paper .pd-receipt .dl td { display: block; width: auto !important; }
    .stm-paper .pd-card .dl td.k, .stm-paper .pd-receipt .dl td.k { padding-bottom: 0; border-bottom: 0; }
    .stm-paper .pd-frame-in { padding: 14px 10px; }
    .stm-paper .pd-cert-title { font-size: 1.7em; }
    .stm-paper .pd-h .aside { float: none; display: block; padding-top: 2px; }
    .stm-paper .pd-hero-foot span[style] { float: none !important; display: block; }
    .stm-dcs { grid-template-columns: 1fr; }
    .stm-intro .stat { border-left: 0; padding-left: 0; border-top: 1px solid rgba(255, 255, 255, .18); padding-top: 12px; }
    .stm-intro h2 { font-size: 21px; }
    .stv-head { align-items: flex-start; }
    .stv-seal { width: 64px; height: 64px; }
    .stv-head h1 { font-size: 22px; }
    .stv-dl { grid-template-columns: 1fr; }
    .stv-how { grid-template-columns: 1fr; }
    .stv-search { flex-wrap: wrap; }
    .stv-search button { width: 100%; }
}
@media print {
    .stm-toolbar, .stm-tabs, .stm-issued { display: none; }
    .stm-paper { box-shadow: none; border: 0; padding: 0; }
}
