/**
 * STOP Wallet — My QR
 * Premium Red + Green / Compact / Centered / Responsive
 *
 * Visual only.
 * Existing QR generation JavaScript/JSON payload selectors preserved.
 */

.sw-myqr-page {
    --sw-red: #e31837;
    --sw-red-dark: #c8102e;
    --sw-green: #079b63;
    --sw-green-dark: #057a4f;

    --sw-text: #172033;
    --sw-soft: #526078;
    --sw-muted: #718096;
    --sw-border: #dce3ea;

    width: 100%;
    max-width: 1180px;

    min-height: 100%;

    margin: 0 auto;
    padding: 18px 12px 30px;

    box-sizing: border-box;

    display: flex;
    align-items: center;
    justify-content: center;

    position: relative;
}

.sw-myqr-page * {
    box-sizing: border-box;
}

/* =========================================================
   MAIN CARD
   ========================================================= */

.sw-myqr-card {
    width: min(100%, 520px);

    position: relative;

    margin: 0 auto;
    padding: 28px 26px 22px;

    text-align: center;

    border: 1px solid #dce8e2;
    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #fffafa 48%,
            #f3fcf8 100%
        );

    box-shadow:
        0 24px 60px rgba(23, 32, 51, .085),
        0 7px 24px rgba(7, 155, 99, .045);

    overflow: hidden;
}

/* Top red → green line */
.sw-myqr-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;
    right: 0;

    height: 4px;

    background:
        linear-gradient(
            90deg,
            var(--sw-red) 0%,
            #e92d4c 35%,
            #b84c57 50%,
            var(--sw-green) 72%,
            var(--sw-green-dark) 100%
        );
}

/* Soft corner glow */
.sw-myqr-card::after {
    content: "";

    position: absolute;

    width: 190px;
    height: 190px;

    top: -115px;
    right: -85px;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            rgba(227, 24, 55, .10),
            rgba(7, 155, 99, .10)
        );

    pointer-events: none;
}

/* =========================================================
   ICON
   ========================================================= */

.sw-myqr-icon {
    width: 62px;
    height: 62px;

    margin: 2px auto 11px;

    display: flex;
    align-items: center;
    justify-content: center;

    position: relative;
    z-index: 1;

    border-radius: 18px;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            var(--sw-red) 0%,
            #e32e4b 44%,
            var(--sw-green) 100%
        );

    box-shadow:
        0 12px 26px rgba(227, 24, 55, .15);

    font-size: 28px;
    line-height: 1;
}

/* =========================================================
   TITLE / DESCRIPTION
   ========================================================= */

.sw-myqr-title {
    position: relative;
    z-index: 1;

    color: var(--sw-text);

    font-size: 24px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: -.4px;
}

.sw-myqr-description {
    position: relative;
    z-index: 1;

    max-width: 390px;

    margin: 7px auto 17px;

    color: var(--sw-soft);

    font-size: 12px;
    line-height: 1.65;
}

/* =========================================================
   QR CONTAINER
   ========================================================= */

.sw-myqr-box {
    position: relative;
    z-index: 1;

    width: min(100%, 285px);
    min-height: 285px;

    margin: 0 auto 15px;
    padding: 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #cfd9df;
    border-radius: 18px;

    background: #fff;

    box-shadow:
        inset 0 0 0 5px #f8fafb,
        0 10px 25px rgba(23, 32, 51, .055);
}

/* QR generator may inject canvas / image / svg */
.sw-myqr-box canvas,
.sw-myqr-box img,
.sw-myqr-box svg {
    display: block;

    max-width: 100%;
    height: auto;

    margin: auto;
}

/* Preserve generated QR dimensions while preventing overflow */
.sw-myqr-box img,
.sw-myqr-box canvas {
    width: auto;
    max-width: 100%;
}

.sw-myqr-box svg {
    width: min(100%, 245px);
    height: auto;
}

/* =========================================================
   USER INFO
   ========================================================= */

.sw-myqr-name {
    position: relative;
    z-index: 1;

    color: var(--sw-text);

    font-size: 16px;
    line-height: 1.35;
    font-weight: 850;
}

.sw-myqr-mobile {
    position: relative;
    z-index: 1;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 29px;

    margin-top: 6px;
    padding: 4px 10px;

    border: 1px solid #bcebd8;
    border-radius: 999px;

    background: #effcf6;

    color: var(--sw-green-dark);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: .15px;
}

/* =========================================================
   WARNING
   ========================================================= */

.sw-qr-warning {
    position: relative;
    z-index: 1;

    margin: 0 auto 13px;
    padding: 11px 12px;

    border: 1px solid #ffd4db;
    border-left: 4px solid var(--sw-red);
    border-radius: 11px;

    background: #fff5f7;

    color: #a91f36;

    font-size: 11px;
    line-height: 1.5;
}

/* =========================================================
   NOTE
   ========================================================= */

.sw-myqr-note {
    position: relative;
    z-index: 1;

    margin: 15px auto 0;
    padding: 11px 12px;

    border: 1px solid #d9e8e1;
    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            #f6fffb,
            #fffafb
        );

    color: var(--sw-muted);

    font-size: 10px;
    line-height: 1.6;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .sw-myqr-page {
        min-height: auto;

        padding: 12px 8px 22px;
    }

    .sw-myqr-card {
        width: min(100%, 430px);

        padding: 23px 15px 19px;

        border-radius: 18px;
    }

    .sw-myqr-icon {
        width: 57px;
        height: 57px;

        border-radius: 16px;

        font-size: 25px;
    }

    .sw-myqr-title {
        font-size: 21px;
    }

    .sw-myqr-description {
        margin-bottom: 14px;

        font-size: 10px;
    }

    .sw-myqr-box {
        width: min(100%, 275px);
        min-height: 275px;

        padding: 15px;

        border-radius: 15px;
    }

    .sw-myqr-box svg {
        width: min(100%, 235px);
    }

    .sw-myqr-name {
        font-size: 14px;
    }

    .sw-myqr-mobile {
        font-size: 10px;
    }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 390px) {

    .sw-myqr-page {
        padding: 8px 5px 18px;
    }

    .sw-myqr-card {
        padding: 20px 12px 17px;

        border-radius: 15px;
    }

    .sw-myqr-icon {
        width: 52px;
        height: 52px;

        border-radius: 14px;

        font-size: 23px;
    }

    .sw-myqr-title {
        font-size: 19px;
    }

    .sw-myqr-description {
        font-size: 9px;
        line-height: 1.55;
    }

    .sw-myqr-box {
        width: min(100%, 250px);
        min-height: 250px;

        padding: 12px;

        border-radius: 14px;
    }

    .sw-myqr-box svg {
        width: min(100%, 220px);
    }

    .sw-myqr-note,
    .sw-qr-warning {
        font-size: 9px;
    }
}

/* =========================================================
   DARK / THEME CONFLICT PROTECTION
   ========================================================= */

.sw-myqr-page .sw-myqr-title,
.sw-myqr-page .sw-myqr-name,
.sw-myqr-page .sw-myqr-description,
.sw-myqr-page .sw-myqr-mobile,
.sw-myqr-page .sw-myqr-note,
.sw-myqr-page .sw-qr-warning {
    opacity: 1 !important;
    visibility: visible !important;
}

/* ============================================================
   STOP WALLET — FINAL PREMIUM VISUAL SYSTEM
   RED + GREEN / CENTERED / BORDER / RADIUS / PADDING
   DESIGN + COLOR ONLY
   ============================================================ */

:root{
    --sw-premium-red:#e31837;
    --sw-premium-red-dark:#c8102e;
    --sw-premium-green:#079b63;
    --sw-premium-green-dark:#057a4f;

    --sw-premium-text:#172033;
    --sw-premium-soft:#526078;
    --sw-premium-muted:#718096;
    --sw-premium-border:#dce3ea;
    --sw-premium-border-strong:#c7d1db;

    --sw-premium-bg:#f6fbf9;
    --sw-premium-white:#fff;

    --sw-premium-shadow:
        0 16px 42px rgba(23,32,51,.075);
    --sw-premium-shadow-soft:
        0 8px 24px rgba(23,32,51,.05);
}

/* -----------------------------
   Centered page canvases
   ----------------------------- */

.sw-wallet-page,
.sw-family-page,
.sw-notification-page,
.sw-myqr-page,
.sw-checkout,
.sw-pm,
.sw-pm-settings,
.sw-payment-method,
.sw-transaction-history,
.sw-sb,
.sw-module-card,
.sw-auth-wrapper,
.sw-login-wrapper,
.sw-register-wrapper,
.sw-profile-wrapper{
    box-sizing:border-box;
}

/* -----------------------------
   Generic premium module card
   ----------------------------- */

.sw-module-card{
    position:relative;

    width:calc(100% - 20px);
    max-width:720px;

    margin:16px auto !important;
    padding:18px !important;

    border:1px solid var(--sw-premium-border) !important;
    border-radius:18px !important;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #fffafb 48%,
            #f3fbf7 100%
        ) !important;

    box-shadow:var(--sw-premium-shadow) !important;

    color:var(--sw-premium-text);

    overflow:hidden;
}

.sw-module-card::before{
    content:"";

    position:absolute;
    top:0;
    left:0;
    right:0;

    height:3px;

    background:
        linear-gradient(
            90deg,
            var(--sw-premium-red),
            #c94b58 50%,
            var(--sw-premium-green)
        );
}

.sw-module-icon{
    border-radius:12px !important;

    color:#fff !important;
    -webkit-text-fill-color:#fff !important;

    background:
        linear-gradient(
            135deg,
            var(--sw-premium-red),
            #c84b58 48%,
            var(--sw-premium-green)
        ) !important;

    box-shadow:
        0 8px 18px rgba(227,24,55,.13);
}

.sw-module-card h2{
    color:var(--sw-premium-text) !important;
    -webkit-text-fill-color:var(--sw-premium-text) !important;
}

.sw-module-card p{
    color:var(--sw-premium-soft) !important;
    -webkit-text-fill-color:var(--sw-premium-soft) !important;
}

/* -----------------------------
   Shared module buttons
   ----------------------------- */

.sw-module-action,
.sw-primary-btn,
.sw-sb button.primary,
.sw-sb button.dark{
    border:0 !important;
    border-radius:11px !important;

    color:#fff !important;
    -webkit-text-fill-color:#fff !important;

    background:
        linear-gradient(
            105deg,
            var(--sw-premium-red) 0%,
            #df2a48 34%,
            #b64d58 50%,
            var(--sw-premium-green) 73%,
            var(--sw-premium-green-dark) 100%
        ) !important;

    box-shadow:
        0 9px 21px rgba(7,155,99,.13),
        0 5px 13px rgba(227,24,55,.08) !important;

    font:inherit;
    font-weight:850;

    cursor:pointer;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        filter .18s ease;
}

.sw-module-action:hover,
.sw-primary-btn:hover,
.sw-sb button.primary:hover,
.sw-sb button.dark:hover{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;

    transform:translateY(-1px);

    box-shadow:
        0 13px 27px rgba(7,155,99,.17) !important;

    filter:brightness(1.02);
}

/* -----------------------------
   Shared fields
   ----------------------------- */

.sw-wallet-page input,
.sw-wallet-page select,
.sw-wallet-page textarea,
.sw-family-page input,
.sw-family-page select,
.sw-family-page textarea,
.sw-sb input,
.sw-sb select,
.sw-sb textarea,
.sw-module-card input,
.sw-module-card select,
.sw-module-card textarea,
.sw-myqr-page input,
.sw-myqr-page select,
.sw-myqr-page textarea{
    border:1px solid var(--sw-premium-border-strong) !important;
    border-radius:11px !important;

    background:#fff !important;

    color:var(--sw-premium-text) !important;
    -webkit-text-fill-color:var(--sw-premium-text) !important;

    outline:0 !important;

    box-shadow:
        inset 0 1px 2px rgba(23,32,51,.018) !important;

    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.sw-wallet-page input:hover,
.sw-wallet-page select:hover,
.sw-wallet-page textarea:hover,
.sw-family-page input:hover,
.sw-family-page select:hover,
.sw-family-page textarea:hover,
.sw-sb input:hover,
.sw-sb select:hover,
.sw-sb textarea:hover,
.sw-module-card input:hover,
.sw-module-card select:hover,
.sw-module-card textarea:hover{
    border-color:#aebbc7 !important;
}

.sw-wallet-page input:focus,
.sw-wallet-page select:focus,
.sw-wallet-page textarea:focus,
.sw-family-page input:focus,
.sw-family-page select:focus,
.sw-family-page textarea:focus,
.sw-sb input:focus,
.sw-sb select:focus,
.sw-sb textarea:focus,
.sw-module-card input:focus,
.sw-module-card select:focus,
.sw-module-card textarea:focus{
    border-color:var(--sw-premium-green) !important;

    box-shadow:
        0 0 0 3px rgba(7,155,99,.09),
        0 7px 18px rgba(7,155,99,.04) !important;
}

.sw-wallet-page input::placeholder,
.sw-family-page input::placeholder,
.sw-sb input::placeholder,
.sw-module-card input::placeholder{
    color:#98a4b1 !important;
    -webkit-text-fill-color:#98a4b1 !important;
    opacity:1;
}

/* -----------------------------
   Savings / Qorjian / Welfare /
   Donation shared card
   ----------------------------- */

.sw-sb{
    width:calc(100% - 20px) !important;
    max-width:900px !important;

    margin:16px auto !important;
    padding:0 0 24px !important;

    box-sizing:border-box;

    color:var(--sw-premium-text);
}

.sw-sb-head{
    padding:17px 18px !important;

    margin-bottom:12px !important;

    border:1px solid var(--sw-premium-border) !important;
    border-radius:16px !important;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fff9fa 52%,
            #f2fbf7
        ) !important;

    box-shadow:var(--sw-premium-shadow-soft) !important;
}

.sw-sb-head h2{
    margin:0 0 4px !important;

    color:var(--sw-premium-text) !important;
    -webkit-text-fill-color:var(--sw-premium-text) !important;

    font-size:22px !important;
    font-weight:900 !important;
}

.sw-sb-head p{
    margin:0 !important;

    color:var(--sw-premium-soft) !important;
    -webkit-text-fill-color:var(--sw-premium-soft) !important;

    font-size:11px !important;
    line-height:1.55 !important;
}

.sw-sb-card{
    position:relative !important;

    padding:18px !important;

    border:1px solid var(--sw-premium-border) !important;
    border-radius:18px !important;

    background:#fff !important;

    box-shadow:var(--sw-premium-shadow) !important;

    overflow:hidden;
}

.sw-sb-card::before{
    content:"";

    position:absolute;

    top:0;
    left:0;
    right:0;

    height:3px;

    background:
        linear-gradient(
            90deg,
            var(--sw-premium-red),
            var(--sw-premium-green)
        );
}

.sw-sb-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:9px !important;

    margin-bottom:14px !important;
}

.sw-sb-stat{
    padding:11px 12px !important;

    border:1px solid #e2e9ed !important;
    border-radius:12px !important;

    background:
        linear-gradient(
            145deg,
            #fff,
            #f5faf8
        ) !important;
}

.sw-sb-stat small{
    display:block !important;

    color:var(--sw-muted) !important;
    font-size:9px !important;
}

.sw-sb-stat strong{
    display:block !important;

    margin-top:3px !important;

    color:var(--sw-premium-text) !important;
    -webkit-text-fill-color:var(--sw-premium-text) !important;

    font-size:14px !important;
}

.sw-sb-card > label,
.sw-sb-pin label{
    display:block !important;

    margin:0 0 6px !important;

    color:var(--sw-premium-text) !important;
    -webkit-text-fill-color:var(--sw-premium-text) !important;

    font-size:11px !important;
    font-weight:850 !important;
}

.sw-sb-actions{
    gap:8px !important;
}

.sw-sb-msg{
    margin-top:12px !important;

    padding:10px 11px !important;

    border:1px solid #dce9e2 !important;
    border-radius:10px !important;

    background:#f5fbf8 !important;

    color:var(--sw-premium-soft) !important;
}

.sw-sb-pin{
    margin-top:12px !important;
    padding:12px !important;

    border:1px dashed #c9ded5 !important;
    border-radius:12px !important;

    background:#f8fcfa !important;
}

/* -----------------------------
   Notification
   ----------------------------- */

.sw-notification-page{
    width:calc(100% - 20px) !important;
    max-width:980px !important;

    margin:16px auto !important;
}

.sw-notification-head,
.sw-notification-item,
.sw-notification-toolbar,
.sw-notification-empty{
    border-color:var(--sw-premium-border) !important;
}

.sw-notification-head{
    border-radius:16px !important;

    background:
        linear-gradient(
            145deg,
            #fff,
            #fff9fa 50%,
            #f3fbf7
        ) !important;

    box-shadow:var(--sw-premium-shadow-soft) !important;
}

.sw-notification-head h2,
.sw-notification-title-row strong{
    color:var(--sw-premium-text) !important;
}

.sw-notification-head p,
.sw-notification-toolbar,
.sw-notification-body p,
.sw-notification-body time{
    color:var(--sw-premium-soft) !important;
}

.sw-notification-readall{
    color:#fff !important;

    background:
        linear-gradient(
            135deg,
            var(--sw-premium-red),
            var(--sw-premium-green)
        ) !important;
}

/* -----------------------------
   Payment Method
   ----------------------------- */

.sw-pm-settings{
    width:calc(100% - 20px) !important;
    max-width:1080px !important;
    margin:16px auto !important;
}

.sw-pm-settings-hero{
    border:1px solid #dce8e2 !important;
    border-radius:17px !important;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #fff9fa 48%,
            #eefaf5
        ) !important;

    color:var(--sw-premium-text) !important;
    box-shadow:var(--sw-premium-shadow-soft) !important;
}

.sw-pm-settings h2,
.sw-pm-settings h3{
    color:var(--sw-premium-text) !important;
}

.sw-pm-kicker,
.sw-pm-section-kicker{
    color:var(--sw-premium-green-dark) !important;
}

.sw-pm-card{
    border:1px solid var(--sw-premium-border) !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:var(--sw-premium-shadow-soft) !important;
}

.sw-pm-field input,
.sw-pm-field textarea,
.sw-pm-field select,
.sw-pm-grid input,
.sw-pm-grid textarea,
.sw-pm-grid select,
.sw-pm-bank-row input,
.sw-pm-bank-row textarea{
    border:1px solid var(--sw-premium-border-strong) !important;
}

.sw-pm-field input:focus,
.sw-pm-field textarea:focus,
.sw-pm-field select:focus,
.sw-pm-bank-row input:focus,
.sw-pm-bank-row textarea:focus{
    border-color:var(--sw-premium-green) !important;
    box-shadow:0 0 0 3px rgba(7,155,99,.09) !important;
}

.sw-pm-status.on{
    color:var(--sw-premium-green-dark) !important;
    background:#eaf9f3 !important;
}

/* -----------------------------
   Transaction history
   ----------------------------- */

.sw-transaction-history{
    width:calc(100% - 20px) !important;
    max-width:1000px !important;

    margin:16px auto !important;
    padding:18px !important;

    border:1px solid var(--sw-premium-border) !important;
    border-radius:17px !important;

    background:#fff !important;
    box-shadow:var(--sw-premium-shadow) !important;
}

.sw-payment-balance{
    border:1px solid #dce9e2 !important;
    background:
        linear-gradient(
            105deg,
            #f2fbf6,
            #fffafa
        ) !important;
}

.sw-payment-table-wrap{
    border-color:#dfe7eb !important;
    border-radius:12px !important;
}

.sw-payment-table th{
    background:#f4faf7 !important;
    color:#526078 !important;
}

.sw-payment-table td{
    color:#405267 !important;
}

/* -----------------------------
   My QR
   ----------------------------- */

.sw-myqr-page{
    width:calc(100% - 20px) !important;
    max-width:900px !important;
    margin:16px auto !important;
}

/* -----------------------------
   Shared status colors
   ----------------------------- */

.sw-status,
.sw-payment-status,
.sw-status-pill{
    opacity:1 !important;
}

.sw-status.sw-verified,
.sw-status-pill.is-success,
.sw-payment-status{
    color:var(--sw-premium-green-dark) !important;
    background:#eaf9f3 !important;
}

.sw-status.sw-pending,
.sw-status-pill.is-pending{
    color:#a16207 !important;
    background:#fff7df !important;
}

.sw-status.sw-rejected{
    color:var(--sw-premium-red-dark) !important;
    background:#fff0f3 !important;
}

/* -----------------------------
   Mobile
   ----------------------------- */

@media(max-width:680px){
    .sw-module-card,
    .sw-wallet-page,
    .sw-family-page,
    .sw-notification-page,
    .sw-checkout,
    .sw-pm-settings,
    .sw-transaction-history,
    .sw-myqr-page,
    .sw-sb{
        width:calc(100% - 10px) !important;
    }

    .sw-sb-grid{
        grid-template-columns:1fr !important;
    }

    .sw-sb-actions{
        display:flex !important;
        flex-direction:column !important;
    }

    .sw-sb-actions button{
        width:100% !important;
    }
}

@media(max-width:390px){
    .sw-module-card,
    .sw-wallet-page,
    .sw-family-page,
    .sw-notification-page,
    .sw-checkout,
    .sw-pm-settings,
    .sw-transaction-history,
    .sw-myqr-page,
    .sw-sb{
        width:calc(100% - 6px) !important;
    }
}

/* PREMIUM POLISH: QR module visual spacing — design only */
.sw-myqr-card{
    border-radius:20px!important;
    padding:22px!important;
}
.sw-myqr-title{
    text-align:center!important;
}


/* =========================================================
   QR CAMERA MODAL FIX
   Keep scanner inside the current page viewport.
   Design / viewport behavior only.
   ========================================================= */

.sw-ctxqr-backdrop{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    min-height:100dvh !important;
    margin:0 !important;
    padding:16px !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:rgba(10,18,32,.72) !important;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
    overflow:auto !important;
    z-index:2147483000 !important;
}

.sw-ctxqr-modal{
    position:relative !important;
    width:min(100%,430px) !important;
    max-height:calc(100dvh - 32px) !important;
    margin:0 auto !important;
    padding:18px !important;
    box-sizing:border-box !important;
    overflow:auto !important;
    border:1px solid rgba(255,255,255,.28) !important;
    border-radius:20px !important;
    background:#fff !important;
    box-shadow:0 24px 70px rgba(0,0,0,.30) !important;
    text-align:center !important;
}

.sw-ctxqr-modal h3{
    margin:0 0 13px !important;
    color:#172033 !important;
    font-size:17px !important;
    line-height:1.4 !important;
    font-weight:700 !important;
}

.sw-ctxqr-video{
    display:block !important;
    width:100% !important;
    max-width:390px !important;
    height:auto !important;
    aspect-ratio:4 / 3 !important;
    margin:0 auto !important;
    object-fit:cover !important;
    background:#0b1220 !important;
    border:1px solid #dce3ea !important;
    border-radius:14px !important;
    overflow:hidden !important;
}

.sw-ctxqr-status{
    margin:10px auto 0 !important;
    color:#667085 !important;
    font-size:12px !important;
    line-height:1.5 !important;
}

.sw-ctxqr-actions{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin-top:13px !important;
}

.sw-ctxqr-actions button{
    min-width:105px !important;
    min-height:36px !important;
    padding:7px 14px !important;
    border:1px solid #d8dee8 !important;
    border-radius:9px !important;
    background:linear-gradient(135deg,#f8fafc,#eef2f7) !important;
    color:#172033 !important;
    font:600 12px/1.3 inherit !important;
    cursor:pointer !important;
}

.sw-ctxqr-actions .sw-ctxqr-cancel{
    border-color:#e31837 !important;
    background:linear-gradient(135deg,#e31837,#c8102e) !important;
    color:#fff !important;
}

.sw-ctxqr-actions button:hover{
    transform:translateY(-1px);
    box-shadow:0 5px 14px rgba(15,23,42,.12) !important;
}

.sw-ctxqr-file-input{
    display:none !important;
}

@media(max-width:480px){
    .sw-ctxqr-backdrop{
        padding:10px !important;
    }

    .sw-ctxqr-modal{
        width:100% !important;
        max-height:calc(100dvh - 20px) !important;
        padding:14px !important;
        border-radius:16px !important;
    }

    .sw-ctxqr-modal h3{
        font-size:15px !important;
        margin-bottom:10px !important;
    }

    .sw-ctxqr-video{
        max-width:100% !important;
        aspect-ratio:4 / 3 !important;
        border-radius:12px !important;
    }

    .sw-ctxqr-actions{
        gap:7px !important;
    }

    .sw-ctxqr-actions button{
        flex:1 1 120px !important;
    }
}
