/* ════════════════════════════════════════════════════════════════════
   QROW v2 teema — laaditakse AINULT v2/index.php-s (dev.qrow.app/v2), qrow_boot6.css-i järel.
   Üks taust, üks pind, üks aktsent (QROW lilla) + logo teal rahale. Lamedad pinnad: eraldus
   toonisammu või 1px joonega, varje ainult hõljuvatel asjadel (QR-kaart, popup, menüü).
   Tume režiim: html[data-theme="dark"] (seab js/qrow_v2.js ja inline-skript <head>-is).
   Plokid: 1 tokenid · 2 kest (päis, nav, QR-kaart) · 3 üldised komponendid · 4 backendi inline-värvid
   tumedas · 5 v2 avaleht (qv2-*) · 6 profiili teemavalik · 7 desktop · 8–10 teenused/statistika ·
   11 logo · 12 vormid ja haldusvaated.
   ════════════════════════════════════════════════════════════════════ */

/* ── 1. Tokenid ── */
:root{
    --v-bg:#F3F3F6; --v-surface:#FFFFFF; --v-surface-2:#F6F6F9; --v-line:#E7E7EC; --v-line-2:#DADAE1;
    --v-ink:#16161C; --v-ink-2:#5B5B67; --v-ink-3:#8B8B96;
    --v-accent:#6E57D2; --v-accent-ink:#FFFFFF; --v-accent-soft:#EFECFB; --v-accent-text:#5A45BE;
    --v-money:#1F8A6E; --v-money-soft:#E4F4EF;
    --v-warn:#9A5B00; --v-warn-soft:#FDF2DF; --v-neg:#B4372F; --v-neg-soft:#FCE9E7;
    --v-bar:#D9D3F5; --v-scrim:rgba(14,14,20,.48);
    --v-float:0 12px 40px rgba(16,16,28,.16);
    --v-r:18px;
    color-scheme:light;
}
html[data-theme="dark"]{
    --v-bg:#0C0C0F; --v-surface:#16161A; --v-surface-2:#1D1D22; --v-line:#26262C; --v-line-2:#33333A;
    --v-ink:#F1F1F4; --v-ink-2:#A9A9B4; --v-ink-3:#74747F;
    --v-accent:#9A88FF; --v-accent-ink:#0C0C0F; --v-accent-soft:#221E3B; --v-accent-text:#B3A6FF;
    --v-money:#4FD1A5; --v-money-soft:#0F2A22;
    --v-warn:#F2B35A; --v-warn-soft:#2B2110; --v-neg:#FF7B72; --v-neg-soft:#2E1513;
    --v-bar:#3A3360; --v-scrim:rgba(0,0,0,.62);
    --v-float:0 12px 40px rgba(0,0,0,.55);
    color-scheme:dark;
}
/* NB: teema-klass on <html>-il, sest backend (mobile::setPageMenus) kirjutab body klassi üle. */
/* boot6 kasutab --p/--d/--muted/--line/--soft — suuname need v2 tokenitele */
html.qv2 body{
    --p:var(--v-accent); --d:var(--v-ink); --muted:var(--v-ink-2); --line:var(--v-line); --soft:var(--v-surface-2);
    font-family:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
    background:var(--v-bg)!important; color:var(--v-ink);
    -webkit-font-smoothing:antialiased;
}
html.qv2 body #qrow-app, html.qv2 body #qrow-popup{
    --bs-primary:var(--v-accent); --bs-body-color:var(--v-ink); --bs-body-bg:var(--v-bg);
    font-variant-numeric:tabular-nums;
}
html.qv2 body #qrow-app{color:var(--v-ink)}

/* ── 2. Kest ── */
html.qv2 body #qrow-app nav.navbar{background:var(--v-bg)!important;backdrop-filter:none;-webkit-backdrop-filter:none;
    border-bottom:1px solid var(--v-line)!important;box-shadow:none!important}
html.qv2 body #qrow-app .qrow-role-chip{background:var(--v-accent);color:var(--v-accent-ink);box-shadow:none}
html.qv2 body #qrow-app .qrow-role-chip.is-personal{background:var(--v-surface);color:var(--v-accent-text);border:1px solid var(--v-line)}

html.qv2 body #qrow-app .qrow-bottomnav{background:var(--v-surface);backdrop-filter:none;-webkit-backdrop-filter:none;
    border-top:1px solid var(--v-line);box-shadow:none}
html.qv2 body #qrow-app .qbn-item{color:var(--v-ink-3);font-weight:600}
html.qv2 body #qrow-app .qbn-item.active,html.qv2 body #qrow-app .qbn-item:hover{color:var(--v-accent-text)}
html.qv2 body #qrow-app .qbn-center{background:var(--v-accent);color:var(--v-accent-ink);border:0;
    box-shadow:0 0 0 5px var(--v-bg),0 8px 20px rgba(110,87,210,.35);width:60px;height:60px}
html.qv2 body #qrow-app .qbn-cart-badge{background:var(--v-neg)}

/* "Minu QR-kood" kinnitatud kaart + bottom sheet */
html.qv2 body #qrow-app .qr-sticky-card{background:var(--v-surface)!important;border:1px solid var(--v-line)!important;box-shadow:var(--v-float)!important}
html.qv2 body #qrow-app .qr-sticky-thumb{background:#fff;border:1px solid var(--v-line)}
html.qv2 body #qrow-app .qr-sticky-title{color:var(--v-ink)}
html.qv2 body #qrow-app .qr-sticky-sub,html.qv2 body #qrow-app .qr-sticky-arrow{color:var(--v-ink-3)}
html.qv2 body .qr-bs-overlay{background:var(--v-scrim)}
html.qv2 body .qr-bs{background:var(--v-surface);color:var(--v-ink);box-shadow:var(--v-float);transition:transform .42s cubic-bezier(.2,.9,.25,1)}
html.qv2 body .qr-bs-handle{background:var(--v-line-2)}
html.qv2 body .qr-bs-title,html.qv2 body .qr-bs-user-info strong{color:var(--v-ink)}
html.qv2 body .qr-bs-sub{color:var(--v-ink-2)}
html.qv2 body .qr-bs-user{border-top-color:var(--v-line)}
html.qv2 body .qr-bs-user-icon{background:var(--v-accent-soft)}
html.qv2 body .qr-bs-user-icon i,html.qv2 body .qr-bs-user-info span{color:var(--v-accent-text)}
html.qv2 body .qr-bs-close{background:var(--v-surface-2);color:var(--v-ink-2)}
html.qv2 body .qr-bs-hide{background:var(--v-surface-2);color:var(--v-ink)}
html.qv2 body .qr-bs-hide:hover{background:var(--v-line)}
html.qv2 body .qr-bs-img img,html.qv2 body #qrow-app .qr-reveal{background:#fff;padding:8px}   /* QR jääb valgele ka tumedas */
html.qv2 body #qrow-app .qr-wrap{background:var(--v-surface);border:1px solid var(--v-line);box-shadow:none}

/* Detaili-popup */
html.qv2 body #qrow-popup .qpop-backdrop{background:var(--v-scrim);backdrop-filter:none;-webkit-backdrop-filter:none}
html.qv2 body #qrow-popup .qpop-panel{background:var(--v-surface);border-color:var(--v-line);box-shadow:var(--v-float);color:var(--v-ink)}
html.qv2 body #qrow-popup .qpop-body .d-flex.gap-2.flex-wrap,
html.qv2 body #qrow-popup .qpop-body .noclicktoremove{background:var(--v-surface)}
html.qv2[data-theme="dark"] body .btn-close{filter:invert(1) grayscale(1) brightness(1.6)}
/* Sulgemis-× sama nagu QR-lehe .qr-bs-close: pinnatoonis ring, oma joonistatud rist. Tumeda üldine
   .btn-close invert-filter pööras ka ringi heledaks → valge rist valgel ringil, rist kadus. */
html.qv2 body #qrow-popup .qpop-x{width:34px;height:34px;padding:0;box-sizing:border-box;opacity:1;filter:none;box-shadow:none;
    background:var(--v-surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 4l8 8M12 4l-8 8' stroke='%235B5B67' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat}
html.qv2[data-theme="dark"] body #qrow-popup .qpop-x{filter:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 4l8 8M12 4l-8 8' stroke='%23A9A9B4' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
html.qv2 body #qrow-popup .qpop-x:hover{background-color:var(--v-line)}
/* Backendi QR-pilt (qrhandler: data-PNG, inline padding:0) — valge ruut ümarate nurkadega. Padding (inline
   0 tõttu !important) hoiab nurgaraadiuse valgel äärel, et lõikamine ei puutuks QR-i nurgamärke. */
html.qv2 body #qrow-popup .qpop-body img[src^="data:image/png"]{border-radius:var(--v-r);background:#fff;padding:10px!important;box-sizing:border-box}

/* Laadimisriba + skeleton */
html.qv2 body .bevira-loading{background:var(--v-accent-soft)}
html.qv2 body .bevira-loading::after{background:var(--v-accent)}
html.qv2 body .qrow-skel-card{background:var(--v-surface);box-shadow:none;border:1px solid var(--v-line)}
html.qv2 body .qrow-skel-row + .qrow-skel-row{border-top-color:var(--v-line)}
html.qv2 body .qrow-skel-b{background:linear-gradient(90deg,var(--v-surface-2) 25%,var(--v-line) 37%,var(--v-surface-2) 63%);background-size:300px 100%}

/* ── 3. Üldised komponendid (backendi Bootstrap-markup) ── */
html.qv2 body #qrow-app .card,html.qv2 body #qrow-popup .card:not(.qpop-body .card){
    background:var(--v-surface)!important;border:1px solid var(--v-line)!important;box-shadow:none!important;border-radius:var(--v-r)!important}
html.qv2 body #qrow-app .card[style*="gradient"],html.qv2 body #qrow-app button.card{background:var(--v-surface)!important}
html.qv2 body #qrow-app button.card:hover{background:var(--v-surface-2)!important}
html.qv2 body #qrow-app .shadow-sm,html.qv2 body #qrow-app .shadow{box-shadow:none!important}
html.qv2 body #qrow-app .card-body{color:var(--v-ink)}
html.qv2 body #qrow-app h1,html.qv2 body #qrow-app h2,html.qv2 body #qrow-app h3,html.qv2 body #qrow-app h4,html.qv2 body #qrow-app h5,html.qv2 body #qrow-app h6{color:var(--v-ink);letter-spacing:-.01em}
html.qv2 body #qrow-app h5.fw-bold{font-size:1.32rem;font-weight:800!important;letter-spacing:-.02em}
html.qv2 body .text-secondary,html.qv2 body .text-muted{color:var(--v-ink-2)!important}
html.qv2 body .text-dark,html.qv2 body .text-body{color:var(--v-ink)!important}
html.qv2 body .text-success{color:var(--v-money)!important}
html.qv2 body .text-danger{color:var(--v-neg)!important}
html.qv2 body .text-warning,html.qv2 body .text-warning-emphasis{color:var(--v-warn)!important}
html.qv2 body .text-primary{color:var(--v-accent-text)!important}
html.qv2 body .bg-light,html.qv2 body .bg-white{background:var(--v-surface-2)!important}
html.qv2 body .border,html.qv2 body .border-bottom,html.qv2 body .border-top{border-color:var(--v-line)!important}
html.qv2 body hr{border-color:var(--v-line);opacity:1}

html.qv2 body #qrow-app .btn-primary:not(.showMyQR),html.qv2 body #qrow-popup .btn-primary{
    background:var(--v-accent)!important;border-color:var(--v-accent)!important;color:var(--v-accent-ink)!important;box-shadow:none!important;font-weight:700}
html.qv2 body #qrow-app .btn-primary:not(.showMyQR):hover,html.qv2 body #qrow-popup .btn-primary:hover{filter:brightness(1.07)}
html.qv2 body #qrow-app .btn,html.qv2 body #qrow-popup .btn{transition:transform .12s ease,filter .12s ease,background .12s ease}
html.qv2 body #qrow-app .btn:active,html.qv2 body #qrow-popup .btn:active{transform:scale(.97)}
html.qv2 body #qrow-app .btn-outline-secondary,html.qv2 body #qrow-popup .btn-outline-secondary,
html.qv2 body #qrow-app .btn-light,html.qv2 body #qrow-popup .btn-light{background:var(--v-surface)!important;border-color:var(--v-line-2)!important;color:var(--v-ink)!important}
html.qv2 body #qrow-app .btn-outline-primary,html.qv2 body #qrow-popup .btn-outline-primary{background:var(--v-accent-soft)!important;border-color:transparent!important;color:var(--v-accent-text)!important;box-shadow:none!important}
html.qv2 body #qrow-app .btn-success,html.qv2 body #qrow-popup .btn-success{background:var(--v-money)!important;border-color:var(--v-money)!important;color:var(--v-accent-ink)!important}
html.qv2 body #qrow-app .btn-outline-dark{border-color:var(--v-ink-2)!important;color:var(--v-ink)!important}

html.qv2 body .form-control,html.qv2 body .form-select,html.qv2 body #qrow-app .qrow-dd-toggle,html.qv2 body #qrow-popup .qrow-dd-toggle{
    background-color:var(--v-surface)!important;border:1px solid var(--v-line-2)!important;color:var(--v-ink)!important;border-radius:12px}
html.qv2 body .form-control::placeholder{color:var(--v-ink-3)}
html.qv2 body .form-control:focus,html.qv2 body .form-select:focus{border-color:var(--v-accent)!important;box-shadow:0 0 0 3px var(--v-accent-soft)!important}
html.qv2 body .input-group-text{background:var(--v-surface-2);border-color:var(--v-line-2);color:var(--v-ink-2)}
html.qv2 body #qrow-app .qrow-dd-panel,html.qv2 body #qrow-popup .qrow-dd-panel{background:var(--v-surface);border-color:var(--v-accent)}
html.qv2 body #qrow-app .qrow-dd-opt,html.qv2 body #qrow-popup .qrow-dd-opt{color:var(--v-ink)}

html.qv2 body #qrow-app .accordion-item{background:var(--v-surface);border:1px solid var(--v-line)!important;box-shadow:none}
html.qv2 body #qrow-app .accordion-button{background:var(--v-surface)!important;color:var(--v-ink)!important}
html.qv2 body #qrow-app .accordion-button:not(.collapsed){border-bottom-color:var(--v-line)}
html.qv2 body #qrow-app .accordion-body{background:var(--v-surface)}
html.qv2 body #qrow-app .accordion-button i.bi{color:var(--v-accent-text)}
html.qv2[data-theme="dark"] body #qrow-app .accordion-button::after{filter:invert(1) brightness(1.5)}

html.qv2 body #qrow-app .list-group-item,html.qv2 body #qrow-popup .list-group-item{background:var(--v-surface);border:1px solid var(--v-line)!important;color:var(--v-ink)}
html.qv2 body #qrow-app .list-group-item:hover{background:var(--v-surface-2);transform:none}
html.qv2 body #qrow-app .list-group-item h5{color:var(--v-ink)}
html.qv2 body #qrow-app .list-group-item p{color:var(--v-ink-2)}

html.qv2 body .table{color:var(--v-ink);--bs-table-bg:transparent;border-color:var(--v-line)}
html.qv2 body .table > :not(caption) > * > *{background-color:transparent;color:var(--v-ink);border-bottom-color:var(--v-line)}
html.qv2 body #qrow-app .table thead th{color:var(--v-ink-2);border-bottom:1px solid var(--v-line);font-weight:600}

html.qv2 body .alert-warning{background:var(--v-warn-soft)!important;color:var(--v-warn)!important;border:0!important}
html.qv2 body .alert-danger{background:var(--v-neg-soft)!important;color:var(--v-neg)!important;border:0!important}
html.qv2 body .alert-success{background:var(--v-money-soft)!important;color:var(--v-money)!important;border:0!important}
html.qv2 body .alert-info,html.qv2 body .alert-primary{background:var(--v-accent-soft)!important;color:var(--v-accent-text)!important;border:0!important}
html.qv2 body #qrow-app .badge{border-radius:11px}
html.qv2 body .bg-success-subtle{background:var(--v-money-soft)!important}
html.qv2 body .bg-warning-subtle{background:var(--v-warn-soft)!important}
html.qv2 body .bg-primary-subtle{background:var(--v-accent-soft)!important}
html.qv2 body .border-success-subtle,html.qv2 body .border-warning-subtle,html.qv2 body .border-primary-subtle{border-color:transparent!important}

html.qv2 body #qrow-app .qrow-chip{background:var(--v-surface);border-color:var(--v-line-2);color:var(--v-accent-text)}
html.qv2 body #qrow-app .qrow-chip-on{background:var(--v-accent);border-color:var(--v-accent);color:var(--v-accent-ink)}
html.qv2 body #qrow-app .qrow-pbar{background:var(--v-surface-2)}

/* Login-modaal (landingult) */
html.qv2 body .login-card-inner{background:var(--v-surface);border-color:var(--v-line);color:var(--v-ink)}
html.qv2 body .login-card-inner .tab-bar{background:var(--v-surface-2)}
html.qv2 body .login-card-inner .tab-btn.active{background:var(--v-surface);color:var(--v-ink)}
html.qv2 body .login-input,html.qv2 body .login-input-prefix,html.qv2 body .code-wrap input{background:var(--v-surface);border-color:var(--v-line-2);color:var(--v-ink)}
html.qv2 body .info-box-login{background:var(--v-surface-2);color:var(--v-ink-2)}
html.qv2 body .btn-q{background:var(--v-accent)!important;color:var(--v-accent-ink)!important;box-shadow:none}

/* ── 4. Backendi inline-värvid tumedas režiimis (vanad vaated kirjutavad heledad toonid style="" sisse) ── */
html.qv2[data-theme="dark"] body :is(#qrow-app,#qrow-popup) :is([style*="background:#fff;"],[style$="background:#fff"],[style*="background:#ffffff"],[style*="background-color:#fff;"],[style*="background:white"]){background:var(--v-surface)!important}
html.qv2[data-theme="dark"] body :is(#qrow-app,#qrow-popup) :is([style*="background:#f4f2fd"],[style*="background:#faf9ff"],[style*="background:#ede9fc"],[style*="background:#fafafe"],[style*="background:#f7f5ff"],[style*="background:#f0ebfc"],[style*="background:#ece5fb"],[style*="background:#f3f0fd"],[style*="background:#fbfaff"],[style*="background:#f6f5fb"],[style*="background:#f4f1fd"],[style*="background:#f4f1fc"],[style*="background:#f1eefb"],[style*="background:#f0ecfd"],[style*="background:#efeafe"],[style*="background:#ece7fa"],[style*="background:#efedf7"]){background:var(--v-accent-soft)!important}
html.qv2[data-theme="dark"] body :is(#qrow-app,#qrow-popup) :is([style*="background:#fff8ec"],[style*="background:#fff4e0"],[style*="background:#fff4e5"],[style*="background:#fff4e2"],[style*="background:#fbe4bd"]){background:var(--v-warn-soft)!important}
html.qv2[data-theme="dark"] body :is(#qrow-app,#qrow-popup) :is([style*="background:#fff1f0"],[style*="background:#ffe3df"],[style*="background:#fde4e1"]){background:var(--v-neg-soft)!important}
html.qv2[data-theme="dark"] body :is(#qrow-app,#qrow-popup) :is([style*="background:#eafaf0"],[style*="background:#e9f9ef"],[style*="background:#e8f5e9"]){background:var(--v-money-soft)!important}
html.qv2[data-theme="dark"] body :is(#qrow-app,#qrow-popup) :is([style*="background:#f1f1f4"],[style*="background:#f0f0f4"],[style*="background:#f0f0f0"],[style*="background:#f8f9fb"],[style*="background-color:#eee"],[style*="background:#e7e9f2"],[style*="background:#f1f5ff"],[style*="background:#e8efff"]){background:var(--v-surface-2)!important}
html.qv2[data-theme="dark"] body :is(#qrow-app,#qrow-popup) [style*="linear-gradient(135deg,#f"]{background:var(--v-surface)!important}
html.qv2[data-theme="dark"] body :is(#qrow-app,#qrow-popup) :is([style*="color:#10182f"],[style*="color:#2a2440"],[style*="color:#4a4560"]){color:var(--v-ink)!important}
html.qv2[data-theme="dark"] body :is(#qrow-app,#qrow-popup) :is([style*="color:#98a2b3"],[style*="color:#8a8fa3"],[style*="color:#888"],[style*="color:#666"],[style*="color:#6b6684"],[style*="color:#6c757d"],[style*="color:#6b7288"],[style*="color:#667085"]){color:var(--v-ink-2)!important}
html.qv2[data-theme="dark"] body :is(#qrow-app,#qrow-popup) :is([style*=";color:#806dd9"],[style*="\"color:#806dd9"],[style*="color:#6d5bc4"],[style*="color:#5e4fbb"]){color:var(--v-accent-text)!important}
html.qv2[data-theme="dark"] body :is(#qrow-app,#qrow-popup) :is([style*="border:1px solid #f"],[style*="border:1.5px solid #e"],[style*="border:1.5px solid #f"],[style*="border-bottom:1px solid #f"]){border-color:var(--v-line)!important}
/* boot6 CSS-i enda heledad toonid tumedas */
html.qv2[data-theme="dark"] body #qrow-app .layout-opt{background:var(--v-surface-2);border-color:var(--v-line)}
html.qv2[data-theme="dark"] body #qrow-app .lo-preview{background:var(--v-surface)}
html.qv2[data-theme="dark"] body #qrow-app .qrow-kboard-head{background:var(--v-bg);border-bottom-color:var(--v-line)}
html.qv2[data-theme="dark"] body .qrow-dash .qrow-stat-val{color:var(--v-ink)}
html.qv2[data-theme="dark"] body .qrow-dash .qrow-svc-ic{background:var(--v-accent-soft);color:var(--v-accent-text)}
html.qv2[data-theme="dark"] body .qrow-dash .qrow-act-ic{background:var(--v-money-soft);color:var(--v-money)}
html.qv2[data-theme="dark"] body img[src*="qrowctrans"]{filter:brightness(1.12)}

/* ── 5. v2 avaleht (betahome::merchantDashboardV2) ── */
.qv2-dash{padding-top:.25rem}
.qv2-titlerow{display:flex;align-items:center;gap:10px;margin:.25rem 0 .2rem}
.qv2-h1{flex:1;min-width:0;font-size:1.38rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0;color:var(--v-ink)}
.qv2-finding{color:var(--v-ink-2);font-size:.93rem;margin:0 0 .9rem}
.qv2-finding b{color:var(--v-ink);font-weight:700}
.qv2-chip{height:32px;padding:0 12px;border-radius:16px;border:1px solid var(--v-line-2);background:var(--v-surface);color:var(--v-ink);
    display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.82rem;white-space:nowrap;transition:border-color .12s}
.qv2-chip:hover{border-color:var(--v-ink-3)}
.qv2-primary{width:100%;height:50px;border:0;border-radius:14px;background:var(--v-accent);color:var(--v-accent-ink);font-weight:700;font-size:1rem;
    display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s ease,filter .12s ease}
.qv2-primary:hover{filter:brightness(1.07)}
.qv2-primary:active{transform:scale(.98)}
.qv2-newsale-d{display:none}
.qv2-card{background:var(--v-surface);border:1px solid var(--v-line);border-radius:var(--v-r);margin-top:12px}
.qv2-rows{overflow:hidden}
.qv2-row{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:11px 16px;border:0;background:transparent;text-align:left;color:var(--v-ink)}
.qv2-row + .qv2-row{border-top:1px solid var(--v-line)}
.qv2-row:hover{background:var(--v-surface-2)}
.qv2-ic{width:22px;display:flex;justify-content:center;color:var(--v-ink-3);font-size:1.15rem;flex-shrink:0}
.qv2-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.qv2-t1{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qv2-t2{font-size:.8rem;color:var(--v-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qv2-val{font-weight:700;white-space:nowrap}
.qv2-val small{font-weight:500;color:var(--v-ink-3);font-size:.78rem}
.qv2-money{color:var(--v-money)}
.qv2-chev{color:var(--v-ink-3)}
.qv2-empty{padding:18px 16px;color:var(--v-ink-2);font-size:.9rem}
.qv2-sec{display:flex;align-items:baseline;margin:22px 2px 0}
.qv2-sec h2{font-size:1.02rem;font-weight:700;margin:0;flex:1;color:var(--v-ink)}
.qv2-alert{display:flex;align-items:center;gap:12px;width:100%;margin-top:10px;padding:12px 14px;border:0;border-radius:14px;text-align:left}
.qv2-alert--neg{background:var(--v-neg-soft);color:var(--v-neg)}
.qv2-alert .qv2-t1{color:inherit;font-weight:700}
.qv2-alert .qv2-t2{color:inherit;opacity:.85}
.qv2-today{padding:16px}
.qv2-lbl{font-size:.82rem;color:var(--v-ink-2);font-weight:600}
.qv2-fig{font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-top:2px}
.qv2-dl{font-size:.82rem;font-weight:700}
.qv2-dl > span:last-child{color:var(--v-ink-3);font-weight:500}
.qv2-dash .up{color:var(--v-money)} .qv2-dash .down{color:var(--v-neg)} .qv2-dash .flat{color:var(--v-ink-3);font-weight:500}
.qv2-bars{display:flex;align-items:flex-end;gap:5px;height:76px;margin:16px 0 4px}
.qv2-bars div{flex:1;background:var(--v-bar);border-radius:4px 4px 2px 2px;transition:height .5s cubic-bezier(.2,.9,.25,1)}
.qv2-bars div.on{background:var(--v-accent)}
.qv2-bars-x{display:flex;gap:5px;font-size:.7rem;color:var(--v-ink-3)}
.qv2-bars-x span{flex:1;text-align:center}
.qv2-kpis{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--v-line);margin-top:14px}
.qv2-kpis > div{padding:12px 4px 0 0;display:flex;flex-direction:column;font-size:.72rem;font-weight:700}
.qv2-kpis > div + div{padding-left:14px;border-left:1px solid var(--v-line)}
.qv2-kpis b{font-size:1.2rem;font-weight:800;color:var(--v-ink)}
.qv2-kpis span:not(.up):not(.down):not(.flat){font-size:.75rem;color:var(--v-ink-2);font-weight:500}
.qv2-link{border:0;background:none;padding:12px 0 0;color:var(--v-accent-text);font-weight:600;font-size:.88rem}
/* v2 kodus olevad beeta-bännerid (köök, avatud arved, checklist…) → lame rida, ikooniruut neutraalseks */
.qv2-dash .qv2-col > button.card,.qv2-dash .qv2-col > .card{margin-top:10px!important}
.qv2-dash .qv2-col > button.card .card-body > span:first-child{background:var(--v-surface-2)!important;width:40px!important;height:40px!important;font-size:1.15rem!important}
.qv2-dash .qv2-col > .alert{margin:10px 0 0!important}
@media(prefers-reduced-motion:reduce){.qv2-bars div,html.qv2 body .qr-bs{transition:none}}

/* ── 6. Profiil: teemavalik ── */
.qv2-grp{font-size:.8rem;font-weight:700;color:var(--v-ink-2);margin:20px 2px 0}
.qv2-themepick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px}
.qv2-theme-opt{border:1.5px solid var(--v-line);background:transparent;border-radius:14px;padding:8px 8px 10px;font-size:.82rem;font-weight:600;color:var(--v-ink-2);transition:border-color .15s,color .15s}
.qv2-theme-opt.on{border-color:var(--v-accent);color:var(--v-ink)}
.qv2-pv{height:56px;border-radius:9px;margin-bottom:8px;display:flex;flex-direction:column;gap:5px;padding:8px;overflow:hidden}
.qv2-pv i{display:block;height:7px;border-radius:4px}
.qv2-pv--light{background:#F3F3F6;border:1px solid #E7E7EC}.qv2-pv--light i{background:#fff}.qv2-pv--light i:first-child{background:#6E57D2;width:40%}
.qv2-pv--dark{background:#0C0C0F;border:1px solid #26262C}.qv2-pv--dark i{background:#1D1D22}.qv2-pv--dark i:first-child{background:#9A88FF;width:40%}
.qv2-pv--system{background:linear-gradient(90deg,#F3F3F6 50%,#0C0C0F 50%);border:1px solid var(--v-line)}.qv2-pv--system i{background:rgba(128,128,140,.35)}

/* ── 7. Desktop (≥992): külgriba neutraalseks, kodu kaheks veeruks ── */
@media(min-width:992px){
    html.qv2 body #qrow-app .qrow-bottomnav{background:var(--v-bg);border-right:1px solid var(--v-line);box-shadow:none}
    html.qv2 body #qrow-app .qbn-item{color:var(--v-ink-2)}
    html.qv2 body #qrow-app .qbn-item:hover{background:var(--v-surface-2)}
    html.qv2 body #qrow-app .qbn-item.active{background:var(--v-surface);color:var(--v-ink);box-shadow:inset 0 0 0 1px var(--v-line)}
    html.qv2 body #qrow-app .qbn-item.active i{color:var(--v-accent-text)}
    html.qv2 body #qrow-app .qbn-center{width:auto;height:46px;box-shadow:none;border-radius:12px;order:-1;margin:0 0 .9rem}
    .qv2-h1{font-size:1.5rem}
    .qv2-newsale-d{display:block}
    .qv2-newsale-d .qv2-primary{width:auto;height:42px;padding:0 20px;border-radius:12px;font-size:.92rem}
    .qv2-newsale-m{display:none}
    .qv2-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;align-items:start}
    .qv2-col > :first-child{margin-top:0!important}
    .qv2-sec--first{margin-top:0}
}

/* ── 8. Teenused (betahome::merchantServices) — sama markup, v2 stiil ── */
html.qv2 body .qrow-services .qsv-group-lbl{font-size:.8rem;font-weight:700;text-transform:none;letter-spacing:0;color:var(--v-ink-2);margin:1.2rem 2px .5rem}
html.qv2 body .qrow-services .qsv-group-lbl:first-child{margin-top:.25rem}
html.qv2 body .qrow-services .qsv-ic{width:28px!important;height:28px!important;background:transparent!important;color:var(--v-ink-3)!important;font-size:1.25rem!important;border-radius:0}
html.qv2 body .qrow-services .qsv-ic svg{width:22px;height:22px}
html.qv2 body .qrow-services .qsv-choice{background:var(--v-surface)!important;border:1px solid var(--v-line)!important;color:var(--v-ink)!important;border-radius:var(--v-r)!important}
html.qv2 body .qrow-services .qsv-choice:hover{background:var(--v-surface-2)!important;border-color:var(--v-line-2)!important}
html.qv2 body .qrow-services .qsv-choice strong{font-weight:700}
html.qv2 body .qrow-services .qsv-row + .qsv-row{border-top-color:var(--v-line)}
html.qv2 body #qrow-app .qrow-services .qsv-cta{background:transparent!important;border:1px dashed var(--v-line-2)!important;color:var(--v-accent-text)!important;font-weight:700;height:48px;border-radius:14px!important}
html.qv2 body #qrow-app .qrow-services .qsv-cta:hover{background:var(--v-accent-soft)!important;transform:none;box-shadow:none!important}
html.qv2 body .qrow-services .card svg[style*="#98a2b3"]{color:var(--v-ink-3)!important}

/* ── 9. Statistika (betahome::merchantStats) ── */
html.qv2 body #qrow-app .qrow-pbtn{height:32px;padding:0 12px;border-radius:9px!important;border:0!important;background:transparent!important;color:var(--v-ink-2)!important;font-weight:600;box-shadow:none!important}
html.qv2 body #qrow-app .qrow-pbtn.active{background:var(--v-surface)!important;color:var(--v-ink)!important;box-shadow:0 1px 3px rgba(0,0,0,.12)!important}
html.qv2 body #qrow-app .qrow-pbtn:first-child{margin-left:0}
html.qv2 body #qrow-app .d-flex.gap-2:has(> .qrow-pbtn){gap:0!important;padding:3px;border-radius:12px;background:var(--v-surface-2);border:1px solid var(--v-line)}
html.qv2 body #qrow-app .qrow-dash-cta{background:var(--v-surface)!important;border:1px solid var(--v-line)!important;box-shadow:none!important;border-radius:var(--v-r)!important}
html.qv2 body #qrow-app .qrow-dash-cta .text-white{color:var(--v-ink)!important}
html.qv2 body #qrow-app .qrow-dash-cta .text-white[style*="opacity"]{color:var(--v-ink-2)!important;opacity:1!important}
html.qv2 body #qrow-app .qrow-dash-cta div[style*="rgba(255,255,255"]{background:transparent!important}
html.qv2 body #qrow-app .qrow-dash-cta i.bi{color:var(--v-ink-3)!important}
html.qv2 body #qrow-app .qrow-dash-cta i.bi-graph-up-arrow{color:var(--v-accent-text)!important}
html.qv2 body #qrow-app .qst-lbl{font-size:.82rem;color:var(--v-ink-2);font-weight:600}
html.qv2 body #qrow-app .qst-kpi{color:var(--v-ink);font-weight:800}
html.qv2 body #qrow-app .qst-kpi[style*="#22c55e"]{color:var(--v-money)!important}
html.qv2 body #qrow-app .qst-cta{background:var(--v-surface)!important;border:1px solid var(--v-line)!important;color:var(--v-ink)!important;border-radius:14px!important;height:48px;font-weight:700;box-shadow:none!important}
/* ApexCharts (tume režiim) */
html.qv2 body .apexcharts-gridline,html.qv2 body .apexcharts-xaxis line{stroke:var(--v-line)}
html.qv2 body .apexcharts-text tspan,html.qv2 body .apexcharts-xaxis-label,html.qv2 body .apexcharts-yaxis-label{fill:var(--v-ink-3)!important}
html.qv2[data-theme="dark"] body .apexcharts-tooltip{background:var(--v-surface-2)!important;border-color:var(--v-line)!important;color:var(--v-ink)}
html.qv2[data-theme="dark"] body .apexcharts-tooltip-title{background:var(--v-surface)!important;border-color:var(--v-line)!important}

/* ── 10. v2 Teenused + Statistika (merchantServicesV2 / merchantStatsV2) ── */
.qv2-grp{display:block}
.qv2-grp--first{margin-top:.5rem}
h2.qv2-grp{font-size:.8rem;font-weight:700;color:var(--v-ink-2);margin:20px 2px 0;letter-spacing:0}
.qv2-pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;font-size:.72rem;font-weight:700;white-space:nowrap}
.qv2-pill--warn{background:var(--v-warn-soft);color:var(--v-warn)}
.qv2-ghost{width:100%;height:48px;margin-top:10px;border-radius:14px;border:1px dashed var(--v-line-2);background:transparent;color:var(--v-accent-text);font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .12s}
.qv2-ghost:hover{background:var(--v-accent-soft)}
.qv2-campaigns{margin-top:8px}
html.qv2 body .qv2-campaigns .card{margin-bottom:8px!important}
html.qv2 body .qv2-campaigns .btn-sm{border-radius:10px;font-weight:600;font-size:.8rem}
html.qv2 body .qv2-campaigns .text-secondary.small{color:var(--v-ink-3)!important}
.qv2-seg{display:inline-flex;padding:3px;border-radius:12px;background:var(--v-surface-2);border:1px solid var(--v-line)}
.qv2-seg button{height:32px;padding:0 12px;border:0;border-radius:9px;background:transparent;font-size:.82rem;font-weight:600;color:var(--v-ink-2)}
.qv2-seg button.on{background:var(--v-surface);color:var(--v-ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.qv2-bars--tall{height:140px}
.qv2-best{padding:6px 16px 16px}
.qv2-meter-row{padding-top:12px}
.qv2-meter-h{display:flex;gap:8px;font-size:.88rem}
.qv2-meter-h span{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qv2-meter{height:8px;border-radius:4px;background:var(--v-surface-2);overflow:hidden;margin-top:6px}
.qv2-meter span{display:block;height:100%;border-radius:4px;background:var(--v-accent)}
.qv2-meter--n span{background:var(--v-ink-3)}
.qv2-kpis > div > b{white-space:nowrap}

/* ── 11. Uus QROW logo (v2/img) — tumedas valge "row" ── */
html.qv2 body #qrow-app nav.navbar .app-main-logo[src*="v2/img/qrow-logo.png"]{height:30px!important;max-height:30px!important;width:auto!important}
html.qv2[data-theme="dark"] body img[src*="v2/img/qrow-logo.png"]{content:url(../img/qrow-logo-dark.png)}

/* ── 12. Vormid ja haldusvaated (backendi <style>-plokkide heledad toonid → v2 tokenid) ── */
/* Uiverse checkbox/radio (betaprofile::_formStyle): hover oli #faf9ff → tumedas valge rida helehalli tekstiga */
html.qv2 body :is(.checkbox-container,.radio-container):hover{background:var(--v-surface-2)}
html.qv2 body :is(.checkmark,.radiomark){background-color:var(--v-surface-2);box-shadow:inset 0 0 0 1.5px var(--v-line-2);transition:background-color .15s,box-shadow .15s}
html.qv2 body :is(.checkbox-container,.radio-container):hover :is(.checkmark,.radiomark){box-shadow:inset 0 0 0 1.5px var(--v-ink-3)}
html.qv2 body .custom-checkbox:checked ~ .checkmark,html.qv2 body .custom-radio:checked ~ .radiomark{background-color:var(--v-accent);box-shadow:none}
html.qv2 body .checkmark:after{border-color:var(--v-accent-ink)}
html.qv2 body .radiomark:after{background:var(--v-accent-ink)}
html.qv2 body :is(.custom-checkbox,.custom-radio):focus-visible ~ :is(.checkmark,.radiomark){box-shadow:0 0 0 3px var(--v-accent-soft)}
html.qv2 body :is(#qrow-app,#qrow-popup) :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--v-accent)}
/* .qrow-input / .qrow-select (_formStyle: #faf9ff täidis) — form-control reegel katab värvi, siin fookus ja numbrinooled */
html.qv2 body .qrow-cform :is(.qrow-input,.qrow-select):focus{background-color:var(--v-surface)!important}
html.qv2 body input[type="number"].qrow-input{-moz-appearance:textfield}
html.qv2 body input[type="number"].qrow-input::-webkit-inner-spin-button,
html.qv2 body input[type="number"].qrow-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
/* Natiivne kuupäeva-/kellaajavalija: rippmenüüd brauser ise kujundab (color-scheme järgi), ikoon tumedas heledaks */
html.qv2[data-theme="dark"] body input:is([type="date"],[type="time"],[type="datetime-local"])::-webkit-calendar-picker-indicator{filter:invert(1) brightness(.85);cursor:pointer}
/* Sisend + nupp ühes grupis (kinkekaardi „Lisa summa" +) — nupp liitub sisendiga, mitte eraldi pallina */
html.qv2 body .input-group > .form-control + .btn{border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-left:0!important}
html.qv2 body .input-group > .form-control:has(+ .btn){border-top-right-radius:0!important;border-bottom-right-radius:0!important}

/* Tootegrupid (productmanagement::_renderGroupsPanel): rida oli valge kast → lame rida joonega */
html.qv2 body .qrow-sortlist .qrow-sortrow{background:transparent;border-radius:12px;padding-left:4px;padding-right:4px;border-bottom-color:var(--v-line)!important}
html.qv2 body .qrow-sortlist .qrow-sortrow:hover{background:var(--v-surface-2)}
html.qv2 body .qrow-sortlist .qrow-sort-dragging{background:var(--v-surface);box-shadow:var(--v-float)}
html.qv2 body .qrow-sortlist .qrow-sorthandle{color:var(--v-ink-3)!important}
html.qv2 body .qrow-sortlist .qrow-sortrow > .fw-semibold{color:var(--v-ink)}
/* Ridade ikoon-nupud (tootegrupid, tooted): ühtne 36px ruut, pinnatoon, äärisjoon ainult hoveril */
html.qv2 body #qrow-app :is(.qrow-sortrow .btn-sm,.btn-sm[subevent="toggleStock"],.btn-sm[event="printQR"][qrid][title="Prindi QR"],.btn-sm[subevent="showProductForm"][productid]){
    width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
    border-radius:10px!important;background:var(--v-surface-2)!important;border:1px solid transparent!important;color:var(--v-ink-2)!important}
html.qv2 body #qrow-app :is(.qrow-sortrow .btn-sm,.btn-sm[subevent="toggleStock"],.btn-sm[event="printQR"][qrid][title="Prindi QR"],.btn-sm[subevent="showProductForm"][productid]):hover{border-color:var(--v-line-2)!important;color:var(--v-ink)!important}
html.qv2 body #qrow-app .qrow-sortrow .btn-sm.text-danger{color:var(--v-neg)!important}
html.qv2 body #qrow-app .qrow-sortrow .btn-sm.text-danger:hover{background:var(--v-neg-soft)!important}
html.qv2 body #qrow-app .btn-sm.btn-danger[subevent="toggleStock"]{background:var(--v-neg-soft)!important;color:var(--v-neg)!important}
html.qv2 body #qrow-app .badge.bg-light{background:var(--v-surface-2)!important;color:var(--v-ink-2)!important;border-color:transparent!important}
html.qv2 body .bg-info-subtle{background:var(--v-accent-soft)!important}
html.qv2 body .bg-danger-subtle{background:var(--v-neg-soft)!important}
html.qv2 body .text-info{color:var(--v-accent-text)!important}
html.qv2 body .border-info-subtle,html.qv2 body .border-danger-subtle{border-color:transparent!important}

/* Prindi QR (mobile::printQR): ekraanil kaardid ümarate QR-idega; trükk jääb puutumata */
@media screen{
    html.qv2 body .qp-card{background:var(--v-surface);border:1px solid var(--v-line);border-radius:var(--v-r);transition:border-color .15s,transform .15s}
    html.qv2 body .qp-card:hover{border-color:var(--v-line-2);transform:translateY(-2px)}
    html.qv2 body .qp-card img{border-radius:14px;background:#fff;padding:10px!important;box-sizing:border-box}
    html.qv2 body .qp-card > div{color:var(--v-ink)}
    html.qv2 body #qrow-app .qrow-print .btn-dark{background:var(--v-accent)!important;border-color:var(--v-accent)!important;color:var(--v-accent-ink)!important;font-weight:700;border-radius:10px}
}

/* QROW dashboard (qrowdashboard): perioodinupud valgetest pillidest → sama segmentjuht mis Statistikas */
html.qv2 body #qrow-app .d-flex.gap-2:has(> .qrow-dash-pbtn){display:inline-flex!important;gap:0!important;padding:3px;border-radius:12px;background:var(--v-surface-2);border:1px solid var(--v-line)}
html.qv2 body #qrow-app .qrow-dash-pbtn{height:32px;padding:0 14px;border-radius:9px!important;border:0!important;background:transparent!important;color:var(--v-ink-2)!important;transform:none!important}
html.qv2 body #qrow-app .qrow-dash-pbtn:hover{color:var(--v-ink)!important}
html.qv2 body #qrow-app .qrow-dash-pbtn.active{background:var(--v-surface)!important;color:var(--v-ink)!important;box-shadow:0 1px 3px rgba(0,0,0,.12)}

/* „Millist teenust alustad?" (merchantonboarding::renderStep1): 4 plaati ühte moodi — pind + joon, hoveril aktsent */
html.qv2 body #qrow-app .btn-outline-primary[event="merchantOnboarding"][subevent="step2"]{
    background:var(--v-surface)!important;border:1px solid var(--v-line)!important;color:var(--v-ink)!important;
    transition:border-color .15s,transform .15s,background .15s}
html.qv2 body #qrow-app .btn-outline-primary[event="merchantOnboarding"][subevent="step2"]:hover,
html.qv2 body #qrow-app .btn-outline-primary[event="merchantOnboarding"][subevent="step2"]:focus-visible{
    border-color:var(--v-accent)!important;background:var(--v-surface-2)!important;transform:translateY(-2px)}
html.qv2 body #qrow-app .btn-outline-primary[event="merchantOnboarding"][subevent="step2"]:focus:not(:focus-visible){border-color:var(--v-line)!important;background:var(--v-surface)!important;transform:none}
html.qv2 body #qrow-app [event="merchantOnboarding"][subevent="step2"] > span:first-child{background:var(--v-accent-soft)!important;color:var(--v-accent-text)!important}
html.qv2 body #qrow-app [event="merchantOnboarding"][subevent="step2"] strong{color:var(--v-ink)}

/* Templikaardi templite arv (qob-scnt): valimata number lamedaks, valitud aktsendiga */
html.qv2 body #qrow-app .qob-scnt{height:44px;border-radius:12px!important;font-weight:700}
html.qv2 body #qrow-app .qob-scnt.btn-outline-primary{background:var(--v-surface-2)!important;color:var(--v-ink-2)!important;border:1px solid var(--v-line)!important}
html.qv2 body #qrow-app .qob-scnt.btn-outline-primary:hover{border-color:var(--v-accent)!important;color:var(--v-ink)!important}

/* Nupud vormi all: põhinupp (.btn-q, BS vaikimisi ~6px) ja Tagasi (12px) samale raadiusele ja kõrgusele */
html.qv2 body :is(#qrow-app,#qrow-popup) .btn-q{border-radius:12px}
html.qv2 body :is(#qrow-app,#qrow-popup) .d-flex.gap-2:has(> .btn-q) > .btn{border-radius:12px!important;min-height:46px;display:inline-flex;align-items:center;justify-content:center}
/* Pealkirjade ikoonid: emoji (🎁) asemel v2 ikoon pehmes ringis; värvilised bi-ikoonid (award/tags/gift) aktsendiks */
.qv2-hero-ic{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;
    background:var(--v-accent-soft);color:var(--v-accent-text);font-size:1.6rem}
html.qv2 body :is(#qrow-app,#qrow-popup) .qrow-cform h5 > i.bi:first-child,
html.qv2 body #qrow-popup .qv2-popform h5 > i.bi:first-child{color:var(--v-accent-text)!important}

/* Kampaania „Muuda" vorm popupis (merchantonboarding::_editResp): popup on ise kaart → sisemine kaart lamedaks */
html.qv2 body #qrow-popup .qv2-popform .card{background:transparent!important;border:0!important;box-shadow:none!important;max-width:none!important;margin:0!important}
html.qv2 body #qrow-popup .qv2-popform .card-body{padding:0!important}
html.qv2 body #qrow-popup .qv2-popform h5{padding-right:44px}   /* popupi × jääb paremale ülanurka */

/* ── 13. Rent / varahaldus (modules/rentals) — promovideo stiil: tumedad kaardid, pehmed kiibid, suur CTA ── */
/* Kest + vahekaardid (Ülevaade · Varad · Broneeringud) → segmentjuht */
html.qv2 body #qrow-app .rt-tabs{background:var(--v-surface-2);border:1px solid var(--v-line);border-radius:14px;padding:3px}
html.qv2 body #qrow-app .rt-tab{color:var(--v-ink-2);border-radius:11px}
html.qv2 body #qrow-app .rt-tab:hover{color:var(--v-ink)}
html.qv2 body #qrow-app .rt-tab.rt-tab-on{background:var(--v-surface);color:var(--v-ink);box-shadow:0 1px 3px rgba(0,0,0,.18)}
html.qv2 body #qrow-app .rt-tab.rt-tab-on i{color:var(--v-accent-text)}
/* Nupud */
html.qv2 body #qrow-app .rt-cta{background:var(--v-accent)!important;border-color:var(--v-accent)!important;color:var(--v-accent-ink)!important;
    border-radius:14px!important;font-weight:700;transition:filter .12s,transform .12s}
html.qv2 body #qrow-app .rt-cta:hover{filter:brightness(1.07)}
html.qv2 body #qrow-app .rt-cta:active{transform:scale(.98)}
html.qv2 body #qrow-app .rt-cta.w-100{min-height:52px;font-size:1rem}
html.qv2 body #qrow-app .rt-ghost{background:var(--v-surface-2)!important;border:1px solid var(--v-line)!important;color:var(--v-ink)!important;border-radius:12px!important}
html.qv2 body #qrow-app .rt-ghost:hover{border-color:var(--v-line-2)!important;color:var(--v-ink)!important}
/* Ülevaate plaadid: number suurelt vasakul, silt all (video „2 välja antud · 3 vaba · 0 hilineb") */
html.qv2 body #qrow-app .rt-tile{background:var(--v-surface-2);border:1px solid var(--v-line);border-radius:14px;padding:12px 14px;text-align:left}
html.qv2 body #qrow-app .rt-tile .fs-5{font-size:1.45rem!important;font-weight:800!important;letter-spacing:-.02em;line-height:1.1;color:var(--v-ink)}
html.qv2 body #qrow-app .rt-tile .fs-5.text-success{color:var(--v-money)!important}
html.qv2 body #qrow-app .rt-tile .fs-5.text-danger{color:var(--v-warn)!important}
html.qv2 body #qrow-app .rt-tile .small{font-size:.74rem;color:var(--v-ink-3)!important}
/* Broneeringu- ja vararead: pealkiri tugevam, olekumärk pillina paremal servas */
html.qv2 body #qrow-app .card .d-flex.border-bottom:has(> .flex-grow-1 > .fw-semibold > .badge){border-bottom-color:var(--v-line)!important;padding-top:12px!important;padding-bottom:12px!important}
html.qv2 body #qrow-app .fw-semibold.text-truncate > .badge{float:right;margin-left:8px;border-radius:999px;font-size:.7rem;font-weight:700;padding:.32em .7em}
html.qv2 body .bg-secondary-subtle{background:var(--v-surface-2)!important}

/* Ostja vara vaade (buyerAssetHtml): pilt kaardi päisena, nimi suurelt, hind väikese rea all */
html.qv2 body #qrow-app .qrow-cform img[style*="max-height:220px"]{border-radius:16px!important;background:var(--v-surface-2)}
html.qv2 body #qrow-app .qrow-cform:has(.rt-days) h5.fw-bold{font-size:1.5rem;letter-spacing:-.02em}
html.qv2 body #qrow-app .qrow-cform:has(.rt-days) h5 + .badge,html.qv2 body #qrow-app .qrow-cform:has(.rt-days) .d-flex > .badge{border-radius:999px}
/* Päeva- ja kellaajakiibid (_picker): pinnatoon, valitud = aktsentäär + pehme täidis (mitte täislilla) */
html.qv2 body #qrow-app .rt-day,html.qv2 body #qrow-app .rt-slot{background:var(--v-surface-2);border:1px solid var(--v-line);color:var(--v-ink);
    border-radius:12px;padding:.55rem .8rem;transition:border-color .12s,background .12s}
html.qv2 body #qrow-app .rt-day:hover,html.qv2 body #qrow-app .rt-slot:not(:disabled):hover{border-color:var(--v-line-2)}
html.qv2 body #qrow-app .rt-slot{padding:.55rem .3rem}
html.qv2 body #qrow-app .rt-on{background:var(--v-accent-soft)!important;border-color:var(--v-accent)!important;color:var(--v-ink)!important;box-shadow:inset 0 0 0 1px var(--v-accent)}
html.qv2 body #qrow-app .rt-slot:disabled{opacity:.3}
html.qv2 body #qrow-app .rt-days{scrollbar-width:none;gap:.45rem}
html.qv2 body #qrow-app .rt-days::-webkit-scrollbar{display:none}
html.qv2 body #qrow-app .rt-slots{gap:.45rem}
html.qv2 body #qrow-app .rt-price{font-size:1.15rem;font-weight:800;color:var(--v-ink)}
html.qv2 body #qrow-app .qrow-cform:has(.rt-days) label.small.fw-semibold{color:var(--v-ink-3);font-size:.78rem}

/* Kataloog (catalogHtml): gradient-hero → tume pind, kaardid pinnatooniga */
html.qv2 body #qrow-app .rt-hero{background:var(--v-surface)!important;border:1px solid var(--v-line);box-shadow:none;color:var(--v-ink)}
html.qv2 body #qrow-app .rt-hlogo{background-color:var(--v-accent-soft);color:var(--v-accent-text)}
html.qv2 body #qrow-app .rt-hstat{background:var(--v-money-soft);color:var(--v-money)}
html.qv2 body #qrow-app .rt-cchip{background:var(--v-surface-2);border:1px solid var(--v-line);color:var(--v-ink-2)}
html.qv2 body #qrow-app .rt-cchip.rt-on{background:var(--v-accent-soft)!important;border-color:var(--v-accent)!important;color:var(--v-ink)!important}
html.qv2 body #qrow-app .rt-ccard{background:var(--v-surface);border:1px solid var(--v-line);box-shadow:none;color:var(--v-ink)}
html.qv2 body #qrow-app .rt-ccard:hover{border-color:var(--v-line-2);box-shadow:none}
html.qv2 body #qrow-app .rt-cimg{background-color:var(--v-surface-2);background-image:none;color:var(--v-accent-text)}
html.qv2 body #qrow-app .rt-cbadge{background:rgba(12,12,15,.72);color:var(--v-ink-2);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
html.qv2 body #qrow-app .rt-cbadge.rt-cfree{color:var(--v-money)}

/* Kampaaniakaardi päis viib halduseni (betahome::_campaignOpenAttrs) — nupp, mis näeb välja nagu kaardi päis */
html.qv2 body #qrow-app .qv2-camp-open{background:transparent;border:0;padding:4px;margin:-4px;width:calc(100% + 8px)!important;border-radius:12px;color:inherit;transition:background .12s}
html.qv2 body #qrow-app .qv2-camp-open:hover{background:var(--v-surface-2)}
html.qv2 body #qrow-app .qv2-camp-open .qv2-chev{flex-shrink:0;transition:transform .12s}
html.qv2 body #qrow-app .qv2-camp-open:hover .qv2-chev{transform:translateX(2px);color:var(--v-ink-2)}

/* ── 14. Väikesed nupud (btn-sm) ja Bootstrapi värvivariandid → üks v2 nupusüsteem ──
   Kuju: 10px raadius, 600 kaal, ikoon + tekst reas. Värv: neutraalne = pind + joon; ohtlik/hoiatus/edu = pehme
   toon + toonitekst (mitte BS täisvärv), et tumedas ei hõõguks. Rea ikoon-nupud (plokk 12) jäävad oma 36px ruuduks. */
html.qv2 body :is(#qrow-app,#qrow-popup) .btn-sm{border-radius:10px!important;font-weight:600;font-size:.82rem;line-height:1.2;
    padding:.42rem .8rem;display:inline-flex;align-items:center;justify-content:center;gap:.3rem;box-shadow:none!important}
html.qv2 body :is(#qrow-app,#qrow-popup) .btn-sm > .bi,html.qv2 body :is(#qrow-app,#qrow-popup) .btn-sm > svg{margin-right:0!important;flex-shrink:0}
html.qv2 body :is(#qrow-app,#qrow-popup) :is(.btn-outline-dark,.btn-secondary,.btn-dark,.btn-default){
    background:var(--v-surface-2)!important;border:1px solid var(--v-line)!important;color:var(--v-ink)!important}
html.qv2 body :is(#qrow-app,#qrow-popup) :is(.btn-outline-dark,.btn-secondary,.btn-dark,.btn-default,.btn-outline-secondary,.btn-light):hover{
    border-color:var(--v-line-2)!important;background:var(--v-surface-2)!important;color:var(--v-ink)!important}
html.qv2 body :is(#qrow-app,#qrow-popup) .btn-danger{background:var(--v-neg-soft)!important;border:1px solid transparent!important;color:var(--v-neg)!important}
html.qv2 body :is(#qrow-app,#qrow-popup) .btn-outline-danger{background:transparent!important;border:1px solid var(--v-line-2)!important;color:var(--v-neg)!important}
html.qv2 body :is(#qrow-app,#qrow-popup) :is(.btn-danger,.btn-outline-danger):hover{background:var(--v-neg-soft)!important;border-color:var(--v-neg)!important}
html.qv2 body :is(#qrow-app,#qrow-popup) .btn-warning{background:var(--v-warn-soft)!important;border:1px solid transparent!important;color:var(--v-warn)!important}
html.qv2 body :is(#qrow-app,#qrow-popup) .btn-outline-warning{background:transparent!important;border:1px solid var(--v-line-2)!important;color:var(--v-warn)!important}
html.qv2 body :is(#qrow-app,#qrow-popup) .btn-outline-success{background:transparent!important;border:1px solid var(--v-line-2)!important;color:var(--v-money)!important}
html.qv2 body :is(#qrow-app,#qrow-popup) :is(.btn-outline-success,.btn-success):hover{filter:none;background:var(--v-money-soft)!important;color:var(--v-money)!important;border-color:var(--v-money)!important}
html.qv2 body :is(#qrow-app,#qrow-popup) .btn-outline-info{background:var(--v-accent-soft)!important;border:1px solid transparent!important;color:var(--v-accent-text)!important}
html.qv2 body :is(#qrow-app,#qrow-popup) .btn-outline-primary:hover{border-color:var(--v-accent)!important}
/* Nupp hoiatus-/infokasti sees (nt test-režiimi „Lülita välja"): kasti toonis kontuur, mitte valge äär */
html.qv2 body :is(#qrow-app,#qrow-popup) .alert .btn:is(.btn-outline-dark,.btn-outline-secondary,.btn-light,.btn-secondary){
    background:transparent!important;border:1px solid currentColor!important;color:inherit!important;opacity:.95}
html.qv2 body :is(#qrow-app,#qrow-popup) .alert .btn:is(.btn-outline-dark,.btn-outline-secondary,.btn-light,.btn-secondary):hover{opacity:1;background:rgba(127,127,127,.12)!important}
/* Tekstilingi-nupud (btn-link) — aktsenttoon, alla joonimata */
html.qv2 body :is(#qrow-app,#qrow-popup) .btn-link:not(.text-secondary):not(.text-danger){color:var(--v-accent-text)}
html.qv2 body :is(#qrow-app,#qrow-popup) .btn-link{text-decoration:none;font-weight:600}
