
.odqr-app {
    --odqr-ink: #111827;
    --odqr-muted: #667085;
    --odqr-line: #e5e7eb;
    --odqr-soft: #f7f8fa;
    --odqr-brand: #1f5eff;
    --odqr-brand-dark: #1547c9;
    --odqr-success: #087a55;
    max-width: 1180px;
    margin: 40px auto;
    color: var(--odqr-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.odqr-app * { box-sizing: border-box; }
.odqr-login-shell {
    min-height: 560px;
    display: grid;
    place-items: center;
    padding: 30px 16px;
    background: radial-gradient(circle at top left, rgba(31, 94, 255, .12), transparent 32%), linear-gradient(180deg, #f9fbff, #fff);
    border-radius: 28px;
}
.odqr-login-card {
    width: min(100%, 460px);
    padding: 38px;
    background: #fff;
    border: 1px solid var(--odqr-line);
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .10);
}
.odqr-brand-logo {
    width: min(100%, 300px);
    margin-bottom: 26px;
}
.odqr-brand-logo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}
.odqr-topbar-brand {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}
.odqr-topbar-logo {
    display: block;
    width: 180px;
    max-width: 34vw;
    height: auto;
    object-fit: contain;
}
.odqr-eyebrow, .odqr-panel-kicker {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    color: var(--odqr-brand);
    text-transform: uppercase;
}
.odqr-login-card h2, .odqr-topbar h2, .odqr-panel h3, .odqr-section-heading h3 {
    margin: 7px 0 8px;
    line-height: 1.15;
}
.odqr-login-card p, .odqr-panel p, .odqr-help, .odqr-security-note, .odqr-privacy-footnote {
    color: var(--odqr-muted);
    line-height: 1.6;
}
.odqr-form { display: grid; gap: 12px; margin-top: 22px; }
.odqr-form label { font-weight: 750; font-size: 14px; }
.odqr-form input {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid #cfd4dc;
    border-radius: 12px;
    background: #fff;
    font-size: 15px;
    color: var(--odqr-ink);
    outline: none;
}
.odqr-form input:focus { border-color: var(--odqr-brand); box-shadow: 0 0 0 4px rgba(31, 94, 255, .10); }
.odqr-primary-btn, .odqr-secondary-btn, .odqr-ghost-btn {
    min-height: 46px;
    border-radius: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: .18s ease;
}
.odqr-primary-btn { border: 0; background: var(--odqr-brand); color: #fff; padding: 0 18px; }
.odqr-primary-btn:hover { background: var(--odqr-brand-dark); transform: translateY(-1px); }
.odqr-secondary-btn, .odqr-ghost-btn { border: 1px solid var(--odqr-line); background: #fff; color: var(--odqr-ink); padding: 0 16px; }
.odqr-secondary-btn:hover, .odqr-ghost-btn:hover { border-color: #aab2bf; background: #f9fafb; }
.odqr-security-note { margin-top: 16px; font-size: 12px; }
.odqr-notice { padding: 14px 16px; border-radius: 12px; margin-bottom: 18px; border: 1px solid; font-weight: 650; }
.odqr-notice-success { background: #effcf6; border-color: #b7ead6; color: #086547; }
.odqr-notice-error { background: #fff2f2; border-color: #ffcaca; color: #9e2020; }
.odqr-topbar { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 24px; }
.odqr-stepper { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 20px; }
.odqr-step {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 15px;
    background: #fff;
    border: 1px solid var(--odqr-line);
    border-radius: 14px;
}
.odqr-step > span {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eef1f6;
    color: #667085;
    font-weight: 900;
}
.odqr-step strong, .odqr-step small { display: block; }
.odqr-step small { margin-top: 2px; color: var(--odqr-muted); }
.odqr-step.is-active { border-color: rgba(31, 94, 255, .35); background: #f7f9ff; }
.odqr-step.is-active > span { background: var(--odqr-brand); color: #fff; }
.odqr-step.is-done > span { background: #e9f8f1; color: var(--odqr-success); }
.odqr-first-run, .odqr-dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.odqr-panel {
    padding: 28px;
    background: #fff;
    border: 1px solid var(--odqr-line);
    border-radius: 20px;
    box-shadow: 0 8px 30px rgba(15, 23, 42, .045);
}
.odqr-preview-empty { display: grid; place-items: center; min-height: 420px; background: var(--odqr-soft); }
.odqr-preview-placeholder { text-align: center; max-width: 310px; color: var(--odqr-muted); }
.odqr-preview-placeholder strong, .odqr-preview-placeholder span { display: block; margin-top: 10px; }
.odqr-preview-grid {
    width: 170px;
    height: 170px;
    margin: 0 auto 22px;
    border-radius: 18px;
    opacity: .25;
    background:
        linear-gradient(90deg, #111 12%, transparent 12% 25%, #111 25% 38%, transparent 38% 50%, #111 50% 62%, transparent 62% 75%, #111 75%),
        linear-gradient(#111 12%, transparent 12% 25%, #111 25% 38%, transparent 38% 50%, #111 50% 62%, transparent 62% 75%, #111 75%);
    background-size: 28px 28px;
}
.odqr-panel-head, .odqr-section-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.odqr-status-badge { padding: 7px 10px; border-radius: 999px; background: #eaf9f2; color: var(--odqr-success); font-size: 12px; font-weight: 850; }
.odqr-qr-panel { text-align: center; }
.odqr-qr-panel .odqr-panel-head { text-align: left; }
.odqr-qr-box { min-height: 280px; display: grid; place-items: center; margin: 24px auto 18px; }
.odqr-qr-box svg { width: min(100%, 300px); height: auto; display: block; }
.odqr-qr-url { padding: 10px 12px; background: #f7f8fa; border-radius: 10px; font-size: 12px; overflow-wrap: anywhere; color: #475467; }
.odqr-actions-row { display: flex; gap: 10px; justify-content: center; margin-top: 14px; }
.odqr-help { font-size: 12px; text-align: left; margin-top: 18px; }
.odqr-immutable-note { margin-top: 20px; padding: 14px; border-radius: 12px; background: #f7f9ff; color: #475467; font-size: 13px; }
.odqr-stats-section { margin-top: 28px; }
.odqr-section-heading { margin-bottom: 14px; }
.odqr-section-heading > span { color: var(--odqr-muted); font-size: 13px; }
.odqr-stat-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 14px; }
.odqr-stat-card { padding: 20px; border: 1px solid var(--odqr-line); border-radius: 16px; background: #fff; }
.odqr-stat-card span { display: block; color: var(--odqr-muted); font-size: 13px; }
.odqr-stat-card strong { display: block; margin-top: 8px; font-size: 30px; }
.odqr-chart-panel { overflow-x: auto; }
.odqr-chart {
    min-width: 760px;
    height: 260px;
    display: flex;
    align-items: flex-end;
    gap: 6px;
    padding: 20px 4px 0;
    border-bottom: 1px solid var(--odqr-line);
}
.odqr-bar-wrap { height: 100%; min-width: 18px; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 4px; }
.odqr-bar { width: 72%; min-height: 3px; background: var(--odqr-brand); border-radius: 6px 6px 2px 2px; opacity: .82; }
.odqr-bar-value { min-height: 16px; font-size: 10px; color: #475467; }
.odqr-bar-label { font-size: 9px; color: #98a2b3; transform: rotate(-45deg); margin: 6px 0 5px; }
.odqr-recent-panel { margin-top: 14px; }
.odqr-table-wrap { overflow-x: auto; }
.odqr-table { width: 100%; border-collapse: collapse; }
.odqr-table th, .odqr-table td { padding: 13px 10px; text-align: left; border-bottom: 1px solid #edf0f3; font-size: 13px; }
.odqr-table th { color: #667085; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
.odqr-privacy-footnote { font-size: 11px; margin-top: 10px; }
@media (max-width: 850px) {
    .odqr-app { margin: 20px auto; padding: 0 12px; }
    .odqr-first-run, .odqr-dashboard-grid { grid-template-columns: 1fr; }
    .odqr-stepper { grid-template-columns: 1fr; }
    .odqr-stat-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
    .odqr-login-card, .odqr-panel { padding: 22px; }
    .odqr-topbar { align-items: flex-start; }
    .odqr-stat-cards { grid-template-columns: 1fr 1fr; }
    .odqr-stat-card strong { font-size: 24px; }
    .odqr-actions-row { flex-direction: column; }
}

@media (max-width: 640px) {
    .odqr-brand-logo { width: min(100%, 250px); }
    .odqr-topbar-brand { align-items: flex-start; flex-direction: column; gap: 10px; }
    .odqr-topbar-logo { width: 160px; max-width: 70vw; }
}


/* v1.0.3 — destination snapshot shown for each individual scan */
.odqr-scan-destination {
    min-width: 220px;
    max-width: 360px;
}
.odqr-scan-destination a {
    display: inline-block;
    max-width: 340px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
    font-weight: 600;
}
.odqr-muted {
    opacity: .62;
    font-size: 12px;
}

/* v1.0.4 — five-year retention and custom date-range analytics */
.odqr-date-filter-panel {
    margin-bottom: 14px;
    display: grid;
    gap: 16px;
}
.odqr-date-filter-copy {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
}
.odqr-date-filter-copy strong { font-size: 16px; }
.odqr-date-filter-copy span { color: var(--odqr-muted); font-size: 13px; }
.odqr-date-filter-form {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) auto;
    gap: 12px;
    align-items: end;
}
.odqr-date-filter-form label { display: grid; gap: 7px; font-size: 12px; font-weight: 800; color: #475467; }
.odqr-date-filter-form input[type="date"] {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #cfd4dc;
    border-radius: 12px;
    background: #fff;
    color: var(--odqr-ink);
    font: inherit;
}
.odqr-filter-submit { min-width: 190px; }
.odqr-range-presets { display: flex; flex-wrap: wrap; gap: 8px; }
.odqr-range-presets a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--odqr-line);
    border-radius: 999px;
    background: #fff;
    color: #344054;
    text-decoration: none;
    font-size: 12px;
    font-weight: 750;
}
.odqr-range-presets a:hover { border-color: #aab2bf; background: #f9fafb; }
.odqr-retention-summary {
    margin: -2px 0 14px;
    padding: 12px 16px;
    display: flex;
    align-items: baseline;
    gap: 8px;
    border: 1px solid #dfe7ff;
    border-radius: 14px;
    background: #f7f9ff;
    color: #475467;
    font-size: 13px;
}
.odqr-retention-summary strong { color: var(--odqr-brand); font-size: 18px; }
.odqr-chart-meta { margin-bottom: 8px; color: var(--odqr-muted); font-size: 12px; font-weight: 750; }
.odqr-results-count {
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 999px;
    background: #f2f4f7;
    color: #475467;
    font-size: 12px;
    font-weight: 800;
}
.odqr-panel-head p { margin: 6px 0 0; font-size: 12px; }
.odqr-pagination {
    margin-top: 18px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    color: var(--odqr-muted);
    font-size: 12px;
    font-weight: 700;
}
.odqr-pagination > :last-child { justify-self: end; }
.odqr-pagination .odqr-secondary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

@media (max-width: 760px) {
    .odqr-date-filter-copy { display: grid; gap: 5px; }
    .odqr-date-filter-form { grid-template-columns: 1fr 1fr; }
    .odqr-filter-submit { grid-column: 1 / -1; width: 100%; }
    .odqr-pagination { grid-template-columns: 1fr; text-align: center; }
    .odqr-pagination > * { justify-self: center !important; }
}

@media (max-width: 520px) {
    .odqr-date-filter-form { grid-template-columns: 1fr; }
    .odqr-filter-submit { grid-column: auto; }
}

/* v1.1.0 — multiple dynamic QR codes, partners and destination types */
.odqr-form select,
.odqr-form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #cfd4dc;
    border-radius: 12px;
    background: #fff;
    font: inherit;
    color: var(--odqr-ink);
    outline: none;
}
.odqr-form select { min-height: 50px; }
.odqr-form textarea { resize: vertical; min-height: 105px; }
.odqr-form select:focus,
.odqr-form textarea:focus { border-color: var(--odqr-brand); box-shadow: 0 0 0 4px rgba(31, 94, 255, .10); }
.odqr-form label > span { display: block; margin-bottom: 7px; font-weight: 750; font-size: 13px; color: #344054; }
.odqr-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.odqr-field-help { margin: 7px 0 0 !important; font-size: 12px; }
.odqr-upload-field,
.odqr-hosted-fields { padding: 16px; border: 1px solid #e6eaff; border-radius: 14px; background: #fafbff; }
.odqr-hosted-fields[hidden], .odqr-upload-field[hidden] { display: none !important; }
.odqr-status-select { max-width: 320px; }

.odqr-multi-section { margin-top: 30px; }
.odqr-multi-hero { display: flex; align-items: center; justify-content: space-between; gap: 28px; background: linear-gradient(135deg, #fff, #f7f9ff); border-color: #dfe7ff; }
.odqr-multi-hero h3 { max-width: 780px; }
.odqr-multi-hero p { max-width: 830px; margin-bottom: 0; }
.odqr-toggle-create { flex: 0 0 auto; min-width: 190px; }
.odqr-create-qr-panel { margin-top: 14px; scroll-margin-top: 24px; }
.odqr-create-qr-panel[hidden] { display: none !important; }
.odqr-multi-heading, .odqr-partner-heading { margin-top: 28px; }
.odqr-empty-state { display: grid; gap: 7px; color: var(--odqr-muted); }
.odqr-empty-state strong { color: var(--odqr-ink); }

.odqr-child-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.odqr-child-card { padding: 22px; }
.odqr-child-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.odqr-child-card h4 { margin: 5px 0 4px; font-size: 20px; }
.odqr-partner-link { color: var(--odqr-brand); font-size: 13px; font-weight: 800; text-decoration: none; }
.odqr-status-badge.is-disabled { background: #f2f4f7; color: #667085; }
.odqr-child-main { display: grid; grid-template-columns: 132px 1fr; gap: 18px; align-items: center; margin: 18px 0 14px; }
.odqr-mini-qr.odqr-qr-box { min-height: 0; height: 132px; width: 132px; margin: 0; padding: 7px; border: 1px solid var(--odqr-line); border-radius: 14px; background: #fff; }
.odqr-mini-qr.odqr-qr-box svg { width: 100%; max-width: none; height: auto; }
.odqr-child-meta { display: grid; gap: 10px; }
.odqr-child-meta div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid #eef0f3; padding-bottom: 8px; }
.odqr-child-meta span { color: var(--odqr-muted); font-size: 12px; }
.odqr-child-meta strong { text-align: right; font-size: 13px; }
.odqr-current-destination { margin-top: 8px; padding: 9px 11px; border-radius: 10px; background: #f8fafc; color: #475467; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.odqr-child-card .odqr-actions-row { justify-content: flex-start; }
.odqr-edit-details { margin-top: 16px; border-top: 1px solid #edf0f3; padding-top: 14px; }
.odqr-edit-details summary { cursor: pointer; font-weight: 850; color: #344054; }
.odqr-edit-body { margin-top: 18px; padding-top: 4px; }
.odqr-edit-body .odqr-form { margin-top: 0; }

.odqr-partner-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.odqr-partner-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 19px 20px; border: 1px solid var(--odqr-line); border-radius: 16px; background: #fff; color: var(--odqr-ink); text-decoration: none; box-shadow: 0 5px 18px rgba(15,23,42,.035); transition: .18s ease; }
.odqr-partner-card:hover { transform: translateY(-2px); border-color: #c8d5ff; box-shadow: 0 10px 26px rgba(15,23,42,.07); }
.odqr-partner-card > div:first-child strong,
.odqr-partner-card > div:first-child span { display: block; }
.odqr-partner-card > div:first-child span { margin-top: 4px; color: var(--odqr-muted); font-size: 12px; }
.odqr-partner-numbers { text-align: right; flex: 0 0 auto; }
.odqr-partner-numbers strong, .odqr-partner-numbers span, .odqr-partner-numbers small { display: block; }
.odqr-partner-numbers strong { font-size: 24px; color: var(--odqr-brand); }
.odqr-partner-numbers span { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; font-weight: 850; color: #475467; }
.odqr-partner-numbers small { margin-top: 3px; color: var(--odqr-muted); }

.odqr-partner-detail { margin-top: 30px; scroll-margin-top: 24px; }
.odqr-partner-detail-hero { display: flex; justify-content: space-between; gap: 24px; align-items: center; background: linear-gradient(135deg,#f7f9ff,#fff); border-color: #dfe7ff; }
.odqr-partner-detail-hero h3 { font-size: 30px; }
.odqr-partner-detail-totals { text-align: right; }
.odqr-partner-detail-totals strong, .odqr-partner-detail-totals span, .odqr-partner-detail-totals small { display: block; }
.odqr-partner-detail-totals strong { font-size: 40px; color: var(--odqr-brand); }
.odqr-partner-detail-totals span { font-weight: 900; text-transform: uppercase; font-size: 12px; }
.odqr-partner-detail-totals small { margin-top: 4px; color: var(--odqr-muted); }
.odqr-breakdown-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.odqr-breakdown-grid h4 { margin: 6px 0 16px; font-size: 19px; }
.odqr-breakdown-list { display: grid; }
.odqr-breakdown-list > div { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 13px 0; border-bottom: 1px solid #edf0f3; }
.odqr-breakdown-list span strong, .odqr-breakdown-list span small { display: block; }
.odqr-breakdown-list span small { margin-top: 3px; max-width: 340px; color: var(--odqr-muted); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.odqr-breakdown-list b { flex: 0 0 auto; color: var(--odqr-brand); }

@media (max-width: 900px) {
    .odqr-child-grid, .odqr-partner-grid, .odqr-breakdown-grid { grid-template-columns: 1fr; }
    .odqr-multi-hero { align-items: flex-start; flex-direction: column; }
    .odqr-toggle-create { width: 100%; }
}
@media (max-width: 650px) {
    .odqr-form-grid { grid-template-columns: 1fr; }
    .odqr-child-main { grid-template-columns: 100px 1fr; }
    .odqr-mini-qr.odqr-qr-box { width: 100px; height: 100px; }
    .odqr-partner-detail-hero { align-items: flex-start; flex-direction: column; }
    .odqr-partner-detail-totals { text-align: left; }
    .odqr-partner-card { align-items: flex-start; }
}


/* v1.2.0 — accounts, registration and standalone white-label portal */
.odqr-notice-warning { background:#fff9e8; border-color:#f3d98b; color:#7b5a00; }
.odqr-standalone-body { margin:0; min-height:100vh; background:#f3f6fb; padding:24px; }
.odqr-standalone-body .odqr-app { margin:0 auto; }
.odqr-public-register { max-width:760px; margin:0 auto; padding:30px; border:1px solid #203b58; border-radius:22px; background:#081a2b; color:#fff; box-shadow:0 24px 70px rgba(0,0,0,.18); }
.odqr-register-head h3 { margin:8px 0 10px; font-size:28px; color:#fff; }
.odqr-register-head p { margin:0; color:#fff !important; line-height:1.65; }
.odqr-public-register .odqr-form label { color:#fff !important; }
.odqr-public-register .odqr-form input { background:#0c2237; border-color:#29445f; color:#fff; }
.odqr-public-register .odqr-form input:focus { border-color:#23d5ff; box-shadow:0 0 0 4px rgba(35,213,255,.10); }
.odqr-public-register .odqr-primary-btn { background:#188cff; }
.odqr-reg-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.odqr-reg-grid label { display:grid; gap:6px; }
.odqr-reg-grid small { color:#fff !important; font-weight:500; }
.odqr-reg-full { grid-column:1/-1; }
.odqr-terms { display:flex !important; gap:10px; align-items:flex-start; color:#fff !important; font-size:12px !important; }
.odqr-terms input { width:auto !important; min-height:0 !important; margin-top:3px; }
.odqr-hp { position:absolute !important; left:-99999px !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; }
.odqr-register-notice { max-width:760px; margin:0 auto 16px; }
.odqr-legacy-login { margin-top:18px; border-top:1px solid var(--odqr-line); padding-top:16px; }
.odqr-legacy-login summary { cursor:pointer; color:#667085; font-size:13px; font-weight:750; }
.odqr-account-gate { min-height:520px; display:grid; place-items:center; padding:28px 0; }
.odqr-account-gate-card { width:min(100%,760px); text-align:left; padding:38px; }
.odqr-account-gate-card h2 { margin:8px 0 12px; font-size:34px; line-height:1.12; }
.odqr-gate-status { margin-top:24px; padding:18px; border-radius:14px; display:grid; gap:6px; }
.odqr-gate-status.is-active { background:#effcf6; border:1px solid #b7ead6; color:#086547; }
.odqr-gate-status.is-disabled { background:#fff2f2; border:1px solid #ffcaca; color:#9e2020; }
.odqr-gate-status span { font-size:13px; line-height:1.55; }
.odqr-gate-meta { margin-top:16px; display:flex; flex-wrap:wrap; gap:10px; }
.odqr-gate-meta span { padding:8px 10px; background:#f6f8fb; border:1px solid #e5e7eb; border-radius:9px; color:#475467; font-size:12px; }
@media(max-width:620px){.odqr-standalone-body{padding:10px}.odqr-reg-grid{grid-template-columns:1fr}.odqr-reg-full{grid-column:auto}.odqr-public-register{padding:22px}.odqr-account-gate-card{padding:24px}.odqr-account-gate-card h2{font-size:28px}}

.odqr-login-register-link{margin-top:14px;text-align:center;font-size:13px;color:#667085}.odqr-login-register-link a{color:#1f5eff;font-weight:800;text-decoration:none}


/* v1.2.2 — dedicated white-label login */
.odqr-standalone-body {
    margin: 0;
    min-height: 100vh;
    background: #f4f7fb;
}
.odqr-standalone-body .odqr-app {
    max-width: none;
    margin: 0;
    min-height: 100vh;
}
.odqr-standalone-body .odqr-login-shell {
    min-height: 100vh;
    border-radius: 0;
}
.odqr-primary-link {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0 18px;
    margin-top: 18px;
    border-radius: 12px;
    background: var(--odqr-brand);
    color: #fff !important;
    text-decoration: none;
    font-weight: 800;
}
.odqr-primary-link:hover { background: var(--odqr-brand-dark); }
.odqr-login-register-link {
    margin-top: 18px;
    text-align: center;
    color: var(--odqr-muted);
    font-size: 13px;
}
.odqr-login-register-link a { color: var(--odqr-brand); font-weight: 750; text-decoration: none; }
.odqr-back-site { margin-top: 10px; }
.odqr-back-site a { color: #667085; font-weight: 650; }


/* Subscription plan selector */
.odqr-plan-fieldset{margin:4px 0 24px;padding:0;border:0;min-width:0}
.odqr-plan-fieldset legend,.odqr-form-section-title{display:block;width:100%;margin:0 0 13px;padding:0;font-size:14px;font-weight:850;color:#fff!important}
.odqr-form-section-title{margin-top:4px}.odqr-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.odqr-plan-card{position:relative;display:block;min-width:0;cursor:pointer}.odqr-plan-card>input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
.odqr-plan-card-inner{position:relative;display:flex;min-height:205px;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:26px 13px 16px;border:1px solid #dfe4ea;border-radius:16px;background:#fff;text-align:center;transition:.18s ease;overflow:hidden}
.odqr-plan-card:hover .odqr-plan-card-inner{border-color:#9eb9ff;transform:translateY(-2px)}.odqr-plan-card input:checked+.odqr-plan-card-inner{border-color:#1f5eff;box-shadow:0 0 0 3px rgba(31,94,255,.12),0 12px 30px rgba(31,94,255,.10)}
.odqr-plan-ribbon{position:absolute;top:0;left:0;right:0;padding:5px 6px;background:#1f5eff;color:#fff;font-size:9px;font-weight:900;letter-spacing:.08em}.odqr-plan-card.is-best-value .odqr-plan-ribbon{background:#087a55}
.odqr-plan-duration{font-size:14px;font-weight:850;color:#344054}.odqr-plan-price{display:block;font-size:29px;line-height:1.05;color:#101828}.odqr-plan-vat,.odqr-plan-monthly,.odqr-plan-total{font-size:10px;color:#667085;font-weight:650}.odqr-plan-monthly{font-size:11px;color:#344054}
.odqr-plan-check{margin-top:7px;padding:6px 9px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:10px;font-weight:850}.odqr-plan-card input:checked+.odqr-plan-card-inner .odqr-plan-check{background:#eaf0ff;color:#1f5eff}.odqr-plan-note{margin-top:10px;color:#fff!important;font-size:10px;line-height:1.5}.odqr-public-register .odqr-security-note{color:#fff!important}.odqr-public-register .odqr-form-section-title,.odqr-public-register .odqr-reg-grid label>span,.odqr-public-register .odqr-terms span{color:#fff!important}.odqr-public-register input::placeholder{color:#b9c9d8;opacity:1}
@media(max-width:760px){.odqr-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.odqr-plan-grid{grid-template-columns:1fr}.odqr-plan-card-inner{min-height:175px}}

.odqr-subscription-strip{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:-8px 0 18px;padding:11px 14px;border:1px solid #dfe6ff;border-radius:12px;background:#f7f9ff;color:#475467;font-size:12px}.odqr-subscription-strip span:first-child{margin-right:auto;color:#1d2939}.odqr-subscription-strip b{color:#1f5eff}

/* v1.3.1 - Unified Registration / Login tabs also work when the legacy
   [ordovex_dynamic_qr_register] shortcode is used directly on a page. */
.odqr-access-tabs{width:min(100%,760px);margin:0 auto}
.odqr-access-tablist{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px;padding:6px;border:1px solid #203b58;border-radius:16px;background:#061523}
.odqr-access-tab{min-height:70px;display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(24,140,255,.06);color:#fff!important;cursor:pointer;transition:.2s ease;font-family:inherit}
.odqr-access-tab:hover{background:rgba(255,255,255,.06)}
.odqr-access-tab.is-active{border-color:rgba(35,213,255,.4);background:linear-gradient(135deg,rgba(24,140,255,.28),rgba(35,213,255,.10));box-shadow:0 10px 30px rgba(0,0,0,.15)}
.odqr-access-tab-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#0b2035;color:#23d5ff;font-size:20px;font-weight:900}
.odqr-access-tab strong,.odqr-access-tab small{display:block;text-align:left;color:#fff!important;opacity:1!important}
.odqr-access-tab strong{font-size:13px;letter-spacing:.5px}.odqr-access-tab small{margin-top:2px;font-size:10px;font-weight:600}
.odqr-access-panel{display:none}.odqr-access-panel.is-active{display:block}
.odqr-access-tabs .odqr-login-shell{min-height:0;display:block;padding:0;background:transparent;border-radius:0}
.odqr-access-tabs .odqr-login-card{width:100%;max-width:none;margin:0;padding:30px;background:#081a2b;border:1px solid #203b58;border-radius:22px;color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.18)}
.odqr-access-tabs .odqr-login-card h2,.odqr-access-tabs .odqr-login-card p,.odqr-access-tabs .odqr-login-card label,.odqr-access-tabs .odqr-login-card .odqr-security-note{color:#fff!important}
.odqr-access-tabs .odqr-login-card .odqr-form input{background:#0c2237;border-color:#29445f;color:#fff}
.odqr-access-tabs .odqr-login-card .odqr-brand-logo{display:none}
.odqr-access-tabs .odqr-login-card .odqr-login-register-link:first-of-type{display:none}
@media(max-width:620px){.odqr-access-tablist{grid-template-columns:1fr}.odqr-access-tab{min-height:60px}}


/* v1.4.0+ — premium pricing cards */
.odqr-public-register{max-width:1180px}
.odqr-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.odqr-plan-card-inner{min-height:690px;justify-content:flex-start;gap:7px;padding:36px 18px 18px;border-radius:20px;background:#fff}
.odqr-plan-duration{margin-top:2px;font-size:22px;font-weight:900}
.odqr-plan-old{min-height:18px;color:#98a2b3;font-size:11px;text-decoration:line-through;font-weight:700}
.odqr-plan-price-row{display:flex;align-items:flex-end;justify-content:center;gap:5px;margin-top:1px}
.odqr-plan-price{font-size:34px;font-weight:950;letter-spacing:-1px}
.odqr-plan-price-unit{padding-bottom:3px;color:#667085;font-size:11px;font-weight:800}
.odqr-plan-saving{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:5px 10px;border-radius:999px;background:#eafaf3;color:#087a55;font-size:10px;font-weight:950;letter-spacing:.04em}
.odqr-plan-saving.is-flex{background:#f2f4f7;color:#475467}
.odqr-plan-billing{margin-top:3px;color:#475467;font-size:11px;font-weight:800}
.odqr-plan-total{display:block;min-height:42px;color:#667085;font-size:10px;line-height:1.45}
.odqr-plan-total strong{display:block;color:#101828;font-size:12px}
.odqr-plan-divider{display:block;width:100%;height:1px;margin:8px 0 3px;background:#eaecf0}
.odqr-plan-features-title{width:100%;text-align:left;color:#344054;font-size:11px;font-weight:900}
.odqr-plan-features{display:grid;width:100%;gap:8px;margin-top:2px;text-align:left}
.odqr-plan-feature{display:grid;grid-template-columns:18px 1fr;gap:7px;align-items:start;color:#475467;font-size:10.5px;line-height:1.35}
.odqr-plan-feature i{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#eafaf3;color:#12b76a;font-style:normal;font-size:10px;font-weight:950}
.odqr-plan-check{width:100%;margin-top:auto;padding:10px 12px;border-radius:10px;font-size:11px}
.odqr-plan-ribbon{padding:7px 6px;font-size:9px;letter-spacing:.09em}
.odqr-plan-card.is-popular .odqr-plan-ribbon{background:linear-gradient(90deg,#188cff,#23d5ff);color:#03131e}
.odqr-plan-card.is-best-value .odqr-plan-card-inner{border-color:#d9ad45;box-shadow:0 0 0 2px rgba(217,173,69,.10),0 18px 40px rgba(130,92,15,.10)}
.odqr-plan-card.is-best-value .odqr-plan-ribbon{background:linear-gradient(90deg,#d7a83e,#ffe08a,#d7a83e);color:#211500}
.odqr-plan-card.is-best-value .odqr-plan-saving{background:#fff6d8;color:#8a5a00}
.odqr-plan-card.is-best-value .odqr-plan-check{background:#fff6d8;color:#8a5a00}
.odqr-plan-card.is-best-value input:checked+.odqr-plan-card-inner{border-color:#e1b94f;box-shadow:0 0 0 3px rgba(225,185,79,.18),0 18px 42px rgba(130,92,15,.16)}
.odqr-plan-note{margin-top:14px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.045);font-size:11px;line-height:1.6}
@media(max-width:1050px){.odqr-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.odqr-plan-card-inner{min-height:620px}}
@media(max-width:620px){.odqr-plan-grid{grid-template-columns:1fr}.odqr-plan-card-inner{min-height:auto}.odqr-plan-feature{font-size:11px}}


/* v1.4.1 — full-width account / pricing layout */
.odqr-access-tabs{
    width:min(1600px,calc(100vw - 48px));
    max-width:none;
    position:relative;
    left:50%;
    transform:translateX(-50%);
    margin:28px 0 50px;
}
.odqr-access-tabs .odqr-public-register{
    width:100%;
    max-width:none;
    margin:0;
    padding:38px;
}
.odqr-access-tabs .odqr-register-head p{
    max-width:1100px;
}
.odqr-access-tabs .odqr-plan-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.odqr-access-tabs .odqr-plan-card-inner{
    padding-left:24px;
    padding-right:24px;
}
@media(max-width:1200px){
    .odqr-access-tabs{width:min(1180px,calc(100vw - 32px));}
    .odqr-access-tabs .odqr-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px){
    .odqr-access-tabs{width:calc(100vw - 18px);margin-top:14px;}
    .odqr-access-tabs .odqr-public-register{padding:22px 16px;}
    .odqr-access-tabs .odqr-plan-grid{grid-template-columns:1fr;gap:14px;}
    .odqr-access-tabs .odqr-plan-card-inner{padding-left:18px;padding-right:18px;}
}
