/* Public home: improve CTA contrast and place its sole locale switch in the nav. */
.topbar .nav-actions{gap:9px}
.topbar .nav-actions>a.primary-button{color:#fff!important;background:#006847!important;border:1px solid #006847!important;border-radius:10px!important;font-weight:850!important;box-shadow:0 8px 20px rgba(0,104,71,.28)!important;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}
.topbar .nav-actions>a.primary-button:hover{color:#fff!important;background:#00543a!important;border-color:#00543a!important;box-shadow:0 10px 24px rgba(0,84,58,.32)!important;transform:translateY(-1px)}
.topbar .nav-actions>a.primary-button:focus-visible{outline:3px solid #f1c75b!important;outline-offset:3px}
.topbar .nav-actions #vqr-lang-switch{position:static!important;z-index:auto!important;display:inline-flex!important;align-self:center;flex:none;background:#fff!important;border:1px solid #b8c9bc!important;border-radius:10px!important;overflow:hidden;box-shadow:none!important;font-family:inherit}
.topbar .nav-actions #vqr-lang-switch [data-lang]{display:none!important}
.topbar .nav-actions #vqr-lang-switch #site-language{cursor:pointer;min-width:104px;height:38px;padding:0 27px 0 10px;color:#285d43;background:#fff;border:1px solid #b8c9bc;border-radius:9px;font:700 12px/1.3 system-ui,sans-serif}
.topbar .nav-actions #vqr-lang-switch #site-language:focus-visible{outline:3px solid #f1c75b;outline-offset:2px}
.topbar .nav-actions #vqr-lang-switch button{cursor:pointer!important;min-height:36px!important;padding:0 11px!important;border:0!important;border-radius:0!important;color:#285d43!important;background:#fff!important;font-size:12px!important;font-weight:800!important;letter-spacing:.02em!important;transition:background-color .15s,color .15s}
.topbar .nav-actions #vqr-lang-switch button.active{color:#fff!important;background:#285d43!important}
.topbar .nav-actions #vqr-lang-switch button:not(.active):hover{background:#edf3ed!important;color:#1d4933!important}
@media(max-width:720px){.topbar .nav-actions #vqr-lang-switch{flex:none}}

/* The upload journey should feel like part of QRveo and make account setup clear. */
body.qr-upload-page{min-height:100vh;background:linear-gradient(115deg,#0068470b,transparent 58%,#ce112606),#fbfaf7;color:#17211d}
body.qr-upload-page .wrap{max-width:1120px;padding:26px 24px 72px}
body.qr-upload-page .wrap>header{min-height:48px;margin-bottom:24px;gap:16px}
body.qr-upload-page .brand{gap:10px;color:#17211d;font-size:19px;font-weight:800;letter-spacing:-.02em}
body.qr-upload-page .brand img,body.qr-watch-page .brand img{display:block;width:36px;height:36px}
body.qr-upload-page .brand svg,body.qr-watch-page .brand svg{display:none}
body.qr-upload-page .back{margin-left:auto;color:#285d43;font-size:14px;font-weight:700}
body.qr-upload-page #qr-page-language,body.qr-watch-page #qr-page-language{min-width:118px;height:40px;padding:0 30px 0 12px;border:1px solid #bdcebf;border-radius:10px;background:#fff;color:#285d43;font:650 13px/1.3 system-ui,sans-serif;cursor:pointer}
body.qr-upload-page #qr-page-language:focus-visible,body.qr-watch-page #qr-page-language:focus-visible{outline:3px solid #e5b83f;outline-offset:2px}
body.qr-upload-page .card{padding:clamp(24px,4vw,40px);border:1px solid #dde4dc;border-radius:22px;box-shadow:0 18px 50px #17211d0a}
body.qr-upload-page h1{font-size:clamp(28px,4vw,40px);line-height:1.12;letter-spacing:-.04em;margin:0 0 10px;color:#17211d}
body.qr-upload-page .sub{max-width:720px;color:#647169;font-size:16px;line-height:1.65;margin:0 0 22px}
body.qr-upload-page #drop{position:relative;display:flex;min-height:194px;width:100%;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;border:2px dashed #9eb9a5;border-radius:18px;background:linear-gradient(145deg,#f3f8f3,#fff);transition:border-color .18s,background .18s,box-shadow .18s}
body.qr-upload-page #drop:hover,body.qr-upload-page #drop.drag{border-color:#006847;background:#f0f7f1;box-shadow:0 0 0 4px #00684712}
body.qr-upload-page #drop:focus-within{outline:3px solid #e5b83f;outline-offset:3px}
body.qr-upload-page #file{position:absolute!important;display:block!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:.01!important}
body.qr-upload-page #drop svg{width:42px;height:42px;color:#006847}
body.qr-upload-page #drop b{margin:3px 0 0;color:#17211d;font-size:17px;line-height:1.4}
body.qr-upload-page #drop span{color:#647169;font-size:14px;line-height:1.5}
body.qr-upload-page #title.title{min-height:50px;margin-top:16px;padding:12px 14px;border:1px solid #cbd8cd;border-radius:10px;color:#17211d;background:#fff;font:500 15px/1.4 system-ui,sans-serif}
body.qr-upload-page #title.title:focus{outline:3px solid #00684722;border-color:#285d43}
body.qr-upload-page #go{min-height:48px;margin-top:16px;padding:0 22px;border:1px solid #006847;border-radius:11px;background:#006847;color:#fff;font-weight:750;box-shadow:0 8px 20px #00684724;transition:background .16s,transform .16s,box-shadow .16s}
body.qr-upload-page #go:not(:disabled):hover{background:#00543a;box-shadow:0 10px 24px #00543a30;transform:translateY(-1px)}
body.qr-upload-page #go:focus-visible{outline:3px solid #e5b83f;outline-offset:3px}
body.qr-upload-page #go:disabled{background:#65766c;border-color:#65766c;color:#fff;opacity:1;box-shadow:none;cursor:not-allowed}
body.qr-upload-page #qr-account-hint{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px;padding:18px 20px;border:1px solid #c9ddce;border-radius:15px;background:#f0f6ef}
body.qr-upload-page #qr-account-hint strong{display:block;color:#1d4933;font-size:15px}
body.qr-upload-page #qr-account-hint p{margin:4px 0 0;color:#526359;font-size:13px;line-height:1.5}
body.qr-upload-page .qr-account-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}
body.qr-upload-page .qr-account-actions a{font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
body.qr-upload-page .qr-account-primary{padding:11px 15px;border:1px solid #006847;border-radius:9px;background:#006847;color:#fff}
body.qr-upload-page .qr-account-primary:hover{background:#00543a}
body.qr-upload-page .qr-account-secondary{color:#285d43}
body.qr-upload-page .section{margin-top:34px}
body.qr-upload-page .section h2{margin:0 0 14px;color:#17211d;font-size:21px;letter-spacing:-.025em}
body.qr-upload-page #list{overflow-x:auto;border:1px solid #dde4dc;border-radius:16px;background:#fff;box-shadow:0 8px 28px #17211d06}
body.qr-upload-page table{min-width:690px;font-size:14px}
body.qr-upload-page th{background:#f3f6f1;color:#526359}
body.qr-upload-page td{padding:12px 10px;border-color:#e8ede5}
body.qr-upload-page .thumb{width:82px;height:48px;border-radius:8px}
body.qr-upload-page .qr{width:52px;height:52px;padding:3px;border-color:#e0e7df;border-radius:8px}
body.qr-upload-page a.act{display:inline-block;margin:3px 10px 3px 0;color:#285d43}
body.qr-upload-page .pill.ready{background:#edf5ed;color:#24643f}

/* A QR scan is a customer moment: keep the video prominent and the guide easy to follow. */
body.qr-watch-page{min-height:100vh;background:#fbfaf7;color:#17211d}
body.qr-watch-page .wrap{max-width:880px;padding:20px 22px 56px}
body.qr-watch-page .top{display:flex;align-items:center;gap:16px;margin:0 0 16px;padding:0 0 14px;border-bottom:1px solid #dde4dc}
body.qr-watch-page .brand{gap:10px;color:#17211d;font-size:18px;font-weight:800;text-decoration:none}
body.qr-watch-page #qr-page-language{margin-left:auto}
body.qr-watch-page .card,body.qr-watch-page .sec,body.qr-watch-page .foot{overflow:hidden;border:1px solid #dde4dc;border-radius:18px;background:#fff;box-shadow:0 8px 28px #17211d08}
body.qr-watch-page .card video{display:block;width:100%;max-height:min(68vh,520px);background:#111;object-fit:contain}
body.qr-watch-page .meta{padding:20px 22px 22px}
body.qr-watch-page .badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border:1px solid #cfe2d2;border-radius:999px;background:#eff6ef;color:#285d43;font-size:12px;font-weight:750}
body.qr-watch-page .meta h1{margin:11px 0 7px;color:#17211d;font-size:clamp(23px,4vw,31px);line-height:1.18;letter-spacing:-.035em}
body.qr-watch-page .desc{margin:0;color:#647169;font-size:15px;line-height:1.65}
body.qr-watch-page .content{display:grid;gap:14px;margin-top:16px}
body.qr-watch-page .sec{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:stretch}
body.qr-watch-page .sec-img{min-height:210px;background:#f0f4ef}
body.qr-watch-page .sec-img img{display:block;width:100%;height:100%;min-height:210px;object-fit:cover}
body.qr-watch-page .sec-body{padding:22px 24px}
body.qr-watch-page .sec-body h2{margin:0 0 12px;color:#17211d;font-size:19px;letter-spacing:-.02em}
body.qr-watch-page .sec-body p{margin:8px 0;color:#526359;font-size:14px;line-height:1.65}
body.qr-watch-page .sec-text{grid-template-columns:1fr;border-left:4px solid #006847}
body.qr-watch-page .foot{margin-top:16px;padding:13px 16px;color:#647169;font-size:12px;text-align:center;box-shadow:none}
body.qr-watch-page .foot a{color:#285d43;font-weight:750}

@media(max-width:700px){
 body.qr-upload-page .wrap{padding:16px 14px 44px}
 body.qr-upload-page .wrap>header{margin-bottom:18px;gap:10px;flex-wrap:wrap}
 body.qr-upload-page .brand{font-size:17px}
 body.qr-upload-page .back{margin-left:auto;font-size:13px}
 body.qr-upload-page #qr-page-language{min-width:104px;height:38px;padding-left:9px;font-size:12px}
 body.qr-upload-page .card{padding:22px 17px;border-radius:18px}
 body.qr-upload-page #drop{min-height:172px;padding:20px 14px}
 body.qr-upload-page #qr-account-hint{align-items:flex-start;flex-direction:column;padding:16px;gap:14px}
 body.qr-upload-page .qr-account-actions{justify-content:flex-start}
 body.qr-upload-page .section{margin-top:26px}
 body.qr-upload-page #list{margin-right:-2px}
 body.qr-watch-page .wrap{padding:12px 12px 36px}
 body.qr-watch-page .top{margin-bottom:12px;padding-bottom:10px}
 body.qr-watch-page .brand{font-size:16px}
 body.qr-watch-page .brand img{width:32px;height:32px}
 body.qr-watch-page #qr-page-language{min-width:98px;height:36px;padding-left:8px;font-size:12px}
 body.qr-watch-page .card,body.qr-watch-page .sec,body.qr-watch-page .foot{border-radius:14px}
 body.qr-watch-page .card video{max-height:54vh}
 body.qr-watch-page .meta{padding:16px 16px 18px}
 body.qr-watch-page .content{gap:10px;margin-top:10px}
 body.qr-watch-page .sec{grid-template-columns:1fr}
 body.qr-watch-page .sec-img,body.qr-watch-page .sec-img img{min-height:180px;max-height:280px}
 body.qr-watch-page .sec-body{padding:18px}
}
@media(prefers-reduced-motion:reduce){body.qr-upload-page *,body.qr-watch-page *{scroll-behavior:auto!important;transition:none!important}}

/* Customer navigation: product links, one locale picker, sign-in, one primary CTA. */
.topbar{position:relative;gap:24px!important;align-items:center!important;flex-wrap:nowrap!important}
.topbar .brand{flex-shrink:0}
.topbar .nav-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:18px!important;flex-wrap:nowrap!important;width:auto!important}
.topbar .nav-actions>a{white-space:nowrap;font-size:14px}
.topbar .nav-actions .qr-admin-hidden,.hero-actions button.upload-button[hidden]{display:none!important}
.topbar .nav-actions>a.ghost-button{background:transparent!important;border:0!important;box-shadow:none!important;padding:10px 0!important;color:#285d43!important}
.topbar .nav-actions>a.primary-button{min-height:44px;padding:11px 20px!important}
.topbar a:focus-visible,#qr-menu-toggle:focus-visible,#qr-site-footer a:focus-visible{outline:3px solid #d9a52f;outline-offset:4px}
#qr-menu-toggle{display:none}
#qr-start-note{margin:12px 0 0;color:#53645a;font-size:14px;line-height:1.6}
#qr-site-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;margin-top:48px;border-top:1px solid #dbe3dc;font-size:13px;color:#53645a}
#qr-site-footer>span{font-weight:800}
#qr-site-footer a{color:#53645a;text-decoration:underline;text-underline-offset:3px}
@media(max-width:960px){
 .topbar{display:grid!important;grid-template-columns:1fr auto auto!important;gap:12px!important;padding:16px!important}
 .topbar .nav-actions{display:contents!important}
 .topbar .brand{grid-column:1;grid-row:1}
 .topbar .nav-actions>a.primary-button{grid-column:2;grid-row:1;min-height:44px;font-size:13px;padding:10px 14px!important}
 #qr-menu-toggle{display:block;grid-column:3;grid-row:1;min-height:44px;padding:10px 12px;border:1px solid #c9d6cc;border-radius:10px;background:#fff;color:#285d43;font:700 13px system-ui;cursor:pointer}
 .topbar .nav-actions>.qr-product-link,.topbar .nav-actions>a.ghost-button,.topbar .nav-actions #vqr-lang-switch{display:none!important}
 .topbar.qr-menu-open .nav-actions>.qr-product-link,.topbar.qr-menu-open .nav-actions>a.ghost-button,.topbar.qr-menu-open .nav-actions #vqr-lang-switch{display:block!important;grid-column:1/-1;min-height:44px;width:100%;padding:12px!important;border-radius:9px;background:#f0f5ef!important;text-align:left}
 .topbar.qr-menu-open .nav-actions #vqr-lang-switch{padding:0!important;border:0!important}
 .topbar.qr-menu-open #site-language{width:100%;min-height:44px}
 #qr-site-footer{align-items:flex-start;flex-direction:column;gap:12px}
}
@media(prefers-reduced-motion:reduce){.topbar *{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:960px){.topbar.qr-menu-open .nav-actions>a.ghost-button{grid-row:2;font-weight:800;border-bottom:1px solid #c9d6cc!important}}
#dashboard .compact-upload[hidden]{display:none!important}
#qr-session-notice,#qr-selected-plan{margin:0 0 20px;padding:16px 18px;background:#f0f6ef;border:1px solid #c9ddce;border-radius:12px;color:#285d43;font:500 14px/1.6 system-ui}
#qr-session-notice[hidden]{display:none}
#qr-session-notice button{margin-left:12px;min-height:40px;padding:6px 16px;cursor:pointer}
#qr-session-notice button[hidden]{display:none}
#qr-selected-plan p{margin:0 0 8px}
#qr-selected-plan a{color:#006847;font-weight:700}
#qr-plan-explainer{color:#53645a;font-size:14px;line-height:1.7;max-width:780px;margin:20px 0}
#up.qr-auth-required{opacity:.65}
#up.qr-auth-required #drop{cursor:not-allowed}
#up.qr-auth-required #go{pointer-events:none}
