:root {
  color-scheme: light;
  --ink: #172b24;
  --ink-soft: #354f44;
  --muted: #5d7468;
  --gold: #b8892e;
  --gold-dark: #805b16;
  --gold-soft: #fbf3df;
  --paper: #f2f6f3;
  --white: #ffffff;
  --surface: #ffffff;
  --surface-subtle: #f8faf8;
  --line: #dce7df;
  --line-strong: #cbd9d0;
  --green: #216b50;
  --green-hover: #19563f;
  --green-soft: #e6f3eb;
  --red: #b42318;
  --red-soft: #fef3f2;
  --blue: #28634f;
  --blue-soft: #e8f2ec;
  --focus-ring: rgba(184, 137, 46, .42);
  --radius: 18px;
  --shadow: 0 12px 32px rgba(19, 45, 37, .07);
}
* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; scroll-padding-top: 24px; }
body { min-height: 100vh; margin: 0; display: flex; flex-direction: column; background: var(--paper); color: var(--ink); font-family: Tahoma, "Segoe UI", Arial, sans-serif; font-size: 14px; line-height: 1.8; -webkit-font-smoothing: antialiased; font-variant-numeric: tabular-nums; }
a { color: inherit; text-decoration: none; }
#main-content, .panel-main, .login-layout { flex: 1 0 auto; width: 100%; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
.container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.site-header { border-bottom: 1px solid rgba(23,36,51,.08); background: rgba(255,255,255,.96); }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 82px; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 11px; min-width: 0; }
.brand-mark { width: 45px; height: 45px; display: inline-grid; place-items: center; flex: 0 0 auto; background: var(--gold); color: white; border-radius: 14px 14px 5px 14px; font-weight: 900; font-size: 26px; box-shadow: 0 4px 10px rgba(181,138,54,.16); }
.brand-copy { display: flex; flex-direction: column; gap: 0; line-height: 1.45; }
.brand-copy strong { font-size: 18px; letter-spacing: -.3px; }
.brand-copy small { color: var(--muted); font-size: 10px; }
.header-note { color: var(--muted); font-size: 12px; display: flex; align-items: center; gap: 9px; }
.status-dot { width: 7px; height: 7px; background: #3c9a76; border-radius: 50%; box-shadow: 0 0 0 4px #e4f4ec; }
.hero-section { padding: 76px 0 82px; background: radial-gradient(ellipse at 8% 24%, rgba(214,182,112,.11), transparent 32%), linear-gradient(180deg, #fbfbf8 0%, #f7f8fa 100%); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 440px); gap: clamp(36px, 6vw, 84px); align-items: center; }
.hero-copy { padding-block: 14px; }
.eyebrow { display: inline-flex; gap: 9px; align-items: center; color: var(--gold-dark); font-size: 11px; font-weight: 700; letter-spacing: .2px; }
.eyebrow-line { width: 21px; height: 2px; background: var(--gold); display: inline-block; }
.hero-copy h1 { font-size: clamp(32px, 4vw, 48px); line-height: 1.48; letter-spacing: -.7px; margin: 17px 0 18px; font-weight: 800; }
.hero-copy h1 span { color: var(--gold-dark); }
.hero-description { max-width: 490px; margin: 0; color: var(--ink-soft); font-size: 16px; line-height: 2; }
.trust-row { display: flex; flex-wrap: wrap; gap: 23px; margin-top: 30px; color: #616b72; font-size: 12px; }
.trust-row > span { display: flex; align-items: center; gap: 8px; }
.mini-check { display: inline-grid; place-items: center; width: 20px; height: 20px; border: 1px solid #d5c28e; border-radius: 50%; color: var(--gold-dark); font-size: 11px; }
.lookup-card { background: var(--white); border: 1px solid rgba(23,36,51,.08); padding: clamp(25px, 4vw, 36px); border-radius: 22px; box-shadow: 0 20px 48px rgba(23,36,51,.075); }
.card-icon { width: 48px; height: 48px; display: grid; place-items: center; background: var(--gold-soft); color: var(--gold-dark); border-radius: 14px; margin-bottom: 19px; }
.card-icon svg { width: 25px; height: 25px; }
.lookup-card h2 { margin: 0; font-size: 20px; letter-spacing: -.4px; }
.card-description { margin: 7px 0 22px; color: var(--muted); font-size: 12px; }
.lookup-form label, .form-field > label { display: block; margin-bottom: 8px; color: #344354; font-size: 13px; font-weight: 700; }
.input { width: 100%; min-height: 48px; border: 1px solid #d5dde5; border-radius: 11px; padding: 11px 13px; background: white; color: var(--ink); outline: none; transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease; }
.input:focus { border-color: #b58a36; box-shadow: 0 0 0 3px rgba(181,138,54,.14); }
.input::placeholder { color: #adb3b7; }
.input-large { min-height: 54px; font-size: 18px; letter-spacing: 1px; text-align: center; margin-bottom: 15px; }
.textarea { resize: vertical; min-height: 110px; }
.button { min-height: 44px; display: inline-flex; justify-content: center; align-items: center; gap: 10px; padding: 10px 17px; border-radius: 11px; border: 1px solid transparent; font-size: 13px; font-weight: 700; text-align: center; transition: background .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.button:focus-visible, .table-action:focus-visible, a:focus-visible, .input:focus-visible { outline: 3px solid rgba(181,138,54,.45); outline-offset: 2px; }
.button:active { transform: translateY(1px); }
.button-primary { background: var(--green); color: white; }
.button-primary:hover { background: var(--green-hover); }
.button-primary > span[aria-hidden="true"] { font-size: 17px; line-height: 1; }
.button-full { width: 100%; min-height: 50px; margin-top: 4px; }
.button-secondary { background: white; color: var(--ink); border-color: #dfe1df; }
.button-secondary:hover { border-color: #c7b16e; background: #fffdf8; }
.button-quiet { background: transparent; border-color: transparent; color: var(--ink-soft); }
.button-quiet:hover { background: #f1f0eb; }
.button-danger { color: white; background: #a63e3e; }
.button-danger:hover { background: #8f2c2c; }
.card-footnote { border-top: 1px solid #f0efeb; padding-top: 15px; margin-top: 20px; display: flex; align-items: flex-start; gap: 8px; color: #90979c; font-size: 10px; line-height: 1.8; }
.lock-icon { color: #51856b; font-size: 9px; margin-top: 5px; }
.field-error { display: block; color: var(--red); font-size: 11px; margin: 5px 0 0; }
.lookup-result-error { display: flex; flex-direction: column; gap: 2px; margin: 12px 0 14px; padding: 12px 14px; border: 1px solid #f2cbc7; border-right: 3px solid var(--red); border-radius: 10px; background: var(--red-soft); color: var(--red); font-size: 12px; line-height: 1.8; }
.lookup-result-error strong { font-size: 13px; font-weight: 800; }
.lookup-result-error span { color: #8f2d26; }

.steps-section { background: white; border-top: 1px solid #efeee9; border-bottom: 1px solid #efeee9; padding: 26px 0; }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.step { display: flex; gap: 13px; align-items: flex-start; padding: 9px 0; }
.step-number { font-size: 13px; color: var(--gold-dark); font-weight: 800; letter-spacing: .3px; padding-top: 1px; }
.step strong { font-size: 12px; }
.step p { color: var(--muted); font-size: 11px; margin: 4px 0 0; }
.site-footer { background: white; color: #8b9399; font-size: 10px; }
.footer-inner { min-height: 66px; display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.messages { padding-top: 14px; }
.message { padding: 11px 14px; border-radius: 9px; background: var(--blue-soft); border: 1px solid #dbe9f7; color: #315d80; font-size: 12px; margin-bottom: 9px; }
.message-success { background: var(--green-soft); border-color: #d3e9dc; color: var(--green); }
.message-error { background: var(--red-soft); border-color: #f2d7d4; color: var(--red); }
.message-warning { background: var(--gold-soft); border-color: #eadbb7; color: var(--gold-dark); }
.result-section { padding: 42px 0 65px; }
.result-container { max-width: 820px; }
.back-link { display: inline-flex; color: #69757c; font-size: 12px; margin-bottom: 18px; }
.back-link:hover, .text-link:hover, .login-back-link:hover { color: var(--gold-dark); }
.result-card { background: white; border: 1px solid #e3e8ed; border-radius: 22px; box-shadow: var(--shadow); overflow: hidden; }
.result-card-top { display: flex; justify-content: space-between; align-items: flex-start; padding: 29px 32px 25px; gap: 15px; border-bottom: 1px solid #f0efeb; }
.result-card-top h1 { font-size: 24px; margin: 8px 0 4px; letter-spacing: -.5px; }
.result-subtitle { margin: 0; color: var(--muted); font-size: 12px; }
.verified-mark { display: flex; flex-direction: column; align-items: center; gap: 3px; color: var(--green); font-size: 10px; flex: 0 0 auto; }
.verified-mark span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: var(--green-soft); font-size: 18px; font-weight: 700; }
.result-number-row { margin: 22px 32px; background: #f8f7f2; border: 1px solid #efeee7; border-radius: 12px; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 15px 18px; }
.result-number-row span { color: #66717a; font-size: 12px; }
.result-number-row strong { font-size: 19px; letter-spacing: .6px; }
.result-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 0 32px 27px; }
.result-value { padding: 13px 17px; border-right: 1px solid #efeee9; }
.result-value:first-child { border-right: 0; padding-right: 0; }
.result-value span { display: block; color: var(--muted); font-size: 11px; margin-bottom: 7px; }
.result-value strong { font-size: 18px; font-weight: 800; }
.result-value strong small { font-size: 11px; color: var(--muted); font-weight: 400; }
.result-value-highlight strong { color: var(--gold-dark); font-size: 27px; }
.result-description { border-top: 1px solid #f0efeb; padding: 17px 32px 22px; }
.result-description > span { color: var(--muted); font-size: 11px; }
.result-description p { margin: 6px 0 0; font-size: 12px; white-space: normal; overflow-wrap: anywhere; }
.result-card-footer { background: #fbfaf7; border-top: 1px solid #f0efeb; display: flex; gap: 9px; align-items: flex-start; padding: 15px 32px; }
.footer-check { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--green-soft); color: var(--green); font-size: 10px; flex: 0 0 auto; margin-top: 2px; }
.result-card-footer p { margin: 0; color: #65716f; font-size: 10px; }
.result-disclaimer { color: #818a90; text-align: center; font-size: 11px; margin: 19px auto; max-width: 600px; }
.result-actions { display: flex; justify-content: center; align-items: center; gap: 17px; flex-wrap: wrap; }
.print-hint { color: var(--muted); font-size: 11px; }
.error-section { min-height: 62vh; display: grid; place-items: center; padding: 50px 0; }
.error-card { max-width: 560px; text-align: center; padding: 30px 20px; }
.error-code { display: inline-block; font-size: clamp(42px, 9vw, 72px); line-height: 1.3; color: #d6c18c; font-weight: 900; letter-spacing: 2px; }
.error-card h1 { font-size: 25px; margin: 10px 0; }
.error-card p { color: var(--muted); font-size: 13px; margin: 0 auto 25px; max-width: 440px; }
/* Management panel */
.panel-body { min-height: 100vh; background: #f5f7f9; }
.panel-header { background: var(--ink); color: white; box-shadow: 0 4px 16px rgba(18,29,40,.09); }
.panel-header-inner { display: flex; align-items: center; gap: 28px; min-height: 78px; }
.brand-light .brand-copy small { color: #b3bdc5; }
.panel-nav { display: flex; align-items: center; gap: 4px; flex: 1; }
.panel-nav a { color: #c4ccd3; font-size: 12px; padding: 9px 13px; border-radius: 9px; white-space: nowrap; }
.panel-nav a:hover, .panel-nav a.nav-active { background: rgba(255,255,255,.1); color: white; }
.panel-user { display: flex; align-items: center; gap: 9px; font-size: 11px; }
.user-avatar { display: inline-grid; place-items: center; background: #384654; border: 1px solid #536170; width: 31px; height: 31px; border-radius: 50%; color: #f2dba5; font-weight: 700; }
.user-name { max-width: 125px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.panel-user form { margin: 0; }
.logout-button { border: 0; color: #d9a5a5; background: transparent; padding: 6px; font-size: 11px; }
.logout-button:hover { color: white; }
.panel-main { padding-top: 32px; padding-bottom: 55px; min-height: calc(100vh - 132px); }
.page-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 24px; }
.page-heading h1 { font-size: 28px; margin: 5px 0 3px; letter-spacing: -.45px; line-height: 1.45; }
.page-heading p { color: var(--muted); font-size: 12px; margin: 0; }
.heading-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.button-plus { font-size: 20px; line-height: .8; font-weight: 400; }
.stats-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 24px; }
.stat-card { position: relative; padding: 20px 20px 18px; background: white; border: 1px solid #e3e8ed; border-radius: 16px; min-width: 0; box-shadow: 0 5px 18px rgba(23,36,51,.025); }
.stat-icon { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; margin-bottom: 11px; font-size: 20px; font-weight: 700; }
.stat-icon-gold { color: var(--gold-dark); background: var(--gold-soft); }
.stat-icon-green { color: var(--green); background: var(--green-soft); }
.stat-icon-blue { color: var(--blue); background: var(--blue-soft); }
.stat-icon-muted { color: #69757c; background: #eff1f2; }
.stat-label { display: block; color: #647079; font-size: 11px; }
.stat-card strong { display: block; font-size: 27px; line-height: 1.5; letter-spacing: -.4px; }
.stat-card small { font-size: 10px; color: #9aa1a5; }
.dashboard-columns { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .85fr); align-items: start; gap: 18px; }
.panel-card { background: white; border: 1px solid #e3e8ed; border-radius: 16px; overflow: hidden; box-shadow: 0 5px 18px rgba(23,36,51,.025); }
.section-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 20px 22px 16px; }
.section-heading h2 { margin: 0; font-size: 15px; }
.section-heading p { color: var(--muted); margin: 3px 0 0; font-size: 10px; }
.text-link { font-size: 11px; color: var(--gold-dark); white-space: nowrap; }
.table-wrap { width: 100%; overflow-x: auto; }
.data-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 12px; white-space: nowrap; }
.data-table th { background: #f8fafc; color: #586777; text-align: right; font-weight: 700; padding: 13px 17px; border-top: 1px solid #edf0f3; border-bottom: 1px solid #e8edf2; }
.data-table td { padding: 14px 17px; border-bottom: 1px solid #edf0f3; vertical-align: middle; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #fdfcf9; }
.latin-number { direction: ltr; unicode-bidi: embed; letter-spacing: .35px; }
.status-pill { display: inline-flex; align-items: center; gap: 5px; border-radius: 30px; padding: 4px 9px; font-size: 9px; font-weight: 700; }
.status-published { color: #31745a; background: #e9f5ee; }
.status-draft { color: #8b6b2a; background: #fbf4df; }
.status-acceptance { color: #275e85; background: #eaf4fb; }
.status-deleted { color: #9c4a4a; background: #fceeed; }
.table-action { display: inline-flex; min-height: 32px; align-items: center; justify-content: center; background: transparent; border: 0; padding: 5px 7px; color: #3f607e; font-size: 11px; cursor: pointer; border-radius: 7px; }
.table-action:hover { color: var(--gold-dark); }
.table-action-danger { color: #a45252; }
.row-actions { display: flex; align-items: center; gap: 7px; }
.row-actions form { margin: 0; }
.row-deleted { opacity: .75; }
.deleted-caption { display: block; margin-top: 2px; color: #ac5f5f; font-size: 9px; }
.empty-state { text-align: center; padding: 35px 18px; }
.empty-state > span { color: #c9b06c; font-size: 34px; }
.empty-state strong { display: block; margin-top: 7px; font-size: 13px; }
.empty-state p, .empty-note { color: var(--muted); font-size: 11px; }
.empty-state .button { margin-top: 8px; }
.audit-list { padding: 0 22px 18px; }
.audit-item { display: flex; gap: 13px; padding: 13px 0; border-bottom: 1px solid #f0f1f1; }
.audit-item:last-child { border-bottom: 0; }
.audit-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); margin-top: 7px; flex: 0 0 auto; box-shadow: 0 0 0 4px #faf3e3; }
.audit-copy { display: flex; flex-direction: column; line-height: 1.7; min-width: 0; }
.audit-copy strong { font-size: 11px; }
.audit-copy span { color: #6f7a82; font-size: 10px; }
.audit-copy small { color: #a0a7ac; font-size: 9px; }
.empty-note { padding: 0 22px 20px; }
.filter-card { padding: 20px 22px 0; }
.filter-form { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr 1.2fr auto; gap: 10px; align-items: end; }
.filter-form .form-field { min-width: 0; }
.filter-form .input { min-height: 44px; padding: 8px 10px; font-size: 12px; }
.filter-buttons { display: flex; gap: 5px; align-items: center; }
.filter-buttons .button { min-height: 44px; padding: 7px 11px; white-space: nowrap; }
.list-summary { display: flex; gap: 5px; align-items: center; padding: 20px 0 12px; color: var(--muted); font-size: 10px; }
.list-summary strong { color: var(--ink); font-size: 13px; }
.list-summary span { color: #c1c5c7; margin: 0 3px; }
.empty-table { text-align: center; color: var(--muted); padding: 35px 10px; }
.form-alert { margin: 12px 0; padding: 11px 13px; background: #fff6e4; color: #8d6825; border: 1px solid #efdfb9; border-radius: 9px; font-size: 11px; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 18px; padding: 18px; color: #707a83; font-size: 11px; }
.pagination a { color: var(--gold-dark); font-weight: 700; }
.pagination .disabled { color: #c1c5c7; }
.form-card { padding: 28px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 21px 22px; }
.form-field { min-width: 0; }
.form-field .input { min-height: 46px; }
.form-field-wide { grid-column: 1 / -1; }
.form-field .help-text { color: #647384; font-size: 11px; display: block; margin-top: 6px; }
.required-mark { color: #bd6d4f; margin-right: 4px; }
.checkbox-field { border: 1px solid #e8e9e5; background: #fbfbf8; border-radius: 11px; padding: 14px; }
.checkbox-label { display: flex !important; gap: 11px; align-items: flex-start; margin: 0 !important; cursor: pointer; }
.checkbox { margin-top: 5px; width: 16px; height: 16px; accent-color: var(--gold-dark); }
.checkbox-label > span { display: flex; flex-direction: column; gap: 2px; }
.checkbox-label strong { font-size: 12px; }
.checkbox-label small { font-size: 10px; color: var(--muted); font-weight: 400; }
.form-actions { display: flex; gap: 9px; align-items: center; margin-top: 28px; padding-top: 20px; border-top: 1px solid #eff0ed; }
.confirm-card { max-width: 680px; margin-inline: auto; text-align: center; padding: 32px; }
.confirm-icon { width: 46px; height: 46px; border-radius: 50%; background: #fff1e5; color: #b66b3e; display: inline-grid; place-items: center; font-size: 22px; font-weight: 800; }
.confirm-card h2 { font-size: 19px; margin: 14px 0 8px; }
.confirm-card p { max-width: 500px; color: var(--muted); font-size: 12px; margin: 0 auto; }
.confirm-card .form-actions { justify-content: center; }
.qr-print-sheet { max-width: 460px; margin: 25px auto 45px; background: white; border: 1px solid #e3e4e4; border-radius: 14px; padding: 27px; box-shadow: var(--shadow); }
.qr-sheet-brand { display: flex; justify-content: center; align-items: center; gap: 10px; padding-bottom: 18px; border-bottom: 1px solid #ecece8; }
.qr-sheet-brand > div { display: flex; flex-direction: column; line-height: 1.5; }
.qr-sheet-brand strong { font-size: 18px; }
.qr-sheet-brand small { color: var(--muted); font-size: 10px; }
.qr-sheet-content { text-align: center; padding: 16px 0 14px; }
.qr-sheet-content h2 { font-size: 18px; margin: 2px 0 3px; }
.qr-sheet-content p { color: var(--muted); font-size: 11px; margin: 7px 0; }
.qr-eng-number { display: block; font-size: 24px; letter-spacing: 1px; margin: 0 auto 8px; }
.qr-image { display: block; width: min(240px, 80%); height: auto; margin: 14px auto; image-rendering: pixelated; }
.qr-url { direction: ltr; overflow-wrap: anywhere; font-size: 10px !important; color: #374454 !important; }
.qr-instruction { color: #656f77 !important; margin-top: 14px !important; }
.qr-sheet-footer { text-align: center; border-top: 1px solid #ecece8; padding-top: 13px; color: #848d93; font-size: 9px; }
.panel-footer { background: white; border-top: 1px solid #e3e8ed; color: #7b8794; font-size: 11px; padding: 19px 0; }
/* Login */
.login-body { min-height: 100vh; background: white; }
.login-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(320px, .9fr) minmax(420px, 1.1fr); }
.login-brand-panel { position: relative; display: flex; flex-direction: column; padding: 38px clamp(30px, 6vw, 82px); color: white; background: radial-gradient(ellipse at 85% 15%, rgba(195,153,63,.14), transparent 40%), var(--ink); }
.login-brand-panel .brand { align-self: flex-start; }
.login-brand-panel .brand-mark { background: var(--gold); }
.eyebrow-light { color: #d8c38b; }
.eyebrow-light .eyebrow-line { background: #d8c38b; }
.login-brand-copy { margin: auto 0; padding: 60px 0; }
.login-brand-copy h1 { font-size: clamp(31px, 3.2vw, 43px); line-height: 1.7; margin: 17px 0 13px; }
.login-brand-copy p { max-width: 390px; color: #b8c2ca; font-size: 13px; }
.login-bottom-note { color: #8d9aa5; font-size: 10px; }
.login-form-panel { display: grid; place-items: center; padding: 40px 26px; }
.login-form-wrap { width: min(390px, 100%); }
.login-form-wrap h2 { font-size: 24px; margin: 9px 0 4px; }
.muted-text { color: var(--muted); font-size: 12px; margin: 0 0 26px; }
.stack-form { display: grid; gap: 17px; }
.stack-form .button { margin-top: 9px; }
.login-back-link { display: inline-block; margin-top: 24px; font-size: 11px; color: #727e87; }
.mobile-brand { display: none; margin-bottom: 35px; }
@media (max-width: 1050px) {
  .stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .panel-header-inner { gap: 17px; }
  .panel-nav a { padding-inline: 9px; }
  .filter-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .filter-buttons { grid-column: 1 / -1; padding-bottom: 5px; }
  .dashboard-columns { grid-template-columns: minmax(0, 1.3fr) minmax(250px, .8fr); }
}
@media (max-width: 780px) {
  .hero-section { padding: 43px 0 48px; }
  .hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .hero-copy { padding: 0; }
  .hero-copy h1 { font-size: 32px; }
  .hero-description { font-size: 14px; }
  .lookup-card { max-width: 520px; width: 100%; margin-inline: auto; }
  .steps-grid { grid-template-columns: 1fr; gap: 3px; }
  .step { padding: 7px 0; }
  .footer-inner { min-height: 68px; padding-block: 12px; align-items: flex-start; justify-content: center; flex-direction: column; gap: 3px; }
  .result-section { padding-top: 25px; }
  .result-card-top { padding: 22px 20px 19px; }
  .result-card-top h1 { font-size: 20px; }
  .result-number-row { margin: 16px 18px; padding: 12px 13px; }
  .result-values { padding: 0 18px 21px; }
  .result-value { padding: 10px 10px; }
  .result-value strong { font-size: 15px; }
  .result-value-highlight strong { font-size: 24px; }
  .result-value strong small { display: inline; }
  .result-description, .result-card-footer { padding-inline: 20px; }
  .panel-header-inner { flex-wrap: wrap; justify-content: space-between; padding-block: 12px; gap: 10px; }
  .panel-header .brand-mark { width: 37px; height: 37px; }
  .panel-nav { order: 3; flex-basis: 100%; overflow-x: auto; }
  .panel-nav a { padding: 6px 10px; }
  .panel-user { margin-inline-start: auto; }
  .user-name { display: none; }
  .panel-main { padding-top: 23px; }
  .page-heading { align-items: flex-start; flex-direction: column; }
  .page-heading h1 { font-size: 24px; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .stat-card { padding: 14px; }
  .stat-card strong { font-size: 24px; }
  .dashboard-columns { grid-template-columns: 1fr; }
  .filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-form .form-field:first-child { grid-column: 1 / -1; }
  .heading-actions { width: 100%; }
  .heading-actions .button { flex: 1; }
  .form-card { padding: 19px; }
  .form-grid { gap: 17px 14px; }
  .qr-print-sheet { max-width: 420px; padding: 22px; }
  .login-layout { grid-template-columns: 1fr; }
  .login-brand-panel { display: none; }
  .login-form-panel { padding: 35px 23px; }
  .mobile-brand { display: inline-flex; }
}
@media (max-width: 470px) {
  .container { width: min(100% - 28px, 1160px); }
  .header-inner { min-height: 68px; }
  .brand-mark { width: 39px; height: 39px; font-size: 23px; }
  .header-note { font-size: 10px; }
  .hero-copy h1 { font-size: 28px; }
  .trust-row { gap: 12px; }
  .lookup-card { border-radius: 17px; padding: 23px 19px; }
  .result-card-top { gap: 8px; }
  .verified-mark span { width: 31px; height: 31px; }
  .result-subtitle { font-size: 10px; }
  .result-number-row { flex-direction: column; align-items: flex-start; gap: 3px; }
  .result-values { grid-template-columns: 1fr; gap: 0; }
  .result-value, .result-value:first-child { padding: 11px 0; border-right: 0; border-bottom: 1px solid #f0efeb; display: flex; justify-content: space-between; gap: 10px; align-items: center; }
  .result-value:last-child { border-bottom: 0; }
  .result-value span { margin: 0; }
  .result-value strong, .result-value-highlight strong { font-size: 17px; }
  .result-value strong small { display: inline; }
  .result-actions { align-items: stretch; flex-direction: column; }
  .print-hint { text-align: center; }
  .filter-form { grid-template-columns: 1fr; }
  .filter-form .form-field:first-child { grid-column: auto; }
  .filter-buttons .button { flex: 1; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field-wide { grid-column: auto; }
  .form-actions { flex-wrap: wrap; }
  .form-actions .button { flex: 1; }
  .confirm-card { padding: 24px 18px; }
}
@media print {
  @page { size: A4; margin: 15mm; }
  body { background: #fff !important; color: #000; font-size: 11pt; }
  .no-print, .site-header, .site-footer, .panel-header, .panel-footer, .panel-main > .page-heading, .messages { display: none !important; }
  .container { width: 100%; max-width: none; }
  .result-section { padding: 0; }
  .result-card, .qr-print-sheet { box-shadow: none; border: 1px solid #bbb; break-inside: avoid; margin: 0 auto; }
  .qr-print-sheet { width: 100%; max-width: 120mm; }
  .qr-image { width: 58mm; height: auto; }
  .result-card-footer { background: #fff; }
}


/* Zar UI system refinement: accessible focus, calmer surfaces, and mobile table cards. */
.skip-link {
  position: fixed;
  z-index: 1000;
  inset-block-start: 10px;
  inset-inline-start: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--ink);
  color: #fff;
  box-shadow: var(--shadow);
  transform: translateY(-160%);
  transition: transform .16s ease;
}
.skip-link:focus { transform: translateY(0); }
.status-dot { box-shadow: 0 0 0 4px #e7f5ee; }
.header-note { font-size: 12px; }
.note-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  border: 1px solid #d7e3e0;
  border-radius: 50%;
  color: var(--green);
  font-size: 11px;
  font-weight: 800;
}
.hero-copy h1 span { color: #8d661f; }
.lookup-card h2 { line-height: 1.5; }
.lookup-form .input-large { margin-bottom: 14px; }
.lookup-form .field-error { margin: -5px 0 12px; }
.lookup-form .input:focus-visible { outline: none; }
.has-error .input { border-color: #d92d20; background: #fffafa; }
.has-error .input:focus { box-shadow: 0 0 0 3px rgba(180,35,24,.12); }
.button-primary { box-shadow: 0 3px 0 rgba(10,20,30,.03); }
.button-primary:hover { box-shadow: 0 5px 14px rgba(23,36,51,.13); }
.button-secondary:hover { box-shadow: 0 3px 10px rgba(23,36,51,.05); }
.button:disabled, button[disabled] { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.input:disabled, select:disabled, textarea:disabled { background: #f2f4f6; color: #7c8794; cursor: not-allowed; }
.input[aria-invalid="true"] { border-color: #d92d20; }
.eyebrow { font-size: 12px; }
.card-description { font-size: 13px; }
.trust-row { font-size: 13px; }
.step strong { font-size: 13px; }
.step p { font-size: 12px; }
.site-footer { border-top: 1px solid #edf0f2; }
.result-card-top h1 { line-height: 1.5; }
.result-value { min-width: 0; }
.result-value strong { overflow-wrap: anywhere; }
.result-description p { color: #344354; line-height: 1.9; }
.result-card-footer { background: #f8faf9; }
.error-code { color: #c3a15d; }
.error-card { border: 1px solid #e3e8ed; border-radius: 20px; background: #fff; box-shadow: var(--shadow); }

/* Admin: larger hit targets and clearer hierarchy. */
.panel-header .brand-mark { box-shadow: none; }
.panel-nav a:focus-visible, .logout-button:focus-visible, .pagination a:focus-visible,
.text-link:focus-visible, .table-action:focus-visible {
  outline: 2px solid #e5c778;
  outline-offset: 2px;
}
.logout-button { min-height: 36px; border-radius: 8px; padding-inline: 10px; }
.logout-button:hover { background: rgba(255,255,255,.08); }
.stat-label { font-size: 12px; }
.stat-card small { font-size: 11px; }
.stat-card strong { line-height: 1.45; }
.section-heading h2 { font-size: 16px; }
.section-heading p { font-size: 11px; }
.status-pill { font-size: 10px; padding: 5px 10px; }
.list-summary { font-size: 12px; }
.list-summary strong { font-size: 14px; }
.pagination { font-size: 12px; }
.pagination a, .pagination .disabled { display: inline-flex; min-height: 36px; align-items: center; padding: 6px 10px; border-radius: 8px; }
.pagination a:hover { background: var(--gold-soft); }
.form-field > label { line-height: 1.7; }
.form-grid { align-items: start; }
.textarea { line-height: 1.9; }
.confirm-card .form-actions { flex-wrap: wrap; }
.qr-print-sheet { border-radius: 18px; }
.qr-sheet-content .qr-image { image-rendering: pixelated; }
.login-form-wrap h2 { line-height: 1.5; }
.stack-form .field-error:empty { display: none; }

@media (min-width: 1200px) {
  .hero-section { padding-block: 86px 90px; }
  .lookup-card { padding: 36px; }
}

@media (max-width: 780px) {
  .hero-section { padding-block: 44px 52px; }
  .hero-grid { gap: 27px; }
  .hero-copy h1 { max-width: 620px; line-height: 1.45; }
  .hero-description { max-width: 580px; }
  .lookup-card { box-shadow: 0 14px 35px rgba(23,36,51,.065); }
  .panel-header-inner { align-items: center; }
  .panel-nav { scrollbar-width: thin; }
  .panel-nav a { min-height: 38px; display: inline-flex; align-items: center; }
  .page-heading { margin-bottom: 21px; }
  .form-card { padding: 22px; }
  .filter-card { padding: 16px 16px 0; }
  .data-table { font-size: 12px; }
}

@media (max-width: 600px) {
  .container { width: calc(100% - 28px); }
  .header-inner { min-height: 70px; }
  .header-note { max-width: 142px; gap: 7px; font-size: 10px; }
  .brand-copy small { font-size: 9px; }
  .hero-section { padding-block: 35px 39px; }
  .hero-copy h1 { font-size: clamp(27px, 7vw, 32px); margin-block: 13px 14px; }
  .hero-description { font-size: 14px; line-height: 1.9; }
  .trust-row { margin-top: 20px; gap: 10px 16px; }
  .lookup-card { border-radius: 18px; padding: 22px 18px; }
  .card-icon { margin-bottom: 15px; }
  .lookup-card h2 { font-size: 19px; }
  .steps-section { padding-block: 17px; }
  .steps-grid { gap: 6px; }
  .step { padding: 6px 0; gap: 12px; }
  .step-number { min-width: 24px; }
  .footer-inner { padding-block: 14px; line-height: 1.8; }
  .result-section { padding-block: 22px 40px; }
  .result-card { border-radius: 17px; }
  .result-card-top { padding: 21px 18px 17px; }
  .result-card-top h1 { font-size: 20px; }
  .result-number-row { margin: 15px 15px 17px; }
  .result-values { grid-template-columns: 1fr; padding: 0 18px 20px; }
  .result-value, .result-value:first-child { padding: 12px 0; border-right: 0; border-bottom: 1px solid #edf0f2; display: flex; justify-content: space-between; align-items: center; gap: 14px; }
  .result-value:last-child { border-bottom: 0; }
  .result-value span { margin: 0; }
  .result-value strong, .result-value-highlight strong { font-size: 17px; text-align: left; }
  .result-value strong small { font-size: 11px; }
  .result-description, .result-card-footer { padding: 15px 18px 18px; }
  .result-description p { font-size: 13px; }
  .result-actions { gap: 10px; }
  .result-actions .button { width: 100%; }
  .result-disclaimer { line-height: 1.9; }
  .stats-grid { gap: 9px; }
  .stat-card { padding: 13px 12px; border-radius: 13px; }
  .stat-card strong { font-size: 23px; }
  .stat-card small { display: block; line-height: 1.7; }
  .stat-icon { width: 31px; height: 31px; margin-bottom: 8px; }
  .section-heading { align-items: flex-start; padding: 17px 16px 13px; }
  .audit-list { padding-inline: 16px; }
  .empty-note { padding-inline: 16px; }
  .filter-form { grid-template-columns: 1fr; gap: 13px; }
  .filter-form .form-field:first-child { grid-column: auto; }
  .filter-buttons { width: 100%; }
  .filter-buttons .button { flex: 1; }
  .list-summary { padding-top: 17px; }
  .results-table, .dashboard-table, .results-table tbody, .dashboard-table tbody, .results-table tr, .dashboard-table tr, .results-table td, .dashboard-table td { display: block; width: 100%; }
  .results-table thead, .dashboard-table thead { display: none; }
  .results-table, .dashboard-table { white-space: normal; }
  .results-table tbody, .dashboard-table tbody { display: grid; gap: 10px; padding: 0 10px 14px; }
  .results-table tbody tr, .dashboard-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 12px; border: 1px solid #e4e9ef; border-radius: 13px; overflow: hidden; background: #fff; }
  .results-table tbody tr:hover, .dashboard-table tbody tr:hover { background: #fff; }
  .results-table td, .dashboard-table td { min-width: 0; padding: 10px 12px; border-bottom: 1px solid #f0f2f5; white-space: normal; overflow-wrap: anywhere; }
  .results-table td::before, .dashboard-table td::before { content: attr(data-label); display: block; color: #667587; font-size: 10px; font-weight: 600; margin-bottom: 3px; }
  .results-table td:first-child, .dashboard-table td:first-child { grid-column: 1 / -1; background: #f8fafc; }
  .results-table td:last-child, .dashboard-table td:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .results-table td:last-child::before, .dashboard-table td:last-child::before { margin-bottom: 6px; }
  .results-table .row-actions, .dashboard-table .row-actions { flex-wrap: wrap; gap: 5px; }
  .results-table .table-action, .dashboard-table .table-action { min-height: 36px; padding-inline: 10px; background: #f4f7fa; }
  .results-table .table-action-danger, .dashboard-table .table-action-danger { color: #a12d2d; background: #fff3f2; }
  .results-table .empty-table, .dashboard-table .empty-table { padding: 22px 10px; }
  .pagination { gap: 8px; flex-wrap: wrap; }
  .form-card { padding: 18px; }
  .form-grid { grid-template-columns: 1fr; gap: 16px; }
  .form-field-wide { grid-column: auto; }
  .form-actions { gap: 8px; margin-top: 22px; padding-top: 16px; }
  .form-actions .button { flex: 1 1 120px; }
  .confirm-card { padding: 23px 17px; }
  .confirm-card .form-actions { margin-top: 22px; }
  .login-form-panel { padding: 30px 20px; }
  .login-form-wrap h2 { font-size: 22px; }
  .mobile-brand { margin-bottom: 28px; }
}

@media (max-width: 360px) {
  .container { width: calc(100% - 24px); }
  .brand { gap: 8px; }
  .brand-mark { width: 36px; height: 36px; font-size: 21px; }
  .brand-copy strong { font-size: 16px; }
  .header-note { max-width: 115px; font-size: 9px; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-card strong { font-size: 21px; }
  .results-table tbody tr, .dashboard-table tbody tr { grid-template-columns: minmax(0, 1fr); }
  .results-table td, .results-table td:first-child, .results-table td:last-child, .dashboard-table td, .dashboard-table td:first-child, .dashboard-table td:last-child { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

@media (forced-colors: active) {
  .button, .input, .panel-card, .stat-card, .result-card { border: 1px solid ButtonText; }
  .status-pill { border: 1px solid currentColor; }
}

/* SVG icon dimensions are fixed to keep glyphs consistent across browsers. */
.stat-icon svg { display: block; width: 20px; height: 20px; }


/* Version 0.3.0: lightweight Jalali date picker and friendly missing-result state. */
.jalali-date-field { position: relative; display: flex; align-items: stretch; gap: 7px; min-width: 0; }
.jalali-date-field > .input { flex: 1 1 auto; min-width: 0; }
.date-picker-button { flex: 0 0 44px; width: 44px; min-height: 44px; display: inline-flex; justify-content: center; align-items: center; padding: 8px; border: 1px solid #e0d5b7; border-radius: 10px; background: #fffaf0; color: #79591d; font-size: 11px; font-weight: 700; white-space: nowrap; transition: border-color .15s ease, background-color .15s ease; }
.date-picker-button:hover { background: #f8efd9; border-color: #c9b174; }
.date-picker-button:focus-visible, .jalali-picker-popover button:focus-visible { outline: 3px solid rgba(181,138,54,.42); outline-offset: 2px; }
.date-picker-button svg { width: 17px; height: 17px; }
.jalali-picker-popover { z-index: 1200; width: min(300px, calc(100vw - 24px)); padding: 13px; border: 1px solid #dfe4e8; border-radius: 15px; background: #fff; color: var(--ink); box-shadow: 0 14px 44px rgba(23,36,51,.18); direction: rtl; }
.jalali-picker-popover[hidden] { display: none !important; }
.jalali-picker-header { display: grid; grid-template-columns: 34px minmax(0,1fr) 34px; align-items: center; gap: 8px; margin-bottom: 11px; }
.jalali-picker-header strong { text-align: center; font-size: 13px; white-space: nowrap; }
.jalali-picker-header button, .jalali-picker-footer button { min-height: 34px; border: 1px solid #e5e8ec; border-radius: 9px; background: #f8fafb; color: #334354; font: inherit; }
.jalali-picker-header button { font-size: 20px; line-height: 1; }
.jalali-picker-header button:hover, .jalali-picker-footer button:hover { background: var(--gold-soft); border-color: #e0cc98; }
.jalali-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 3px; }
.jalali-calendar-weekdays { margin-bottom: 5px; }
.jalali-calendar-weekdays span { display: grid; place-items: center; min-height: 28px; color: #73808a; font-size: 10px; font-weight: 700; }
.jalali-calendar-days { grid-auto-rows: 35px; }
.jalali-calendar-day { min-width: 0; display: grid; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #243444; font-size: 12px; font-variant-numeric: tabular-nums; }
.jalali-calendar-day:hover { border-color: #ddc98f; background: #fff9e9; }
.jalali-calendar-day.is-today { border-color: #d6c28d; font-weight: 800; }
.jalali-calendar-day.is-selected { background: var(--ink); color: #fff; border-color: var(--ink); }
.jalali-calendar-empty { min-width: 0; }
.jalali-picker-footer { display: flex; justify-content: space-between; gap: 8px; border-top: 1px solid #eef0f2; margin-top: 11px; padding-top: 10px; }
.jalali-picker-footer button { min-height: 34px; padding: 5px 12px; font-size: 11px; }
.jalali-picker-footer .jalali-picker-today { color: #79591d; background: #fff8e6; border-color: #ead9ad; font-weight: 700; }
.jalali-picker-error { margin: 0 0 10px; color: var(--muted); font-size: 11px; }
.app-version { display: inline-block; margin-inline-start: 8px; padding-inline-start: 9px; border-inline-start: 1px solid #d9dfe4; color: #8b9399; font-variant-numeric: tabular-nums; }
.result-not-found-card { width: min(100%, 570px); }
.not-found-number { max-width: 360px; margin: 0 auto 20px; padding: 11px 15px; display: flex; justify-content: space-between; align-items: center; gap: 12px; border: 1px solid #ece7d9; border-radius: 11px; background: #fbfaf6; }
.not-found-number span { color: var(--muted); font-size: 11px; }
.not-found-number strong { font-size: 16px; letter-spacing: .4px; overflow-wrap: anywhere; }
.not-found-search { display: grid; gap: 8px; max-width: 360px; margin: 0 auto; text-align: right; }
.not-found-search label { color: #344354; font-size: 12px; font-weight: 700; }
.not-found-search small { color: var(--muted); font-size: 10px; }
.not-found-search .button { margin-top: 6px; }
.not-found-back { display: inline-block; margin-top: 17px; color: var(--muted); font-size: 11px; }
.not-found-back:hover { color: var(--gold-dark); }
@media (max-width: 600px) {
  .date-picker-button { padding: 8px; }
  .date-picker-button svg { width: 19px; height: 19px; }
  .jalali-picker-popover { padding: 11px; }
  .jalali-calendar-days { grid-auto-rows: 37px; }
  .not-found-number { margin-bottom: 16px; }
  .result-not-found-card { padding: 24px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .date-picker-button { transition: none; }
}


/* Version 0.4.0: receipt layout for 58 mm and 80 mm thermal printers. */
.receipt-paper-picker { display: flex; justify-content: center; flex-wrap: wrap; gap: 9px; margin: 10px auto 18px; }
.receipt-preview { width: 100%; display: flex; justify-content: center; padding: 10px 0 42px; }
.thermal-receipt { width: 72mm; max-width: 100%; padding: 4mm; margin: 0 auto; background: #fff; color: #111; border: 1px solid #e2e5e8; box-shadow: 0 8px 28px rgba(23,36,51,.08); font-family: Tahoma, Arial, sans-serif; font-size: 10px; line-height: 1.65; overflow-wrap: anywhere; }
.receipt-paper-58 .thermal-receipt { width: 50mm; padding: 2mm; }
.receipt-brand { display: flex; align-items: center; justify-content: center; gap: 7px; padding-bottom: 3mm; border-bottom: 1px dashed #777; }
.receipt-brand-mark { display: grid; place-items: center; width: 9mm; height: 9mm; background: #111; color: #fff; border-radius: 2mm; font-size: 17px; font-weight: 900; }
.receipt-brand > div { display: flex; flex-direction: column; line-height: 1.5; }
.receipt-brand strong { font-size: 15px; }
.receipt-brand small { font-size: 8px; }
.receipt-title { display: grid; gap: 1mm; text-align: center; padding: 3mm 0; border-bottom: 1px dashed #777; }
.receipt-title > strong { font-size: 12px; }
.receipt-title > span { font-size: 9px; }
.receipt-eng-number { font-size: 18px; letter-spacing: .6px; }
.receipt-data { padding: 2mm 0; }
.receipt-data > div { display: flex; justify-content: space-between; align-items: flex-start; gap: 3mm; padding: 1.5mm 0; border-bottom: 1px dotted #ccc; }
.receipt-data span { flex: 0 0 auto; color: #333; }
.receipt-data strong { text-align: left; font-weight: 700; }
.receipt-data .receipt-description { display: block; }
.receipt-description strong { display: block; margin-top: 1mm; text-align: right; font-weight: 400; }
.receipt-qr-section { display: grid; justify-items: center; gap: 1.5mm; text-align: center; padding-top: 2mm; }
.receipt-qr { width: 34mm; height: 34mm; object-fit: contain; image-rendering: pixelated; }
.receipt-paper-58 .receipt-qr { width: 27mm; height: 27mm; }
.receipt-qr-section > strong { font-size: 9px; }
.receipt-url { max-width: 100%; font: 7px/1.4 Arial, sans-serif; overflow-wrap: anywhere; }
.receipt-footer { margin-top: 2mm; padding-top: 2mm; text-align: center; border-top: 1px dashed #777; font-size: 8px; }
@page receipt58 { size: 58mm auto; margin: 2mm; }
@page receipt80 { size: 80mm auto; margin: 3mm; }
@media print {
  body.receipt-page { display: block !important; min-height: 0 !important; background: #fff !important; color: #000 !important; }
  body.receipt-paper-58 { page: receipt58; }
  body.receipt-paper-80 { page: receipt80; }
  body.receipt-page .panel-main { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  body.receipt-page .panel-footer, body.receipt-page .panel-header, body.receipt-page .receipt-toolbar, body.receipt-page .receipt-paper-picker, body.receipt-page .messages { display: none !important; }
  body.receipt-page .receipt-preview { display: block; width: 100%; margin: 0; padding: 0; }
  body.receipt-page .thermal-receipt { margin: 0 auto; border: 0; border-radius: 0; box-shadow: none; break-inside: avoid; color: #000; background: #fff; }
  body.receipt-paper-58 .thermal-receipt { width: 50mm; padding: 0; }
  body.receipt-paper-80 .thermal-receipt { width: 72mm; padding: 0; }
  body.receipt-paper-58 .receipt-qr { width: 27mm; height: 27mm; }
  body.receipt-paper-80 .receipt-qr { width: 34mm; height: 34mm; }
  body.receipt-page .receipt-data > div, body.receipt-page .receipt-title, body.receipt-page .receipt-brand, body.receipt-page .receipt-footer { border-color: #888; }
}


/* Version 0.5.0: acceptance/draft/published workflow and receipt states. */
.thermal-receipt { position: relative; }
.receipt-watermark { position: absolute; z-index: 3; top: 45%; left: 50%; transform: translate(-50%, -50%) rotate(-27deg); border: 2px solid rgba(166, 45, 45, .28); padding: 2mm 4mm; color: rgba(166, 45, 45, .22); font-size: 25px; font-weight: 900; white-space: nowrap; pointer-events: none; }
.receipt-draft-warning { margin-top: 2mm; padding: 2mm 0; border-top: 1px dashed #888; text-align: center; font-size: 8px; font-weight: 700; color: #8f2424; }
.result-status-message { display: flex; gap: 13px; align-items: flex-start; margin: 0 22px 18px; padding: 16px; border: 1px solid #e7e4d8; border-radius: 13px; background: #fbfaf6; }
.result-status-icon { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; background: #f3ead0; color: #79591d; font-size: 17px; font-weight: 800; }
.result-status-message strong { display: block; font-size: 13px; }
.result-status-message p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.9; }
.status-mark-pending { background: #fff6df; color: #8b6b2a; }
@media (max-width: 600px) {
  .result-status-message { margin-inline: 14px; padding: 13px; }
}


/* Zar 0.7.0 — right-side navigation inspired by the unified Sim workspace. */
/* Zar 0.8.0 — inline not-found feedback for the homepage lookup form. */
.panel-body {
  display: block;
  min-height: 100vh;
  background: #f3f6f3;
  color: #172b24;
}
.panel-app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 272px;
  direction: ltr;
}
.panel-sidebar {
  position: sticky;
  top: 0;
  right: 0;
  grid-column: 2;
  grid-row: 1;
  height: 100vh;
  min-height: 580px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  direction: rtl;
  padding: 26px 18px 18px;
  color: #dce6df;
  background: #132d25;
  border-left: 1px solid rgba(255,255,255,.06);
  z-index: 50;
}
.panel-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 1px 8px 25px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.panel-brand-mark {
  width: 43px;
  height: 43px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #172b24;
  background: linear-gradient(145deg, #e6c979, #b8892e);
  font-size: 25px;
  font-weight: 900;
  box-shadow: 0 6px 16px rgba(0,0,0,.16);
}
.panel-brand-copy { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.panel-brand-copy strong { color: #fff; font-size: 20px; line-height: 1.5; }
.panel-brand-copy small { color: #a9bbcf; font-size: 10px; line-height: 1.7; }
.panel-nav-caption { padding: 25px 12px 10px; color: #8ea99a; font-size: 11px; font-weight: 700; letter-spacing: .2px; }
.panel-nav-caption-spaced { padding-top: 28px; }
.panel-nav-list { display: grid; gap: 4px; }
.panel-nav-item {
  min-height: 45px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 13px;
  border-radius: 12px;
  color: #b6cabe;
  font-size: 12px;
  font-weight: 600;
  transition: background .16s ease, color .16s ease;
}
.panel-nav-item svg, .panel-logout-button svg, .panel-menu-toggle svg {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.panel-nav-item:hover { color: #fff; background: rgba(255,255,255,.055); }
.panel-nav-item.active {
  color: #f4d58c;
  background: #244438;
  box-shadow: inset -3px 0 #b8892e;
}
.panel-nav-item.active svg { color: #f4d58c; }
.panel-sidebar-bottom { margin-top: auto; border-top: 1px solid rgba(255,255,255,.09); padding: 17px 8px 2px; }
.panel-access-chip { display: flex; align-items: center; gap: 8px; color: #dce8df; font-size: 11px; font-weight: 700; }
.panel-status-dot { width: 7px; height: 7px; flex: 0 0 auto; display: inline-block; border-radius: 50%; background: #3fc49a; box-shadow: 0 0 0 4px rgba(63,196,154,.12); }
.panel-sidebar-user { display: flex; align-items: center; gap: 9px; padding-top: 16px; margin-top: 14px; border-top: 1px solid rgba(255,255,255,.07); }
.panel-user-avatar { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 11px; background: #244438; border: 1px solid rgba(255,255,255,.09); color: #f4d58c; font-size: 14px; font-weight: 800; }
.panel-user-copy { min-width: 0; display: flex; flex-direction: column; line-height: 1.7; }
.panel-user-copy strong { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #e5eee8; font-size: 11px; }
.panel-user-copy small { color: #8ea99a; font-size: 10px; }
.panel-logout-form { margin: 8px 0 0; }
.panel-logout-button { width: 100%; display: flex; align-items: center; justify-content: flex-start; gap: 9px; min-height: 38px; padding: 8px 10px; border: 1px solid transparent; border-radius: 9px; color: #e5aaa7; background: transparent; font-size: 11px; }
.panel-logout-button:hover { border-color: rgba(255,255,255,.08); color: #fff; background: rgba(255,255,255,.05); }
.panel-sidebar-version { margin-top: 12px; color: #738f80; text-align: left; font-size: 10px; direction: ltr; }
.panel-main-column { min-width: 0; grid-column: 1; grid-row: 1; direction: rtl; display: flex; flex-direction: column; }
.panel-topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 30px;
  background: rgba(255,255,255,.93);
  border-bottom: 1px solid #dce5de;
  backdrop-filter: blur(14px);
}
.panel-breadcrumb { min-width: 0; display: flex; align-items: center; gap: 9px; color: #65766d; font-size: 12px; }
.panel-breadcrumb strong { color: #172b24; font-size: 13px; font-weight: 800; }
.panel-breadcrumb-sep { color: #d0dbd3; }
.panel-topbar-actions { display: flex; align-items: center; gap: 10px; }
.panel-topbar-pill { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 6px 11px; border: 1px solid #dce5de; border-radius: 99px; background: #f8faf8; color: #354b42; font-size: 11px; white-space: nowrap; }
.panel-menu-toggle { display: none; width: 40px; height: 40px; place-items: center; border: 1px solid #dce5de; border-radius: 11px; color: #354b42; background: #fff; }
.panel-menu-toggle:hover { background: #e8f2ec; }
.panel-menu-toggle svg { width: 21px; height: 21px; }
.panel-main { width: min(100%, 1500px); margin-inline: auto; padding: 30px 30px 48px; flex: 1 0 auto; }
.panel-main .page-heading h1 { color: #172b24; }
.panel-footer { margin-top: auto; padding: 17px 30px; color: #7b8b80; background: #fff; border-top: 1px solid #dce5de; font-size: 10px; }
.panel-footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.panel-sidebar-backdrop { display: none; }
.panel-nav-item:focus-visible, .panel-logout-button:focus-visible, .panel-menu-toggle:focus-visible { outline: 2px solid #e5c878; outline-offset: 3px; }

@media (max-width: 1120px) {
  .panel-app-shell { grid-template-columns: minmax(0, 1fr) 248px; }
  .panel-sidebar { padding-inline: 14px; }
  .panel-main { padding-inline: 22px; }
  .panel-topbar { padding-inline: 22px; }
}
@media (max-width: 900px) {
  .panel-app-shell { grid-template-columns: minmax(0, 1fr); }
  .panel-sidebar {
    position: fixed;
    inset-block: 0;
    right: 0;
    left: auto;
    width: 272px;
    max-width: 86vw;
    height: 100dvh;
    min-height: 0;
    transform: translateX(105%);
    transition: transform .22s ease;
    box-shadow: -18px 0 45px rgba(0,0,0,.18);
  }
  .panel-sidebar.is-open { transform: translateX(0); }
  .panel-sidebar-backdrop:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 45; background: rgba(11,24,18,.55); backdrop-filter: blur(2px); }
  .panel-main-column { grid-column: 1; grid-row: 1; }
  .panel-menu-toggle { display: grid; flex: 0 0 auto; }
  .panel-topbar { min-height: 67px; justify-content: flex-start; gap: 12px; padding-inline: 16px; }
  .panel-breadcrumb { flex: 1; }
  .panel-topbar-actions { margin-inline-start: auto; }
  .panel-main { padding: 24px 18px 36px; }
  .panel-footer { padding-inline: 18px; }
  .panel-user-copy strong { max-width: 185px; }
}
@media (max-width: 540px) {
  .panel-topbar { gap: 8px; padding-inline: 12px; }
  .panel-topbar-pill { padding-inline: 8px; font-size: 10px; }
  .panel-breadcrumb { gap: 6px; font-size: 10px; }
  .panel-breadcrumb strong { font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .panel-main { padding: 21px 12px 30px; }
  .panel-main .page-heading { align-items: flex-start; flex-direction: column; }
  .panel-main .heading-actions { width: 100%; }
  .panel-main .heading-actions .button { flex: 1; }
  .panel-footer { padding: 13px 12px; }
  .panel-footer-inner { align-items: flex-start; flex-direction: column; gap: 3px; }
}
@media (prefers-reduced-motion: reduce) {
  .panel-nav-item, .panel-sidebar { transition: none !important; }
}
@media print {
  .panel-sidebar, .panel-topbar, .panel-footer, .panel-sidebar-backdrop { display: none !important; }
  .panel-app-shell { display: block; }
  .panel-main { width: 100%; max-width: none; padding: 0; }
}

/* Zar 0.9.1 — streamlined panel navigation. */
html { text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
body {
  color: var(--ink);
  background: var(--paper);
  font-family: Tahoma, "Segoe UI", Arial, sans-serif;
  line-height: 1.85;
  overflow-wrap: break-word;
}
::selection { color: #fff; background: #28664e; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 3px;
}
:where(button, input, select, textarea) { font-family: inherit; }
.container { width: min(1180px, calc(100% - 48px)); }

/* Public site */
.site-header {
  position: relative;
  z-index: 5;
  background: rgba(255,255,255,.97);
  border-bottom-color: var(--line);
}
.header-inner { min-height: 78px; }
.brand { gap: 12px; }
.brand-mark {
  width: 44px; height: 44px;
  border-radius: 14px;
  background: var(--gold);
  box-shadow: none;
}
.brand-copy strong { font-size: 19px; color: var(--ink); }
.brand-copy small { font-size: 11px; color: var(--muted); }
.header-note {
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid #dce7df;
  border-radius: 999px;
  background: var(--surface-subtle);
  color: #4b6559;
  font-size: 12px;
}
.status-dot { box-shadow: 0 0 0 4px #e7f3eb; }
.hero-section {
  padding-block: clamp(56px, 7vw, 86px);
  background: linear-gradient(180deg, #f7faf7 0%, #f0f5f1 100%);
}
.hero-grid { gap: clamp(32px, 6vw, 80px); }
.hero-copy h1 {
  max-width: 680px;
  color: var(--ink);
  font-size: clamp(32px, 3.6vw, 47px);
  letter-spacing: -.6px;
  line-height: 1.55;
}
.hero-copy h1 span { color: var(--green); }
.eyebrow { color: var(--gold-dark); font-size: 12px; }
.eyebrow-line { width: 24px; height: 2px; border-radius: 2px; }
.hero-description { color: #40594d; font-size: 16px; max-width: 520px; }
.trust-row { color: #526a5e; font-size: 13px; gap: 14px 22px; }
.mini-check { border-color: #cbdccf; color: var(--green); background: #f9fcf9; }
.lookup-card {
  padding: clamp(25px, 3.5vw, 36px);
  border: 1px solid #dce7df;
  border-radius: 22px;
  box-shadow: 0 15px 38px rgba(19,45,37,.075);
}
.card-icon { background: var(--gold-soft); color: var(--gold-dark); border-radius: 13px; }
.lookup-card h2 { color: var(--ink); font-size: 21px; }
.card-description { color: var(--muted); line-height: 1.9; }
.lookup-form label, .form-field > label, .not-found-search label { color: #2f493d; }
.input {
  min-height: 50px;
  padding: 12px 14px;
  border-color: #cbd9d0;
  border-radius: 11px;
  background: var(--surface);
  color: var(--ink);
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.input::placeholder { color: #75877d; opacity: 1; }
.input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(33,107,80,.13); }
.input-large { min-height: 56px; font-size: 19px; letter-spacing: .7px; }
.button {
  min-height: 46px;
  padding: 10px 18px;
  border-radius: 11px;
  font-size: 13px;
  font-weight: 700;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.button-primary { color: #fff; background: var(--green); box-shadow: 0 2px 4px rgba(19,45,37,.08); }
.button-primary:hover { color: #fff; background: var(--green-hover); box-shadow: 0 6px 16px rgba(19,45,37,.14); }
.button-secondary { color: var(--ink); background: #fff; border-color: #d5e0d8; }
.button-secondary:hover { border-color: #b5c9bc; background: #f7faf7; }
.button-quiet { color: var(--ink-soft); }
.button-quiet:hover { background: #e8f0ea; }
.button-danger { background: #b42318; }
.button-danger:hover { background: #922018; }
.button-full { min-height: 52px; }
.lookup-result-error {
  position: relative;
  margin: 12px 0 14px;
  padding: 12px 14px 12px 12px;
  border-color: #f0c8c3;
  border-right-width: 4px;
  border-radius: 11px;
  background: #fff7f6;
  color: #9b251c;
}
.lookup-result-error::before {
  content: "!";
  display: inline-grid;
  place-items: center;
  float: right;
  width: 21px; height: 21px;
  margin: 3px 0 0 9px;
  border-radius: 50%;
  background: #f8dfdc;
  color: #9b251c;
  font-weight: 900;
  line-height: 1;
}
.lookup-result-error strong { color: #8b211a; font-size: 13px; }
.lookup-result-error span { display: block; color: #78352e; }
.lookup-form .input[aria-invalid="true"] { border-color: #c33c31; background: #fffafa; }
.lookup-form .input[aria-invalid="true"]:focus { box-shadow: 0 0 0 3px rgba(180,35,24,.12); }
.field-error { color: #a1261d; font-size: 12px; line-height: 1.8; }
.card-footnote { color: #64786d; font-size: 11px; line-height: 1.8; }
.steps-section { border-color: #e0e9e2; padding-block: 24px; }
.steps-grid { gap: clamp(12px, 2.3vw, 26px); }
.step { min-width: 0; gap: 13px; }
.step-number { min-width: 26px; color: var(--gold-dark); }
.step strong { color: #29463a; font-size: 13px; }
.step p { color: var(--muted); font-size: 12px; line-height: 1.9; }
.site-footer { background: #fff; border-top: 1px solid var(--line); color: #5d7468; font-size: 11px; }
.footer-inner { min-height: 66px; }
.messages { padding-top: 16px; }
.message { border-radius: 11px; font-size: 12px; padding: 12px 15px; }

/* Public result and status states */
.result-section { padding-block: 38px 58px; }
.result-card { border-color: var(--line); border-radius: 22px; box-shadow: var(--shadow); }
.result-card-top { padding: clamp(22px, 3vw, 32px); border-bottom-color: #e7eee9; }
.result-card-top h1 { color: var(--ink); }
.result-subtitle { color: var(--muted); line-height: 1.9; }
.verified-mark span { background: #e5f3e9; }
.result-number-row { background: #f5f8f5; border-color: #e0e9e2; }
.result-number-row span, .result-value span { color: #5d7468; }
.result-value-highlight strong { color: var(--green); }
.result-card-footer { background: #f8faf8; border-top-color: #e4ece6; }
.result-card-footer p { color: #51695d; font-size: 11px; line-height: 1.9; }
.result-disclaimer { color: #5c7267; font-size: 12px; line-height: 1.9; }
.result-status-message { border-color: #dce7df; background: #f7faf7; }
.result-status-icon { background: #e5f1e9; color: var(--green); }
.result-status-message p { color: #536a5f; }
.back-link { color: #4e6b5d; min-height: 32px; align-items: center; }
.error-section { padding-block: clamp(28px, 6vw, 58px); }
.error-card { border-color: var(--line); box-shadow: var(--shadow); }
.error-code { color: var(--gold); }
.error-card h1 { color: var(--ink); }
.error-card p { color: #52695e; line-height: 1.95; }
.not-found-number { background: #f5f8f5; border-color: var(--line); }
.not-found-search small { color: #52695e; font-size: 11px; }

/* Management workspace, aligned with the Sim sidebar and topbar. */
.panel-body { background: #f2f6f3; }
.panel-app-shell { grid-template-columns: minmax(0, 1fr) 264px; }
.panel-sidebar {
  background: #132d25;
  padding: 24px 17px 17px;
  border-left-color: rgba(255,255,255,.08);
}
.panel-brand { padding: 2px 8px 22px; }
.panel-brand-mark { background: var(--gold); color: #172b24; border-radius: 13px; box-shadow: none; }
.panel-brand-copy strong { font-size: 21px; }
.panel-brand-copy small { color: #9fb8aa; font-size: 11px; }
.panel-nav-caption { color: #9ab3a5; font-size: 11px; padding-top: 23px; }
.panel-nav-list { gap: 5px; }
.panel-nav-item { min-height: 47px; font-size: 13px; border-radius: 11px; }
.panel-nav-item.active { background: #244438; box-shadow: inset -3px 0 var(--gold); color: #f5d991; }
.panel-sidebar-version { color: #87a394; }
.panel-topbar {
  min-height: 68px;
  padding-inline: clamp(16px, 2.2vw, 30px);
  background: rgba(255,255,255,.96);
  border-bottom-color: var(--line);
  backdrop-filter: blur(12px);
}
.panel-breadcrumb { color: #657a6e; font-size: 12px; }
.panel-breadcrumb strong { color: var(--ink); font-size: 13px; }
.panel-topbar-pill { background: #f7faf7; border-color: #dce7df; color: #456356; font-size: 12px; }
.panel-menu-toggle { border-color: #d6e2da; border-radius: 11px; color: #355649; }
.panel-menu-toggle:hover { color: var(--green); background: #eaf4ed; }
.panel-main { width: min(100%, 1520px); padding: clamp(22px, 2.8vw, 34px) clamp(16px, 2.5vw, 34px) 48px; }
.page-heading { align-items: center; margin-bottom: 24px; }
.page-heading h1 { color: var(--ink); font-size: clamp(24px, 2vw, 29px); line-height: 1.5; }
.page-heading p { color: #5d7468; font-size: 13px; line-height: 1.9; }
.heading-actions { gap: 9px; }
.panel-main .button { min-height: 44px; }
.stats-grid { gap: 12px; margin-bottom: 22px; }
.stat-card {
  padding: 18px 18px 16px;
  background: #fff;
  border-color: #dce7df;
  border-radius: 16px;
  box-shadow: 0 3px 10px rgba(19,45,37,.025);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.stat-card:hover { border-color: #c8dace; box-shadow: 0 7px 18px rgba(19,45,37,.055); transform: translateY(-1px); }
.stat-label { color: #5b7266; font-size: 12px; }
.stat-card strong { color: var(--ink); font-size: clamp(23px, 2vw, 28px); font-weight: 800; }
.stat-card small { color: #6c8175; font-size: 11px; }
.stat-icon { border-radius: 11px; }
.stat-icon-gold { color: var(--gold-dark); background: var(--gold-soft); }
.stat-icon-green { color: var(--green); background: var(--green-soft); }
.stat-icon-blue { color: #376a55; background: #edf5ef; }
.stat-icon-muted { color: #64786d; background: #eff4f0; }
.dashboard-columns { gap: 16px; }
.panel-card { border-color: #dce7df; border-radius: 16px; box-shadow: 0 3px 12px rgba(19,45,37,.025); }
.section-heading { padding: 21px 22px 16px; }
.section-heading h2 { color: var(--ink); font-size: 16px; }
.section-heading p { color: #60766a; font-size: 12px; line-height: 1.8; }
.text-link { color: #246b50; font-size: 12px; }
.text-link:hover { color: #13452f; }
.data-table { font-size: 12px; }
.data-table th { background: #f5f8f5; color: #546e60; border-top-color: #e3ece5; border-bottom-color: #dce7df; padding: 13px 15px; }
.data-table td { padding: 13px 15px; border-bottom-color: #e6eee8; }
.data-table tbody tr:hover { background: #f8fbf8; }
.table-action { min-height: 34px; color: #2b6a50; border-radius: 8px; }
.table-action:hover { color: #194a36; background: #edf5ef; }
.table-action-danger { color: #a12d2d; }
.table-action-danger:hover { color: #8a201d; background: #fff1ef; }
.status-pill { font-size: 11px; padding: 5px 10px; }
.status-published { color: #216647; background: #e6f3eb; }
.status-draft { color: #765719; background: #fbf4e2; }
.status-acceptance { color: #325f50; background: #edf5ef; }
.status-deleted { color: #9b302a; background: #fff0ef; }
.row-actions { gap: 5px; }
.filter-card { padding: 21px 22px 0; }
.filter-form { gap: 12px; }
.filter-form .input { min-height: 46px; font-size: 12px; }
.filter-buttons .button { min-height: 46px; }
.list-summary { color: #5d7468; padding-top: 18px; }
.list-summary strong { color: var(--ink); }
.empty-state { padding: 36px 18px; }
.empty-state > span { color: var(--gold); }
.empty-state strong { color: var(--ink); font-size: 14px; }
.empty-state p, .empty-note { color: #5d7468; font-size: 12px; line-height: 1.9; }
.empty-table { color: #5d7468; padding: 34px 14px; }
.form-card { padding: clamp(19px, 2.5vw, 30px); }
.form-grid { gap: 20px 22px; }
.form-field > label { font-size: 13px; }
.form-field .help-text { color: #587064; font-size: 11px; line-height: 1.85; }
.form-field.has-error .input { border-color: #b42318; background: #fffafa; }
.required-mark { color: #ae4c37; }
.form-alert { background: #fff8e8; color: #765719; border-color: #ead8a8; line-height: 1.9; font-size: 12px; }
.checkbox-field { background: #f7faf7; border-color: #dce7df; }
.confirm-card p { color: #536c60; font-size: 13px; line-height: 1.95; }
.panel-footer { color: #597165; border-top-color: var(--line); background: #fff; font-size: 11px; }
.login-brand-panel { background: #132d25; }
.login-brand-panel .brand-mark { background: var(--gold); }
.login-brand-copy p { color: #c4d3ca; font-size: 14px; line-height: 2; }
.login-bottom-note { color: #9fb4a7; font-size: 11px; }
.login-form-wrap h2 { color: var(--ink); }
.muted-text { color: #5d7468; font-size: 13px; line-height: 1.9; }

/* Mobile drawer behavior, robust overflow handling and touch targets. */
.panel-menu-open { overflow: hidden; }
.panel-sidebar-backdrop[hidden] { display: none !important; }
.panel-sidebar-backdrop:not([hidden]) { cursor: pointer; }
.panel-menu-toggle { min-width: 42px; min-height: 42px; }
.panel-sidebar a, .panel-sidebar button { touch-action: manipulation; }
.results-table td, .dashboard-table td { min-width: 0; }
.table-wrap { overscroll-behavior-inline: contain; }
input, select, textarea { max-width: 100%; }

@media (max-width: 1120px) {
  .panel-app-shell { grid-template-columns: minmax(0, 1fr) 250px; }
  .stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dashboard-columns { grid-template-columns: minmax(0, 1.25fr) minmax(240px, .85fr); }
  .filter-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .panel-app-shell { grid-template-columns: minmax(0, 1fr); }
  .panel-sidebar { width: 280px; max-width: min(86vw, 320px); }
  .panel-main { padding-inline: 20px; }
  .panel-topbar { padding-inline: 18px; }
  .dashboard-columns { grid-template-columns: 1fr; }
  .panel-sidebar.is-open { box-shadow: -20px 0 50px rgba(9,31,22,.24); }
}
@media (max-width: 780px) {
  .container { width: calc(100% - 36px); }
  .hero-section { padding-block: 40px 46px; }
  .hero-grid { gap: 28px; }
  .hero-copy h1 { font-size: clamp(28px, 5vw, 35px); }
  .hero-description { font-size: 14px; }
  .lookup-card { width: 100%; }
  .steps-grid { grid-template-columns: 1fr; gap: 7px; }
  .step { padding-block: 7px; }
  .panel-main { padding: 23px 18px 34px; }
  .page-heading { align-items: flex-start; flex-direction: column; }
  .page-heading .button { align-self: stretch; }
  .filter-card { padding: 17px 16px 0; }
  .filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-buttons { grid-column: 1 / -1; }
  .form-card { padding: 20px; }
}
@media (max-width: 600px) {
  .container { width: calc(100% - 28px); }
  .header-inner { min-height: 68px; gap: 10px; }
  .brand-mark { width: 39px; height: 39px; font-size: 23px; }
  .brand-copy strong { font-size: 17px; }
  .brand-copy small { font-size: 9px; }
  .header-note { min-height: 31px; max-width: 150px; padding: 5px 9px; font-size: 10px; white-space: nowrap; }
  .hero-section { padding-block: 31px 36px; }
  .hero-copy h1 { margin-block: 12px 14px; font-size: clamp(27px, 7vw, 32px); line-height: 1.55; }
  .trust-row { margin-top: 20px; gap: 10px 14px; font-size: 12px; }
  .lookup-card { padding: 22px 18px; border-radius: 18px; }
  .lookup-card h2 { font-size: 19px; }
  .input-large { font-size: 17px; }
  .steps-section { padding-block: 15px; }
  .footer-inner { padding-block: 13px; align-items: flex-start; justify-content: center; flex-direction: column; gap: 3px; }
  .result-section { padding-block: 22px 36px; }
  .result-card { border-radius: 18px; }
  .result-card-top { padding: 20px 18px 17px; }
  .result-card-top h1 { font-size: 20px; }
  .result-number-row { margin: 15px 14px 16px; padding: 12px; }
  .result-values { padding-inline: 18px; }
  .result-description, .result-card-footer { padding-inline: 18px; }
  .panel-topbar { gap: 9px; padding-inline: 12px; min-height: 64px; }
  .panel-topbar-pill { font-size: 10px; padding-inline: 8px; }
  .panel-breadcrumb { gap: 6px; font-size: 10px; }
  .panel-breadcrumb strong { max-width: 130px; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .panel-main { padding: 20px 12px 30px; }
  .panel-main .page-heading { align-items: stretch; }
  .panel-main .page-heading > div:first-child { width: 100%; }
  .panel-main .heading-actions { width: 100%; }
  .panel-main .heading-actions .button { flex: 1; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .stat-card { padding: 14px 12px; border-radius: 13px; }
  .stat-card strong { font-size: 23px; }
  .stat-label { font-size: 11px; }
  .stat-card small { font-size: 10px; line-height: 1.7; }
  .section-heading { padding: 16px 15px 13px; }
  .dashboard-columns { gap: 13px; }
  .filter-form { grid-template-columns: 1fr; gap: 12px; }
  .filter-buttons { grid-column: auto; }
  .filter-card { padding: 14px 12px 0; }
  .filter-buttons .button { flex: 1; }
  .form-grid { grid-template-columns: 1fr; gap: 16px; }
  .form-field-wide { grid-column: auto; }
  .form-actions { flex-wrap: wrap; }
  .form-actions .button { flex: 1 1 130px; }
  .panel-footer { padding: 13px 12px; }
  .panel-footer-inner { align-items: flex-start; flex-direction: column; gap: 3px; }
  .login-layout { grid-template-columns: 1fr; }
  .login-form-panel { padding: 30px 20px; }
  .login-form-wrap { width: min(420px, 100%); }
  .login-brand-panel { display: none; }
  .mobile-brand { display: inline-flex; }
}
@media (max-width: 380px) {
  .container { width: calc(100% - 24px); }
  .header-note { max-width: 115px; font-size: 9px; }
  .panel-topbar-pill { display: none; }
  .panel-breadcrumb { min-width: 0; }
  .panel-breadcrumb strong { max-width: 95px; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat-card { padding: 12px 10px; }
  .stat-card strong { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
