.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.form-input {
    width: 100%;
    min-height: 40px;
}



.form-row label {
    display: block;
    margin-bottom: 5px;
}

.form-captcha {
    margin: 10px;
}

.form-row .drawrpallete-wrapper {
    display: flex !important;
}

.row {
    margin-top: 10px;
    margin-bottom: 10px;
}

.form-notes {
    color: orangered;
    margin: 10px 0;
}

.form-row {
    margin: 5px 0;
}

.form-notes, .field-validation-error {
    color: orangered;
    margin: 5px 0;
    display: block;
}

.form-text {
    width: 100%;
}

.btn-submit {
    border: none;
    cursor: pointer;
    overflow: visible;
    display: inline-block;
    padding: 0 15px 0 15px;
    text-align: center;
    font-size: 14px;
    height: 36px;
    min-width: 135px;
    background-color: #00ACEE;
    color: #FFFFFF;
    text-transform: uppercase;
    font-weight: bold;
    border-radius: 8px;
    margin-bottom: 10px;
}


.navbar-light .navbar-brand {
    background-image: url(/images/logo-a.png);
    background-repeat: no-repeat;
    background-size: auto 60%;
    padding-left: 30px;
    background-position-y: center;
}

.url-result {
    margin: 15px 0;
}

.tips-row {
    margin-top: 20px;
}

.form-input input {
    width: 100%;
    height: 36px;
}

.form-row textarea {
    width: 100%;
}

.email-message {
    font-size: 20px;
    margin: 20px 0;
}

.url-result img {
    max-width: 100%;
}

.row-space {
    margin-top: 20px;
    margin-bottom: 20px;
}

.container h1 {
    font-size: 1.75rem;
    font-weight: 500;
}

.container h2 {
    font-size: 1.36rem;
    font-weight: 400;
}

.container h3 {
    font-size: 1.3rem;
    font-weight: 400;
}

.color-pick input {
    display: block !important;
    width: 75%;
    margin-right: 15px;
}

.color-pick .form-checkbox {
    width: auto;
    margin-right: 5px;
}

.color-pick label {
    width: auto;
}

.row-option {
    display: flex;
}

.cta-buttons {
    margin-top: 20px;
}

    .cta-buttons a {
        display: inline-block;
        padding: 12px 20px;
        margin: 5px;
        background: #0073e6;
        color: #fff;
        text-decoration: none;
        border-radius: 6px;
    }

.section-title {
    font-size: 28px;
    margin-top: 40px;
    margin-bottom: 20px;
    color: #111;
}

.featured, .latest-posts, .categories, .popular-guides {
    margin-bottom: 40px;
}

.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.card {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.footer {
    line-height: 16px;
    padding: 20px 0;
}

.footer-links {
    list-style: none;
    display: flex;
    padding-left: 0;
    margin-top: 10px;
}

    .footer-links li a {
        padding-left: 0
    }

.card h3 {
    margin-top: 0;
    font-size: 20px;
    color: #111;
}

.card p {
    color: #555;
}

.card a {
    display: inline-block;
    margin-top: 10px;
    color: #0073e6;
    text-decoration: none;
}

.tabs {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

    .tabs li {
        padding: 10px 15px;
        background-color: #00ACEE;
        border-right: 1px solid white;
        cursor: pointer;
        transition: 0.2s;
        color: #fff;
        border-top-right-radius: 10px;
        border-top-left-radius: 10px;
    }

        .tabs li a {
            color: #fff;
            text-decoration: unset;
        }

        .tabs li.active {
            background-color: #eee;
            border-top: 2px solid #00ACEE;
            color: #000;
            font-size: 18px;
        }

.content {
    width: 100%;
    background-color: #eee;
    padding: 0 10px;
}

    .content .one {
        margin-top: -10px;
    }

.blog-content a {
    color: #0073e6;
    text-decoration: none;
}

    .blog-content a:hover {
        text-decoration: underline;
    }

.blog-content ul {
    margin-bottom: 20px;
}

.blog-content .tl-dr {
    background: #f1f8ff;
    padding: 15px;
    border-left: 4px solid #0073e6;
    margin-bottom: 30px;
}

.blog-content table, .blog-content th, .blog-content td {
    border: 1px solid #ccc;
}

.blog-content th, .blog-content td {
    padding: 12px;
    text-align: left;
}

.blog-content th {
    background: #f9f9f9;
}

.blog-content a.btn-primary {
    display: inline-block;
    padding: 0.8rem 1.6rem;
    border-radius: 999px;
    background: var(--accent);
    color: var(--text-strong);
    text-decoration: none;
    font-weight: 600;
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.45);
    transition: background 0.2s ease, transform 0.1s ease;
}

.btn-primary:hover {
    background: var(--accent-dark);
    transform: translateY(-1px);
}



@media (min-width: 768px) {
    .color-pick input {
        width: 90px;
    }
}



fqrc-generator {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    font-family: Arial, Helvetica, sans-serif;
    color: #1f2937;
}

.fqrc-generator *,
.fqrc-generator *::before,
.fqrc-generator *::after {
    box-sizing: border-box;
}

.fqrc-header {
    margin-bottom: 24px;
}

    .fqrc-header h2 {
        margin: 0 0 6px;
        font-size: 30px;
        line-height: 1.2;
    }

    .fqrc-header p {
        margin: 0;
        color: #6b7280;
        font-size: 15px;
    }

.fqrc-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    gap: 28px;
    align-items: start;
}

.fqrc-controls {
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: #ffffff;
    overflow: hidden;
}

.fqrc-section {
    padding: 22px;
    border-bottom: 1px solid #e5e7eb;
}

    .fqrc-section:last-of-type {
        border-bottom: 0;
    }

    .fqrc-section h3 {
        margin: 0 0 18px;
        font-size: 17px;
    }

.fqrc-label {
    display: block;
    margin-bottom: 7px;
    font-size: 14px;
    font-weight: 600;
}

.fqrc-textarea,
.fqrc-input,
.fqrc-select {
    width: 100%;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
    padding: 11px 12px;
    font: inherit;
    font-size: 14px;
    color: #111827;
}

.fqrc-textarea {
    min-height: 105px;
    resize: vertical;
}

    .fqrc-textarea:focus,
    .fqrc-input:focus,
    .fqrc-select:focus {
        outline: none;
        border-color: #2563eb;
        box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
    }

.fqrc-hint {
    margin-top: 8px;
    color: #6b7280;
    font-size: 12px;
}

.fqrc-two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.fqrc-color-row {
    display: flex;
    gap: 8px;
}

    .fqrc-color-row input[type="color"] {
        width: 44px;
        height: 42px;
        padding: 2px;
        border: 1px solid #d1d5db;
        border-radius: 8px;
        background: #fff;
        cursor: pointer;
    }

    .fqrc-color-row input[type="text"] {
        flex: 1;
        min-width: 0;
        border: 1px solid #d1d5db;
        border-radius: 8px;
        padding: 9px;
        font: inherit;
        text-transform: uppercase;
    }

.fqrc-checkbox {
    display: flex;
    gap: 9px;
    align-items: center;
    margin-top: 16px;
    font-size: 14px;
    cursor: pointer;
}

    .fqrc-checkbox input {
        width: 17px;
        height: 17px;
    }

.fqrc-gradient-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 16px;
}

.fqrc-margin-top {
    margin-top: 16px;
}

.fqrc-upload {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 15px;
    border: 1px dashed #9ca3af;
    border-radius: 8px;
    cursor: pointer;
    background: #f9fafb;
    font-size: 14px;
    font-weight: 600;
}

    .fqrc-upload:hover {
        background: #f3f4f6;
    }

    .fqrc-upload input {
        display: none;
    }

.fqrc-secondary-button,
.fqrc-primary-button,
.fqrc-reset {
    border: 0;
    border-radius: 8px;
    padding: 11px 16px;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity .15s ease, transform .05s ease;
}

.fqrc-primary-button {
    background: #01ACEF;
    color: #fff;
}

.fqrc-secondary-button {
    background: #f3f4f6;
    color: #111827;
}

    .fqrc-secondary-button:hover,
    .fqrc-primary-button:hover,
    .fqrc-reset:hover {
        opacity: .88;
    }

    .fqrc-secondary-button:active,
    .fqrc-primary-button:active,
    .fqrc-reset:active {
        transform: translateY(1px);
    }

.fqrc-reset {
    margin: 20px 22px;
    padding: 8px 12px;
    background: transparent;
    color: #6b7280;
    border: solid 1px #ccc;
}

.fqrc-preview-column {
    position: sticky;
    top: 20px;
}

.fqrc-preview-card,
.fqrc-download-card {
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: #ffffff;
}

.fqrc-preview-card {
    padding: 20px;
}

.fqrc-preview-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    font-size: 16px;
}

#fqrc-status {
    color: #16a34a;
    font-size: 12px;
    font-weight: 600;
}

.fqrc-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 320px;
    padding: 10px;
    overflow: hidden;
}

    .fqrc-preview svg,
    .fqrc-preview canvas {
        display: block;
        max-width: 100%;
        height: auto;
    }

.fqrc-preview-help {
    margin: 14px 0 0;
    text-align: center;
    color: #6b7280;
    font-size: 12px;
    line-height: 1.5;
}

.fqrc-download-card {
    margin-top: 18px;
    padding: 20px;
}

    .fqrc-download-card h3 {
        margin: 0 0 15px;
        font-size: 17px;
    }

.fqrc-download-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
}

.fqrc-download-note {
    margin: 13px 0 0;
    color: #6b7280;
    font-size: 12px;
    line-height: 1.5;
}

.fqrc-range-value {
    margin-top: 5px;
    font-size: 12px;
    color: #6b7280;
}

.fqrc-hidden {
    display: none !important;
}

.fqrc-generator input[type="range"] {
    width: 100%;
    cursor: pointer;
}


/* =========================================
       Mobile
       ========================================= */

@media (max-width: 800px) {

    .fqrc-layout {
        grid-template-columns: 1fr;
    }

    .fqrc-preview-column {
        position: static;
        order: 1;
    }

    .fqrc-preview {
        min-height: 280px;
    }

    .fqrc-preview-card {
        padding: 15px;
    }

    .fqrc-section {
        padding: 18px;
    }

    .fqrc-two-column,
    .fqrc-gradient-controls {
        grid-template-columns: 1fr;
    }

    .fqrc-header h2 {
        font-size: 25px;
    }
}


.qr-type-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 20px;
}

    .qr-type-links a {
        display: block;
        padding: 14px 16px;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        color: #1d4ed8;
        text-decoration: none;
        font-weight: 600;
    }

        .qr-type-links a:hover {
            text-decoration: underline;
        }

@media (max-width: 600px) {
    .qr-type-links {
        grid-template-columns: 1fr;
    }
}

.qr-code-content {
    margin-top: 20px;
    font-size: 14px;
}

.qr-generator-nav {
    width: 100%;
    margin: 0 0 24px;
    border-bottom: 1px solid #e5e7eb;
    background-color: #eee;
}

.qr-generator-nav-inner {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    padding: 6px 2px 6px;
}

    .qr-generator-nav-inner::-webkit-scrollbar {
        height: 4px;
    }

    .qr-generator-nav-inner::-webkit-scrollbar-thumb {
        border-radius: 999px;
        background: #cbd5e1;
    }

.qr-generator-nav-item {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 16px;
    border-radius: 8px;
    color: #475569;
    background: transparent;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    transition: background-color 0.15s ease, color 0.15s ease;
}

    .qr-generator-nav-item:hover {
        color: #111827;
        background: #f1f5f9;
    }

    .qr-generator-nav-item.active {
        color: #ffffff;
        background: #01ACEF;
    }

        .qr-generator-nav-item.active:hover {
            color: #ffffff;
            background: #95BA38;
        }

ul.wifi-fields {
    margin: 0;
    padding: 0;
}

    ul.wifi-fields li {
        list-style: none;
        margin: 10px 0;
    }

        ul.wifi-fields li label {
            display: block;
        }

@media (max-width: 600px) {
    .qr-generator-nav {
        margin-bottom: 18px;
    }

    .qr-generator-nav-inner {
        gap: 2px;
        padding-bottom: 6px;
        scrollbar-width: none;
    }

        .qr-generator-nav-inner::-webkit-scrollbar {
            display: none;
        }

    .qr-generator-nav-item {
        min-height: 38px;
        padding: 7px 14px;
        font-size: 13px;
    }
}

.bg-light {
    padding: 20px;
    margin-top: 15px;
    border-radius: 14px;
}

.bg-medium {
    padding: 20px;
    background-color: #dddddd;
    margin-top: 15px;
    border-radius: 14px;
}

.qr-benefits {
    border-radius: 14px;
    margin-top: 15px;
    --qr-accent: #2563eb;
    --qr-text: #172033;
    --qr-muted: #5f6b7a;
    --qr-border: #dce3ed;
    --qr-surface: #ffffff;
    --qr-background: #f6f8fc;
    padding: clamp(3.5rem, 7vw, 6rem) 1.25rem;
    background: var(--qr-background);
    color: var(--qr-text);
    font-family: inherit;
}

.qr-benefits__inner {
    max-width: 1024px;
    margin: 0 auto;
}

.qr-benefits__eyebrow {
    margin: 0 0 0.5rem;
    color: var(--qr-accent);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.qr-benefits h2 {
    margin: 0;
    font-size: clamp(1.9rem, 4vw, 2.75rem);
    line-height: 1.15;
    letter-spacing: -0.03em;
}

.qr-benefits__intro {
    max-width: 42rem;
    margin: 1rem 0 2rem;
    color: var(--qr-muted);
    font-size: 1.0625rem;
    line-height: 1.65;
}

.qr-accordion {
    display: grid;
    gap: 0.75rem;
}

    .qr-accordion details {
        overflow: hidden;
        background: var(--qr-surface);
        border: 1px solid var(--qr-border);
        border-radius: 0.75rem;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

        .qr-accordion details[open] {
            border-color: color-mix(in srgb, var(--qr-accent) 38%, var(--qr-border));
            box-shadow: 0 0.5rem 1.5rem rgba(23, 32, 51, 0.07);
        }

    .qr-accordion summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: 1.15rem 1.25rem;
        cursor: pointer;
        font-size: 1.0625rem;
        font-weight: 700;
        list-style: none;
    }

        .qr-accordion summary::-webkit-details-marker {
            display: none;
        }

        .qr-accordion summary:focus-visible {
            outline: 3px solid color-mix(in srgb, var(--qr-accent) 35%, transparent);
            outline-offset: -3px;
            border-radius: 0.75rem;
        }

.qr-accordion__icon {
    position: relative;
    flex: 0 0 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
}

    .qr-accordion__icon::before,
    .qr-accordion__icon::after {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 0.85rem;
        height: 2px;
        background: var(--qr-accent);
        border-radius: 99px;
        content: "";
        transform: translate(-50%, -50%);
        transition: transform 0.2s ease;
    }

    .qr-accordion__icon::after {
        transform: translate(-50%, -50%) rotate(90deg);
    }

.qr-accordion details[open] .qr-accordion__icon::after {
    transform: translate(-50%, -50%) rotate(0);
}

.qr-accordion__content {
    padding: 0 1.25rem 1.25rem;
    color: var(--qr-muted);
    line-height: 1.65;
}

    .qr-accordion__content h3 {
        margin: 0 0 0.5rem;
        color: var(--qr-text);
        font-size: 1rem;
        line-height: 1.4;
    }

    .qr-accordion__content p {
        margin: 0.75rem 0 0;
    }

@media (max-width: 480px) {
    .qr-benefits {
        padding-inline: 1rem;
    }

    .qr-accordion summary,
    .qr-accordion__content {
        padding-inline: 1rem;
    }

    .qr-accordion__content {
        padding-bottom: 1rem;
    }
}

.wifi-fields{
    display:none;
}

.qr-wifi .wifi-fields{
    display: block;
}

.qr-wifi .fqrc-textarea{
    display:none;
}

.qr-url .nav-url,
.qr-text .nav-text,
.qr-wifi .nav-wifi,
.qr-email .nav-email,
.qr-phone .nav-phone,
.qr-sms .nav-sms,
.qr-location .nav-location {
    color: #ffffff;
    background: #01ACEF;
}




.sms-fields { display: none; }
.qr-sms .sms-fields { display: block; }
.qr-sms #fqrc-data { display: none; }
#fqrc-status { max-width: 70%; text-align: right; }
.fqrc-download-buttons button:disabled { opacity: .5; cursor: not-allowed; }

/* Compact creation flow */
.fqrc-generator { width: 100%; margin: 0 auto; color: #1f2937; }
.fqrc-layout { grid-template-areas: "content preview" "custom preview"; gap: 20px 28px; }
.fqrc-controls { display: contents; }
.fqrc-content-section { grid-area: content; border: 1px solid #e5e7eb; border-radius: 14px; background: white; }
.fqrc-customize { grid-area: custom; min-width: 0; padding: 22px; border: 1px solid #e5e7eb; border-radius: 14px; background: white; }
.fqrc-preview-column { grid-area: preview; }
.fqrc-generator h2 { margin: 0 0 16px; font-size: 18px; font-weight: 650; }
.fqrc-design-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.fqrc-design-heading h2 { margin-bottom: 0; }
.fqrc-design-heading > span { color: #6b7280; font-size: 12px; }
.fqrc-presets { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.fqrc-preset { display: grid; justify-items: center; gap: 8px; min-width: 0; padding: 10px 4px; border: 1px solid #d1d5db; border-radius: 10px; background: #fff; color: #374151; cursor: pointer; font: inherit; font-size: 12px; }
.fqrc-preset svg { width: 100%; max-width: 68px; height: auto; }
.fqrc-preset[aria-pressed="true"] { border-color: #2563eb; box-shadow: inset 0 0 0 1px #2563eb; background: #eff6ff; color: #1d4ed8; }
.fqrc-preset:hover { border-color: #2563eb; }
.fqrc-settings { margin-top: 10px; border: 1px solid #e5e7eb; border-radius: 9px; }
.fqrc-settings > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px; cursor: pointer; font-size: 14px; font-weight: 600; list-style: none; }
.fqrc-settings > summary::-webkit-details-marker { display: none; }
.fqrc-settings > summary::after { content: "+"; font-size: 20px; line-height: 1; color: #64748b; }
.fqrc-settings[open] > summary::after { content: "−"; }
.fqrc-settings-body { padding: 0 14px 16px; }
.fqrc-customize .fqrc-reset { margin: 18px 0 0; }
.fqrc-upload { position: relative; }
.fqrc-upload input { display: block; position: absolute; width: 1px; height: 1px; opacity: 0; }
.fqrc-upload:focus-within { outline: 3px solid #2563eb; outline-offset: 3px; }
.fqrc-preset:focus-visible, .fqrc-settings summary:focus-visible, .qr-generator-nav-item:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.fqrc-free-note { font-size: 13px; font-weight: 600; line-height: 1.6; color: #166534; margin: 0; }
.fqrc-download-buttons { margin-top: 16px; }
.qr-generator-nav { background: transparent; border-bottom: 0; }
.qr-generator-nav-inner { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; overflow: visible; padding: 4px; }
.qr-generator-nav-item { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; padding: 14px 10px; white-space: normal; border: 1px solid #dbe2ea; background: #fff; color: #475569; }
.qr-type-icon { width: 24px; height: 24px; flex-shrink: 0; }
.qr-generator-nav-item strong { display: block; font-size: 14px; }
.qr-generator-nav-item small { display: block; margin-top: 4px; font-size: 11px; font-weight: 400; line-height: 1.5; }
.qr-generator-nav-item[aria-current="page"] { color: #1d4ed8; background: #eff6ff; border-color: #2563eb; }
@media (max-width: 1000px) { .qr-generator-nav-inner { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 800px) {
    .fqrc-layout { grid-template-areas: "content" "preview" "custom"; grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .fqrc-preview-column { order: initial; position: static; }
    .fqrc-customize { padding: 18px; }
    .fqrc-preview { min-height: 220px; }
}
@media (max-width: 480px) {
    .qr-generator-nav-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qr-generator-nav-item { flex-direction: row; align-items: center; padding: 10px; }
    .fqrc-presets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.whatsapp-fields, .vcard-fields, .email-fields { display: none; }
.qr-whatsapp .whatsapp-fields, .qr-vcard .vcard-fields, .qr-email .email-fields { display: block; }
.qr-whatsapp #fqrc-data, .qr-vcard #fqrc-data { display: none; }
.qr-generator-nav-inner { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1000px) { .qr-generator-nav-inner { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 480px) { .qr-generator-nav-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

#fqrc-content-label[hidden] { display: none; }

.fqrc-scan-result { border-top: 1px solid #e5e7eb; padding-top: 14px; margin-top: 14px; }
#fqrc-scan-status { font-size: 14px; color: #64748b; }
#fqrc-scan-status[data-state="verified"] { color: #15803d; }
#fqrc-scan-status[data-state="warning"] { color: #b45309; }
.fqrc-print-summary { font-size: 13px; line-height: 1.6; color: #334155; }
.fqrc-print-warnings { padding-left: 20px; color: #92400e; font-size: 13px; line-height: 1.6; }
.fqrc-print-warnings:empty { display: none; }
.fqrc-sign-preview { margin: 16px 0; }
.fqrc-sign-preview canvas { width: 100%; max-width: 360px; height: auto; display: block; border: 1px solid #e5e7eb; }
.fqrc-save-link { display: inline-block; color: #1d4ed8; font-size: 13px; }
.fqrc-save-link[hidden] { display: none; }
#fqrc-sign-pdf:disabled, #fqrc-print-png:disabled { opacity: .5; cursor: not-allowed; }

#fqrc-filename-hint { overflow-wrap: anywhere; }

.bulk-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 20px; margin-top: 18px; }
.bulk-panel { min-width: 0; padding: 22px; border: 1px solid #e5e7eb; border-radius: 14px; background: #fff; }
.bulk-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; }
.bulk-actions .fqrc-upload { min-height: 42px; }
.bulk-colour { width: 100%; height: 42px; padding: 3px; border: 1px solid #d1d5db; border-radius: 8px; background: white; }
.bulk-results { margin-top: 20px; }
.bulk-table-wrap { overflow-x: auto; max-height: 450px; border: 1px solid #e5e7eb; border-radius: 8px; }
.bulk-table { width: 100%; border-collapse: collapse; font-size: 13px; table-layout: fixed; }
.bulk-table th, .bulk-table td { padding: 10px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid #e5e7eb; overflow-wrap: anywhere; }
.bulk-table th { background: #f8fafc; position: sticky; top: 0; }
.bulk-table th:first-child { width: 52px; }
.bulk-table th:nth-child(2) { width: 40%; }
.bulk-table th:nth-child(3) { width: 22%; }
.bulk-table tr[data-state="invalid"] td:last-child { color: #b45309; }
.bulk-table tr[data-state="verified"] td:last-child { color: #15803d; }
.bulk-previews { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.bulk-previews figure { margin: 0; }
.bulk-previews canvas { display: block; width: 100%; max-width: 160px; height: auto; }
.bulk-previews figcaption { font-size: 12px; color: #475569; overflow-wrap: anywhere; margin-top: 6px; }
.bulk-download { display: inline-block; text-decoration: none; }
.bulk-download[hidden] { display: none; }
#qr-bulk button:disabled { opacity: .5; cursor: not-allowed; }
.bulk-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
@media (max-width: 800px) { .bulk-layout { grid-template-columns: minmax(0, 1fr); } .bulk-panel { padding: 18px; } .bulk-previews { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .bulk-table { min-width: 580px; } }

.qr-editorial { max-width: 100%; padding: 24px; border: 1px solid #e5e7eb; border-radius: 14px; background: #fff; line-height: 1.75; }
.qr-editorial > section { margin-top: 28px; }
.qr-editorial h2 { font-size: 1.35rem; font-weight: 650; margin-bottom: 12px; }
.qr-editorial li { margin-bottom: 10px; }
.qr-editorial code { overflow-wrap: anywhere; }
.qr-editorial pre { overflow-x: auto; padding: 16px; border-radius: 8px; background: #f8fafc; }
.qr-editorial-date { color: #64748b; font-size: 12px; }
.qr-editorial-faq details { margin-bottom: 12px; border: 1px solid #e5e7eb; border-radius: 8px; padding: 12px 16px; }
.qr-editorial-faq summary { font-weight: 600; cursor: pointer; }
.qr-editorial-faq p { margin-top: 10px; }
.qr-editorial-links { padding-top: 18px; border-top: 1px solid #e5e7eb; }
@media (max-width: 600px) { .qr-editorial { padding: 18px; } }
